3. What is Software Defined Network(SDN)?
A network in which the control plane is physically separate from the
data plane.
It is an approach to computer networking that allows network administrators to
programmatically initialize, control, change, and manage network behavior
dynamically via:
open interfaces
abstraction of lower-level functionality
SDN is meant to address the fact that the static architecture of traditional
networks doesn't support the dynamic, scalable computing and storage needs
of more modern computing environments such as data centers.
This is done by decoupling or disassociating the system that makes decisions
about where traffic is sent (the SDN controller, or control plane) from the
underlying systems that forward traffic to the selected destination (the data
plane).
4. SDN Definition
Centralization of control of the
network via the
Separation of control logic to off-
device compute, that
Enables automation and
orchestration of network services via
Open programmatic interfaces
SDN Benefits
Efficiency: optimize existing
applications, services, and
infrastructure
Scale: rapidly grow existing
applications and services
Innovation: create and deliver new
types of applications and services
and business models
What is SDN?
4
Source: Adopted from SDN Central (Software-Defined Networking (SDN) Use Cases)
5. SDN Innovation &
Components
SDN Controller/ Network Operating System
App App App App
OpenFlow
Packet-Forwarding Hardware
OpenFlow compliant OS
Packet-Forwarding Hardware
OpenFlow compliant OS
Packet-Forwarding Hardware
OpenFlow compliant OS
Well-defined
Open API
6. 6
Software Defined Network (SDN)
Packet
Forwarding
Packet
Forwarding
Packet
Forwarding
Packet
Forwarding
Packet
Forwarding
Control
Control
Control
Control
Control
Global Network Map
Control Plane
Control
Program
Control
Program
Control
Program
11. 11
The Networking “Planes”
Data plane: processing and delivery of packets with local
forwarding state
– Forwarding state + packet header forwarding decision
– Filtering, buffering, scheduling
Control plane: computing the forwarding state in routers
– Determines how and where packets are forwarded
– Routing, traffic engineering, failure detection/recovery, …
Management plane: configuring and tuning the network
– Traffic engineering, ACL config, device provisioning, …
13. The SDN architecture is:
Directly programmable: Network control is directly programmable
because it is decoupled from forwarding functions.
Agile: Abstracting control from forwarding lets administrators
dynamically adjust network-wide traffic flow to meet changing needs.
Centrally managed: Network intelligence is (logically) centralized in
software-based SDN controllers that maintain a global view of the
network, which appears to applications and policy engines as a single,
logical switch.
Programmatically configured: SDN lets network managers configure,
manage, secure, and optimize network resources very quickly via
dynamic, automated SDN programs, which they can write themselves
because the programs do not depend on proprietary software.
Open standards-based and vendor-neutral: When implemented through
open standards, SDN simplifies network design and operation because
instructions are provided by SDN controllers instead of multiple,
vendor-specific devices and protocols.
14. 14
Data and Control Planes
Switching
Fabric
Processor
Line card
Line card
Line card
Line card
Line card
Line card
data plane
control plane
15. 15
Data Plane
Streaming algorithms on packets
– Matching on some header bits
– Perform some actions
Example: IP Forwarding
host host host
LAN 1
...
host host host
LAN 2
...
router router router
WAN WAN
1.2.3.4 1.2.3.7 1.2.3.156 5.6.7.8 5.6.7.9
1.2.3.0/24
5.6.7.0/24
forwarding table
17. 17
Control Plane
Compute paths the packets will follow
– Populate forwarding tables
– Traditionally, a distributed protocol
Example: Link-state routing (OSPF, IS-IS)
– Flood the entire topology to all nodes
– Each node computes shortest paths
– Dijkstra’s algorithm
18. 18
Management Plane
Traffic Engineering: setting the weights
– Inversely proportional to link capacity?
– Proportional to propagation delay?
– Network-wide optimization based on traffic?
3
2
2
1
1
3
1
4
5
3
3
19. Point of Difference Traditional Networks Software-Defined Network
Dynamics
Today’s business environment expects zero service
disruption — this means networks must dynamically adapt
to changing traffic by anticipating user demands. With
traditional networks becoming increasingly complex, it is
an uphill task to match market demands.
By placing the control logic outside of the network
hardware, businesses have more flexibility to
control programmability, automation etc. This
helps them develop scalable networks that adapt to
changing business needs in quick time.
Application of
Policies and
Security
Implementing a network-wide policy requires configuring
at the device-level, making it difficult to apply a consistent
set of access, security, QoS, and other policies in today’s
mobile environment. This leaves the enterprise open to
security breaches, non-compliance with regulations, and so
on.
SDN by contrast allows network operators to
programmatically configure a simplified network
abstraction ensuring higher chances of a consistent
application of policies, security etc. across the
entire network.
Scalability
It is a challenge for the network to keep pace with growing
demands on the data center. Typically, link oversubscription
has allowed scaling of the network by estimating traffic
patterns – this however, is not a reliable method anymore.
With SDN, since it is possible to abstract the
underlying infrastructure, network manageability,
scalability, and agility can be enhanced.
Control of Network
Devices
In the current scenario, enterprises are constrained by
vendors equipment product cycles and hence are unable to
respond quickly to business demands. Lack of standard and
open interfaces hinders customizing the network to
individual environments.
SDN control software is vendor-agnostic and can
control any network device. To ensure faster
responses to changes, SDN-based orchestration
and management tools can help quickly deploy,
configure, and update devices across the entire
network.
Traditional vs. SDN networks
20. 20
PROBLEM OF SND
(Too) many task-specific control mechanisms
– No modularity, limited functionality
Indirect control
– Must invert protocol behavior, “coax” it to do what you want
– Ex. Changing weights instead of paths for TE
Uncoordinated control
– Cannot control which router updates first
Interacting protocols and mechanisms
– Routing, addressing, access control, QoS
21. 21
Example 1: Inter-domain Routing
Today’s inter-domain routing protocol, BGP, artificially
constrains routes
- Routing only on destination IP address blocks
- Can only influence immediate neighbors
- Very difficult to incorporate other information
Application-specific peering
– Route video traffic one way, and non-video another
Blocking denial-of-service traffic
– Dropping unwanted traffic further upstream
Inbound traffic engineering
– Splitting incoming traffic over multiple peering links
22. 22
Two locations, each with data center &
front office
All routers exchange routes over all links
R1 R2
R5
R4
R3
Chicago (chi)
New York (nyc)
Data Center Front Office
Example 2: Access Control
23. 23
Custom Hardware
Custom Hardware
Custom Hardware
Custom Hardware
Custom Hardware
OS
OS
OS
OS
OS
Network OS
Feature Feature
How SDN Changes the Network
Feature Feature
Feature Feature
Feature Feature
Feature Feature
Feature Feature
23
24. 24
Control Program 1
Network OS
1. Open interface to packet forwarding
3. Consistent, up-to-date global network view 2. At least one Network OS
probably many.
Open- and closed-source
Software Defined Network (SDN)
Packet
Forwarding
Packet
Forwarding
Packet
Forwarding
Packet
Forwarding
Packet
Forwarding
Control Program 2
24
25. 25
Network OS
Network OS: distributed system that creates a
consistent, up-to-date network view
– Runs on servers (controllers) in the network
– NOX, ONIX, Floodlight, Trema, OpenDaylight, HyperFlow,
Kandoo, Beehive, Beacon, Maestro, … + more
Uses forwarding abstraction to:
– Get state information from forwarding elements
– Give control directives to forwarding elements
26. 26
Control Program A Control Program B
Network OS
Software Defined Network (SDN)
Packet
Forwarding
Packet
Forwarding
Packet
Forwarding
Packet
Forwarding
Packet
Forwarding
27. 27
Control Program
Control program operates on view of network
– Input: global network view (graph/database)
– Output: configuration of each network device
Control program is not a distributed system
– Abstraction hides details of distributed state
28. 28
Forwarding Abstraction
Purpose: Standard way of defining forwarding state
– Flexible
• Behavior specified by control plane
• Built from basic set of forwarding primitives
– Minimal
• Streamlined for speed and low-power
• Control program not vendor-specific
OpenFlow is an example of such an abstraction
29. Network OS
Software Defined Network
29
Global Network View
Control Program
Virtual Topology
Network Hypervisor
30. Virtualization Simplifies Control Program
A
B
A
B
Abstract Network View
Global Network View
AB drop
Hypervisor then inserts flow entries as needed
AB drop
AB drop
30
31. 31
Does SDN Simplify the Network?
Abstraction doesn’t eliminate complexity
- NOS, Hypervisor are still complicated pieces of code
SDN main achievements
- Simplifies interface for control program (user-specific)
- Pushes complexity into reusable code (SDN platform)
Just like compilers….
32. 32
OpenFlow Protocol
Data Path (Hardware)
Control Path OpenFlow
Ethernet Switch
Network OS
Control Program A Control Program B
OpenFlow Basics
33. 33
Control Program A Control Program B
Network OS
OpenFlow Basics
Packet
Forwarding
Packet
Forwarding
Packet
Forwarding
Flow
Table(s)
“If header = p, send to port 4”
“If header = ?, send to me”
“If header = q, overwrite header with r,
add header s, and send to ports 5,6”
34. Primitives <Match, Action>
Match arbitrary bits in headers:
– Match on any header, or new header
– Allows any flow granularity
Action
– Forward to port(s), drop, send to controller
– Overwrite header with mask, push or pop
– Forward at specific bit-rate
Header Data
Match: 1000x01xx0101001x
35. What is Open Flow
OpenFlow is like an x86 instruction set for the network nodes.
Provides open interface to “black box” networking node (ie. Routers, L2/L3
switch) to enable visibility and openness in network
Separation of control plane and data plane.
The datapath of an OpenFlow Switch consists of a Flow Table, and an action
associated with each flow entry
The control path consists of a controller which programs the flow entry in the flow
table
35
37. OpenFlow Controller
Manages one or more switch via OpenFlow channels.
Uses OpenFlow protocol to communicate with a OpenFlow aware switch.
Acts similar to control plane of traditional switch.
Provides a network wide abstraction for the applications on north bound.
Responsible for programming various tables in the OpenFlow Switch.
Single switch can be managed by more than one controller for load balancing
or redundancy purpose. In this case the controller can take any one of the
following roles.
Master.
Slave.
Equal.
37
38. OpenFlow Channel
Used to exchange OpenFlow message between switch and controller.
Switch can establish single or multiple connections to same or
different controllers (auxiliary connections).
A controller configures and manages the switch, receives events
from the switch, and send packets out the switch via this interface
The SC connection is a TLS/TCP connection. Switch and controller
mutually authenticate by exchanging certificates signed by a site-
specific private key
38
39. The Road to SDN
Active Networking: 1990s
- First attempt make networks programmable
- Demultiplexing packets to software programs, network virtualization,
…
Control/Dataplane Separation: 2003-2007
- ForCes [IETF], RCP, 4D
[Princeton, CMU], SANE/Ethane
[Stanford/Berkeley]
- Open interfaces between data and control plane, logically centralized
control
OpenFlow API & Network Oses: 2008
- OpenFlow switch interface [Stanford]
- NOX Network OS [Nicira]
39
40. SDN Drivers
Rise of merchant switching silicon
- Democratized switching
- Vendors eager to unseat incumbents
Cloud / Data centers
- Operators face real network management problems
- Extremely cost conscious; desire a lot of control
The right balance between vision & pragmatism
- OpenFlow compatible with existing hardware
A “killer app”: Network virtualization
40
41. SDN Use Cases
Resource Managements
Energy conservation, routing, and management in data centers
Seamless use of diverse wireless networks
Network based load balancing
Traffic engineering
Slicing and scalable remote control/management of home networks
Experimentation with new approaches and protocols using selected
production traffic
Run virtual shadow network for traffic analysis and re-configuration
And many more …
42. Virtualization is Killer App for SDN
Consider a multi-tenant datacenter
- Want to allow each tenant to specify virtual topology
- This defines their individual policies and requirements
Datacenter’s network hypervisor compiles these
virtual topologies into set of switch configurations
- Takes 1000s of individual tenant virtual topologies
- Computes configurations to implement all simultaneously
This is what people are paying money for….
- Enabled by SDN’s ability to virtualize the network
43. 4D
Decision: all management and control logic
Dissemination: communicating with routers
Discovery: topology and traffic monitoring
Data: packet handling
routers
Decision
Dissemination
Discovery
Data
Network-level
objectives
Direct
control
Network-
wide views
44. 44
Practical Challenges
Scalability
– Decision elements responsible for many routers
Reliability
– Surviving failures of decision elements and routers
Response time
– Delays between decision elements and routers
Consistency
– Ensuring multiple decision elements behave consistently
Security
– Network vulnerable to attacks on decision elements
Interoperability
– Legacy routers and neighboring domains
#41:
On top of this national OPEN infrastructure, we and others demonstrated a number of new network capabilities at GENI Engineering Conference in Washington DC.
The new network capabilities include these …
You will see some of them later.