Introduction
Software-defined networking (SDN) offers the promise of increased agility, programmability, and revenue services opportunities. While SDN has been widely deployed in the data center and enterprise environments, and many service provider deployments are underway, I think the best is yet to come. According to IHS research, SDN deployments are expected to grow exponentially, reaching a $18 billion addressable market by the end of 2019.
What is SDN?
SDN is centered around the idea of providing a centralized view of the network along with ensuring optimized management by creating distance between two crucial elements – the controlling plane and the forwarding plane.
As per ONF, SDN is the physical separation of the network control plane from the forwarding plane, where a control plane controls several devices. The SDN architecture basically has 5 key attributes i.e. Direct Programmability, Control Layer Abstraction, Programmatic Configuration, Open standards design and vendor-neutrality. Abstracting control from the forwarding plane enables Network administrators to dynamically adjust network-wide traffic flow and thereby bring in a lot more agility into the network.
SDN enabled network architectures
With major adoption of network function virtualization and deployments of software defined networking, the average network architecture has started to look drastically different today. With AT&T driving its Network 2020 vision and similar Global Communication Service Providers increasingly transforming their networks and adding new virtualized services and revenue streams, software-defined networking has the potential to transform the way networks are designed, implemented, and managed. It’s important to understand some of the typical SDN based Network Virtualization designs that are being rolled out that necessitate an SDN validation strategy.
- Underlay Networks
This includes leaf and spine physical switches that are deployed and controlled by the SDN controller through exposed open API like Openflow and NetConf. The controller integrates with the VIM manager to obtain all the relevant data to create virtual networks.
- Overlay Networks
Programmable virtual data plane elements (vDP) are inserted into COTS servers and controlled by the SDN controller. They form overlay networks using tunnels that are routed over the legacy network fabric (like VxLAN). Usually a gateway is present and participates in the overlay networking.
- Integrated Overlay Underlay Networks
This architecture is where Overlay and Underlay networks work together to provide both flexibility and performance. This approach has been gaining acceptance due to the benefits of end-to-end visibility and seamless control.
Hence, testing these solutions makes it crucial to adopt a holistic testing approach that brings together white box, grey and black-box testing methodology that integrates the complete technology stack.
SDN validation approach
After laying down the various network view points of how SDN is implemented, integrated validation focuses on 2 main approaches i.e. Vertical Layer Testing Approach and Horizontal layer testing Approach.
The Vertical Layer approach covers Applications, Network and the Security Layer.
Some of the focus areas in a vertical approach are mentioned below:
- Network Applications – Onboarding, topology, services and deployment.
- Network Infrastructure – OF Protocol Conformance, SDN Controller Functionality, South Bound and North Bound API Tests, Scale and performance, Interop.
- Security – Secure Control Channel, NBI Authorization/Authentication and SDN Controller security.
The Horizontal layer approach focuses on the data plane, control plane and management application plane much like the layers of the OSI stack.
Some of the functional tests in a horizontal approach include:
- Data Plane Tests- validate the throughput, latency, scalability and other parameters like flow latency, TCP flows between hosts, UDP parallel sessions, etc.
- Control Plane Tests – validate & measure the SDN Controller, CPU utilization, response time and flow drop rates through traffic injection. Here the SDN Controller is connected to several virtual data plane elements.
- Management plane Tests –onboarding time for REST API, GUI based provisioning, CLI based provisioning and stress tests on management plane processing.
Conclusion
SDN is here to stay and will rapidly gain acceptance with most service providers and enterprises in the coming years. Therefore, a well thought out and proven approach that is based on industry best-practices, leveraging community support and proven domain expertise provides the much-needed predictability and assurance required for a successful SDN rollout. Adopting a layered and test centric focused approach provides benefits related to early detection of bugs, improved test cycles through automation, increase in confidence levels, identifying non-functional benchmarks, interoperability, improved security guidelines and most importantly the adequate testing required to ensure smooth delivery.