0% found this document useful (0 votes)
2 views

chapter_5_a

Chapter 5 discusses the network layer control plane, focusing on traditional routing algorithms, Software Defined Networking (SDN) controllers, and the Internet Control Message Protocol (ICMP). It outlines key routing protocols such as OSPF and BGP, and explains the concepts of forwarding and routing within network layers. The chapter also introduces Dijkstra’s and Bellman-Ford algorithms for determining optimal routing paths in networks.

Uploaded by

Funda Kayatürk
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)
2 views

chapter_5_a

Chapter 5 discusses the network layer control plane, focusing on traditional routing algorithms, Software Defined Networking (SDN) controllers, and the Internet Control Message Protocol (ICMP). It outlines key routing protocols such as OSPF and BGP, and explains the concepts of forwarding and routing within network layers. The chapter also introduces Dijkstra’s and Bellman-Ford algorithms for determining optimal routing paths in networks.

Uploaded by

Funda Kayatürk
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/ 40

Chapter 5

Network Layer:
The 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: Computer
 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!)
Networking: A Top
 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
Down Approach
material.
7th Edition, Global Edition
Thanks and enjoy! JFK/KWR
Jim Kurose, Keith Ross
All material copyright 1996-2016 Pearson
J.F Kurose and K.W. Ross, All Rights Reserved April 2016
Network Layer: Control 5-1
Plane
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 5-2
Plane
Chapter 5: outline
5.5 The
5.1 introduction
SDN control plane
5.2 ICMP:
5.6 routingThe
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 5-3


Plane
Network-layer functions
Recall: two network-layer
functions:
 forwarding: move
packets from router’s data plane
input to appropriate
router output
 routing: determine
route taken by packets control plane
from source to
destination
wo approaches to structuring network control plane:
per-router control (traditional)
logically centralized control (software defined networking)

Network Layer: Control 5-4


Plane
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 5-5


Plane
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 5-6


Plane
Chapter 5: outline
5.5 The
5.1 introduction
SDN control plane
5.2 ICMP:
5.6 routingThe
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 5-7


Plane
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 5-8
Plane
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 5-9


Plane
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 ?


outing algorithm: algorithm that finds that least cost path

Network Layer: Control 5-10


Plane
Routing algorithm
classification
Q: global or decentralized Q: static or
information? dynamic?
global:
 all routers have static:
 routes change slowly
complete topology, link
cost info over time
 “link state” algorithms dynamic:
 routes change more
decentralized:
 router knows quickly
physically-connected • periodic update
neighbors, link costs to • in response to link
neighbors cost changes
 iterative process of
computation, exchange
of info with neighbors
 “distance vector” Network Layer: Control 5-11
Plane
Chapter 5: outline
5.5 The
5.1 introduction
SDN control plane
5.2 ICMP:
5.6 routingThe
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 5-12


Plane
A link-state routing algorithm
Dijkstra’s algorithm
notation:
 c(x,y):
net topology, link
link cost from node x to y; = ∞ if not
direct neighbors
costs known to all
 nodescurrent value of cost of path from source
D(v):
to
• dest. v
accomplished via “link
 state broadcast”
p(v): predecessor node along path from source
• all nodes have same
to v
info
 N': set of nodes whose least cost path
computes least cost
definitively
paths from oneknownnode
(‘source”) to all other
nodes
• gives forwarding table
for that node
 iterative: after k
iterations, know least Network Layer: Control 5-13
Plane
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 5-14


Plane
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
8
tree by tracing
predecessor nodes u
3 w y z
 ties can exist (can be 2
broken arbitrarily) 3
7 4
v
Network Layer: Control 5-15
Plane
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 5-16
Plane
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 5-17
Plane
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
A 1+e
1 carried A A 2+e A
traffic:
2+e 0 0 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 cost
resulting in new costs
Network Layer: Control 5-18
Chapter 5: outline
5.5 The
5.1 introduction
SDN control plane
5.2 ICMP:
5.6 routingThe
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 5-19


Plane
Distance vector algorithm
Bellman-Ford equation (dynamic
programming)

let
dx(y) := cost of least-cost path from x to
y
then v

dx(y) = min {c(x,v) +neighbor


cost from dv(y) }v to destination
cost to neighbor v

min taken over all neighbors v of x


Network Layer: Control 5-20
Plane
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
1
x 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 5-21


Plane
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 5-22


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

 under minor, natural conditions, the


estimate Dx(y) converge to the actual
least cost dx(y)

Network Layer: Control 5-23


Plane
Distance vector algorithm
iterative, each node:
asynchronous:
each local iteration
caused by: wait for (change in local link
cost or msg from neighbor)
 local link cost
change
 DV update message recompute estimates
from neighbor
distributed:
 each node notifies if DV to any dest has
neighbors only when changed, notify neighbors
its DV changes
• neighbors then notify
their neighbors if
necessary
Network Layer: Control 5-24
Plane
Network Layer 4-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
table x y z x y z
x 0 2 7 x 0 2 3

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 5-26
Plane
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
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
from

y 2 0 1 y 2 0 1 7
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

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 5-27
Plane
Distance vector: link cost
changes
link cost changes: 1
 node detects local link cost y
4 1
change
 updates routing info,
x z
50
recalculates
distance vector
 if DV changes, notify
“goodneighbors
t0 : y detects link-cost change, updates its DV, informs its
news
neighbors.
travels
t1 : z receives update from y, updates its table, computes new
fast”
least cost to x , sends its neighbors its DV.
t2 : y receives z’s update, updates its distance table. y’s least costs
do not change, so y does not send a message to z.

* Check out the online interactive exercises for more


examples: http://gaia.cs.umass.edu/kurose_ross/interactive/ Network Layer: Control 5-28
Plane
Distance vector: link cost
changes
link cost changes:
 node detects local link cost 60
change y
4 1
 bad news travels slow - “count
to infinity” problem! x z
50
 Dy(x)=4, Dy(z)=1, Dz(y)=1,
Dz(x)=5 1. Dy(x)=min{c(y,x)+Dx(x), c(y,z)
 44 iterations before algorithm
+Dz(x)}=min{60+0,1+5}=6.
stabilizes: see text 2. Dz(x)=min{50+0,1+6}=7.

poisoned reverse:
 If Z routes through Y to get to X :
 Z tells Y its (Z’s) distance to X is infinite (so Y
won’t route to X via Z)
 will this completely solve count to infinity
problem?
Network Layer: Control 5-29
Plane
Comparison of LS and DV
algorithms
message complexity robustness: what
 LS: with n nodes, E links, happens if router
O(nE) msgs sent malfunctions?
 DV: exchange between LS:
neighbors only
• node can advertise
• convergence time incorrect link cost
varies
• each node computes
speed of only its own table
convergence DV:
 LS: O(n2) algorithm • DV node can advertise
requires O(nE) msgs incorrect path cost
• may have oscillations • each node’s table used
by others
 DV: convergence time
• error propagate thru
varies
network
• may be routing loops
• count-to-infinity
problem Network Layer: Control 5-30
Plane
Chapter 5: outline
5.5 The
5.1 introduction
SDN control plane
5.2 ICMP:
5.6 routingThe
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 5-31


Plane
Making routing
scalable
our routing study thus far -
idealized
 all routers identical
 network “flat”
… not true in practice
scale: with billions administrative
of destinations: autonomy
 can’t store all  internet = network of
destinations in networks
routing tables!  each network admin
 routing table may want to control
exchange would routing in its own
swamp links! network
Network Layer: Control 5-32
Plane
Internet approach to scalable
routing
aggregate routers into regions known as
“autonomous systems” (AS) (a.k.a.
“domains”)
intra-AS routing inter-AS routing
 routing among hosts,  routing among AS’es
routers in same AS  gateways perform
(“network”) inter-domain routing
 all routers in AS must (as well as intra-
run same intra-domain domain routing)
protocol
 routers in different AS
can run different intra-
domain routing protocol
 gateway router: at
“edge” of its own AS, Network Layer: Control 5-33
Plane
Interconnected ASes

3c
3a 2c
3b 2a
AS3 2b
1c AS2
1a 1b AS1
1d  forwarding table
configured by both
intra- and inter-AS
Intra-AS Inter-AS routing algorithm
Routing
algorithm
Routing
algorithm
• intra-AS routing
determine entries
Forwarding
table
for destinations
within AS
• inter-AS & intra-AS
determine entries
for external
Network Layer: Control 5-34
Plane
Inter-AS tasks
 suppose router in AS1 must:
AS1 receives 1. learn which dests
datagram destined are reachable
outside of AS1: through AS2, which
• router should through AS3
forward packet to 2. propagate this
gateway router, reachability info to
but which one? 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

Network Layer: Control 5-35


Plane
Intra-AS Routing
 also known as interior gateway
protocols (IGP)
 most common intra-AS routing
protocols:
• RIP: Routing Information Protocol
• OSPF: Open Shortest Path First (IS-IS
protocol essentially same as OSPF)
• IGRP: Interior Gateway Routing
Protocol (Cisco proprietary for decades,
until 2016)

Network Layer: Control 5-36


Plane
OSPF (Open Shortest Path
First)
 “open”: publicly available
 uses link-state algorithm
• link state packet dissemination
• topology map at each node
• route computation using Dijkstra’s algorithm
 router floods OSPF link-state
advertisements to all other routers in
entire AS
• carried in OSPF messages directly over IP
(rather than TCP or UDP
• link state: for each attached link

Network Layer: Control 5-37


Plane
OSPF “advanced” features
 security: all OSPF messages authenticated
(to prevent malicious intrusion)
 multiple same-cost paths allowed (only
one path in RIP)
 integrated uni- and multi-cast support:
• Multicast OSPF (MOSPF) uses same
topology data base as OSPF
 hierarchical OSPF in large domains.

Network Layer: Control 5-38


Plane
Hierarchical
OSPF
boundary router
backbone router

backbone
area
border
routers

area 3

internal
routers
area 1
area 2

Network Layer: Control 5-39


Plane
Hierarchical
OSPF
 two-level hierarchy: local area, backbone.
• link-state advertisements only in area
• each nodes has detailed area topology;
only know direction (shortest path) to
nets in other areas.
 area border routers: “summarize”
distances to nets in own area, advertise to
other Area Border routers.
 backbone routers: run OSPF routing
limited to backbone.
 boundary routers: connect to other AS’es.

Network Layer: Control 5-40


Plane

You might also like