Chapter_5_part2 (1)
Chapter_5_part2 (1)
Network
Layer:
Control
Plane Computer
Networking: A Top-
Down Approach
8th edition
Jim Kurose, Keith Ross
Pearson, 2020
Network layer: “control plane” roadmap
introduction
routing protocols
link state
distance vector
intra-ISP routing: OSPF
routing among ISPs: BGP network management,
SDN control plane configuration
Internet Control • SNMP
Message Protocol • NETCONF/YANG
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) + cw,v )
13 /* new least-path-cost to v is either old least-cost-path to v or known
14 least-cost-path to w plus direct-cost from w to v */
15 until all nodes in N'
notes:
construct least-cost-path tree by tracing predecessor nodes
ties can exist (can be broken arbitrarily)
message complexity:
each router must broadcast its link state information to other n routers
efficient (and interesting!) broadcast algorithms: O( n) link crossings to
disseminate a broadcast message from one source
each router’s message crosses O(n) links: overall message complexity: O(n2)
a 2+e
a 0
a 2+e a
1 1+e 0 2+e 0
d b d 1+e 1 b d 0 0 b d 1+e 1 b
0 0
e 1 0 1
1 0
c 0 1 1
c 1+e 1 1 0 0 1
c 1 c
e e e
e
given these costs, given these costs, given these costs,
initially find new routing…. find new routing…. find new routing….
resulting in new resulting in new costs resulting in new costs
costs
Bellman-Ford equation
Da(e) = ∞
All nodes have Da(f) = ∞ 1 1
distance Da(g) = ∞
estimates to Da(h) = ∞
nearest Da(i) = ∞ A few asymmetries:
neighbors d e f missing link
(only) 1 1
larger cost
All nodes send
their local
distance 1 1 1
vector to their
neighbors
g h i
1 1
t=1 1 1
All nodes:
receive
distance
vectors from d e f
neighbors 1 1
compute their
new local
distance vector 1 1 1
send their new
local distance
vector to
neighbors g h i
1 1
t=1 1 1
All nodes:
receive
distance
vectors from d
compute e
compute compute
f
neighbors 1 1
compute their
new local
distance vector 1 1 1
send their new
local distance
vector to
neighbors g
compute h
compute i
compute
1 1
t=1 1 1
All nodes:
receive
distance
vectors from d e f
neighbors 1 1
compute their
new local
distance vector 1 1 1
send their new
local distance
vector to
neighbors g h i
1 1
t=2 1 1
All nodes:
receive
distance
vectors from d e f
neighbors 1 1
compute their
new local
distance vector 1 1 1
send their new
local distance
vector to
neighbors g h i
1 1
t=2 1 1
All nodes:
receive
distance
vectors from d
compute compute
e compute
f
neighbors 1 1
compute their
new local
distance vector 1 1 1
send their new
local distance
vector to
neighbors g
compute compute
h compute
i
8 1
t=2 1 1
All nodes:
receive
distance
vectors from d e f
neighbors 1 1
compute their
new local
distance vector 1 1 1
send their new
local distance
vector to
neighbors g h i
1 1
…. and so on
c Da(g) = ∞ DV in e:
receives Da(h) = ∞
De(a) = ∞
DVs Da(i) = ∞
from b De(b) = 1
d e f De(c) = ∞
1 1
De(d) = 1
De(e) = 0
De(f) = 1
1 1 1
De(g) = ∞
De(h) = 1
De(i) = ∞
g h i
1 1
from
from
y 2 0 1
z ∞∞ ∞
cost to
Dz() x y z
x ∞∞ ∞
from
y ∞∞ ∞
z 7 1 0
time Network Layer: 5-31
Distance vector: another example
cost to cost to cost to
Dx() 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
y 2 0 1 y 2 0 1
from
y 2 0 1
from
z ∞∞ ∞ z 7 1 0 z 3 1 0
x ∞∞ ∞ x 0 2 7 x 0 2 3
from
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: 5-32
Comparison of LS and DV algorithms
message complexity robustness: what happens if
LS: n routers, O(n2) messages sent router malfunctions, or is
DV: exchange between neighbors; compromised?
convergence time varies
LS:
• router can advertise incorrect link
speed of convergence cost
• each router computes only its own
LS: O(n2) algorithm, O(n2)
table
messages
• may have oscillations DV:
DV: convergence time varies • DV router can advertise incorrect
• may have routing loops path cost (“I have a really low cost
• count-to-infinity problem path to everywhere”): black-holing
• each router’s table used by others:
error propagate thru network
Network Layer: 5-33