10.1 Network Layer Overview10.1.1 The Need for Network and Link Layers10.1.2 Network Layer Functions10.2 Connection-Oriented Networks10.3 Connectionless Datagram Forwarding10.4 Datagram Networks vs. Virtual Circuit ATM Networks10.5 Network Layer Functions in the Protocol Stack10.6 The IPv4 Header10.7 IP Datagram Fragmentation/Reassembly10.8 Type of Service (ToS)10.8.1 ToS, IP Precedence and DSCode Points (DSCP)10.8.2 Queuing/Scheduling Methods10.9 The IPv4 Address10.9.1 Network Interface and IP address10.9.2 Subnet10.9.3 Network ID, Subnet ID and Host ID10.9.4 Private IP Addresses10.9.5 Classless Inter-Domain Routing10.9.6 ARP Cache10.9.7 Optimal use of IP addresses10.10 The Dynamic Host Configuration Protocol (DHCP)10.10.1 The DHCP Server and Routers10.10.2 DHCP Protocol10.10.3 The Reuse of a Previously Allocated Network Address10.11 IP Multicast10.11.1 The IP Multicast Advantage10.11.2 Routing for Multicast10.11.3 The Protocol Independent Multicast (PIM)10.12 Routing between LANs10.13 Network Address Translation (NAT)10.13.1 Address and Port Translation10.13.2 NAPT Mapping/Binding Classifications10.13.2.1 NAT Behavior Related to UDP Bindings in RFC348910.13.2.2 Address and Port Mapping Behavior in RFC 4787 and RFC 538210.13.3 NAPT for Incoming Requests10.13.3.1 Application Level Gateways (ALGs)10.13.3.2 The Static Port Forwarding10.13.3.3 The Universal Plug and Play (UPnP) Internet Gateway Device (IGD) Protocol10.13.3.4 Traversal Using Relays around NAT (TURN)10.13.3.5 The Session Traversal Utilities for NAT (STUN)10.13.3.6 The Interactive Connectivity Establishment (ICE)10.14 The Internet Control Message Protocol (ICMP)10.14.1 The ICMP Packet10.14.2 Echoes and Replies10.14.3 The Destination Unreachable Message10.14.4 The Traceroute10.14.4.1 A Traceroute in UNIX-like OSs10.14.4.2 The Microsoft Windows Tracert10.15 The Mobile Internet Protocol10.16 Concluding RemarksReferencesChapter 10 Problems