Network Layer and Routing
The network layer moves packets from a source host to a destination host across multiple links and networks, combining a data plane that forwards each packet at every router with a control plane that computes the routes those packets follow.
Definition
The network layer is the protocol layer responsible for host-to-host delivery of packets across an internetwork, providing addressing, forwarding of packets within routers (the data plane), and route determination across the network (the control plane).
Scope
This area covers internetworking: the Internet Protocol (IP) and its addressing and forwarding, the routing algorithms (link-state and distance-vector) that compute paths, the organization of routing into intra-domain and inter-domain protocols (including BGP between autonomous systems), and the more recent software-defined networking paradigm that separates the control plane onto logically centralized controllers. It distinguishes the per-packet data plane from the route-computing control plane, and excludes the transport-layer end-to-end services above it and the link-layer hop-by-hop delivery below it.
Sub-topics
Core questions
- How does a router forward a packet toward its destination, and what is in a forwarding table?
- How are IP addresses structured and allocated, and how does subnetting and CIDR work?
- How do link-state and distance-vector algorithms compute least-cost paths?
- Why is routing split into intra-domain protocols and the inter-domain protocol BGP?
- How does software-defined networking change where and how routing decisions are made?
Key concepts
- Internet Protocol (IP)
- IP addressing, subnetting, and CIDR
- forwarding tables and longest-prefix match
- link-state routing
- distance-vector routing
- autonomous systems
- Border Gateway Protocol (BGP)
- control plane and data plane
- software-defined networking
- network address translation (NAT)
Key theories
- Data plane versus control plane separation
- The network layer is decomposed into a fast data plane that forwards each arriving packet according to a forwarding table, and a control plane that computes those tables via routing protocols; software-defined networking takes this further by centralizing the control plane.
- Least-cost path routing
- Routing algorithms model the network as a weighted graph and compute shortest paths: link-state algorithms (Dijkstra) give each router a full topology view, while distance-vector algorithms (Bellman-Ford) exchange estimates with neighbors and converge iteratively.
- Policy-based inter-domain routing
- Routing between independently administered autonomous systems is governed by the Border Gateway Protocol, which propagates reachability information and lets each network apply business and policy preferences rather than purely shortest-path metrics.
Clinical relevance
The network layer is the layer that makes the global Internet a single reachable system: every packet that crosses the Internet is forwarded by IP routers, and BGP decisions among tens of thousands of autonomous systems determine global connectivity. Software-defined networking now underpins large cloud and data-center networks, letting operators program traffic engineering and isolation centrally. Address exhaustion drove the transition from IPv4 to IPv6.
History
The Internet Protocol was specified in RFC 791 (1981) as the connectionless, best-effort core of the TCP/IP architecture. Interior routing protocols such as RIP and OSPF and the exterior protocol BGP grew to manage routing as the Internet scaled. The 2008 OpenFlow proposal launched software-defined networking by exposing the switch forwarding table to an external controller, reshaping how large networks are built and managed.
Debates
- Distributed control planes versus centralized SDN control
- Traditional routing distributes route computation across all routers for robustness and autonomy, while software-defined networking centralizes control for programmability and global optimization; debate continues over the right balance of centralization, scalability, and resilience.
Key figures
- Vinton Cerf
- Robert Kahn
- Jon Postel
- Nick McKeown
- Jennifer Rexford
Related topics
Seminal works
- kurose2021
- rfc791
- mckeown2008
Frequently asked questions
- What is the difference between forwarding and routing?
- Forwarding is the local, per-packet action of moving a packet from an input to an output port using the forwarding table, and it happens at high speed in the data plane. Routing is the network-wide process of computing the contents of those forwarding tables, done by routing algorithms and protocols in the control plane.
- Why was IPv6 introduced?
- IPv4's 32-bit address space, about four billion addresses, became insufficient as Internet-connected devices proliferated. IPv6 uses 128-bit addresses to provide a vastly larger space, along with simplifications to the header and built-in support for features like autoconfiguration.