the forwarding table
The forwarding table is the lookup sheet a router consults for every single packet: it maps destination address prefixes to output ports (and next hops). Picture a receptionist's quick-reference card that says 'anyone heading to the 4th-floor offices, take the left lift; anyone for the basement, take the stairs'. The router glances at the card, decides the exit, and moves on — no thinking, just a fast lookup.
Each row pairs a CIDR prefix with where to send packets that match it: for example 203.0.113.0/24 → output port 3, next hop 10.0.0.2. When a packet arrives, the router takes its destination address, finds all matching prefixes, applies longest-prefix match to pick the most specific one, and forwards out the chosen port. Often there is a default route, 0.0.0.0/0, as the catch-all for anything no specific prefix covers. This table is the concrete embodiment of the data plane: it is what makes forwarding a quick, mechanical lookup rather than a calculation.
It is worth separating two ideas people often merge. The routing table (RIB, the routing information base) is the full picture the control plane builds and reasons about; the forwarding table (FIB, the forwarding information base) is the lean, optimized version pushed down into the fast-path hardware to be consulted at line rate. The routing algorithms fill the table — that is the routing field's job — but using the table to move packets is forwarding, and that is what this field is about.
A small router's table: 192.168.1.0/24 → port 1; 10.0.0.0/8 → port 2; 0.0.0.0/0 → port 3 (default). A packet to 192.168.1.50 leaves via port 1; a packet to 8.8.8.8 matches nothing specific, falls to the default, and leaves via port 3.
Prefix-to-port rows, with a default route catching everything else.
Routing builds the table; forwarding uses it. The FIB (fast forwarding copy) is distinct from the RIB (the control plane's full routing view) — they often differ in size and form.