Professional Documents
Culture Documents
Chapter - 5 - v8.0 Muhalim Firoz v2 (7 Dec 2022) Updated
Chapter - 5 - v8.0 Muhalim Firoz v2 (7 Dec 2022) Updated
Network Layer:
Control Plane
A note on the use of these PowerPoint slides:
We’re making these slides freely available to all (faculty, students,
readers). They’re in PowerPoint form so you see the animations; and
can add, modify, and delete slides (including this one) and slide content
to suit your needs. They obviously represent a lot of work on our part.
In return for use, we only ask the following:
§ If you use these slides (e.g., in a class) that you mention their
source (after all, we’d like people to use our book!)
§ If you post any slides on a www site, that you note that they are
adapted from (or perhaps identical to) our slides, and note our
copyright of this material.
Computer Networking: A
For a revision history, see the slide note for this page.
Top-Down Approach
Thanks and enjoy! JFK/KWR 8th edition
All material copyright 1996-2020 Jim Kurose, Keith Ross
J.F Kurose and K.W. Ross, All Rights Reserved Pearson, 2020
Network Layer: 5-1
Network layer control plane: our goals
§understand principles § instantiation, implementation
behind network control in the Internet:
plane: • OSPF, BGP
• traditional routing algorithms • OpenFlow, ODL and ONOS
• SDN controllers controllers
• network management, • SNMP, YANG/NETCONF
configuration
vRecalling the next figures for forwarding table and the flow
table were the principal elements that linked the network
layer’s data plane and control plane.
Figure:
Per-router control:
Individual routing
algorithm
components
interact in the
control plane
vRecalling the next figures for forwarding table and the flow
table were the principal elements that linked the network
layer’s data plane and control plane.
v These tables specify the local data-plane forwarding
behavior of a router.
v The case of generalized forwarding is not only forwarding
a packet to a router’s output port, but also dropping a
packet and replicating a packet.
Figure:
In this chapter 5,
Per-router control:
we’ll study how those Individual routing
forwarding and flow tables algorithm
are computed, maintained components
interact in the
and installed. control plane
Section 5.3
Figure:
Per-router control:
Individual routing
algorithm
components
interact in the
control plane
OSPF (Open Shortest Part First)
BGP (Border Gateway Protocol):
Network Layer: 5-7
Kurose, J.F. and Ross, K.W. (2021). Computer Networking: A Top-Down Approach (8th Edition). Pearson Education Limited, England. (pp. 378)
Introduction
Two Approaches
(b) Logically
centralized control (SDN)
generalized match-plus-action
abstraction allows the router to
perform traditional IP forwarding.
Figure:
Logically centralized
control: A distinct,
typically remote,
CAs communicate controller interacts
with the controller with local Control
Agents (CAs)
v 3 w
2 5
u 2 1 z
3
1 2
x 1
y
5 uwxvyz v
notes:
§ construct least-cost-path tree by tracing predecessor nodes
§ ties can exist (can be broken arbitrarily)
Network Layer: 5-18
Exercise 5.0
Dijkstra’s Algorithm
Routers in nodes u, v, w, x, y and z
have been assigned with link cost
value as stated in the diagram.
Routers in nodes A, B, C, D, E,
and F have been assigned with
link cost value as stated in the
diagram.
Routers in nodes A, B, C, D, E, F,
G and H have been assigned with
link cost value as stated in the
diagram.
dx(y) Bellman-Ford
x v y
Example: Bellman-Ford
Neighbor to u are v, x, and w;
c(u,v) dv(z)
v
c(u,x) dx(z)
u x z
c(u,w) dw(z)
w
Network Layer: 5-29
5-30
The Distance Vector (DV)
Bellman-Ford
c(u,v) dv(z)
v
c(u,x) dx(z)
u x z
c(u,w) dw(z)
w
Network Layer: 5-30
Bellman-Ford Example
Suppose that u’s neighboring nodes, x,v,w, know that for destination z:
Dv(z) = 5 Dw(z) = 3 Bellman-Ford equation says:
5
Du(z) = min { cu,v + Dv(z),
3 w
v 5 cu,x + Dx(z),
2
u 2 1 z cu,w + Dw(z) }
3
1 2
= min {2 + 5,
x 1
y 1 + 3,
5 + 3} = 4
Dx(z) = 3
node achieving minimum (x) is
next hop on estimated least-
cost path to destination (z)
Network Layer: 5-31
Exercise 5.4
from
from
cost to y
Dy() x y z 2 1
Dx(y) = min{cx,y + Dy(y), cx,z+ Dz(y)}
x ∞ ∞ ∞ = min{2+0 , 7+1} = 2
x z
7
from
y 2 0 1
z ∞∞ ∞
cost to
Dz() x y z
x ∞∞ ∞
from
y ∞∞ ∞
z 7 1 0
time Network Layer: 5-38
Distance vector: another example
cost to cost to
Dx() x y z x y z
cost to
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
cost to cost to y
Dy() x y z x y z
cost to
x y z 2 1
x ∞ ∞ ∞ x 0 2 7 x 0 2 3
x z
7
from
y 2 0 1 y 2 0 1
from
from
y 2 0 1
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-39
The Distance Vector (DV)
Cost from x to y:
• y sees direct link to x has new cost 60, but z has said it has a path at cost of 5. So
y computes “my new cost to x will be 6, via z); notifies z of new cost of 6 to x.
• z learns that path to x via y has new cost 6, so z computes “my new cost to
x will be 7 via y), notifies y of new cost of 7 to x.
• y learns that path to x via z has new cost 7, so y computes “my new cost to
x will be 8 via y), notifies z of new cost of 8 to x.
• z learns that path to x via y has new cost 8, so z computes “my new cost to
x will be 9 via y), notifies y of new cost of 9 to x.
…
§ see text for solutions. Distributed algorithms are tricky!
Network Layer: 5-42
Comparison of LS and DV algorithms
message complexity robustness: what happens if router
LS: n routers, O(n2) messages sent malfunctions, or is compromised?
DV: exchange between neighbors; LS:
convergence time varies • router can advertise incorrect link cost
• each router computes only its own
speed of convergence table
LS: O(n2) algorithm, O(n2) messages DV:
• may have oscillations
• DV router can advertise incorrect path
DV: convergence time varies cost (“I have a really low cost path to
• may have routing loops everywhere”): black-holing
• count-to-infinity problem
• each router’s table used by others:
error propagate thru network
intra-AS
3c
routing3a inter-AS routing intra-AS
2c
3b 2a routing
2b
1c
AS3 intra-AS
1a routing 1b AS2
1d
AS1
3c
3a 2c other
3b 2a networks
2b
1c
AS3
other 1a 1b AS2
networks
1d
AS1
2a 2c
∂
1b 3b
2d
1a 1c ∂
3a 3c
AS 2
1d 3d
AS 1 eBGP connectivity AS 3
logical iBGP connectivity
Routing
Algorithm
Routing algorithm control
Control plane plane
Data plane
Values in arriving
values in arriving
packet’s header
1
packet header 1101
2
3
0111 1
2
3
Remote Controller
control
plane
data
plane
CA
CA CA CA CA
values in arriving
packet header
0111 1
2
3
control
plane
data
plane
CA 2. control, data
CA CA CA CA
plane separation
1: generalized “flow-based”
forwarding (e.g., OpenFlow)
Network Layer: 5-66
Software defined networking (SDN)
network-control applications
Data-plane switches: …
routing
§ fast, simple, commodity switches load
access
implementing generalized data-plane control balance
forwarding (Section 4.4) in hardware control
plane
§ flow (forwarding) table computed, northbound API
(e.g., OpenFlow)
southbound API
• defines what is controllable, what is not
§ protocol for communicating with data
plane
controller (e.g., OpenFlow)
SDN-controlled switches
Network Layer: 5-67
Software defined networking (SDN)
network-control applications
SDN controller (network OS): …
routing
§ maintain network state access load
information control balance
tolerance, robustness
SDN-controlled switches
Network Layer: 5-68
Software defined networking (SDN)
network-control applications
network-control apps: …
routing
§ “brains” of control: access load
implement control functions control balance
data
plane
SDN-controlled switches
Network Layer: 5-69
Components of SDN controller
routing access load
control balance
3 probes 3 probes
3 probes
Network Layer: Control Plane 5-80
Network layer: “control plane” roadmap
§ introduction
§ routing protocols
§ intra-ISP routing: OSPF
§ routing among ISPs: BGP
§ SDN control plane
§ Internet Control Message
Protocol (ICMP)
§ network management,
configuration
• SNMP
• NETCONF/YANG (NOT
COVERED)
Network Layer: 5-81
What is network management?
§ autonomous systems (aka “network”): 1000s of interacting
hardware/software components
§ other complex systems requiring monitoring, configuration,
control:
• jet airplane, nuclear power plant, others?
request
message type 4