Software Defined Networking (SDN) has become one of the most popular ways for organizations to deploy applications. This technology has been instrumental in allowing organizations to deploy applications at a faster rate, and reduce the overall cost of deployment. SDN gives administrators the ability to manage and provision network services from a centralized location. The benefits of this setup are such that more organizations than ever before are starting to ask ‘what is SDN’ and making the transition.
- 1 What is SDN?: SDN Explained
- 2 How is SDN Different from Traditional Networking?
- 3 SDN Vs SD-WAN
- 4 The Advantages of SDN
- 5 The Disadvantages of SDN
- 6 Deployment Best Practices
- 7 SDN and Network Monitoring
- 8 Making the Transition
- 9 SDN: The Next Generation of Networking?
One of the reasons why SDN has risen to prominence has been the number of problems inherent in maintaining a traditional legacy network. The needs of modern enterprises have increased exponentially over the last few years, and physical infrastructure has been having trouble keeping up. It is in this environment that virtualized solutions like SDN have begun to grow. The growth is so potent that Transparency Market Research anticipates that the SDN market will reach $3.52 billion in 2018.
It is no secret that manually configured hardware has been outpaced by the advance of modern technology. Traditional networks simply can’t keep up with the demands that modern enterprise users have. SDN offers organizations a welcome alternative where they can upscale their network infrastructure with minimal disruption. Today we’re starting to see companies deploy SDN solutions like Cisco Open SDN Controller, Beacon, Brocade SDN Controller, and Juniper Contrail. In this article, we break down what SDN is, and look at the advantages and disadvantages of leveraging this technology within an enterprise environment.
What is SDN?: SDN Explained
As mentioned above, SDN stands for Software Defined Networking. SDN is an approach to networking that uses open protocols like OpenFlow to control software at the edge of the network. It is used to control access to switches and routers. It is nearly impossible to find a collective definition of SDN as its architecture can vary considerably from one organization to the next.
However, the basic purpose of SDN is to allow users to virtualize their hardware. A software-defined network attempts to build a computer network by separating it into two segments. The control plane can provide performance and fault management of NetFlow, IPFIX and SNMP protocols. This plane is generally used to manage configurations of devices connected to the SDN on a remote basis.
The second segment is the data plane which is responsible for forwarding traffic to its final destination. The control plane dictates which path flows will take before they reach the data plane. This is done through the use of a flow protocol. This segment is where an administrator interacts with the SDN and actually manages the network.
Initially, SDN was deployed by large organizations like Google and Amazon to produce scalable data centers. SDN could facilitate the expansion of network resources and new servers whilst minimizing the administrative burden. In other words, SDN made the upscaling process more efficient. As a result of SDN’s early adoption, other large companies have been keen to implement this technology in order to be able to upscale more efficiently.
How is SDN Different from Traditional Networking?
The biggest difference between a traditional network and SDN is that the latter is a software-based network. Traditional networks rely on physical infrastructure such as switches and routers to make connections and run properly. In contrast, a software-based network allows the user to control the allocation of resources at a virtual level through the control plane. Rather than interacting with physical infrastructure, the user is interacting with software to provision new devices.
From this perspective, an administrator can ascertain network paths and actively configure network services. An SDN also has more ability to communicate with devices throughout the network than a traditional switch. The core difference between the two can be summed up as virtualization. SDN virtualizes your entire network. Virtualization creates an abstract version of your physical network which allows resources to be provisioned from a centralized location.
In a traditional network, the data plane tells your data where it needs to go. Likewise, under the traditional network model, the control plane is located within a switch or router. The location of the control plane is particularly inconvenient because administrators don’t have easy access to dictate traffic flow (especially when compared to an SDN).
Under an SDN the control plane becomes software-based and can be accessed through a connected device. This means that an administrator can control the flow of traffic from a centralized user interface with greater scrutiny. This gives users more control over how their network functions. You can also change your network’s configuration settings from the comfort of a centralized hub. Managing configurations in this way is particularly beneficial with regards to segmentation of the network as the user can process many configurations promptly.
The reason why SDN has become an alternative is that it allows administrators to provision resources and bandwidth instantaneously. It does so while eliminating the requirement to invest in more physical infrastructure. In contrast, a traditional network would need new hardware if its network capacity was to increase. The traditional model is to buy more equipment, not to press a button on a screen.
SDN Vs SD-WAN
It is not uncommon to hear SDN compared to Software Defined Wide Area Networks (SD-WAN). SD-WAN is a commonly used alternative solution which allows organizations to link together numerous locations through the use of broadband and MPLS. The main difference between SDN and SD-WAN is that SD-WAN focuses on delivering a Wide Area Network (WAN) which connects multiple sites together. In contrast, SDN is used to create networks that can be modified quickly in line with an enterprise’s needs.
SDNs are designed to operate on Local Area Networks (LAN) whereas SD-WAN has been designed to sustain WANs over a large geographical area. It is worth noting that SD-WAN can be used over an SDN network, providing the geographical capabilities of SD-WAN with the configurable flexibility of SDN. One of the reasons why SD-WAN has become popular is because it eliminates the need to maintain lots of network hardware.
Another particularly important distinction between the two is that an SDN is configured entirely by the user or administrator. An SD-WAN service is managed by a vendor. In practice, this means that SD-WAN is simpler to deploy in terms of administration because the user isn’t responsible for providing the service.
You can cut out routing hardware in favor of a cloud service. Operating with a cloud service means that if an organization’s requirements increase it can upscale very quickly (particularly when compared to legacy network where infrastructure would have to be physically updated). SD-WAN also has the advantage of supporting services like VPN as well. Many organizations are using SD-WAN as a way to underpin their VPN.
See also: WAN optimization
The Advantages of SDN
One of the main advantages granted by SDN is the ability to manage a network from a centralized perspective. In a nutshell, SDN virtualizes both the data and control planes allowing the user to provision physical and virtual elements from one location. This is extremely useful as traditional infrastructure can be difficult to monitor especially if there are lots of disparate systems that need to managed individually. SDN eliminates this barrier and allows an administrator to drill up and down at will.
A good side effect of centralized provisioning is that SDN gives the user more scalability. By having the ability to provision resources at will you can change your network infrastructure at a moment’s notice. The difference in scalability is remarkable when compared to that of a traditional network setup where resources need to be purchased and configured manually.
Even though the movement towards virtualization has made it more difficult for administrators to secure their networks against external threats, it has brought with it a massive advantage. An SDN controller provides a centralized location for the administrator to control the entire security of the network. While this comes at the cost of making the SDN controller a target, it provides users with a clear perspective of their infrastructure through which they can manage the security of their entire network.
Reduced Hardware Footprint
Deploying SDN allows an administrator to optimize hardware usage and work more efficiently. The user can assign active hardware with a new purpose at will. This means that resources can be shared with relative ease. This beats a legacy-driven network where hardware is confined to a single purpose.
The Disadvantages of SDN
One of the problems with virtualizing any infrastructure is the latency that arises as a result. The speed of your interaction with an appliance is dependent on how many virtualized resources you have available. Your service is at the discretion of how your hypervisor divides up your usage (which can add latency). Every active device on a network takes its toll on your network availability. This is going to be exacerbated in the future as more Internet of Things (IoT) devices hit the market and start to be incorporated into the mix.
Even though you can manage the services of devices throughout your network, you can’t manage the devices themselves. While on first glance this might appear to be a trivial detail, it is very important with regards to upscaling a network. All of these devices need to be monitored, patched and upgraded frequently in order to stay in working operation. As a result, it is important to bear in mind that there remains a wealth of maintenance requirements not addressed by SDN.
More Complex Network Management
Though traditional networks may have their limitations, there is a standardized consensus on security threats and procedures. At this point in time, no such consensus exists for SDN. Though there are many SDN solution providers, SDN security concerns are uncharted territory for many administrators. As such, it can be very difficult to maintain the integrity of an SDN service against external threats when you don’t have the requisite knowledge to defend the system
After all, your ability to prevent attacks from taking root is dependent upon spotting threats before they occur. To do this you need a level of expertise with SDN that is hard to achieve without significant experience of using an SDN system. While those without experience can learn about using an SDN, they need to undergo a substantial learning curve in order to manage the nuances of security threats.
Deployment Best Practices
While SDN does offer many advantages, its deployment is hardly carefree. In order to make sure that an SDN operates effectively there are a number of steps that need to be taken when deploying this solution. SDN deployment can be more complex than other network resources so it’s important to understand some of the factors you need to take into account.
One of the biggest benefits provided by an SDN is the ability to deploy new resources quickly. However, this capability needs to be closely managed in order to maintain performance. In practice, this means regularly de-provisioning resources when they aren’t needed. Leaving resources active when not in use takes up virtual resources that would be better used elsewhere.
Every professional administrator recognizes the importance of network monitoring but what is surprising is that there are comparatively few SDN-compatible products. This is problematic given that you need to monitor an SDN to make sure that it’s secure and performing satisfactorily. In order to monitor an SDN, you need APIs so that an SDN can be integrated with them. We’ve covered this subject in more detail below as this is a complex topic.
When onboarding any new piece of technology, you need to take into account new security risks. An SDN is no exception. From the moment you deploy an SDN, you give your network new vulnerabilities that can be targeted by malicious entities. As a result, you need to have a solid awareness of current security threats and how to address them. This includes a thorough understanding of protocol limitations and switch impersonation in particular. It also means that you have to implement new best practices to keep your service protected from external threats.
Maintaining Quality of Service
Quality of Service (QoS) monitoring is a nightmare within any network but particular caution needs to be taken on an SDN network. As we discussed earlier, with an SDN you have control over services but not physical devices. As a result, you need to be particularly cautious about how you provision your resources. In addition, you also need to bear in mind the default Quality of Service settings on each of your network devices as they can have a large effect on the quality of your network performance.
SDN and Network Monitoring
As mentioned earlier in this article, SDN raises a number of challenges in terms of network monitoring. Many people give lots of thought to the advantages and disadvantages that SDN brings in terms of performance but little as to how that will shift the network monitoring process. The main challenge is that you cannot monitor an SDN in the same way that you would a legacy network with a traditional network monitoring solution.
SDN monitoring is tricky to monitor because it is a dynamic service. As a consequence, services can be provisioned and de-provisioned rapidly. This means that you need a network monitor that can keep up with these changes; otherwise, you will limit your visibility. A tool like SevOne acts as a good starting point for overseeing an SDN but you may need to go a little further and commit to a program with APIs.
The best way to respond to SDN’s rapid changes is to use a performance monitoring solution with APIs. This will keep track of resources as you provision them. A network monitoring platform with APIs will be able to keep up with your needs and ensure that your network environment isn’t lost or obscured. Products with APIs provide you with more flexibility than other static network monitoring solutions.
Another core feature that SDN monitoring solutions need to have is the ability to add extra monitoring capacity. Whenever you use an SDN to upscale your network infrastructure, you need a monitoring solution that can also upscale to keep track of this. It is no good having a network monitoring solution that doesn’t have the bandwidth to monitor your SDN.
Making the Transition
Before making the transition to SDN you’ll need to spend a substantial amount of money on new equipment. While this will deliver long-term savings in terms of physical hardware and scalability, it is certainly worth bearing in mind before making a purchase. It is a good idea to operate on a hybrid network before you consider scrapping all of your traditional infrastructure! Selectively adding SDN equipment to your setup will allow you to keep your familiar traditional network infrastructure within reach while minimizing the disruption to your service.
SDN: The Next Generation of Networking?
Given the rise of virtualization as a movement, we can expect to see a substantial increase in the number of organizations deploying SDNs. As networks grow more complex with cloud services and disparate infrastructure, systems like SDN will be used to help bring centralized control and scalability to large organizations. Traditional networks simply don’t have the foundation to keep up with the demands of modern enterprises.
While it is important to recognize that an SDN cannot completely manage the physical liabilities of devices throughout the network, it still helps to centralize control of the network’s services themselves. Managing network infrastructure through the control plane provides administrators with a higher degree of control than they would have on a traditional legacy network.
Despite the considerable following of SDNs, they remain in their infancy. That being said this technology does have a very high development potential for transcending the barriers presented by a legacy network. Organizations are always looking for ways to decrease the complexity of network management and reduce general overhead costs. SDN’s value in this capacity is very promising.
At this point in time SDN still has a long way to go. While it has promising foundations in place it needs to continually evolve if it is to achieve widespread adoption. At this point, it is difficult to point to any clear indicators that SDN delivers a ROI. The centralized advantages of SDN may be clear but the ROI needs to be clearly-defined if it is to kick legacy infrastructure to the curb.