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
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.
Switching Fabric:
Connects input ports to output ports within the router.
Output Ports:
Store and transmit packets on outgoing links.
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.