Introduction to the network layer (data plane)

The network layer provides host-to-host communication across a network.

Unlike the application and transport layers, the network layer is implemented in both hosts and routers. As a result, it is the most complex layer in the protocol stack.

To make it easier to understand, the network layer is divided into two interacting parts:

  1. data plane (or forwarding plane)
  2. control plane (or routing plane)

Forwarding and routing

The network layer is responsible for moving packets from a source host to a destination host.

To accomplish this, it performs two key functions:

  1. forwarding or switching (a router-local action):

    • transfer a packet from a router's input link interface to the appropriate output link interface
    • takes place at very short timescales (a few nanoseconds)
    • often implemented in hardware
    • part of the data plane
  2. routing (a network-wide action):

    • determine the path taken by packets
    • takes place on longer timescales (seconds)
    • often implemented in software
    • part of the control plane

Driving analogy:

The traditional approach

Every router maintains a forwarding table, which tells it which outgoing link interface to use for each packet.

In the traditional approach:

Without a routing protocol:

The SDN approach

In Software-Defined Networking (SDN), the routing function is separated from the physical router:

This separation of the control plane from the data plane is the key idea behind SDN.

The controller that computes forwarding tables and interacts with routers is implemented in software:

Network service model

The network service model describes the service that the network layer provides for delivering packets between hosts.

Examples of services a network layer could provide:

The Internet's network layer provides a much simpler service called best-effort service.

With best-effort service, the network does not guarantee:

At first glance, this may seem like no guarantees at all.

However, best-effort service has proven to be highly effective in practice. Combined with:

It supports a wide range of applications, including video streaming, voice calls, and video conferencing.

Previous TCP congestion control All ⏎ Next Router

A Kemar Joint