SDN Overview
Software-Defined Networks (SDN) is an architectural revolution that enables application-controlled programming and dynamic, scalable network resource management. Service providers, cloud providers, and enterprises are adopting SDN at scale to accelerate network deployment, save money, and increase reliability.SDN-based networks enable the use of white-box switching hardware, avoid vendor lock-in, and offer flexibility to optimize network performance and deliver new services that are difficult to provide with existing networks.
The number and type of SDN-based services has reached critical mass: now end-to-end viable services can expand or replace existing hardware-based networks.
SDN Promises
- Programmability: SDN defines standards (API protocol) to communicate with infrastructure.
- Improved agility
- Flexible and elastic networks to react quickly to change.
- Network visibility: End-to-end visibility for traffic engineering.
- Innovative services: Enables offering innovative services dynamically, based on user demands.
- Vendor neutrality: Promotes multi-vendor and open-source solutions based on user collaboration.
SDN Architecture
SDN introduces an intuitive three-tier architecture, represented below.
At the top level, administrators use business applications to set overall objectives for their networks. The policies established at this level are communicated to the SDN controller, which controls the network and directs the operation of elements, including switches, routers, and other physical and virtualized elements according to these policies.
SDN controllers can play an active role in network control.
When an SDN client process on a switch/router receives a new flow it has not yet seen, it passes to the SDN controller to determine what should be done with the flow. The controller responds to the client with instructions on how to manage the flow. The result is a flexible separation of control and data planes.
SDN in Action
Network Functions Virtualization (NFV)
NFV works with SDN, providing virtualized network functions that are part of SDNs. NFV leverages the fact that network devices are just software running on specific hardware, and that software can run just as easily as virtualized network functions (VNF) within virtual machines (VM) on COTS servers. VNFs include switches, routers, firewalls, load balancers, authentication servers, IPS, DPI, NAT, CE, and CDN, among others. Using a combination of SDN and NFV, complete application services, with their connecting networks, can be dynamically built from virtual components.OpenFlow Switched Networks
OpenFlow was the first open-source SDN controller. In a conventional router or switch, packet forwarding (data plane) and high-level decisions (control plane) reside in the same device. An OpenFlow switched network separates these two functions. The data path portion continues to reside in the switch, while high-level routing decisions are moved to the control plane.OpenFlow enables network programmability by allowing high-level applications to program flows directly on the switch.
SDN controllers inject flows directly into a switch’s forwarding table. Packet decisions are centralized, so the network can be programmed by custom applications.
Path Computation Element (PCE)
The PCE protocol (PCE-P) provides per-flow traffic engineering with minimal disruption to the existing central network. Only ingress provider edge routers (PE) need to communicate with a PCE controller. The PCE controller has complete network visibility, which it uses to calculate the end-to-end path per flow based on traffic. It communicates the path to the ingress PE, which in turn establishes the path across the network.PCE-based SDN offloads traffic engineering path calculation, leaving the network infrastructure unchanged.
Testing SDN
Transitioning to an SDN-based network is not without challenges. Converting from a proprietary system to an open one involves more moving pieces, including controllers, clients, orchestration systems, and business applications. In many cases, SDN components must interact with legacy components, which introduces greater complexity.New network protocols and extensions of existing ones are needed to implement the flexibility associated with SDNs:
- Control protocols include OpenFlow, NetConf/Yang, and PCE-P.
- Segment routing enables application-defined routing and large-scale MPLS paths without the need for complex protocols like LDP or RSVP.
- IS-IS and OSPF routing protocols have been extended to provide state information for traffic engineering and network optimization.
- The BGP protocol has new link state messages, auto-discovery, and flowspec that facilitate dynamic SDN/NFV networks.
- Other protocols have been developed or extended to create overlay networks, such as MPLS, NVGRE (network virtualization via generic routing encapsulation), RSVP-TE, SR (segment routing), EVPN (Ethernet VPN), and STT (stateless transport tunnel).
- Functional operation: correct operation of new protocols and interactions.
- Scale: verification of the maximum number of connections, table entries, or database entries that SDN controllers and clients can handle.
- Reliability: ensure fault detection and rapid establishment of alternative paths.
SDN Test Case
In this example, we will see how a Tier 1 telecommunications service provider (SP) upgraded its network to support high-priority multicast live IPTV broadcasts and low-priority video file transfers. The Tier 1 service provider ensures that live television broadcasts meet traffic Service Level Agreement (SLA) requirements, especially during prime time at 9 PM, and are not negatively affected by lower-priority file transfers.In particular, when a failure is detected on a circuit carrying live traffic, recovery must be nearly instantaneous; no loss is tolerated for IPTV traffic, but some loss is acceptable for the file transfer service. Even when multicast is used for broadcast traffic, the bandwidth involved is considerable: real-time transmission of uncompressed 4K-8K UHDTV video consumes 6 Gbps to 12 Gbps of bandwidth.
The SP used MPLS OAM for fault detection and recovery, while SDN is used for improved network programmability, agility, and ease of management. Figure 2 shows a simplified view of the SP’s network topology.
Conclusion
Software-defined networks offer the promise of lower CAPEX, greater agility, optimized networks, and scalability. However, this comes at a cost, in the form of additional routing and traffic engineering mechanisms, with associated protocols and APIs.Many SDN features are due to control centralization, which raises concerns about controller performance, scalability, and reliability.
Although SDNs are built differently, they remain mission-critical networks requiring compliance, functionality, and performance testing in much the same way as their legacy network counterparts.