In comparison to other communication networks, Vehicular Ad-hoc Networks (VANETs) have unique requirements with respect to applications, types of communication, self-organization and other issues. In order to meet these requirements, the structuring of functionalities into protocols and their interaction must be re-thought for VANETs. The traditional approach of decomposition of functionality into protocol layers (layered approach) and a protocol design specifically tailored to the needs of VANETs (unlayered approach) lead to two extreme and opposed manifestations of a potential VANET protocol architecture. From these two extreme approaches we derive a stack-based VANET protocol architecture that combines the strengths of both sides. Among the key features of this protocol architecture are VANET-specific protocol layers, a staircase approach for interaction among layers and the use of an information connector for cross-layer information exchange using the publisher/subscriber pattern. We believe that this protocol architecture provides a clear modular structure with flexibility for protocol interaction and information exchange at a reasonable complexity.