CSE390 – Advanced
Computer Networks
Lecture 22: Software designed
networking
Based on slides by J. Rexford @ Princeton & N. Mckeown @ Stanford
& S. Shenker @ Berkeley. Updated by P. Gill Fall 2014.
Data, Control, and Management
Planes
2
Timescales
Data Control Management
Time- Packet Event (10 Human (min
scale (nsec) msec to sec) to hours)
Tasks Forwarding, Routing, Analysis,
buffering, circuit configuration
filtering, set-up
scheduling
Location Line-card Router Humans or
hardware software scripts
3
Data and Control Planes
control plane
data plane Processor
Line card Line card
Line card
Switching
Line card
Fabric
Line card Line card
4
Data Plane
• Streaming algorithms on packets
– Matching on some bits
– Perform some actions
• Wide range of functionality Processor
– Forwarding
– Access control
– Mapping header fields
– Traffic monitoring Switching
– Buffering and marking Fabric
– Shaping and scheduling
– Deep packet inspection
5
Switch: Match on Destination MAC
• MAC addresses are location independent
– Assigned by the vendor of the interface card
– Cannot be aggregated across hosts in LAN
mac1 mac2 mac3
host host ... host mac1
mac2
switch
mac3
host
mac4
mac5
host mac5
mac4
6
Router: Match on IP Prefix
• IP addresses grouped into common subnets
– Allocated by ICANN, regional registries, ISPs,
and within individual organizations
– Variable-length prefix identified by a mask length
1.2.3.4 1.2.3.7 1.2.3.156 5.6.7.8 5.6.7.9 5.6.7.212
host host ... host host host ... host
LAN 1 LAN 2
router router router
WAN WAN
1.2.3.0/24
Prefixes may be nested.
5.6.7.0/24 Routers identify the
forwarding table longest matching prefix. 7
Forwarding vs. Routing
• Forwarding: data plane
– Directing a data packet to an outgoing link
– Individual router using a forwarding table
• Routing: control plane
– Computing paths the packets will follow
– Routers talking amongst themselves
– Individual router creating a forwarding
table
8
Example: Shortest-Path Routing
• Compute: path costs to all nodes
– From a source u to all other nodes
– Cost of the path through each link
link
– Next hop along least-cost path to s
v (u,v)
v 2 y
w (u,w)
1
3
1
x 4
x (u,w)
u z
2 y (u,v)
w 1
5 t
z (u,v)
6
4 3 s (u,w)
s
t (u,w) 9
Distributed Control Plane
• Link-state routing: OSPF, IS-IS
– Flood the entire topology to all nodes
– Each node computes shortest paths link
– Dijkstra’s algorithm
v (u,v)
v 2 y w (u,w)
3 1
1 x (u,w)
x 4
u
2
z y (u,v)
1
5 t z (u,v)
w 4 3 s (u,w)
s
t (u,w) 10
Distributed Control Plane
• Distance-vector routing: RIP, EIGRP
– Each node computes path cost
– … based on each neighbors’ path cost
– Bellman-Ford algorithm
v 2 y du(z) = min{c(u,v) + dv(z),
3 1
1 c(u,w) + dw(z)}
x 4
u z
2 1
5 t
w 4 3
s
11
Traffic Engineering Problem
• Management plane: setting the weights
– Inversely proportional to link capacity?
– Proportional to propagation delay?
– Network-wide optimization based on traffic?
2
3 1
1
3
2 3
1 5
4 3
12
Traffic Engineering: Optimization
• Inputs
– Network topology
2
– Link capacities 3 1
1
– Traffic matrix 3
2 1 5
• Output
– Link weights 4 3
• Objective
– Minimize max-utilized link
– Or, minimize a sum of link congestion
13
Transient Routing Disruptions
• Topology changes
– Link weight change
– Node/link failure or recovery
• Routing convergence
– Nodes temporarily disagree how to route
– Leading to transient loops and blackholes
1 5 1 10 1 10
4 3 4 3 4 3
14
Management Plane Challenges
• Indirect control
– Changing weights instead of paths
– Complex optimization problem
• Uncoordinated control
– Cannot control which router updates first
• Interacting protocols and mechanisms
– Routing and forwarding
– Naming and addressing
– Access control
– Quality of service
– …
15
Software Defined Networking
(high level view)
16
Control/Data Separation
decouple control and data planes
by providing open standard API
17
(Logically) Centralized Controller
Controller Platform
18
Protocols Applications
Controller Application
Controller Platform
19
Outline
20
1. What are Software Defined
Networks?
2. Why SDN?
3. The Consequences
For industry
For research
For standards and protocols
21
Open Interface
or or
Open Interface
Vertically integrated Horizontal
Closed, proprietary Open interfaces
Slow innovation Rapid innovation
Small industry Huge industry
22
22
Open Interface
or or
Open Interface
Vertically integrated Horizontal
Closed, proprietary Open interfaces
Slow innovation Rapid innovation
23
Routing, management, mobility management,
access control, VPNs, …
Million of lines 6,000 RFCs
of source code
Billions of gates Bloated Power Hungry
• Vertically integrated, complex, closed,
proprietary
• Networking industry with “mainframe” mind-set
The network is changing
24
Feature Feature
Feature Feature
Feature Feature
Feature Feature
Feature Feature
Software Defined Network (SDN)
3. Consistent, up-to-date global network view 2. At least one Network OS
25 probably many.
Open- and closed-source
1. Open interface to packet forwarding
Packet
Forwarding Packet
Forwarding
Packet
Packet Forwarding
Forwarding Packet
Forwarding
Network OS
26
Network OS: distributed system that creates a
consistent, up-to-date network view
Runs on servers (controllers) in the network
NOX, ONIX, Trema, Beacon, Maestro, … + more
Uses forwarding abstraction to:
Get state information from forwarding elements
Give control directives to forwarding elements
Software Defined Network (SDN)
Packet
Forwarding Packet
Forwarding
Packet
Packet Forwarding
Forwarding
Packet
Forwarding
Control Program
28
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
Forwarding Abstraction
29
Purpose: Abstract away forwarding hardware
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
OpenFlow Basics
30
OpenFlow Protocol
Ethernet Switch
Control Path OpenFlow
Data Path (Hardware)
OpenFlow Basics
31
“If header = p, send to port 4”
Packet “If header = q, overwrite header with r,
Forwarding add header s, and send to ports 5,6”
“If header = ?, send to me”
Flow
Packet Table(s)
Forwarding Packet
Forwarding
Plumbing Primitives
32
32
Primitive is <Match, Action>
Match arbitrary bits in headers:
Header Data
Match: 1000x01xx0101001x
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
General Forwarding Abstraction
33
Small set of primitives
“Forwarding instruction set”
Protocol independent
Backward compatible
Switches, routers, WiFi APs,
basestations, TDM/WDM
Example 1: OSPF and Dijkstra
34
OSPF
RFC 2328: 245 pages
Distributed System
Builds consistent, up-to-date map of
the network: 101 pages
Dijkstra’s Algorithm
Operates on map: 4 pages
Example
35
Packet
Forwarding
Packet
Packet Forwarding
Forwarding Packet
Forwarding
Outline
36
1. What are Software Defined
Networks?
2. Why SDN?
3. The Consequences
For industry
For research
For standards and protocols
GREAT TALK BY SCOTT
SHENKER
HTTP://WWW.YOUTUBE.COM/WATCH?V=WVS7
PC99S7W
(Story summarized here)
Networking
38
Networking is
“Intellectually
Weak”
behind other fields
about the mastery of complexity
Good abstractions tame complexity
Interfaces are instances of those abstractions
No abstraction => increasing complexity
We are now at the complexity limit
By comparison: Programming
39
Machine languages: no abstractions
Had to deal with low-level details
Higher-level languages: OS and other abstractions
File system, virtual memory, abstract data types, ...
Modern languages: even more abstractions
Object orientation, garbage collection,…
Programming Analogy
40
What if programmers had to:
Specify where each bit was stored
Explicitly deal with internal communication errors
Within a programming language with limited expressibility
Programmers would redefine problem by:
Defining higher level abstractions for memory
Building on reliable communication primitives
Using a more general language
Specification Abstraction
41
Network OS eases implementation
E.g., Helps manage distributed state
Next step is to ease specification
E.g., How do you specify what the system should do?
Key goals
Provide abstract view of network map
Control program operates on abstract view
Develop means to simplify specification
Software Defined Network (SDN)
42
Abstract Network View
Global Network View
Packet
Forwarding Packet
Forwarding
Packet
Packet Forwarding
Forwarding Consequence:
Packet
Work on Nework Programming Languages Pyretic, Frenetic etc.
Forwarding
Outline
43
1. What are Software Defined
Networks?
2. Why SDN?
3. The Consequences
For industry
For research
For standards and protocols
SDN in development
44
Domains Products
Data centers Switches, routers:
Enterprise/campus About 15 vendors
Cellular backhaul Software: About 6
Enterprise WiFi
vendors and startups
WANs
New startups (6 so far). Lots of hiring in networking.
Cellular industry
46
Recently made transition to IP
Billions of mobile users
Need to securely extract payments and hold users
accountable
IP is bad at both, yet hard to change
SDN enables industry to customize their network
Telco Operators
47
Global IP traffic growing 40-50% per year
End-customer monthly bill remains unchanged
Therefore, CAPEX and OPEX need to reduce 40-50%
per Gb/s per year
But in practice, reduces by ~20% per year
SDN enables industry to reduce OPEX and CAPEX
…and to create new differentiating services
Example: New Data Center
48
Cost Control
200,000 servers
Fanout of 20 10,000 switches More flexible control
$5k vendor switch = $50M Tailor network for services
$1k commodity switch = $10M Quickly improve and innovate
Savings in 10 data centers = $400M
Consequences for research
49
Ease of trying new ideas
Existingtools: NOX, Beacon, switches, Mininet
More rapid technology transfer
GENI, Ofelia and many more
A stronger foundation to build upon
Provableproperties of forwarding
New languages and specification tools
Consequences for standards
50
Standards will define the interfaces
The role of standards will change:
Network owners will define network behavior
Features will be adopted without standards
Programming world
Good software is adopted, not standardized
Summary
51
Networks becoming
More programmatic
Defined by owners and operators, not vendors
Faster changing, to meet operator needs
Lower opex, capex and power
Abstractions
Will shield programmers from complexity
Make behavior more provable
Will take us places we can’t yet imagine
Administravia …
52
Assignment 4 due December 13
Internet in the News (10% of final grade)
Due next Monday Dec. 1 on Piazza
Reading/commenting on others’ Internet in the News part of
participation mark
Recent news: http://www.newsweek.com/china-could-shut-
down-us-power-grid-cyber-attack-says-nsa-chief-286119
Lots of topics, pick something you find interesting
No class Wednesday!
Next Monday Mobile networks!