0. Sources
- James Kurose & Keith Ross, Pearson, “Computer Networking: A Top-Down Approach” - 2022-01-01
1. Core Terminologies
| Term | Description |
|---|---|
| network layer | is concerned with the transfer of packets from a sending host to a receiving host |
| data plane | the network-layer plane where forwarding occurs. Happens inside the router. |
| control plane | the network-layer plane where routing occurs. Happens among the routers. |
| forwarding | the transfer of packet from a router’s input link to its appropriate output link. |
| routing | the path identification to move packets from sender to receiver. |
| network service model | characterizes the nature of delivery between the hosts |
| IP forwarding | based on datagram’s destination address |
| generalized forwarding | based 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:
| Sender | Receiver |
|---|---|
| encapsulates segments to datagrams to pass to the link layer | sends segments to the transport layer |
Network layer functions:
- Forwarding. The transfer of packet from a router’s input link to its appropriate output link.
- Possible cases:
- Packet comes from a malicious source and, as a result, blocked from exiting the router
- Packet is headed to a forbidden destination and, as a result, blocked from exiting the router
- 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.
- Possible cases:
- 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:
| Service | Description |
|---|---|
| guaranteed delivery | guarantees that packets sent arrives at destined host |
| guaranteed deliver w/ bounded delay | guarantees not only delivery but also that the packets do not exceed a specified delivery time limit (i.e. guaranteed timing) |
| in-order packet delivery | ensures packets arrive at the order they were sent |
| guaranteed minimal bandwidth | ensures that the delivery’s bit rate remains below a specified bit rate limit |
| security | encryption 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
- What is the data plane and the control plane? Can they only be defined by their functions?
- What is bandwidth provisioning and bandwidth-adaptive application-level protocols?
4. Related Concepts/Links
| Term | Description |
|---|---|
| routing | process of determining the packet’s source-destination paths |
4.1 Datagram vs Segments
| Datagram | Segment |
|---|---|
| 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 IP | Uses protocols like TCP and UDP |