Software Defined Networking Software Defined Networking: CS 4226: Internet Architecture
Software Defined Networking Software Defined Networking: CS 4226: Internet Architecture
Software Defined Networking Software Defined Networking: CS 4226: Internet Architecture
Richard T. B. Ma
School of Computing
National University of Singapore
Tremendous success
from research experiment
to global infrastructure
Brilliance of under-specifying
network: best-effort packet delivery
hosts: arbitrary applications
Closed equipment
software bundled with hardware
vendor-specific interfaces
Over specified
slow protocol standardization
Networking:
Teach big bag of protocols
Notoriously difficult to manage
Evolves very slowly
Layered service
abstractions (why is
this important?)
decompose delivery into
fundamental components
independent, compatible
innovation at each layer
Forwarding
line card line card data plane
(hardware)
switching
input ports fabric output ports
Control Plane
Switch Switch
Switch Switch
fabric Routing fabric
processor
Switch
Switch
fabric
Benefits of Separation
Independent evolution and development
the software control of the network can evolve
independently of the hardware.
Control Plane
Data Plane
Switch Switch
Switch
Benefits of Centralization
Centralized decisions are easier to make
e.g., OSPF (RFC 2328) 244 pages
distributed system part (builds consistent
network 100 pages)
routing algorithm (Dijkstra’s algorithm 4 pages)
Controller
Southbound
Southbound
Control Plane
Interface
Interface
Southbound
Data Plane
Interface
Switch Switch
Switch
Programmability Application Control Plane
Northbound
Interface
NetworkController
Control Plane
Southbound
Southbound
Control Plane
Interface
Interface
Southbound
Data Plane
Interface
Switch Switch
Switch
Benefits of Open Interfaces and
Programmability
Enable competitive technologies
independent developments
rapid innovation and fast evolution
cheap and better networks
Specialized
Open Interface
Applications
Windows Mac
Specialized or Linux or
(OS) OS
Operating
System
Open Interface
Specialized
Hardware Microprocessor
Specialized Merchant
Hardware Switching Chips
Easy to
program
Consistent
policies
Better
integration of
programs
Distribution
Forwarding
OpenFlow protocol
Open southbound API
OpenFlow switch
Forwarding abstraction
Main components of an OpenFlow switch
Packet flow through the processing pipeline
OF terminology associated with packets
For each packet from a packet flow
Header and header field
Pipeline fields
• values attached to the packet during pipeline
processing, e.g., ingress port and metadata
Action: an operation that acts on a packet
• e.g., drop, forward to a port, modify (decreasing TTL)
Action set
• accumulated while processed by flow tables
• executed at then end of pipeline processing
OpenFlow flow entry
A flow entry in a flow table looks like
Other applications
datacenter and cloud computing
wide-area networking (Google B4 WAN)
software Internet exchange point (IXP)
mobility and wireless
security, measurement and monitoring
References
D. Kreutz et al. “Software-Defined
Networking: A Comprehensive Survey”,
Proceedings of the IEEE, Vol. 103, No. 1,
January 2015.