Control plane packets are used to build a communication path between the networking devices. In some cases control plane is used to advertise and learn the endpoints. Imagine a network which consist of these networking devices, in order to crate a graph or tree among them for bridging or routing purpose, control plane protocols are used. As a network engineer although I keep Application requirements in my mind during a network design, in general layer 4 and above is just boring.
Spanning tree, G.8032, RPR, Trill, SPB, Fabricpath,EAPS, PBB-TE (PBT) are the control plane protocols at the layer 2. They are used to create a communication path , in general a tree. Some of them allow Vlan based load balancing , some of them allow flow based load balancing with ECMP ( Equal Cost Multipath ) or ECT ( Equal Cost Tree ).
But if you read so far, I didn’t mention from reachability information. For the layer 2, reachability for us, Ethernet Mac addresses, Frame relay pdu, ATM cells etc, all of the above protocols are used for Ethernet control plane though. In general ( SPBM is different ), reachability information is learned through flooding and learning in the case of Ethernet.
This type of learning mechanism is called Data Plane learning. Since the bridges,switches process the layer 2 frame and build their table based on end user packet ( not advertised between the devices ) while frame visit all nodes in the same broadcast domain, every bridge learns all the mac address information in the Ethernet case. ( There is a conversational learning mode though ! )
Routing protocols work slightly different than layer 2 protocols. OSPF,IS-IS,EIGRP,RIP, BGP are the routing protocol which I will mention here.
They are used to create a communication path as well. Between two endpoints; there might be many nodes and protocols try to find an optimal path based on their best path selection alghoritm. This process is not different than layer 2 protocols communication path creation. But routing protocols also advertise reachability information.
For the routing protocol reachability information in general ( BGP and IS-IS is used for layer 2 frames as well ) Internet Protocol ( IP). Advertisement of reachability information between routing protocol neighbors is an example of Push based control plane. If reachability information is learned from the routing protocol packets it is a control plane learning. In the case of ethernet you learn mac address information from the end user packet not from the routing protocol packets ( LSA, LSP and so on.. ).
Thus it is a data plane learning and can be though as a subset of Pull based mechanism. If you are familiar with LISP ( Locator and Identifier Separation Protocol ) , EID space is registered to the Mapping server by their Locators. Ingress tunnel routers learn the reachability information ( Destination EID space ) from the Mapping database.Mapping database keeps the EID ( Endpoint Identifier ) and RLOC ( Routing Locator ) mapping.
As you can see from the LISP example, reachability information is kept on the special node or nodes and all the switches/routers pull the reachability information from that special database when they need them.
With pull based mechanisms, memory requirements can be reduced on the networking devices but it is always the case that there will be an initial delay to learn reachability information ( Asking the reachability from the mapping database , RLOC will advertise them back to the ITR ). You might think that this is similar to DNS or NHRP mapping and queries in DMVPN.