Cross-layer - Control & Data Plane
★★★★ Start with the two kinds of line
Purple dashed = control plane: exchange routes, compute a best path, program the conclusion into a table. ★★ Perhaps a few runs a day, tens of milliseconds each.
Blue solid = data plane: the packets actually travel here -- look up, decrement TTL, swap the L2 header. ★★ Millions of times a second, microseconds each.
★★★★ The difference is not difficulty but frequency: one decision, a million forwards.
★★★ Two tables, and why the data plane is fast
★★★ The control plane's table is the RIB (all candidates plus attributes); what is programmed down into the FIB is only the selected result: prefix -> egress plus next hop. ★★ Attributes are dropped -- useless at lookup time.
★★★★ Because its work is little and fixed, the data plane can be pushed cheaper: into silicon (line-rate lookups, the CPU never touches a packet), around the kernel (polling instead of interrupts, no sk_buff), and on narrowband links it can even compress headers (trading CPU for bandwidth).
★ Common misconceptions
★★★★ "The path is computed when a packet arrives" -- it is not. The computing happened long before; the packet only triggers a lookup in an already-computed table.
★★★★ "A dead control plane means a dead network" -- not immediately; the blue lines keep running (scenario 2). But no new routes are learned, so the first topology change becomes a black hole.
★★★ "This is a router thing" -- Layer 2 is the same: STP computing a tree is the control plane; MAC-table lookups are the data plane. Every layer has both.