WEEK 7 CS2005-NetworkLayerI-2024_25

CS2005: Networks and Operating Systems

Course Overview

  • Network Layer I

  • Authors: J.F Kurose and K.W. Ross (©1996-2016)

Session Objectives

  • Understand the following key areas:

    • The Network Layer’s key functions

    • Forwarding/Routing

    • Routing algorithms

Network Layer Functions

  • Logical Communication: Provides logical communication between hosts.

  • Components of Network Layer:

    • Data Plane: Deals with per-router functions that forward datagrams arriving at input links to appropriate output links.

    • Control Plane: Contains network-wide logic controlling the routing of datagrams from source to destination using routing algorithms.

  • Integration in Traditional Routers: Traditionally, forwarding (data plane) and routing (control plane) functions are implemented together within routers.

  • Software-Defined Networking (SDN): Separates data plane and control plane by implementing control functions as a remote service.

Data Encapsulation and Communication

  • Sending Side Process:

    • Encapsulates segments from the transport layer into datagrams.

    • Sends datagrams to nearby routers.

  • Receiving Side Process:

    • Receives datagrams from routers.

    • Extracts transport layer segments to deliver to the transport layer.

Key Functions of the Network Layer

Forwarding

  • Definition: Moving a packet from an input link to the appropriate output link when it arrives at a router.

  • Importance: Most common and critical function in the data plane.

  • Additional Tasks:

    • Blocking packets from exiting a router (e.g., known malicious hosts).

    • Duplicating packets for transfer over multiple links.

Routing

  • Definition: Determines the path packets take from sender to receiver.

  • Routing Algorithms: Algorithms that calculate paths, part of the control plane.

Distinction Between Forwarding and Routing

  • Forwarding:

    • Local action at the router level.

    • Fast process (often in nanoseconds, usually hardware-implemented).

  • Routing:

    • Network-wide, longer timescale process (often seconds, typically software-implemented).

  • Forwarding Table: Key element in routers; forward packets based on header fields indexing the forwarding table.

Configuring Forwarding Tables

Traditional Approach

  • Functionality: Each router contains algorithms for computing forwarding tables.

  • Communication: Routers exchange routing information through routing messages based on predefined protocols.

SDN Approach

  • Centralized Control: A remote controller computes and distributes forwarding tables to routers.

  • Router Function: Routers focus solely on forwarding, managed by the remote controller which may ensure reliability and redundancy.

  • Communication: Involves exchanging messages carrying forwarding tables and other routing information.

Router Architecture

Components of a Router

  1. Input Ports:

    • Terminate incoming physical links and perform link layer functions.

    • Consult forwarding tables to determine output port.

    • Forward control packets to the routing processor.

  2. Switching Fabric:

    • Connects input ports to output ports within the router.

  3. Output Ports:

    • Store and transmit packets on outgoing links.

  4. Routing Processor:

    • Executes routing protocols and manages routing tables.

    • In SDN, communicates with the remote controller for forwarding table entries.

    • Handles network management functions.

Routing Algorithms Overview

  • Objective: Determine the best paths from senders to receivers.

  • Path Definition: Sequence of routers packets pass through to reach destination.

  • Path Evaluation Criteria: Cost-effectiveness (fastest, least congested).

  • Graph Representation:

    • Graph G = (N, E):

      • N (Nodes): Set of routers (e.g., {u, v, w, x, y, z})

      • E (Edges): Set of links (e.g., {(u,v), (u,x), (v,x), etc.})

    • Cost Calculation: Summation of link costs for paths.

  • Routing Algorithm Classifications:

    • Centralized: Routers have complete network topology.

    • Decentralized: Routers know only their immediate neighbors.

    • Static vs. Dynamic: Static routes change slowly; dynamic responds to traffic/load changes.

    • Load-sensitive vs. Load-insensitive: Load-sensitive routes adjust costs based on congestion conditions.

Session Summary

  • Understand the following:

    • Key functions of the network layer including forwarding and routing.

    • The distinct roles of data and control planes.

    • Internal router architecture and processing of input ports for destination-based forwarding.

    • An overview of routing algorithms.