This layer, also known as the network layer, accepts and delivers packets for the network. It includes the powerful Internet protocol (IP), the ARP protocol, and the ICMP protocol.
The IP protocol and its associated routing protocols are possibly the most significant of the entire TCP/IP suite. IP is responsible for:
IP addressing - The IP addressing conventions are part of the IP protocol. (Chapter 3, Planning Your Network, describes IP addressing in complete detail.)
Host-to-host communications - IP determines the path a packet must take, based on the receiving host's IP address.
Packet formatting - IP assembles packets into units known as IP datagrams. Datagrams are fully described in "Internet Layer".
Fragmentation - If a packet is too large for transmission over the network media, IP on the sending host breaks the packet into smaller fragments. IP on the receiving host then reconstructs the fragments into the original packet.
The Address Resolution Protocol (ARP) conceptually exists between the data link and Internet layers. ARP assists IP in directing datagrams to the appropriate receiving host by mapping Ethernet addresses (48 bits long) to known IP addresses (32 bits long).
Internet Control Message Protocol (ICMP) is the protocol responsible for detecting network error conditions and reporting on them. ICMP reports on:
Dropped packets (when packets are arriving too fast to be processed)
Connectivity failure (when a destination host can't be reached)
Redirection (which tells a sending host to use another router)
Chapter 6, Troubleshooting TCP/IP, contains more information on the operating system commands that use ICMP for error detection.