Simple Understanding

  1. The Control Plane is responsible for finding the optimal path, while the Forwarding Plane handles data forwarding based on these established paths. These two planes work together to achieve network connectivity.

  2. Data packets are routed on a hop-by-hop basis, with forwarding decisions made by each router that receives the packet.

    The Control Plane: Determines how and where to forward packets.

    The Data Plane: Performs actual packet forwarding on router ports at the hardware level.

Official Definition

  1. Control Plane: Responsible for routing protocol updates, interactions, and route calculations.

    It ensures routers or switches maintain an accurate understanding of network devices, links, and running protocols through control and management of various protocols. It also enables timely detection and adjustment when network changes occur.

  2. Forwarding Plane: Responsible for IP packet forwarding.

    The forwarding plane handles data reception, decapsulation, encapsulation, and routing table lookups for data forwarding.

  3. Separation of Control and Forwarding Planes

    Good system design should maintain separation between control and forwarding planes to minimize interference. When the control plane experiences temporary failures, the forwarding plane can continue operating, ensuring existing network services remain unaffected and improving overall network reliability.

In computer networks, a router’s primary function is to find the optimal transmission path for each packet passing through it and effectively deliver that data to its destination. Each router typically maintains two similar tables:

  • Routing Information Base (RIB), also known as the routing table
  • Forwarding Information Base (FIB), also known as the forwarding table

The routing table (RIB) is used for routing decisions, while the forwarding table is used for packet forwarding.

A router’s core function is to find the optimal path (based on metrics like speed, quality, shortest path) for each packet and compile these optimal routes to different networks into a new table - the FIB table.

Destination: destination network address, Gateway: gateway, Genmask: subnet mask, Metric: hop count, Ref: reference count, Use: lookup count

During packet forwarding (transmission):

  • First, the routing table is consulted to determine if the destination is reachable, and if so, identify the outgoing interface and next hop information
  • Then, the ARP table is checked to obtain the MAC address corresponding to the destination address, allowing construction of the complete Ethernet frame
  • Finally, the MAC table is consulted to determine the sending interface. Once the outgoing interface is confirmed, the kernel sends the packet to the corresponding network card driver, which will transmit the packet to the next hop device at the appropriate time.