W11 Routing - 8th Ed Final
W11 Routing - 8th Ed Final
Approach
Eighth Edition
Chapter 5
Network Layer:
Control Plane
Copyright © 2020, 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Ch. 5: The Network Layer Control Plane
5.1 Introduction
5.2 Routing protocols
‒ link state
‒ distance vector
5.3 Intra-AS routing in the Internet: OSPF
5.4 Routing among the ISPs: BGP
5.5 The SDN control plane
5.6 ICMP: The Internet Control Message Protocol
5.7 Network management and SNMP
Network-Layer Functions
Recall: Two key network-layer functions:
• Forwarding: move packets
from router’s input to data plane
appropriate router output
• Routing: determine route control plane
taken by packets from source
to destination
Two approaches to structuring the network control plane:
• per-router control (traditional – Internet today)
• logically centralized control (software defined networking)
Interplay between Routing and Forwarding
1. Per-Router Control Plane (Classic Internet)
Individual routing algorithm components in each and
every router (Control Agents) interact with each other
in the control plane to compute forwarding tables
2. Logically Centralized Control Plane
Software-Defined Networking (SDN)
A distinct (typically remote) Central Controller interacts
with local control agents (CAs) in routers to compute
forwarding tables
Ch. 5: The Network Layer Control Plane
5.1 Introduction
5.2 Routing protocols
– Link state
– Distance vector
5.3 Intra-AS routing in the Internet: OSPF
5.4 Routing among the ISPs: BGP
5.5 The SDN control plane
5.6 ICMP: The Internet Control Message Protocol
5.7 Network management and SNMP
Routing Protocols
Routing protocol goal: determine
“good” paths (equivalently, routes),
from sending hosts to receiving
hosts, through a network of
intermediate routers
• path: sequence of routers packets
will traverse en route from a given
initial source host to the final
destination host
• But, what is “good”? least
“cost”, “fastest”, “least congested”
Graph Abstraction of a Network
Graph: G = (N, E)
N = set of routers (nodes or vertices) = {u, v, w, x, y, z}
E = set of links (edges) = { (u,v), (u,x), (u,w), (v,x), (v,w), (x,w),
(x,y), (w,y), (w,z), (y,z) }
Remark: Graph abstraction is useful in other network contexts
Notes:
• Construct shortest path tree by
tracing back predecessor nodes
• Ties may exist (broken arbitrarily)
Dijkstra’s Algorithm: Example 2
v 3 w
2 5
u 2 1 z
3
1 2
x y
1
* Check out the online interactive exercises for more examples:
http://gaia.cs.umass.edu/kurose_ross/interactive/
Dijkstra’s Algorithm: Example 2
Resulting shortest-path tree from node u:
destination Link
V (u,v) route from u to v directly
X (u,x)
Y (u,x) route from u to all other
destinations via x
W (u,x)
Z (u,x)
Dijkstra’s Algorithm, Discussion
Algorithm complexity: n nodes
• each iteration: need to check all nodes, w, not in N’
du ( z ) = min { c(u,v) + dv ( z ) ,
c(u,x) + dx ( z ) ,
c(u,w) + dw ( z ) }
= min {2 + 5,
1 + 3,
5 + 3} = 4
• node x:
– knows cost to each neighbor v: c(x,v)
– maintains its neighbors’ distance vectors
– For each neighbor v, x receives and maintains
D v = éëD v ( y ) : y ∈ Nùû
Distance Vector Algorithm (3 of 7)
Key Idea:
• Each node sends, periodically, its own distance vector
estimate to its neighbors
• when x receives new DV estimate from a neighbor, it
updates its own DV using the B-F update equation:
D x (y)
Dx(y) min
← min v {c(x,
v{c x,v + v)+D
Dv(y)}v (y)}
for for each
each node
node y ∊y N
∈N
←
2b
2a 2c
∂
1b 3b
2d
1a 1c ∂
3a 3c
AS 2
1d 3d
AS 1 eBGP connectivity AS 3
logical iBGP connectivity
• Policy-based routing:
– gateway receiving route advertisement uses import policy to
accept/decline path (e.g., never route through AS Y)
– AS policy also determines whether to advertise path to other
other neighboring ASes
BGP: Achieving Policy Via
Advertisements (1 of 2)
Scale:
• hierarchical routing saves table size, reduced update traffic
Performance:
• Intra-AS: can focus on performance (SP routes)
• Inter-AS: policy may dominate over performance