0. Sources

  1. James Kurose & Keith Ross, Pearson, “Computer Networking: A Top-Down Approach” - 2022-01-01

1. Core Terminologies

TermDescription
network layeris concerned with the transfer of packets from a sending host to a receiving host
data planethe network-layer plane where forwarding occurs. Happens inside the router.
control planethe network-layer plane where routing occurs. Happens among the routers.
forwardingthe transfer of packet from a router’s input link to its appropriate output link.
routingthe path identification to move packets from sender to receiver.
network service modelcharacterizes the nature of delivery between the hosts
IP forwardingbased on datagram’s destination address
generalized forwardingbased on values in the datagram’s header

2. Details

2.1. Network Layer Overview

  • Network layer is made up of two interacting parts: data plane and control plane .
    • data plane functions govern how datagrams on each router’s input link is forwarded to one of their output links
    • control plane functions govern how datagrams are routed among routers. In other words, they coordinate the local forwarding actions from each router to successfully transfer the datagrams from source to destination.1
  • Software-Defined Networking (SDN) separates the network plane and the control plane functions because they are traditionally implemented together

Sender vs. receiver:

SenderReceiver
encapsulates segments to datagrams to pass to the link layersends segments to the transport layer

Network layer functions:

  1. Forwarding. The transfer of packet from a router’s input link to its appropriate output link.
    • Possible cases:
      1. Packet comes from a malicious source and, as a result, blocked from exiting the router
      2. Packet is headed to a forbidden destination and, as a result, blocked from exiting the router
      3. Packet is duplicated for different output links
    • It is implemented in the hardware because the process is very short (in nanoseconds only)
    • forwarding tables are used to determine which output link to forward the arriving packets to. It makes use of their header field values as an index or clue to find the best matching output link interface in the table.
  2. Routing. The path identification (using routing algorithms) to move packets from sender to receiver.
    • Is implemented in the software because the process takes longer (in seconds)

Traditional approach to the control plane:

  • The content of each router’s forwarding table is computed using its routing algorithm’s functions and the information it exchanged with other router’s routing algorithm’s functions.2
  • Routing messages containing routing information are based on the protocol used.

SDN approach to the control plane:

  • A physically separate remote controller computes a forwarding table and distributes it to each router. It is software-defined because the formulation and distribution of the forwarding table is implemented in software.
  • Data plane functionality is the same (i.e., forwarding), but control plane functionality is different (i.e., producing the forwarding table contents)

Network service model:

The network service model describes the services offered by the network layer to the transport layer when sending a packet. It therefore characterizes the nature of delivery between the hosts. Its services include the following:

ServiceDescription
guaranteed deliveryguarantees that packets sent arrives at destined host
guaranteed deliver w/ bounded delayguarantees not only delivery but also that the packets do not exceed a specified delivery time limit (i.e. guaranteed timing)
in-order packet deliveryensures packets arrive at the order they were sent
guaranteed minimal bandwidthensures that the delivery’s bit rate remains below a specified bit rate limit
securityencryption at sender and decryption at receiver
best-effort service

Best-effort service:

  • No service at all3
    • no guaranteed delivery
    • no guaranteed timing
    • no guaranteed order
    • no guaranteed minimal bandwidth
  • combining it with bandwidth provisioning and bandwidth-adaptive application-level protocols makes it ideal for applications such as video streaming, video-over-IP (VOIP), and real-time conferencing

2.2. Inside a Router

Input Port, Switching, Output Port:

Buffer Management, Scheduling:

2.3. IP Protocol

Datagram Format:

Addressing:

Network Address Translation:

IPv6:

2.4 Generalized Forwarding and SDN

Match+Action:

OpenFlow:

2.5 Middleboxes

3. My Questions

  1. What is the data plane and the control plane? Can they only be defined by their functions?
  2. What is bandwidth provisioning and bandwidth-adaptive application-level protocols?
TermDescription
routingprocess of determining the packet’s source-destination paths

4.1 Datagram vs Segments

DatagramSegment
A network layer packet which encapsulates segments.A transport layer packet.
It travels between hosts on different networks.It travels between processes on different hosts.
Uses protocols such as IPUses protocols like TCP and UDP

Footnotes

  1. p. 304

  2. Imagine it this way, each router has a routing algorithm function. The routing algorithm functions of every router will talk to each other to make the best forwarding table so that it is guaranteed that the packet will reach their intended destination.

  3. p. 310