Software Defined Networking (SDN)
UG3 Computer Communications & Networks
(COMN)
Mahesh Marina
mahesh@ed.ac.uk
Slides copyright of Kurose and Ross
Software defined networking (SDN)
• Internet network layer: historically has been
implemented via distributed, per-router
approach
– monolithic router contains switching hardware,
runs proprietary implementation of Internet
standard protocols (IP, RIP, IS-IS, OSPF, BGP) in
proprietary router OS (e.g., Cisco IOS)
– different “middleboxes” for different network layer
functions: firewalls, load balancers, NAT boxes, ..
• ~2005: renewed interest in rethinking network
control plane
Network Layer: Control Plane 5-2
Recall: per-router control plane
Individual routing algorithm components in each and every
router interact with each other in control plane to compute
forwarding tables
4.1 • OVERVIEW OF NETWORK LAYER 309
Routing
Algorithm
Routing algorithm control
Control plane plane
Data plane
Local forwarding data
table
header output
plane
0100 3
0110 2
0111 2
1001 1
Values in arriving
packet’s header
1
1101
2
3
Network Layer: Control Plane 5-3
Figure 4.2 ♦ Routing algorithms determine values in forward tables
Recall: logically centralized control plane
A distinct (typically remote) controller interacts with local
control agents (CAs) in routers to compute forwarding tables
Remote Controller
control
plane
data
plane
CA
CA CA CA CA
Network Layer: Control Plane 5-4
Software defined networking (SDN)
Why a logically centralized control plane?
• easier network management: avoid router
misconfigurations, greater flexibility of traffic flows
• table-based forwarding (OpenFlow API coming up
shortly) allows “programming” routers
– centralized “programming” easier: compute tables centrally
and distribute
– distributed “programming: more difficult: compute tables as
result of distributed algorithm (protocol) implemented in
each and every router
• open (non-proprietary) implementation of control
plane
• Enables and eases innovation
Network Layer: Control Plane 5-5