The invention of the telegraph and the telephone led to the widespread deployment of communication networks. Over the last century, these networks have gotten better due to many paradigm shifts in technology. Further advancements and new use cases have pushed innovation, leading to the advent of packet-based routing, the predominant concept behind today's networks.
Managing networks has always been a challenge. Today, with an increasing number of OTT services, and an expanding user base, the problems have grown many folds. For a network administrator, this scenario leads to countless change requests spanning from an update in topology to routing tables and many traffic engineering tweaks.
Due to the distributed nature of the network, there is a tradeoff between ease of network management vs. time to provision changes. Moreover, cost also plays an important factor in geographically distributed networks, like in a mobile communication system.
Balancing all these tradeoffs to optimize network management chores was the initial driver for SDN. In this blog post, we provide an abstract perspective that categorizes these tradeoffs into three key motivations that define the fundamental underpinnings for SDN's need.
SDN For Operational Agility
The most important motivation for SDN is the operational challenges involved in managing a computer network.
There are two primary operational challenges.
Time to affect changes: The distributed nature of a network makes it difficult and time-consuming to effect changes in settings of all network elements. It increases with the geographical span of the network and directly impacts the cost of operations.
Risk of malfunctioning: This is somewhat related to the first challenge. Because of the time and effort involved in provisioning, it is increasingly cumbersome to retract those changes should there be an issue in the network caused by that. Ultimately, this is the reason for lack of innovation on the part of the network administrator to optimize the network performance.
The idea behind SDN is straightforward. It shifts the configuration functions of network devices to a central system, instead of configuring each intermediate device individually. In a computer network, the configuration functions mainly involve the control plane settings for packet routing. By shifting the control plane of every router to a central controller, it is possible to manage the network devices remotely.
Such an arrangement of centralized provisioning of control planes reduces the time and costs involved in day to day operational tweaks needed in the network. More significantly, it fosters innovation in network optimization, because with a centrally controlled system, administrators can take risks without worrying about the time to retract changes.
SDN For Network Elasticity
Scalability is a critical consideration for a network that provides services to the general public. But its definition has changed over the years.
In the telephone and telegraph networks of yesteryears, the most crucial consideration for scalability of the network was the capacity expansion in the trunk lines and more connections at the last mile. The applications and use cases of those networks were mostly static, enabling voice calls or telegraph message exchange between two parties.
Fast forward to today, and there are many more use cases over and above the essential two-way voice and data transmission. We have many forms of instant messaging, streaming, rich media services offered through different applications, and mediums. Moreover, the pattern of communication has also morphed from unicast to multicast. To top it all, usage is also dynamic, based on the virality of the medium, seasonal trends, and demographic diversity.
Under such circumstances, the focus shifts to elasticity. In modern computer networks, it is more important to make the network resource elastic based on the usage trends and patterns rather than increasing the capacity.
SDN's evolutionary path has nearly coincided with the growth of the Internet. The technology came to the forefront during the decade of the 2000s. However, the conceptualization and research efforts around the consolidation of control plane functions of network devices into a central controller were already underway since the 1990s.
An essential requirement of managing the network's elasticity is to manage the allocation of network resources based on the usage of specific applications. Under a centralized controller, SDN based network management offers a better view of the network topology than the individual devices. Hence, it is further possible to deploy logical mappings on the topology to create virtual slices and aggregations of network elements for application-specific needs.
In this way, SDN allows the network to be programmed to enable multi-dimensional elasticity based on different applications, services, and tenancy requirements.
SDN for Better Network Business Economics
Deploying a network is capital intensive. The operational costs of managing the network also rise linearly with increasing span and reach. Therefore, the economics of setting up and maintaining a network has always been a prickly issue for enterprises and ISPs. The most significant impact of this is the stalling of new technology and service expansions due to a lack of clarity on RoI.
SDN addresses the OPEX problem through a centralized control plane managing network equipment's individual data planes. The centralized control plane offers few other benefits, such as centralized network policy creation, deployment on the fly, centralized inventory management of the hardware endpoints.
But there is one more aspect of SDN that has a significant potential to reduce the CAPEX requirements of the networks.
The SDN approach of virtualizing the network topology enables network administrators to view the network as a set of logical functions stitched together to offer a service to end-users. This approach is a radical shift from the actual deployment view of a network consisting of the proprietary hardware devices like routers, switches, and the middleboxes.
This begs the question of whether we can treat the networking hardware as a generic COTS device installed with a software-defined network function instead of proprietary equipment housing a specific network function?
As it turns out, SDN can make it a seamless transition. So you can imagine a bunch of COTS devices running specialized software-based network functions, centrally controlled by an SDN controller. As long as the controller software and the network function software speak the same language, it is possible to deploy a network consisting entierly of such COTS hardware, centrally managed and programmatically controlled by an SDN controller.
As for the costs, the CAPEX involved in purchasing the COTS hardware and software license is significantly lower than proprietary hardware. Together with savings in OPEX, the overall cost benefits are quite significant. Eventually, this can provide just enough financial risk mitigation to ISPs and enterprises wanting to expand their networks.