Wednesday, August 29, 2018

A Short Summary of Planes

A Short Summary of Planes (the network kind)

When the CCDE program was first developed, Cisco conveniently broke down the included technologies into five categories: Routing, Tunneling, Quality of Service, Security and Management. Cisco also provided an extensive resource list for the first four topics, consisting of RFCs, Cisco Press books and videos. The network management section was noticeably bare. I bought the one Cisco Press book listed in the category, Network Management Fundamentals. I'm sure I picked something up from from the book, but I still felt that there were gaps in my knowledge. One area I was especially unsure of was the difference between the Control/Data/Management planes. The following is my attempt to provide clarify in this area.

Let's start with the Data Plane (also known as the Forwarding Plane; they are both terms for the same concept). The function of the Data Plane is to receive packets and forward them according to a pre-programmed forwarding table. This table is known as the Forwarding Information Base (FIB). The Data Plane does not have intelligence; it is best to think of it as a hard-coded set of forwarding tables. With modern hardware, such as the Nexus 9k platform, these forwarding tables are distributed to the individual line cards. Incoming packets are classified by specific attributes, such as a layer 3 destination address and QoS marking. This information is compared to the FIB, and an outbound interface is chosen. The layer 2 destination address is updated and the packet is forwarded.

How does the Forwarding Plane get programmed? That is the Control Plane's job. The Control Plane is where routers run routing protocols. By exchanging control-plane messages, routers build a Routing Information Base (RIB). This RIB is translated into a Forwarding Information Base (FIB), which is downloaded to the Data Plane. The separation of the Control and Data Planes permits us to forward packets even when the Control Plane is unavailable, such as during an In Service Software Upgrade (ISSU).

Finally, how is the Control Plane built? That is the Management Plane's job. Whether you log into a router via CLI using telnet or SSH, or you push a configuration via SNMP or NETCONF, you are using the Management Plane to program the router. The Management Plane is also used to retrieve information from the device, such as interface statistics or the current running configuration.

I hope this helps clear up any confusion you may have had about these concepts.