Chapter 5 V7.01
Chapter 5 V7.01
Network Layer:
The Control Plane
Routing
Algorith control
m plane
data
plan
e
Remote Controller
control
plane
data
plan
e
C
A
CA CA CA CA
v 3 w
2 5
u 2 1 z
3
1 2
x 1
y
graph: G = (N,E)
N = set of routers = { u, v, w, x, y, z }
E = set of links ={ (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) }
notes: 5
4
7
❖ construct shortest path tree by
tracing predecessor nodes 8
❖ ties can exist (can be broken 3 w z
u y
arbitrarily) 2
3
7 4
v
Network Layer: Control Plane 5-15
5
3
v w
2 5
u 2 1 z
3
1
2
x y
1
4-16
Dijkstra’s algorithm: another example
Step N' D(v),p(v) D(w),p(w) D(x),p(x) D(y),p(y) D(z),p(z)
0 u 2,u 5,u 1,u ∞ ∞
1 ux 2,u 4,x 2,x ∞
2 uxy 2,u 3,y 4,y
3 uxyv 3,y 4,y
4 uxyvw 4,y
5 uxyvwz
v w
u z
x y
1
A 1+e A A A
2+e 0 0 2+e 2+e 0
D 0 0 B D 1+e 1 B D B D 1+e 1 B
0 0
0 e 0 0
C 0 1 0
1 C C 1+e C
1
e
given these costs, given these costs, given these costs,
initially find new routing…. find new routing…. find new routing….
resulting in new costs resulting in new costs resulting in new costs
Network Layer: Control Plane 5-19
Chapter 5: outline
5.1 introduction 5.5 The SDN control plane
5.2 routing protocols 5.6 ICMP: The Internet
▪ link state Control Message
▪ distance vector Protocol
5.7 Network management
5.3 intra-AS routing in the
and SNMP
Internet: OSPF
5.4 routing among the ISPs:
BGP
let
dx(y) := cost of least-cost path from x to y
then
dx(y) = min {c(x,v) + dv(y) }
v
from
from
y ∞∞ ∞ y 2 0 1
z ∞∞ ∞ z 7 1 0
node y cost to
table x y z y
2 1
x ∞ ∞ ∞
x z
from
y 2 0 1 7
z ∞∞ ∞
node z cost to
table x y z
x ∞∞ ∞
from
y ∞∞ ∞
z 7 1 0
time
Network Layer: Control Plane 5-26
Dx(z) = min{c(x,y) +
Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)}
= min{2+0 , 7+1} = 2 Dy(z), c(x,z) + Dz(z)}
= min{2+1 , 7+0} = 3
node x cost to cost to cost to
table x y z x y z x y z
x 0 2 7 x 0 2 3 x 0 2 3
from
from
y ∞∞ ∞ y 2 0 1 y 2 0 1
from
z ∞∞ ∞ z 7 1 0 z 3 1 0
from
y 2 0 1 y 2 0 1 7
from
y 2 0 1
z ∞∞ ∞ z 7 1 0 z 3 1 0
from
y 2 0 1 y 2 0 1
from
y ∞∞ ∞
z 7 1 0 z 3 1 0 z 3 1 0
time
Network Layer: Control Plane 5-27
Comparison of LS and DV algorithms
message complexity robustness: what happens if
▪ LS: with n nodes, E links, O(nE) router malfunctions?
msgs sent LS:
▪ DV: exchange between neighbors • node can advertise incorrect
only link cost
• convergence time varies • each node computes only its
own table
speed of convergence
▪ LS: O(n2) algorithm requires
DV:
O(nE) msgs • DV node can advertise
• may have oscillations incorrect path cost
▪ DV: convergence time varies • each node’s table used by
others
• may be routing loops
• error propagate thru
• count-to-infinity problem network
3
c 3 2
3 2
AS3a c 2
b 1 a A
b
1 c 1 S
a 1
b
AS1
2 ▪ forwarding table
d configured by both intra-
and inter-AS routing
Intra-AS Inter-AS algorithm
Routing Routing
algorithm algorithm • intra-AS routing
determine entries for
Forwarding
table
destinations within AS
• inter-AS & intra-AS
determine entries for
external destinations
Network Layer: Control Plane 5-32
Inter-AS tasks
▪ suppose router in AS1 AS1 must:
receives datagram 1. learn which dests are
destined outside of AS1: reachable through AS2,
• router should forward which through AS3
packet to gateway 2. propagate this
router, but which one? reachability info to all
routers in AS1
job of inter-AS routing!
3c
3a
3b
AS3 2c other
1c 2a networks
other 1a 2b
networks 1b AS2
AS1 1d
backbone
area
border
routers
area 3
internal
area 1 routers
area 2
2b
2a 2c
∂
1b 3b
2d
1a 1c 3a
∂ 3c
AS 2
1d 3d
AS 1 eBGP connectivity AS 3
iBGP connectivity
AS 3 3
AS 1 1
b
b
3 3
1 1 a c
a c AS 2 2 X
3
1 b d
d BGP advertisement:
2 2 AS3, X
a c
2
Network Layer: Control Plane 5-42
d
Path attributes and BGP routes
▪ advertised prefix includes BGP attributes
• prefix + attributes = “route”
▪ two important attributes:
• AS-PATH: list of ASes through which prefix advertisement
has passed
• NEXT-HOP: indicates specific internal-AS router to
next-hop AS
▪ Policy-based routing:
• gateway receiving route advertisement uses import policy
to accept/decline path (e.g., never route through AS Y).
• AS policy also determines whether to advertise path to
other other neighboring ASes
AS3 3
AS1 1 AS3,X
AS3,X b
1 b
3 3
1 2 1 a c
a
local link c AS2 2 X
2 1 3
interfaces 1 AS3,X d
at 1a, 1d b
d AS2,AS3,X 2 2
a c physical link
2
d
dest interface ▪ recall: 1a, 1b, 1c learn about dest X via iBGP
… … from 1c: “path to X goes through 1c”
X 1 ▪ 1d: OSPF intra-domain routing: to get to 1c,
… … forward over outgoing local interface 1
AS3 3
AS1 1
b
1 b
3 3
1 2 1 a c
a c AS2 2 X
3
1 b d
d 2 2
a c
2
d
dest interface ▪ recall: 1a, 1b, 1c learn about dest X via iBGP
… … from 1c: “path to X goes through 1c”
X 2 ▪ 1d: OSPF intra-domain routing: to get to 1c,
… … forward over outgoing local interface 1
▪ 1a: OSPF intra-domain routing: to get to 1c,
forward over outgoing local interface 2
Network Layer: Control Plane 5-48
BGP route selection
▪ router may learn about more than one route to
destination AS, selects route based on:
1. local preference value attribute: policy decision
2. shortest AS-PATH
3. closest NEXT-HOP router: hot potato routing
4. additional criteria
Routing
Algorith control
m plane
data
plan
e
Remote Controller
control
plane
data
plan
e
C
A
CA CA CA CA
5
3
2 v w 5
u 2 1
3 z
1
2
x 1 y
u 2 1
3 z
1
2
x 1 y
zz
u 2 1
3
1
2
xx yy
1
control
plane
data
plan
e
C 2. control,
A data plane
CA CA CA CA separation
1: generalized“
flow-based”
forwarding (e.g.,
OpenFlow) Network Layer: Control Plane 5-63
SDN perspective: data plane switches
Data plane switches network-control applications
▪ fast, simple, commodity switches …
routing
implementing generalized
data-plane forwarding (Section access load
control balance
4.4) in hardware
▪ switch flow table computed, o
c
northbound API
installed by controller nt
▪ API for table-based switch SDN Controller
ro
l
control (e.g., OpenFlow) (network operating system) pl
• defines what is controllable and a
n
what is not southbound API e
▪ protocol for communicating
with controller (e.g., OpenFlow) d
a
t
a
SDN-controlled switches p
Network Layer: Control Plane 5-64
l
SDN perspective: SDN controller
SDN controller (network network-control applications
OS): …
routing
▪ maintain network state
access load
information control balance
▪ interacts with network
c
control applications “above” northbound API o
via northbound API nt
d
a
t
a
SDN-controlled switches p
Network Layer: Control Plane 5-66
l
Components of SDN controller
Network-wide state
management layer: statistic … flow tables
state of networks s SDN
links, switches, Network-wide distributed, robust state management
controller
services: a
distributed database
Link-state host info … switch info
info
Dijkstra’s link-state
Routing
4 5
network
graph
RESTful
API
… intent 5 link state routing app interacts
3 with flow-table-computation
statistic
… component in SDN controller,
flow tables
which computes new flow
s
Link-state host info
… switch info
tables needed
info 2 6 Controller uses OpenFlow to
OpenFlow
… SNMP
install new tables in switches
that need updating
6
1
s2
s1
s4
s3
Network Layer: Control Plane 5-72
OpenDaylight (ODL) controller
Traffic …
Engineering ▪ ODL Lithium
controller
REST
API
▪ network apps may
Network be contained within,
Basic Network Service Functions
service apps or be external to
topology switch stats
Acces SDN controller
manager
▪ Service Abstraction
s manager manager
Contro
forwarding host
l
manager manager
Layer: interconnects
internal, external
Service Abstraction Layer (SAL) applications and
services
OpenFlow
… SNM OVSD
1.0 P B
3 probes 3 probes
3 probes
Network Layer: Control Plane 5-78
Chapter 5: outline
5.1 introduction 5.5 The SDN control plane
5.2 routing protocols 5.6 ICMP: The Internet
▪ link state Control Message
▪ distance vector Protocol
5.3 intra-AS routing in the 5.7 Network management
Internet: OSPF and SNMP
5.4 routing among the ISPs:
BGP
managed device
Information Base
(MIB)
agent data
agent data
managed device
managed device
managing managing
entity entity
request
trap msg
response
PDU Trap
type Enterprise Agent Type
Specific Time
Name Value ….
Addr code stamp
4 (0-7)
Trap header Trap info
SNMP PDU