Software-Defined Networking

I usually speak to EtherNet/IP issues in these articles. I’ll often talk about Modbus, Modbus TCP, PROFINET IO, EtherCAT and such, but today I’m venturing way off the reservation.

I’ve never been a fan of trigger warnings. I understand that trigger warnings are now common in colleges around the US. Their purpose is to warn people that something offensive is coming. Whether you support them or not, I think I must use one today. Here it is:

THIS ARTICLE CONTAINS IT TERMINOLOGY, PRACTICES AND IT TECHNOLOGY. PLEASE READ AT YOUR OWN RISK.

Now that you’ve been warned, we can begin. This article addresses a topic never discussed in automation and manufacturing networking. It is a topic that is even somewhat unusual for IT discussions. The topic is SDN – Software Defined Networking.

SDN is a radically different way of organizing networks. It relies on switch technology that is radically different from the way you’ve always thought of switches. To understand SDN, we must begin by looking at the switches we’ve used over the last twenty years as having two parts: a Data Plane and a Control Plane.

Now, these are typically abstract concepts. If you pried open one of your Cisco switches, you wouldn’t see Data Plane hardware and Control Plane hardware. If you sucked out the source code, you probably could organize the software modules into those groups, but it wouldn’t likely be apparent. Data Plane and Control Plane are abstract concepts in the same way that the layers of the OSI model are abstract, but network software in a switch is roughly organized like the layers in the OSI model.

The Data Plane (aka the Forwarding Plane) is the part of the switch that receives messages on input (ingress) ports and transmits them on output (egress) ports. The Data Plane uses the destination MAC (Media Access Controller) address of the input message as input to a lookup table that identifies the egress port for that message. Switches build that lookup table dynamically by recording the address of every message they receive and the ingress port where it was received in the table. If the destination frame is already in the table, the message is either immediately transmitted on the destination port (cut-through processing) or it is received, validated and then forwarded (store and forward processing).

The Control Plane is the component of a switch or a router that manages the movement of messages. The Control Plane can designate certain messages for special handling, for discard or for expediting. The most typical operation for the Control Plane is to designate some packets that require a high quality of service for preferential treatment.

The Data Plane is optimized for processing speed, simplicity, and reliability. The Control Plane is optimized to provide customizability, to allow handling policies to be defined and for managing exceptional conditions.

In Software-Defined Networking, the Control Plane is moved out of the switch into a supervisory controller where the entire network can be efficiently organized. That sounds unrealistic as it would seemingly be difficult to organize communications across a complicated industrial machine network, but that is exactly what SDN does use a communication protocol called OpenFlow. And that is the subject of a future article on SDN networking.