12 LATEST 2024 WITH EXPERT CERTIFIED QUESTIONS AND ANSWERS I
ALREADY GRADED A+ NEW!
Lesson 7: SDN (Part 1)
• What spurred the development of Software Defined Networking (SDN)?
SDN: Aims and Necessity
● Making computer networks more programmable
○ Customising services, e.g. providing processing in the network (cf. the Active Networks vision)
○ Customising flows
● Necessary in the age of cloud computing to isolate flows for colocated tenants (potentially rivals) sharing
the same physical infrastructure
○ (In other words) Necessary for virtualizing the network for utility computing
● Necessary for independent evolution of the data plane and the control plane
● Necessary because the complexity of the network due to proprietary technologies and diversity of
equipment
l
• What are the three phases in the history of SDN?
A Briefer History of SDNs
● Prehistory (pre-SDN phase - early 1990s)
● Active Networks (mid 1990s - early 2000s)
● Control and data plane separation (2001 - 2007)
● OpenFlow API and network operating systems (2007 - 2010)
• Summarize each phase in the history of SDN.
A Briefer History of SDNs
● Prehistory (pre-SDN phase - early 1990s):
○ Networking via IP or ATM (asynchronous transfer mode)
● Active Networks (mid 1990s - early 2000s):
○ New ideas for improving network services
○ Aim: Opening up the network control
○ Vision: A programming interface (a network API) exposing resources/network nodes and
customising functionalities for subsets of packets flowing through the nodes
○ Programming models:
■ In-band (in data packets): Capsules
■ Out-of-band: Programmable router/switch models (think: 'smart' routers)
● Control and data plane separation (2001 - 2007):
○ Issues: Increasing traffic volumes => Concerns about network reliability, predictability, and
performance
○ Aim: Traffic engineering for network management
○ Challenge: Routers and switches tightly integrated the control and data planes
○ Solution: Separate the two
● OpenFlow API and network operating systems (2007 - 2010):
○ Tech push:
Before OpenFlow, switch chipsets vendors already started allow programmers to control forwarding behaviours
, ■ This allowed more companies to build switches without having to design and fabricate data
planes
■ Early OpenFlow versions built on tech that switches already supported
○ Use Pulls
■ OpenFlow came up to meet needs of conducting large scale experimentation
■ Useful in data-center networks
■ Companies invested more in writing control programs
○ Key Effects
■ Generalising network devices and functions
■ Vision of network operating system
■ Distributed state management
. What is the function of the control and data planes?
Data Plane
● Performs the actual forwarding as dictated by the control plane
○ e.g. IP forwarding, Layer 2 switching
Control Plane
● Logic for forwarding behaviour of routers
○ e.g. routing protocols, network middlebox configurations
• Why separate the control from the data plane?
Need to Separate the Data Plane and Control Plane
● Independent evolution and development
○ Traditionally, routers are responsible for both routing and forwarding
■ => Changing either would require upgrading the hardware
○ Goal: Improvement in routing algorithms should not affect existing routers
● Control from high-level software
○ Routing tables are computed in software
■ => Higher-order programs can control routers' behaviour
○ Decoupling = easier debugging
• Why did the SDN lead to opportunities in various areas such as data centers, routing, enterprise
networks, and research networks?
SDN and the Abundance of Opportunities
● Datacentres: SDN makes managing thousands of VMs easier. Flows for colocated tenants (who may be
competitors) sharing physical resources can be isolated by virtualizing the network
● Routing: SDN offers more control over path selection; routers' state is easier to update (cf. BGP: too
restrictive at times)
● Enterprise Networks: Improved security, e.g. SDN makes it easier to protect from volumetric attacks (e.g.
DDoS) by dropping the attack traffic at strategic locations
● Research Networks: Can now coexist with production networks
• What is the relationship between forwarding and routing?
Forwarding and Routing
● Forwarding: A router inspects the header of an incoming packet and consults the forwarding table to
determine which outgoing link to send the packet to
, ● Routing: Determining the path from the sender to the receiver across the network using routing
algorithms
• What is the difference between a traditional and SDN approach in terms of coupling of control and
data plane?
Forwarding and Routing: Traditional Networks
● The routing algorithms (control plane) and forwarding function (data plane) are tightly coupled
● The router runs and participates in the routing algorithms, constructing the forwarding table for the
forwarding function
Forwarding and Routing: SDN
● A remote controller computes and distributes the forwarding tables to be used by every router
● The controller is physically separate from the router (it could be located in a remote datacenter,
managed by the ISP, or a third party)
● Routers are solely responsible for forwarding
● Remote controllers are solely responsible for computing and distributing the forwarding tables
● The controller is implemented in software (hence the name, software-defined networking)
• What are the main components of an SDN network and their responsibilities?
SDN: Main Components and Responsibilities
● Network-control applications
○ Programs that manage the underlying network by collecting information about the network
elements with the help of the SDN controller
● SDN controller
○ Logically centralised interface between the network elements and the network-control
applications
● SDN-controlled network elements (the infrastructure layer)
○ Responsible for forwarding traffic in a network based on the rules computed by the SDN control
plane
, • What are the four defining features of an SDN architecture?
SDN: Architectural Features
● Flow-based forwarding
○ Rules for forwarding packets by SDN-controlled switches can be computed based on any number of
header field values in various layers, such as the transport layer, network layer, and link layer
■ OpenFlow allows up to 11 header field values to be considered
○ cf. traditional networks: Only the destination IP address determines the forwarding of a packet
● Separation of data plane and control plane
○ The SDN-controlled switches in the data plane only execute the forwarding rules present in their
flow tables
○ These rules are computed and installed in the flow table of switches by the control plane
● Network control functions
○ The SDN control plane consists of:
■ The controller: Maintains up-to-date network state information about the network
devices and elements (hosts, switches, links, etc.) and provides it to the
network-control applications
■ Network applications: Monitor and control the network devices
● A programmable network
○ The network-control applications act as the 'brain' of the SDN control plane
○ Network-control applications manage the network
■ e.g. network management, network automation, analytics, etc.
○ A routing network-control application can determine the end-to-end path between the source and
the destination using Dijkstra's algorithm
• What are the three layers of SDN controllers?
SDN Controllers