Module 5 The Network Layer - Control Plane
Module 5 The Network Layer - Control Plane
4-2
Outline
Routing
Algorith control
m plane
data
plan
e
Remote Controller
control
plane
data
plan
e
C
A
CA CA CA CA
Classification
Global Decentralized
Routing Algorithm Routing Algorithm
4-10
The Link-State (LS)
Dijkstra’s Algorithm
notation:
❖ c(x,y) : link cost from node x to y; = ∞ if not direct
neighbors
❖ D(v) : current value of cost of path from source to dest. v
❖ p(v) : predecessor node along path from source to v
❖ N’ : set of nodes whose least cost path definitively known
1 Initialization:
2 N' = {u}
3 for all nodes v
4 if v adjacent to u
5 then D(v) = c(u,v)
6 else D(v) = ∞
7
8 Loop
9 find w not in N' such that D(w) is a minimum
10 add w to N'
11 update D(v) for all v adjacent to w and not in N' :
12 D(v) = min( D(v), D(w) + c(w,v) )
13 /* new cost to v is either old cost to v or known
14 shortest path cost to w plus cost from w to v */
15 until all nodes in N'
4-13
The Link-State (LS)
Dijkstra’s Algorithm
Solution:
(a) Construct table of least cost
paths from node u to node z
v w
u z
x y
1, u
2,u 2, x
2, u
3, y
4, y
The Link-State (LS)
Dijkstra’s Algorithm
(b) Computes least cost paths from
node u to node z
v w
u z
x y
1, u
2, x
2, u
3, y
4, y
The Link-State (LS)
Dijkstra’s Algorithm
Key idea:
❖ from time-to-time, each node sends its own distance vector
estimate to neighbors
❖ when x receives new DV estimate from neighbor, it updates
its own DV using B-F equation:
4-17
The Distance Vector (DV)
Example: Bellman-Ford
Neighbor to u are x, v, and w;
Clearly,
v w
=> du (z) = 4
4-18
Outline
❖ network “flat”
Reason 1 Reason 2
Scale: with 600 million destinations: Administrative autonomy
❖ can’t store all destination’s in ❖ internet = network of
routing tables! networks
❖ routing table exchange would ❖ each network admin may
swamp (flood) links! want to control routing in
its own network
4-20
Hierarchical Routing
intra-AS routing
gateway algorithm
routers
22
Intra-AS Routing
Intra-AS
Routing Protocols
BGP
eBGP iBGP
Obtain subnet Propagate reachability
reachability information information to all
from neighboring ASs. AS-internal routers.
Inter-AS Routing
eBGP => think as ‘external’
4-26
Chapter 5: outline
5.1 introduction 5.5 Generalized Forward & SDN
5.2 routing protocols • match
• action
❖ link state
• OpenFlow examples of
❖ distance vector
match-plus-action in action
5.3 intra-AS routing in the
Internet 5.7 Network management and
SNMP
5.4 routing among the ISPs:
BGP
control plane
data plane
local flow table
headers counters actions
1
0100 1101
3 2
values in arriving
packet’s header
Network Layer: Data Plane 4-28
OpenFlow data plane abstraction
❖ flow: defined by header fields
❖ generalized forwarding: simple packet-handling rules
▪ Pattern: match values in packet header fields
▪ Actions: for matched packet: { drop, forward, modify }
matched packet or send matched packet to controller
▪ Priority: disambiguate overlapping patterns
▪ Counters: #bytes and #packets
*:
wildcard
1. src=1.2.*.*, dest=3.4.5.* drop
2. src = *.*.*.*, dest=3.4.*.* forward(2)
3. src=10.1.2.3, dest=*.*.*.* send to controller
OpenFlow: Flow Table Entries
Eth IP
Switch VLAN MAC MAC IP IP TCP TCP
type Sr
Port ID src dst Dst Prot sport dport
c
3 4
Host h5
10.3.0.5
1 s1 1 s2
2 Host h4
4 2 4
Host h1 10.2.0.4
3 3
10.1.0.1
Host h2
10.1.0.2 match action
match action Host h3
ingress port = 2
10.2.0.3 forward(3)
ingress port = 1 IP Dst = 10.2.0.3
IP Src = 10.3.*.* forward(4) ingress port = 2
forward(4)
IP Dst = 10.2.*.* IP Dst = 10.2.0.4
Issue with traditional approach
❖ Internet network layer: historically has been
implemented via distributed, per-router approach
▪ monolithic router contains switching hardware, runs
• proprietary implementation of Internet standard
protocols (IP, RIP, IS-IS, OSPF, BGP)
• in proprietary router OS (e.g., Cisco IOS)
▪ different “middleboxes” for different network layer
functions:
• firewalls, load balancers, NAT boxes, ..
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-38
SDN archtecture: Data Plane switches
what is not
d
❖ protocol for communicating a
with controller (e.g., OpenFlow) t
a
SDN-controlled switches p
Network Layer: Control Plane 5-39
l
SDN archtecture: SDN Controller
d
a
t
a
SDN-controlled switches p
Network Layer: Control Plane 5-41
l
Chapter 5: outline
5.1 introduction 5.5 Generalized Forward & SDN
5.2 routing protocols • match
• action
❖ link state
• OpenFlow examples of
❖ distance vector
match-plus-action in action
5.3 intra-AS routing in the
Internet 5.7 Network management 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