Software-Defined Networking & NFV

the data plane

Back to the railway. If the control plane is the signalling office that sets the rules, the data plane is the rails, the switches on the track, and the wheels turning — the machinery that actually moves each train along the path it was told to take. In a network, the data plane is the fast path: the part of a switch or router that receives a packet, looks up what to do with it, and ships it out the right port, millions of times a second. It does not deliberate; it executes the rules the control plane gave it.

Concretely, the data plane is built for speed, often in dedicated hardware (ASICs) so it can keep up with line rate. For each arriving packet it does a small, fixed dance: read some fields from the packet's headers, look them up in a forwarding table or flow table, and apply the matched action — forward out a port, drop, rewrite a field, or send to the controller. A core router's data plane may push terabits per second; it cannot afford to run a routing algorithm per packet, which is exactly why the slow thinking is left to the control plane. The data plane just matches and acts.

Why it matters: nearly all of a network's actual work happens in the data plane, so its capabilities set the limits of what the network can do. Traditionally the data plane was fixed — it understood a built-in set of protocols and nothing else. The modern push for programmable data planes (with languages like P4) is about making even this fast path reconfigurable, so you can teach a switch new packet formats and actions without buying new silicon. An honest caveat: separating data plane from control plane does not make forwarding magically faster; it just moves where the decisions are made.

A packet arrives at a switch. The data plane reads its destination IP, finds the longest-prefix match in the forwarding table (say, send anything in 10.1.0.0/16 out port 3), decrements the time-to-live, and forwards it out port 3 — all in nanoseconds, with no software involvement. The control plane installed that table entry earlier; the data plane simply used it.

Match the headers, apply the action, move the packet — at line rate, every time.

The data plane is sometimes called the forwarding plane. Either name refers to the same thing: the per-packet fast path, as distinct from the slower, rule-making control plane.

Also called
data planeforwarding plane資料平面轉送平面