The Internet Protocol Stack
This overview of the technical aspects of the Internet concludes with a brief discussion of the Internet Protocol Stack. This stack conceptualizes network communication as taking place through various network layers that implement their own protocols. Such a layered architecture provides structure to networks. The basic idea is a message originated by a user will be sent from the user’s source host to a destination host. Before the message can be sent, however, it passes through the layers of the Internet Protocol Stack so that it contains all the information needed to route the message to the destination. As a user message moves progressively “down” the stack from the highest application-level layer to the lowest hardware/network-level layer, the message is modified, or transformed, by each layer. The final transformed message consists of individual bits that are moved through network wires or cables, or wirelessly. When the message arrives at the destination, it is progressively transformed “up” the stack, from the lowest, network-level layer to the highest application-level layer, to be received and processed by the application at the destination host.
The Internet Protocol Stack consists of five layers, with each layer providing a specific function and servicing the layers below it. The “topmost” layer, or the layer “closest” to the user, is the application layer. This is the layer that directly supports user services and implements protocols to these services. HTTP and SMTP, which, as their names imply, are both protocols, reside in the application layer. Messages sent by user applications are encoded in this layer. The transport layer is below the application layer and implements the transfer of messages originating in the application layer. TCP is a protocol in this layer and provides guaranteed delivery of these application-layer messages to their intended destinations.
The User Datagram Protocol, or UDP, is another, simpler but less reliable transport layer protocol, used in the domain name system (DNS) as well as in online games, among other applications. In the network layer, packets are routed, or sent along a path, from their source origin to the intended destination of the message. The Internet Protocol, IP, resides in the network layer. In the link layer, data are transferred between networks. Ethernet, the technology used in local area networks, and wireless protocols reside in the link layer. Finally, the lowest Internet Stack Protocol layer, furthest from the user but closest to the underlying network hardware, is the physical layer, in which the individual bits of transformed messages are transferred from node to node.
To summarize, when a message (representing data, email, an image, etc.) is sent from a source host to a destination host, the progressively transformation of the message can be conceptualized as follows:
User message generated by an application →
→ application layer (HTTP, SMTP, FTP, etc.)
→ transport layer (TCP, UDP)
→ network layer (routing protocols)
→ link layer (LAN, wireless protocols)
→ network layer (bits are sent over a network medium)
→ Transformed message arrives at the destination host.
The reverse process is then applied so that the application program receives the message generated by the application from the source →
→ network layer (destination host receives the bits over a network medium)
→ link layer
→ network layer
→ transport layer
→ application layer
At the application layer level at the destination, the application of destination host can process the message sent by the user at the source host.