Data networking in the packet switching world (as opposed to circuit switching world), whether in the local area network (LAN), metropolitan area network (MAN), wide area network (WAN), internet or data centre (DC), is mainly involved in delivering packets (or frames or segments depending on the layer you focus on the International Organization for Standardization/Open Systems Interconnection (ISO/OSI) stack or the Transmission Control Protocol/Internet Protocol (TCP/IP) stack) from one place to another. This involves packets being received, processed and forwarded at different network elements (NEs) in the path of the packet. These NEs include routers, Layer 2 (L2) switches, Layer 3 (L3) switches, etc. The forwarding of packets is done at the data/forwarding plane based on the instructions received from the control plane. For example, a routing protocol in an IP router gathers the intelligence of the network and the neighbouring routers and decides what to be done on an incoming/ingress packet to the router at the outgoing/egress port (routing information base (RIB) in this case). This happens at the control plane and the required information to actually forward the traffic is sent to the data/forwarding plane (forwarding information base (FIB) in this case).
While a lot of progress has been made with regard to analysing and modularising the data/forwarding plane (ISO OSI or TCP/IP stack) to clearly identify different layers of abstraction, very little progress has been made with regard to that of the control plane until recently. Because of this absence of modularity/layering of the control plane, network engineers had to deal with network configuration and troubleshooting by manually and individually giving instructions to NEs. This has resulted, unknowingly, in network engineers having to master complex configuration and troubleshooting tasks. The vendors too supported this by introducing certifications for mastering this complexity at different levels: associate, professional and expert etc. In reality, we have come thus far, thanks to some brilliant network engineers who dedicated their time and resources to master this complexity and, in fact, today’s networks work because we can master complexity.
But what we should be doing actually is extracting simplicity, with the right abstractions. With the introduction of software defined networking (SDN), this long time lacking aspect in the networking control plane has been critically looked at. This has resulted in, for the first time, decoupling the data/forwarding plane and the control plane allowing the two planes to be researched and developed independently. This has also made it possible to abstract the global view of the network into software and to start programming instead of dealing with configuration of multiple protocols.
With concepts like SDN and intent based networking (IBN), the network engineers can start extracting the simplicity (with the right abstraction) of networks instead of trying to master the complexity.