The control of networking hardware with software is becoming easier.
When hardware becomes a commodity, you no longer need to use proprietary software. This is the separation of hardware and software.
The hardware – software separation is occurring in networking. It is the foundation for software defined networking (SDN).
What is software defined networking (SDN)?
Software defined networking (SDN) is controlling network routers and switches with the application of software and code. The primary principle behind SDN is using open source software over generic network switches and routers.
Traditionally, routers and switches were controlled through proprietary software designed by the switch manufacturer. The routers also had to be manually configured. This is the shift SDN has provided network engineers.
To understand the importance of SDN, we will need to look at network structure in more detail.
How is a Network Designed?
The network has three layers. They are the management plane, the control plane, and the data plane. Separating these 3 layers provides the ability to control networks with software and code.
The three network layers and their functions are as follows:
The management plane is what connects users and devices. As this is the plane which connects users and devices, it where you monitor the operation and performance of network devices.
The control plane makes decisions. In the control plane, configuration and routing table information communicates between routers, which a routing table is then constructed based upon this information.
The data plane, also known as the forwarding plane, is where all the information from the control plane is applied. The data plane then forwards data packets to the next hop along the designated network route.
How SDN Changed this Structure
What SDN has done to this three-layer structure is moved the control plane off of the box. This means that software can be applied to the area where network decisions are made. This opens a number of possibilities.
Managing the Network with SDN
SDN is giving the ability to manage networks. As mentioned above, the traditional way networks have been managed is through manual server and router changes, or one-off network scripts. With increased network complexity, this can result in problems.
SDN allows network management through:
Routing management is determining where data packets will be routed. A popular application is OpenFlow.
Network isolation is the segmenting of a network. This is done for access control lists (ACLs), virtual LANs (VLANs), or firewalls. Isolated sections make the network more manageable, and SDN makes this happen.
Traffic engineering is used for network performance optimization. Through SDN, you can adjust weights and apply multiprotocol label switching (MPLS). These allow you to determine how traffic is routed through a network.
How Software Defined Networking is Being Used
The most common use of SDN is for isolation. This is the segmentation of a network, which is primarily done for firewall management. Within a network, managing a firewall can be a logistical nightmare. With SDN though, you can segment security and manage it through software.
Also, the bigger use case for SDN is for network automation and network optimization. The ability to control network routes to improve performance has direct effects on website and application performance.
At Datapath.io, we do exactly this with the implementation of our own border gateway protocol (BGP). Using OpenFlow, we can route network traffic over the fastest network routes, increasing website and application performance 60%.
Software defined networking has separated the control plane from network routers and switches. This gives a new way to manage networks.
To learn more about network performance, download the AWS Network Optimization Whitepaper.