The Internet Protocol Suite: TCP/IP (transmission control protocol/internet protocol)
Just some notes on how the TCP/IP layers stack up.
- HTTP (click me for some notes on HTTP
This is where applications create user data and communicate this data to other applications on another or the same host. The applications rely on lower layers (transport layer) to reliably or unreliably pipe stuff around.
SMTP, FTP, HTTP, SSH all reside here. As does the dynamic host configuration protocol.
This layer includes the protocols required for providing user services or exchanging data over network connections provided by lower layer protocols.
Data encoded in application level protocols are then encapsulated in transport layer units (TCP or UDP), which then drop down into lower layers to actually transfer data.
Application layer protocols treat lower-level protocols as black boxes, knowing only that they provide a stable connection for transmission. They are, however, aware of connection parameters like destination IP and port.
The application layer is the equivalent of the top 3 layers of the OSI model.
- Wireless LAN
Networking scope is the local network to which a host is attached. It is hardware independent. It is used to move packets between the internet layer interface of two different hosts on the same link.
ARP is in this layer: ARP maps network addresses (IPv4 address) to physical addresses (like a MAC aka ethernet address).
The process of transmitting or receiving data on a link can be controlled in both the software driver for a network card or the firmware of particular chipsets. The link layer adds packet headers to prepare a packet for transmission, and then also handles the process of actually sending the data across some physical medium.
It’s at the link layer that packets can be selected for VPN or similar networking tunnel, in which case the link layer becomes the application layer for a second instance of the TCP/IP stack.
Transport layer provides host-to-host communication, creating a channel for application data transmission. UDP is basic, and unreliable – provides datagram service. TCP provides flow control, connection-establishment and reliable transmission.
Transport layer establishes different data channels that applications use for task-specific data exchange. It establishes process-to-process connectivity, providing end-to-end message transfer independent of network or data detail.
Addressing and routing. This layer provides a uniform networking interface that hides the physical topography of a network.
This layer has the responsibility of sending packets across networks. This internetworking process of sending data from one network to another is what we’re referring to when we talk about routing.
Host addressing and identification: IP address Routing: Sending packets of data (datagrams) from source network to destination network by forwarding them from one router to another (that’s closer to the source destination – how does it know?)
IP is agnostic of transport layer data structures, and it also carries data for a variety of different upper level protocols.