Control Plane vs Data Plane

Let’s say you and I are in charge of public transportation for a small city.


Before we send bus drivers out, we need to have a plan.

Control Plane = Learning what we will do

Our planning stage, which includes learning which paths the buses will take, is similar to the control plane in the network. We haven’t picked up people yet, nor have we dropped them off, but we do know the paths and stops due to our plan. The control plane is primarily about the learning of routes.

In a routed network, this planning and learning can be done through static routes, where we train the router about remote networks, and how to get there. We also can use dynamic routing protocols, like RIP, OSPF and EIGRP to allow the routers to train each other regarding how to reach remote networks. This is all the control plane.

Data Plane = Actually moving the packets based on what we learned.

Now, after the routers know how to route for remote networks, along comes a customer’s packet and BAM! this is where the data plane begins. The data plane is the actual movement of the customer’s data packets over the transit path. (We learned the path to use in the control plane stage earlier).

Routing protocols control where traffic goes, but are not directly responsible for the movement of them. Therefore they are control plane.

A packet moving through the router (transiting) is data plane. Those are the simple things to keep in mind.

If the router has to fully process a packet (e.g. routing protocols, SSH/Telnet/Web TO the router for administration), then it’s control plane.

If the router has to simple MOVE the traffic (e.g. in one interface and out another one) then it’s data plane.