In-Depth Notes on Network Layer and Data Plane Concepts
Overview of Network Layer – Data Plane
Course Materials
- Source: Adapted from Computer Networks: A Top Down Approach, 7th edition by Jim Kurose and Keith Ross (Pearson/Addison Wesley, April 2016)
Chapter 4 Outline
- 4.1 Overview of Network layer – Data plane – Control plane
- 4.2 What’s inside a router
- 4.3 IP: Internet Protocol
- Datagram format
- Fragmentation
- IPv4 addressing
- Network address translation
- IPv6
Key Points
- Understand principles behind network layer services focusing on the Data Plane:
- Network layer service models
- Forwarding vs routing
- How a router works
- Generalized forwarding
- Implementation of concepts in Internet protocols
Functions of Network Layer
- Transport segments:
- Sending side: Encapsulates segments into datagrams
- Receiving side: Delivers segments to transport layer
- Network layer protocols run on every host and router.
- Routers examine header fields in IP datagrams that pass through.
Two Key Network-Layer Functions
- Forwarding: Moves packets from router’s input to the appropriate router output.
- Routing: Determines the path packets take from source to destination.
- Analogy: Forwarding is like navigating a single interchange, while routing is akin to planning an entire trip.
Network Layer: Data Plane vs Control Plane
- Data Plane:
- Local, per-router functions; forwarding function of datagrams arriving at input ports to output ports.
- Control Plane:
- Network-wide logic determining the routing of datagrams among routers along the path from source to destination.
- Approaches include traditional routing algorithms and software-defined networking (SDN).
Key Concepts
Network-layer Service Model
- Defines service for transporting datagrams:
- Individual datagrams may have:
- Guaranteed delivery
- Guaranteed delivery with bounded delay
- Flows of datagrams may have:
- In-order delivery
- Guaranteed minimum bandwidth
- Restrictions on jitter
Reflection on Best-Effort Service
- The simplicity of the best-effort mechanism has fostered widespread Internet deployment.
- Sufficient bandwidth provisioning allows real-time applications to function adequately most of the time.
Router Architecture Overview
- Functions:
- Running routing algorithms/protocols (RIP, OSPF, BGP)
- Forwarding datagrams from incoming to outgoing links
- High-speed switching: Operates on nanosecond timescales.
- Receive bit-level data from Physical Layer.
- Terminate link at Data Link Layer.
- Utilize decentralized switching using heading values to look up output port.
Longest Prefix Matching
- IP address lookup mechanism in routing and forwarding to find the longest matching prefix in forwarding tables.
Switching Fabrics
- Responsible for transferring a packet from input to output.
- Types include:
- Memory switching
- Bus switching
- Interconnection networks
- Input ports may experience queueing when datagrams arrive faster than they are forwarded to the switch fabric.
- Head-of-Line (HOL) blocking occurs when the first packet in a queue blocks others from moving forward.
Output Ports and Buffering
- Output port buffers are necessary when datagrams arrive faster than transmission rates allowing for queuing disciplines that determine which queued datagram to send.
- Consists of 32-bit headers for source and destination IP addresses, with the datagram’s total length and fragment information included.
Fragmentation and Reassembly
- Larger datagrams fragmented according to Maximum Transmission Unit (MTU) size.
- Reassembly occurs only at the final destination.
- Header bits are used to identify and order fragments.
IP Addressing
- IP addresses serve as logical identifiers for routers and hosts.
- Determined by subnet masks which dictate network and host portions of an IP address.
DHCP (Dynamic Host Configuration Protocol)
- Allows devices to obtain IP addresses dynamically, promoting ease of network accessibility and management.
- Steps include discover, offer, request, and acknowledgment processes to acquire an IP address.
NAT (Network Address Translation)
- Enables multiple devices on a local network to share a single public IP address, mitigating IPv4 address exhaustion.
- Controversial due to complications it introduces for some applications, like peer-to-peer networking.
IPv6 Motivation and Changes
- Developed to alleviate the eventual exhaustion of IPv4 addresses.
- Introduces a fixed-length header, improved processing efficiency, and offers better Quality of Service (QoS) mechanisms.
- Transitioning involves tunneling techniques and dual-stack implementations to ensure compatibility during the upgrade period.