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.

Input Port Functions

  • 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

Queuing at Input and Output Ports

  • 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.

IP Protocol and Datagram Format

  • 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.