Most of the focus on hyper-converged infrastructure has been on the compute and storage components, with networking...
barely a footnote. But software-defined networking can also play a vital role in hyper-convergence, and software-defined networking layers should be understood when considering an HCI implementation.
The networking component has often been overlooked, because early hyper-converged infrastructure (HCI) systems failed to deliver software-defined networking (SDN) in a meaningful way. This has been steadily changing, as SDN technologies have improved and become better adapted to HCI scenarios.
For example, Big Cloud Fabric (BCF), an SDN system offered by Big Switch Networks, can now be used in HCI services from Nutanix, VMware, Dell EMC and Red Hat. Other SDN products, including VMware NSX and Cisco Application Centric Infrastructure, are moving just as aggressively into HCI territory.
An SDN product such as BCF can use commodity switches from Dell, Hewlett Packard Enterprise and other vendors, while providing a centralized control interface that supports automation and programmability. This allows it to route traffic in a way that best utilizes resources, while accommodating changing workloads.
Like HCI in general, SDN takes a software-centric approach to networking that can be fully integrated into the HCI environment. A typical system is divided into three software-defined networking layers:
- a data plane that physically moves the network packets from node to node;
- a control plane that abstracts the physical resources in the data plane; and
- an application plane that controls network behavior via the control plane.
The SDN data plane
The data plane, also known as the forwarding plane, is made up of physical devices, such as switches and routers. The devices forward the network packets from one node to the next along the defined data path. Unlike a traditional network infrastructure, the SDN does not rely on the control mechanisms built into a device's firmware, but instead uses the control plane to manage how traffic flows through each device.
The software-defined networking layers of data plane, control plane and application plane work together to deliver an SDN platform that can be integrated into an HCI system, along with other software-defined components. SDN's inherent programmability makes it possible to automate networking operations and support fluctuating workloads, while providing the flexibility necessary to scale components and support different HCI configurations.
The SDN control plane
The first of the software-defined networking layers, the control plane, abstracts the physical network and specifies how packets should flow through the data plane. The control plane is completely decoupled, or disaggregated, from the data plane, providing a logical, independent interface to the physical resources.
At the heart of the control plane is the network controller, a server application that facilitates communication between the application plane and data plane. The controller provides the application plane with a global view of the network, while offering a logical infrastructure for programming network operations and implementing automation. The controller carries out several important functions:
- It abstracts the data plane devices and presents them as logical resources to the application plane.
- It gathers information about the devices and communicates that information back to the application plane.
- It processes traffic instructions received from the application plane and transmits them to the data plane.
The controller has complete jurisdiction over the data plane, including the forwarding operations that the devices themselves would normally manage if operating in a traditional network infrastructure. The controller sends packet-handling rules to the network devices, which the devices then act upon. The devices can also query the controller for additional guidance, when needed.
The controller and network devices communicate through the controller's southbound interface, using a protocol such as OpenFlow, a vendor-neutral protocol that includes a set of open-standard APIs for facilitating communications.
The SDN application plane
The network controller enables the application plane to control network resources and traffic flow across all data plane devices. For this reason, the application plane is sometimes called the management plane. Unfortunately, this can result in confusion, because some SDN documentation refers to a fourth plane, also called the management plane. The purpose of the fourth plane is primarily to set up the physical devices to meet needs outside of the SDN infrastructure or in some way prepare the devices for SDN.
An SDN application that interfaces with the controller can configure and set network rules, as well as prioritize or block specific packets. The structure of software-defined networking layers makes it possible to centrally program network behavior through intelligent software that can dynamically adjust traffic flow to handle fluctuating workloads and changing requirements.
The SDN application communicates with the controller through its northbound interface. The controller passes information about the network devices to the application, and the application sends instructions for how to manage the network to the controller.
In a traditional network, applications are oblivious to the network state. But SDN applications are fully network-aware, allowing them to monitor the network and adapt the package flow as necessary.
Developers can build SDN management software that dynamically configures, secures and optimizes network resources. This is especially beneficial in HCI, in which all management is part of a larger software-defined architecture.