0% found this document useful (0 votes)
32 views26 pages

Network Layer: The Control Plane: Computer Networking: A Top Down Approach

The document summarizes the network layer control plane. It discusses two approaches to structuring the control plane - per-router control using traditional routing algorithms, and centralized control using SDN controllers. It outlines routing protocols including link state algorithms like OSPF which use global network information and distance vector algorithms which are decentralized. Dijkstra's algorithm, a link state routing algorithm, is described in detail as an example.

Uploaded by

Md Omar Faruq
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views26 pages

Network Layer: The Control Plane: Computer Networking: A Top Down Approach

The document summarizes the network layer control plane. It discusses two approaches to structuring the control plane - per-router control using traditional routing algorithms, and centralized control using SDN controllers. It outlines routing protocols including link state algorithms like OSPF which use global network information and distance vector algorithms which are decentralized. Dijkstra's algorithm, a link state routing algorithm, is described in detail as an example.

Uploaded by

Md Omar Faruq
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 26

Chapter 5

Network Layer:
The Control Plane

Computer
Networking: A Top
Down Approach
7th edition
Jim Kurose, Keith Ross
Pearson/Addison Wesley
April 2016
Network Layer: Control Plane 5-1
Chapter 5: network layer control plane
chapter goals: understand principles behind
network control plane
 traditional routing algorithms
 SDN controlllers
 Internet Control Message Protocol
 network management

and their instantiation, implementation in the Internet:


 OSPF, BGP, OpenFlow, ODL and ONOS
controllers, ICMP, SNMP

Network Layer: Control Plane 5-2


Chapter 5: outline
5.5 The
5.1 introduction
SDN control plane
5.2 ICMP:
5.6 routing The
protocols
Internet Control Message Protocol
5.7link
Network
state management and SNMP
 distance vector
5.3 intra-AS routing in the Internet: OSPF
5.4 routing among the ISPs: BGP

Network Layer: Control Plane 5-3


Network-layer functions
Recall: two network-layer functions:
 forwarding: move packets
from router’s input to data plane
appropriate router output
 routing: determine route
taken by packets from source control plane
to destination

Two approaches to structuring network control plane:


 per-router control (traditional)
 logically centralized control (software defined networking)

Network Layer: Control Plane 5-4


Per-router control plane
Individual routing algorithm components in each and every
router interact with each other in control plane to compute
forwarding tables

Routing
Algorithm
control
plane

data
plane

Network Layer: Control Plane 5-5


Logically centralized control plane
A distinct (typically remote) controller interacts with local
control agents (CAs) in routers to compute forwarding tables

Remote Controller

control
plane

data
plane

CA
CA CA CA CA

Network Layer: Control Plane 5-6


Chapter 5: outline
5.5 The
5.1 introduction
SDN control plane
5.2 ICMP:
5.6 routing The
protocols
Internet Control Message Protocol
5.7link state management and SNMP
Network
 distance vector
5.3 intra-AS routing in the Internet: OSPF
5.4 routing among the ISPs: BGP

Network Layer: Control Plane 5-7


Routing protocols

Routing protocol goal: determine “good”


paths (equivalently, routes), from sending hosts to
receiving host, through network of routers
 path: sequence of routers packets will traverse
in going from given initial source host to given
final destination host
 “good”: least “cost”, “fastest”, “least
congested”
 routing: a “top-10” networking challenge!

Network Layer: Control Plane 5-8


Graph abstraction of the network
5
3
v w 5
2
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) }
aside: graph abstraction is useful in other network contexts, e.g.,
P2P, where N is set of peers and E is set of TCP connections

Network Layer: Control Plane 5-9


Graph abstraction: costs
5
c(x,x’) = cost of link (x,x’)
3 e.g., c(w,z) = 5
v w 5
2
u cost could always be 1, or
2
3
1 z inversely related to bandwidth,
1 2 or inversely related to
x 1
y
congestion

cost of path (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp)

key question: what is the least-cost path between u and z ?


routing algorithm: algorithm that finds that least cost path

Network Layer: Control Plane 5-10


Routing algorithm classification
Q: global or decentralized Q: static or dynamic?
information?
static:
global:
 routes change slowly over
 all routers have complete time
topology, link cost info
dynamic:
 “link state” algorithms
 routes change more
decentralized: quickly
 router knows physically- • periodic update
connected neighbors, link
costs to neighbors • in response to link cost
changes
 iterative process of
computation, exchange of
info with neighbors
 “distance vector” algorithms
Network Layer: Control Plane 5-11
Chapter 5: outline
5.5 The
5.1 introduction
SDN control plane
5.2 ICMP:
5.6 routing The
protocols
Internet Control Message Protocol
5.7link state management and SNMP
Network
 distance vector
5.3 intra-AS routing in the Internet: OSPF
5.4 routing among the ISPs: BGP

Network Layer: Control Plane 5-12


A link-state routing algorithm
Dijkstra’s algorithm
notation:
 c(x,y):
net topology, link from
link cost costsnode x to y; = ∞ if not direct
neighbors
known to all nodes
 D(v):
• accomplished via “link
current value of state
cost of path from source to dest. v
broadcast”
 p(v): predecessor
• all nodes have same node
info along path from source to v
 N': set of nodes
computes whose
least cost pathsleast cost path definitively known
from one node (‘source”)
to all other nodes
• gives forwarding table for
that node
 iterative: after k iterations,
know least cost path to k
dest.’s

Network Layer: Control Plane 5-13


Dijsktra’s algorithm
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'

Network Layer: Control Plane 5-14


Dijkstra’s algorithm: example
D(v) D(w) D(x) D(y) D(z)
Step N' p(v) p(w) p(x) p(y) p(z)
0 u 7,u 3,u 5,u ∞ ∞
1 uw 6,w 5,u 11,w ∞
2 uwx 6,w 11,w 14,x
3 uwxv 10,v 14,x
4 uwxvy 12,y
5 uwxvyz x
9

notes: 5
4
7
 construct shortest path tree by
8
tracing predecessor nodes
 ties can exist (can be broken 3 w z
u y
arbitrarily) 2
3
7 4
v
Network Layer: Control Plane 5-15
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
5
3
v w 5
2
u 2 1 z
3
1 2
x 1
y

* Check out the online interactive exercises for more


examples: http://gaia.cs.umass.edu/kurose_ross/interactive/ Network Layer: Control Plane 5-16
Dijkstra’s algorithm: example (2)
resulting shortest-path tree from u:

v w
u z
x y

resulting forwarding table in u:


destination link
v (u,v)
x (u,x)
y (u,x)
w (u,x)
z (u,x)
Network Layer: Control Plane 5-17
Dijkstra’s algorithm, discussion
algorithm complexity: n nodes
 each iteration: need to check all nodes, w, not in N
 n(n+1)/2 comparisons: O(n2)
 more efficient implementations possible: O(nlogn)
oscillations possible:
 e.g., support link cost equals amount of carried traffic:

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
1
C C 0 1
C 1+e C 0
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-18
Chapter 5: outline
5.5 The
5.1 introduction
SDN control plane
5.2 ICMP:
5.6 routing The
protocols
Internet Control Message Protocol
5.7link state management and SNMP
Network
 distance vector
5.3 intra-AS routing in the Internet: OSPF
5.4 routing among the ISPs: BGP

Network Layer: Control Plane 5-19


Distance vector algorithm
Bellman-Ford equation (dynamic programming)

let
dx(y) := cost of least-cost path from x to y
then
dx(y) = min
v
{c(x,v) + dv(y) }

cost from neighbor v to destination y


cost to neighbor v

min taken over all neighbors v of x


Network Layer: Control Plane 5-20
Bellman-Ford example
5
3
clearly, dv(z) = 5, dx(z) = 3, dw(z) = 3
v w 5
2
u 2 1 z B-F equation says:
3
1 du(z) = min { c(u,v) + dv(z),
2
x
1
y
c(u,x) + dx(z),
c(u,w) + dw(z) }
= min {2 + 5,
1 + 3,
node achieving minimum is next 5 + 3} = 4
hop in shortest path, used in forwarding table

Network Layer: Control Plane 5-21


Distance vector algorithm
 Dx(y) = estimate of least cost from x to y
• x maintains distance vector Dx = [Dx(y): y є N ]
 node x:
• knows cost to each neighbor v: c(x,v)
• maintains its neighbors’ distance vectors. For
each neighbor v, x maintains
Dv = [Dv(y): y є N ]

Network Layer: Control Plane 5-22


Distance vector 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:
Dx(y) ← minv{c(x,v) + Dv(y)} for each node y ∊ N

 under minor, natural conditions, the estimate Dx(y)


converge to the actual least cost dx(y)

Network Layer: Control Plane 5-23


Distance vector algorithm
iterative, asynchronous: each node:
each local iteration caused
by:
 local link cost change wait for (change in local link
cost or msg from neighbor)
 DV update message from
neighbor
distributed: recompute estimates
 each node notifies
neighbors only when its
DV changes if DV to any dest has
• neighbors then notify their changed, notify neighbors
neighbors if necessary

Network Layer: Control Plane 5-24


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
table x y z x y z
x 0 2 7 x 0 2 3

from
y ∞∞ ∞ y 2 0 1
from

z ∞∞ ∞ z 7 1 0

node y cost to
table x y z y
2 1
x ∞ ∞ ∞
x z
y 2 0 1 7
from

z ∞∞ ∞

node z cost to
table x y z
x ∞∞ ∞
from

y ∞∞ ∞
z 7 1 0
time
Network Layer: Control Plane 5-25
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
y ∞∞ ∞ y 2 0 1
from

y 2 0 1

from
z ∞∞ ∞ z 7 1 0 z 3 1 0
node y cost to cost to cost to
table x y z x y z x y z y
2 1
x ∞ ∞ ∞ x 0 2 7 x 0 2 3 x z
y 2 0 1 y 2 0 1 7
from

from

y 2 0 1

from
z ∞∞ ∞ z 7 1 0 z 3 1 0

node z cost to cost to cost to


table x y z x y z x y z
x ∞∞ ∞ x 0 2 7 x 0 2 3
from

y 2 0 1 y 2 0 1
from
from

y ∞∞ ∞
z 7 1 0 z 3 1 0 z 3 1 0
time
Network Layer: Control Plane 5-26

You might also like