A stack is not a list. In the stack, the elements on top rely on the elements right below themselves for lower level functions.
Best example of a stack, as always, is the OSI model (Open Systems Interconnection):
- Application: High-level protocols such as for resource sharing or remote file access, e.g. HTTP.
- Presentation: Translation of data between a networking service and an application; including character encoding, data compression and encryption/decryption.
- Session: Managing communication sessions “Session (computer science)”), i.e., continuous exchange of information in the form of multiple back-and-forth transmissions between two nodes.
- Transport: Reliable transmission of data segments between points on a network, including segmentation, acknowledgement “Acknowledgement (data networks)”) and multiplexing.
- Network: Structuring and managing a multi-node network, including addressing, routing and traffic control.
- Data link: Transmission of data frames between two nodes connected by a physical layer.
- Physical: Transmission and reception of raw bit streams over a physical medium.