software-defined networking
(SDN)
What is software-defined networking?
Software-defined networking (SDN) is an architecture that abstracts different,
distinguishable layers of a network to make networks agile and flexible. The
goal of SDN is to improve network control by enabling enterprises and service
providers to respond quickly to changing business requirements.
In a software-defined network, a network engineer or administrator can shape
traffic from a centralized control console without having to touch individual
switches in the network. A centralized SDN controller directs the switches to
deliver network services wherever they're needed, regardless of the specific
connections between a server and devices.
This process is a move away from traditional network architecture, in which
individual network devices make traffic decisions based on their configured
routing tables. SDN has played a role in networking for a decade now and has
influenced many innovations in networking.
SDN architecture
A typical representation of SDN architecture comprises three layers: the
application layer, the control layer and the infrastructure layer. These layers
communicate using northbound and southbound application programming
interfaces (APIs).
SDN architecture separates the network into three distinguishable layers, connected via
northbound and southbound APIs.
Application layer
The application layer contains the typical network applications or functions
organizations use. This can include intrusion detection systems, load balancing
or firewalls. Where a traditional network would use a specialized appliance,
such as a firewall or load balancer, a software-defined network replaces the
appliance with an application that uses a controller to manage data
plane behavior.
Control layer
The control layer represents the centralized SDN controller software that acts
as the brain of the software-defined network. This controller resides on a server
and manages policies and traffic flows throughout the network.
Infrastructure layer
The infrastructure layer is made up of the physical switches in the network.
These switches forward the network traffic to their destinations.
APIs
These three layers communicate using respective northbound and
southbound APIs. Applications talk to the controller through its northbound
interface. The controller and switches communicate using southbound
interfaces, such as OpenFlow, although other protocols exist.
There is currently no formal standard for the controller's northbound API to
match OpenFlow as a general southbound interface. It is likely the
OpenDaylight controller's northbound API may emerge as a de facto standard
over time, given its broad vendor support.
How does SDN work?
SDN encompasses several types of technologies, including functional
separation, network virtualization and automation through programmability.
Originally, SDN technology focused solely on the separation of the
network control plane from the data plane. While the control plane makes
decisions about how packets should flow through the network, the data plane
moves packets from place to place.
In a classic SDN scenario, a packet arrives at a network switch. Rules built into
the switch's proprietary firmware tell the switch where to forward the packet.
These packet-handling rules are sent to the switch from the centralized
controller.
The switch -- also known as a data plane device -- queries the controller for
guidance as needed and provides the controller with information about the
traffic it handles. The switch sends every packet going to the same destination
along the same path and treats all the packets the same way.
Software-defined networking uses an operation mode that is sometimes
called adaptive or dynamic, in which a switch issues a route request to a
controller for a packet that does not have a specific route. This process is
separate from adaptive routing, which issues route requests through routers
and algorithms based on the network topology, not through a controller.
The virtualization aspect of SDN comes into play through a virtual overlay,
which is a logically separate network on top of the physical network. Users can
implement end-to-end overlays to abstract the underlying network and segment
network traffic. This microsegmentation is especially useful for service providers
and operators with multi-tenant cloud environments and cloud services, as they
can provision a separate virtual network with specific policies for each tenant.
What are the benefits of SDN?
SDN can come with a variety of benefits, such as the following.
Simplified policy changes
With SDN, an administrator can change any network switch's rules when
necessary -- prioritizing, deprioritizing or even blocking specific types of packets
with a granular level of control and security.
This capability is especially helpful in a cloud computing multi-tenant
architecture, as it enables the administrator to manage traffic loads in a flexible
and efficient manner. Essentially, this enables administrators to use less
expensive commodity switches and have more control over network traffic
flows.
Network management and visibility
Other benefits of SDN are network management and end-to-end visibility. A
network administrator needs to deal with only one centralized controller to
distribute policies to the connected switches. This is opposed to configuring
multiple individual devices.
This capability is also a security advantage because the controller can monitor
traffic and deploy security policies. If the controller deems traffic suspicious, for
example, it can reroute or drop the packets.
Reduced hardware footprint and Opex
SDN also virtualizes hardware and services that were previously carried out by
dedicated hardware. This results in the touted benefits of a reduced hardware
footprint and lower operational costs.
Networking innovations
SDN also contributed to the emergence of software-defined wide area network
(SD-WAN) technology. SD-WAN employs the virtual overlay aspect of SDN
technology. SD-WAN abstracts an organization's connectivity links throughout
its WAN, creating a virtual network that can use whichever connection the
controller deems fit to send traffic.
What are the challenges of SDN?
Main adopters of SDN include service providers, network operators, telecoms,
carriers and large companies, such as Facebook and Google. However, there
are still some challenges behind SDN.
Security
Security is both a benefit and a concern with SDN technology. The centralized
SDN controller presents a single point of failure and, if targeted by an attacker,
can prove detrimental to the network.
Unclear definition
Another challenge with SDN is the industry really has no established definition
of software-defined networking. Different vendors offer various approaches to
SDN, ranging from hardware-centric models and virtualization platforms to
hyper-converged networking designs and controllerless methods.
Reference
1) [Link]
networking-SDN