CSE390 - Advanced Computer Networks: Lecture 22: Software Designed Networking
CSE390 - Advanced Computer Networks: Lecture 22: Software Designed Networking
CSE390 - Advanced Computer Networks: Lecture 22: Software Designed Networking
Computer Networks
Lecture 22: Software designed
networking
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
Switching
Line card
Fabric
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
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
Open Interface
or or
Open Interface
Open Interface
or or
Open Interface
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
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
Packet
Forwarding Packet
Forwarding
Packet
Packet Forwarding
Forwarding
Packet
Forwarding
Control Program
28
Minimal
Streamlined for speed and low-power
Control program not vendor-specific
OpenFlow Protocol
Ethernet Switch
Control Path OpenFlow
Flow
Packet Table(s)
Forwarding Packet
Forwarding
Plumbing Primitives
32
32
Match: 1000x01xx0101001x
Protocol independent
Backward compatible
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
Networking is
“Intellectually
Weak”
behind other fields
Key goals
Provide abstract view of network map
Control program operates on abstract view
Packet
Forwarding Packet
Forwarding
Packet
Packet Forwarding
Forwarding Consequence:
Packet
Work on Nework Programming Languages Pyretic, Frenetic etc.
Forwarding
Outline
43
Domains Products
Data centers Switches, routers:
Enterprise/campus About 15 vendors
Cellular backhaul Software: About 6
Enterprise WiFi
vendors and startups
WANs
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
Programming world
Good software is adopted, not standardized
Summary
51
Networks becoming
More programmatic
Defined by owners and operators, not vendors
Abstractions
Will shield programmers from complexity
Make behavior more provable
No class Wednesday!
Next Monday Mobile networks!