Control plane

In network routing, the control plane is the part of the router architecture that is concerned with establishing the network topology, or the information in a routing table that defines what to do with incoming packets. Control plane functions, such as participating in routing protocols, run in the architectural control element.[1] In most cases, the routing table contains a list of destination addresses and the outgoing interface(s) associated with each. Control plane logic also can identify certain packets to be discarded, as well as preferential treatment of certain packets for which a high quality of service is defined by such mechanisms as differentiated services.

Depending on the specific router implementation, there may be a separate forwarding information base that is populated by the control plane, but used by the high-speed forwarding plane to look up packets and decide how to handle them.

In computing, the control plane is the part of the software that configures and shuts down the data plane.[2] By contrast, the data plane is the part of the software that processes the data requests.[3] The data plane is also sometimes referred to as the forwarding plane.

The distinction has proven useful in the networking field where it originated, as it separates the concerns: the data plane is optimized for speed of processing, and for simplicity and regularity. The control plane is optimized for customizability, handling policies, handling exceptional situations, and in general facilitating and simplifying the data plane processing.[4][5]

The conceptual separation of the data plane from the control plane has been done for years.[6] An early example is Unix, where the basic file operations are open, close for the control plane and read write for the data plane.[7]

  1. ^ Forwarding and Control Element Separation (ForCES) Framework, RFC 3746, Network Working Group, April 2004
  2. ^ Do, Truong-Xuan; Kim, Younghan (2017-06-01). "Control and data plane separation architecture for supporting multicast listeners over distributed mobility management". ICT Express. Special Issue on Patents, Standardization and Open Problems in ICT Practices. 3 (2): 90–95. doi:10.1016/j.icte.2017.06.001. ISSN 2405-9595.
  3. ^ Conran, Matt (2019-02-25). "Named data networking: Stateful forwarding plane for datagram delivery". Network World. Retrieved 2019-10-14.
  4. ^ Xia, Wenfeng; Wen, Yoggang; Heng Foh, Chuan; Niyato, Dusit; Xie, Haiyong (2015). "A Survey on Software-Defined Networking". IEEE Communications Surveys & Tutorials. 17 (1): 27–46. doi:10.1109/COMST.2014.2330903. S2CID 4269723.
  5. ^ Ahmad, Ijaz; Namal, Suneth; Ylianttila, Mika; Gurtov, Andrei (2015). "Security in Software-Defined Networks: A Survey" (PDF). IEEE Communications Surveys & Tutorials. 17 (4): 2317–2342. doi:10.1109/COMST.2015.2474118. S2CID 2138863.
  6. ^ Do, Truong-Xuan; Kim, Younghan (2017-06-01). "Control and data plane separation architecture for supporting multicast listeners over distributed mobility management". ICT Express. Special Issue on Patents, Standardization and Open Problems in ICT Practices. 3 (2): 90–95. doi:10.1016/j.icte.2017.06.001. ISSN 2405-9595.
  7. ^ Bach, Maurice J. (1986). The Design of the Unix Operating System. Prentice-Hall. Bibcode:1986duos.book.....B.