Date post: | 03-Apr-2018 |
Category: |
Documents |
Upload: | mauricio-huacho-checa |
View: | 243 times |
Download: | 0 times |
of 71
7/28/2019 Chapter4 Routing
1/71
Network Layer 4-1
Chapter 4 Network
Layer (4b - Routing)
Computer Networking:A Top Down ApproachFeaturing the Internet,5th edition.Jim Kurose, Keith RossAddison-Wesley, July2009.
A note on the use of these ppt slides:Were making these slides freely available to all (faculty, students, readers).
Theyre in PowerPoint form so you can add, modify, and delete slides
(including this one) and slide content to suit your needs. They obviously
represent a lotof work on our part. In return for use, we only ask the
following:
If you use these slides (e.g., in a class) in substantially unaltered form,that you mention their source (after all, wed like people to use our book!)
If you post any slides in substantially unaltered form 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.
Thanks and enjoy! JFK/KWR
All material copyright 1996-2006
J.F Kurose and K.W. Ross, All Rights Reserved JAC 10-25-2012
Modified by John CopelandGeorgia Tech
for use in ECE3076
7/28/2019 Chapter4 Routing
2/71
Network Layer 4-2
Chapter 4: Network Layer
4. 1 Introduction
4.2 Virtual circuit anddatagram networks
4.3 What
s inside arouter
4.4 IP: InternetProtocol Datagram format
IPv4 addressing
ICMP
IPv6
4.5 Routing algorithms Link state (OSPF) Distance Vector (RIP) Hierarchical routing (BGP)
4.6 Routing in theInternet RIP OSPF BGP
4.7 Broadcast andmulticast routing
7/28/2019 Chapter4 Routing
3/71
Network Layer 4-3
IP Addressing: introduction
IP address: 32-bitidentifier for host, androuter interface
interface:connectionbetween host/router and
physical link (sometimescalled a "port"). routers typically have
multiple interfaces
host typically has oneinterface
IP addresses associatedwith each interface
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
223.1.1.1 = 11011111 00000001 00000001 00000001
223 1 11
7/28/2019 Chapter4 Routing
4/71
Network Layer 4-4
Subnets
IP address: subnet part (high
order bits)
host part (low orderbits)
Whats a subnet ? device interfaces with
same subnet part of IPaddress
can physically reacheach other withoutintervening router
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
network consisting of 3 subnets
subnet
7/28/2019 Chapter4 Routing
5/71
Network Layer 4-5
Subnets 223.1.1.0/24 223.1.2.0/24
223.1.3.0/24
Recipe
To determine thesubnets, detach eachinterface from its
host or router,creating islands ofisolated networks.Each isolated network
is called a subnet.Subnet mask: /24
7/28/2019 Chapter4 Routing
6/71
Network Layer 4-6
Subnets
How many? 223.1.1.1
223.1.1.3
223.1.1.4
223.1.2.2223.1.2.1
223.1.2.6
223.1.3.2223.1.3.1
223.1.3.27
223.1.1.2
223.1.7.0
223.1.7.1223.1.8.0223.1.8.1
223.1.9.1
223.1.9.2
Stub Subnet ->223.1.2.0/24
Transit Subnet ->223.1.9.0/28
Stub Subnet ->
223.1.3.0/24
223.1.1.0/24
223.1.8.0/28
7/28/2019 Chapter4 Routing
7/71
Network Layer 4-7
Stub Subnet223.1.2.0/24
Transit Subnet223.1.9.0/28
Stub Subnet223.1.3.0/24
Transit Subnet223.1.7.0/28
Stub Subnet223.1.1.0/24
Transit Subnet223.1.8.0/28
A
C
B
Routers ("Nodes") designated by a letter: A, B, C, ...All subnets are either:Transit Subnets ("Links" between nodes: A-B, B-C, A-C)
orStub Subnets (connected to a single "gateway" router)designated by the same letter: A, B, C, ...
Simplified Network
A C
B
A-B
A-C
B-C
7/28/2019 Chapter4 Routing
8/71
Network Layer 4-8
1
23
223.1.3.123
Destination address (IPd) in arriving
packets IP header
routing algorithm
Interplay between routing, forwarding
AC
B
D
A-CA-D
A-B
Routing Table for Node A
Network Address Network Mask Port (A- )
223.1.1.0 255.255.255.0 B
223.1.2.0 255.255.255.0 Local
223.1.3.0 255.255.255.0 C
Match row "i" if:IPd & Maski = NetAddri
Use match with largest Maski.
7/28/2019 Chapter4 Routing
9/71
Network Layer 4-9
u
yx
wv
z2
2
13
1
1
2
53
5
Graph: G = (N,E)
N = set of routers = { u, v, w, x, y, z } (Nodes)
E = set of links ={ (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) } (Edges)
Graph abstraction
Remark: Graph abstraction is useful in other network contexts
Example: P2P, where N is set of peers and E is set of TCP connections
"Cost" of Link
7/28/2019 Chapter4 Routing
10/71
Network Layer 4-10
Graph abstraction: costs
u
yx
wv
z2
2
1
3
1
1
2
53
5 c(x,x) = cost of link (x,x)
- e.g., c(w,z) = 5
cost could always be 1, or
inversely related to bandwidth,or inversely related tocongestion
Cost of path (x1, x2, x3,, xp) = c(x1,x2) + c(x2,x3) + + c(xp-1,xp)
Question: Whats the least-cost path between u and z ?
Routing algorithm: algorithm that finds least-cost path
7/28/2019 Chapter4 Routing
11/71
Network Layer 4-11
Routing Algorithm classification
Global or decentralizedinformation?Global (e.g., OSPF): all routers have complete
topology, link cost info
link state algorithms
Decentralized (e.g., RIP): router knows physically-
connected neighbors, linkcosts to neighbors
iterative process ofcomputation, exchange ofinfo with neighbors
distance vectoralgorithms
Static or dynamic?Static (Manual updates):
routes change slowlyover time
Dynamic (RIP, OSPF):
routes change morequickly
periodic update
in response to linkcost changes
7/28/2019 Chapter4 Routing
12/71
Network Layer 4-12
A Link-State Routing Algorithm(OSPF)
Dijkstras algorithm net topology, link costs
known to all nodes
accomplished via link
state broadcast all nodes have same info
computes least cost pathsfrom one node (source)to all other nodes
gives forwarding tablefor that node
iterative: after kiterations, know least costpath to k dest.s
Notation:
c(x,y): link cost from nodex to y; = if not directneighbors
D(v): current value of costof path from source todest. v
p(v): predecessor node
along path from source to v N': set of nodes whose
least cost path definitivelyknown
7/28/2019 Chapter4 Routing
13/71
Network Layer 4-13
Dijsktras Algorithm
1 Init ial ization: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 un t i l al l nodes in N'
7/28/2019 Chapter4 Routing
14/71
Network Layer 4-14
Dijkstras algorithm: example (for "u") - 1
u
yx
wv
z2
2
13
1
1
2
53
5
Permanent Nodes: u (start with home node)Temporary Nodes: v(u,2), x(u,1), w(u,5)
(linked to a permanent node, path cost in ()s)New Permanent Node: x(u,2) (lowest-cost path to u)
New Permanent Link: u-xDelete Links: (from new permanent node to anypermanent node, other than the New Permanent Link)
7/28/2019 Chapter4 Routing
15/71
Network Layer 4-15
Dijkstras algorithm: example (for "u") - 2
u
yx
wv
z2
2
13
1
1
2
53
5
Permanent Nodes: u(0), x(2)Temporary Nodes: v(u,2 or x,3), y(x,2), w(x,4 or u,5)
New Permanent Node: v(u,2)New Permanent Link: v-uDelete Link: v-x
Note: You can wait to delete (all non-permanent) linksafter the tree is complete.
7/28/2019 Chapter4 Routing
16/71
Network Layer 4-16
Dijkstras algorithm: example (for "u") - 3
u
yx
wv
z2
2
13
1
1
2
53
5
Permanent Nodes: u, x(1), v(2)Temporary Nodes: y(x,2), w(y,3 or x,4 or v,5)
New Permanent Node: y(x,2)New Permanent Link: x-yDelete Link: none
7/28/2019 Chapter4 Routing
17/71
Network Layer 4-17
Dijkstras algorithm: example (for "u") - 4
u
yx
wv
z2
2
13
1
1
2
53
5
Permanent Nodes: u, x(1), v(2), y(2)Temporary Nodes: w(y,3 or x,4 or v,5 or u,5), z(y,4)
New Permanent Node: w(y,3)New Permanent Link: w-y
Delete Links: w-x, w-v, w-u
7/28/2019 Chapter4 Routing
18/71
Network Layer 4-18
Dijkstras algorithm: example (for "u") - 5
u
yx
wv
z2
2
13
1
1
2
53
5
Permanent Nodes: u, x(1), v(2), y(2), w(3)Temporary Nodes: z(y,4 or w,8)
New Permanent Node: z(y,4)
New Permanent Link: y-zDelete Link: z-w
This is called the "shortest-path tree", or"sink tree," for node u.
7/28/2019 Chapter4 Routing
19/71
Network Layer 4-19
Dijkstras algorithm: example (2)
u
yx
wv
z
Resulting shortest-path tree from u:
vx
y
w
z
(u,v)(u,x)
(u,x)
(u,x)
(u,x)
destination link
Resulting forwarding table in u:
Two-step process based oninformation received bybroadcast OSPF messagesfrom every router.
1. Construct a table of all
advertised blocks andthe edge router whichconnects to them.
2. Add link to forward onfor each edge router,based on the routing
algorithm.
7/28/2019 Chapter4 Routing
20/71
Network Layer 4-20
u
yx
wv
z
2
2
1
3
1
1
2
5
3
5 (link cost)
Graphical Method - Sink Treefor Node "U"
(animated - keep clicking)
2
1
3
5 (total cost)
4
2
5
4
83
Next Slide
7/28/2019 Chapter4 Routing
21/71
Network Layer 4-21
Chapter 4: Network Layer
4. 1 Introduction
4.2 Virtual circuit anddatagram networks
4.3 What
s inside arouter
4.4 IP: InternetProtocol Datagram format
IPv4 addressing
ICMP
IPv6
4.5 Routing algorithms Link state (OSPF) Distance Vector (RIP) Hierarchical routing
4.6 Routing in theInternet RIP OSPF BGP
4.7 Broadcast andmulticast routing
7/28/2019 Chapter4 Routing
22/71
Network Layer 4-22
Distance Vector Algorithm (RIP)
Bellman-Ford Equation (dynamic programming)
Define
dx(y) := cost of least-cost path from x to y
Then
dx(y) = min {c(x,v) + dv(y) }
where min is taken over all neighbors v of x.
This is the distance to y advertised by x.
x will forward datagrams for y to v.
v
7/28/2019 Chapter4 Routing
23/71
Network Layer 4-23
Bellman-Ford algorithm example
u
yx
wv
z2
2
13
1
1
2
53
5
Known:, dv(z) = 5, dx(z) = 3, dw(z) = 3
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 ( -> x)
B-F equation says:
Find forwarding link for u to z when the costto neighbors is known, c(u,?), and the
cost from neighbors to z, d?(z) is known.
u
x
w
v z2
13
5
3
5
The way u sees the network.
Node that provides minimum distance (node x) is next
hop in shortest path to z, forwarding table
7/28/2019 Chapter4 Routing
24/71
Network Layer 4-24
Distance Vector Algorithm
Dx(y) = estimate of least cost from x to y
Node x knows cost to each neighbor v:c(x,v)
Node x maintains distance vector Dx =[Dx(y): y N ]
Node x also maintains its neighbors
distance vectors For each neighbor v, x maintains
Dv = [Dv(y): y N ]
7/28/2019 Chapter4 Routing
25/71
Network Layer 4-25
Distance vector algorithm (4)
Basic idea:
Each node periodically sends its own distancevector estimate to neighbors
When a node x receives new DV estimate fromneighbor, it updates its own DV using B-F equation:
Dx(y) minv{c(x,v) + Dv(y)} for each node yN
Under minor changes, natural conditions, theestimated Dx(y) converges to the actual least costdx(y)
7/28/2019 Chapter4 Routing
26/71
Network Layer 4-26
Distance Vector Algorithm (5)
Iterative, asynchronous:each local iteration causedby:
local link cost change
DV update message from
neighborDistributed: each node notifies
neighbors onlywhen its DVchanges neighbors then notify
their neighbors ifnecessary
waitfor (change in local linkcost or msg from neighbor)
recompute estimates
if DV to any dest haschanged, notifyneighbors
Each node:
D ( ) i { ( )
7/28/2019 Chapter4 Routing
27/71
Network Layer 4-27
x y z
xyz
0 2 7
from
cost to
from
from
x y zx
yz
0 2 3
from
cost tox y z
xyz
0 2 3
from
cost to
x y zx
yz
cost to
x y zx
yz
0 2 7
from
cost to
x y z
xyz
0 2 3
from
cost to
x y z
xyz
0 2 3
from
cost tox y z
xyz
0 2 7
from
cost to
x y z
xyz
7 1 0
cost to
2 0 1
2 0 17 1 0
2 0 17 1 0
2 0 13 1 0
2 0 13 1 0
2 0 1
3 1 0
2 0 1
3 1 0
time
x z12
7
y
node x table
node y table
node z table
Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)}= min{2+0 , 7+1} = 2
Dx(z) =min{c(x,y) +Dy(z), c(x,z) + Dz(z)}
= min{2+1 , 7+0} = 3
+
7/28/2019 Chapter4 Routing
28/71
Network Layer 4-28
Distance Vector: link cost changes
Link cost changes: node detects local link cost change
updates routing info, recalculatesdistance vector
if DV changes, notify neighbors
goodnews
travelsfast
x z
14
50
y1
At time t0, ydetects the link-cost change, updates its DV,and informs its neighbors.
At time t1, zreceives the update from yand updates its table.It computes a new least cost to x and sends its neighbors its DV
At time t2, yreceives zs update and updates its distance table.ys least costs do not change and hence y does notsend anymessage to z.
7/28/2019 Chapter4 Routing
29/71
Network Layer 4-29
Distance Vector: link cost changes
Link cost changes: good news travels fast
bad news travels slow -count to infinity problem!
44 iterations before
algorithm stabilizes: seetext
Poisoned reverse: If Z routes through Y to
get to X : Z tells Y its (Zs) distance
to X is infinite (so Y wontroute to X via Z)
will this completely solvecount to infinity problem?
x z
14
50
y60
Y advertises X in 4 hops
Z sends datagrams for X to YZ advertises "X in 5 hops".
Y-X link cost goes to 60
Y thinks Z can route in 5 hops,
so Y advertises "X in 6", sends
datagrams back to Z.Z sends datagrams back to Y,
advertises "X in 7".
Y sends datagrams back to Z,
advertises "X in 8".
( l h )
7/28/2019 Chapter4 Routing
30/71
Network Layer 4-30
RIP (Distance-Vector Algorithm)
A
B
CX
M
Y Z
Router A Table
Prefix Distance Port
128.230. 2 X
130.207. 6 N
209.196. 7 X
24.56. 9 X
Router B Table
Prefix Distance Port
128.230. 2 X
130.207. 6 X
209.196. 5 M
24.56. 11 X
Router C Table
Prefix Distance Port
128.230. 2 X
130.207. 4 X
209.196. 7 X
24.56. 11 P
Construct the Routing Table for Router X. Use "L" for the port to the local LAN.
Using Poison Reverse*, construct the Updates sent from Router X to A, B, and C. (infinity -> 15).
Update X to A Table
Prefix Distance
128.230. 1
130.207. 5
209.196. 6
24.56. 15
Update X to B Table
Prefix Distance
128.230. 1
130.207. 5
209.196. 15
24.56. 10
Update X to C Table
Prefix Distance
128.230. 1
130.207. 15
209.196. 6
24.56. 10
128.230.0.0/16
Router X Table
Prefix Distance Port
128.230. 1 L
130.207. 5 C
209.196. 6 B
24.56. 10 A
111
0
Router X Calculation
Prefix Distance - A Distance - B Distance - C Min + 1 Closest Rtr
128.23 1 1 1 0* *Local
130.207. 6 6 4 5 C
209.196 7 5 7 6 B
24.96. 9 11 11 10 A
000
*For "Poison Reverse" a distance of 15 is sent to destination router
This is the format for a quiz question.
7/28/2019 Chapter4 Routing
31/71
Network Layer 4-31
Comparison of LS (OSPF) and DV (RIP) algorithmsLS = Link State, DV = Distance Vector)
Message complexity LS: with n nodes, E links,
O(nE) msgs sent
DV: exchange betweenneighbors only
convergence time varies
Speed of Convergence LS: O(n2) algorithm requires
O(nE) msgs
may have oscillations DV: convergence time varies
may be routing loops
count-to-infinity problem
Robustness: what happens ifrouter malfunctions?
LS: node can advertise incorrect
linkcost each node computes only its
owntableDV:
DV node can advertiseincorrectpathcost
each nodes table used byothers
errors propagate thru thenetwork
7/28/2019 Chapter4 Routing
32/71
Network Layer 4-32
Chapter 4: Network Layer
4. 1 Introduction
4.2 Virtual circuit anddatagram networks
4.3 What
s inside arouter
4.4 IP: InternetProtocol Datagram format
IPv4 addressing
ICMP
IPv6
4.5 Routing algorithms Link state
Distance Vector
Hierarchical routing
4.6 Routing in theInternet RIP
OSPF
BGP 4.7 Broadcast and
multicast routing
7/28/2019 Chapter4 Routing
33/71
Network Layer 4-33
Hierarchical Routing
scale: with 200 milliondestinations:
cant store all dests in
routing tables! routing table exchange
would swamp links!
administrative autonomy internet = network of
networks
each network admin maywant to control routing in itsown network
Our routing study thus far - idealization all routers identical
network flat
nottrue in practice
7/28/2019 Chapter4 Routing
34/71
Network Layer 4-34
Hierarchical RoutingBGP - Border Gateway Protocol
aggregate routers intoregions,autonomoussystems (AS)
routers in same AS runsame routing protocol [no,
hierarchical architecturesare possible]
intra-AS routingprotocol
routers in different AS
can run different intra-AS routing protocol
Gateway router
Direct link to router inanother AS
7/28/2019 Chapter4 Routing
35/71
Network Layer 4-35
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-AS
Routing
algorithm
Inter-AS
Routing
algorithm
Forwarding
table
3c
Interconnected ASes
Forwarding table isconfigured by bothintra- and inter-ASrouting algorithm
Intra-AS sets entriesfor internal dests
Inter-AS & Intra-Assets entries forexternal dests
7/28/2019 Chapter4 Routing
36/71
Network Layer 4-36
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
3c
Inter-AS tasks Suppose router in AS1
receives datagram forwhich destination isoutside of AS1 Router should forward
packet towards one of
the gateway routers,but which one?
AS1 needs:
1. to learn which dests
are reachable throughAS2 and whichthrough AS3
2. to propagate this
reachability info to allrouters in AS1
Job of inter-AS routing!
7/28/2019 Chapter4 Routing
37/71
Network Layer 4-37
Example: Setting forwarding table in router 1d
Suppose AS1 learns (via inter-AS protocol) that subnetxis reachable via AS3 (gateway 1c) but not via AS2.
Inter-AS protocol propagates reachability info to allinternal routers.
Router 1d determines from intra-AS routing info thatits interface I is on the least cost path to 1c.
Puts in forwarding table entry (x,I).
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
3c
X
7/28/2019 Chapter4 Routing
38/71
Network Layer 4-38
Example: Choosing among multiple ASes
Now suppose AS1 learns from the inter-AS protocolthat subnet xis reachable from AS3 andfrom AS2.
To configure forwarding table, router 1d mustdetermine towards which gateway it should forwardpackets for dest x.
This is also the job on inter-AS routing protocol!
3b
1d
3a
1c2aAS3
AS1
AS21a
2c 2b
1b
3c
X
7/28/2019 Chapter4 Routing
39/71
Network Layer 4-39
Learn from inter-ASprotocol that subnet
x is reachable via
multiple gateways
Use routing info
from intra-ASprotocol to determine
costs of least-cost
paths to each
of the gateways
Hot potato routing:Choose the gateway
that has the
smallest least cost
Determine from
forwarding table theinterface I that leads
to least-cost gateway.
Enter (x,I) in
forwarding table
Example: Choosing among multiple ASes
Now suppose AS1 learns from the inter-AS protocolthat subnet xis reachable from AS3 andfrom AS2.
To configure forwarding table, router 1d mustdetermine towards which gateway it should forwardpackets for dest x.
This is also the job on inter-AS routing protocol! Hot potato routing: send packet towards closest oftwo routers.
7/28/2019 Chapter4 Routing
40/71
Network Layer 4-40
Chapter 4: Network Layer
4. 1 Introduction
4.2 Virtual circuit anddatagram networks
4.3 Whats inside arouter
4.4 IP: InternetProtocol Datagram format
IPv4 addressing
ICMP
IPv6
4.5 Routing algorithms Link state
Distance Vector
Hierarchical routing
4.6 Routing in theInternet RIP
OSPF
BGP 4.7 Broadcast and
multicast routing
7/28/2019 Chapter4 Routing
41/71
Network Layer 4-41
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
IGRP: Interior Gateway Routing Protocol (Ciscoproprietary)
7/28/2019 Chapter4 Routing
42/71
Network Layer 4-42
Chapter 4: Network Layer
4. 1 Introduction
4.2 Virtual circuit anddatagram networks
4.3 Whats inside arouter
4.4 IP: InternetProtocol Datagram format
IPv4 addressing
ICMP
IPv6
4.5 Routing algorithms Link state
Distance Vector
Hierarchical routing
4.6 Routing in theInternet RIP (Distance Vector)
OSPF (Link State)
BGP (Hierarchical) 4.7 Broadcast and
multicast routing
7/28/2019 Chapter4 Routing
43/71
Network Layer 4-43
RIP ( Routing Information Protocol)
Distance vector algorithm
Included in BSD-UNIX Distribution in 1982
Distance metric: # of hops (max = 15 hops)
DC
BA
u v
w
x
yz
destination hopsu 1v 2
w 2x 3y 3z 2
From router A to subsets:
7/28/2019 Chapter4 Routing
44/71
Network Layer 4-44
RIP advertisements
Distance vectors*: exchanged amongneighbors every 30 sec via ResponseMessage (also called advertisement)
Each advertisement: list of up to 25destination nets within AS
* List of all subnets and their "distance" (cost: delay, hops, ).
7/28/2019 Chapter4 Routing
45/71
Network Layer 4-45
RIP: Example
Destination Network Next Router Num. of hops to dest.
w A 2y B 2
z B 7x -- 1. . ....
w x yz
A
C
D B
Routing table in D
E l
7/28/2019 Chapter4 Routing
46/71
Network Layer 4-46
RIP: Example
Destination Network Next Router Num. of hops to dest.
w A 2y B 2z B A 7 5x -- 1. . ....
Routing table in D
w x y
z
A
C
D B
Dest Next hopsw - 1
x - 1z C 4. ...
Advertisement
from A to D
7/28/2019 Chapter4 Routing
47/71
Network Layer 4-47
RIP: Link Failure and Recovery
If no advertisement heard after 180 sec -->neighbor/link declared dead
routes via neighbor invalidated
new advertisements sent to neighbors
neighbors in turn send out new advertisements (iftables changed)
link failure info quickly (?) propagates to entire net
poison reverse used to prevent ping-pong loops
(infinite distance = 15 hops)
7/28/2019 Chapter4 Routing
48/71
Network Layer 4-48
RIP Table processing
RIP routing tables managed by application-levelprocess called route-d (daemon)
advertisements sent in UDP packets, periodicallyrepeated
physical
link
network forwarding(IP) table
Transprt(UDP)
routed
physical
link
network(IP)
Transprt(UDP)
routed
forwardingtable
7/28/2019 Chapter4 Routing
49/71
Network Layer 4-49
Chapter 4: Network Layer
4. 1 Introduction
4.2 Virtual circuit anddatagram networks
4.3 Whats inside arouter
4.4 IP: InternetProtocol Datagram format
IPv4 addressing ICMP
IPv6
4.5 Routing algorithms Link state
Distance Vector
Hierarchical routing
4.6 Routing in theInternet RIP
OSPF
BGP 4.7 Broadcast and
multicast routing
7/28/2019 Chapter4 Routing
50/71
Network Layer 4-50
OSPF (Open Shortest Path First)
open: publicly available
Uses Link State algorithm Link State packet dissemination
Topology map at each node
Route computation using Dijkstras algorithm
OSPF advertisement carries one entry per neighborrouter
Advertisements disseminated to entire AS (viaflooding) [exception Hierarchical Routing] Carried in OSPF messages directly over IP (rather than TCP
or UDP
7/28/2019 Chapter4 Routing
51/71
Network Layer 4-51
OSPF advanced features (not in RIP)
Security: all OSPF messages authenticated (toprevent malicious intrusion)
Multiple same-cost paths allowed (only one path inRIP)
For each link, multiple cost metrics for differentTOS (e.g., satellite link cost set low for besteffort; high for real time)
Integrated uni- and multicast support:
Multicast OSPF (MOSPF) uses same topology database as OSPF
Hierarchical OSPF in large domains.
7/28/2019 Chapter4 Routing
52/71
Network Layer 4-52
Hierarchical OSPF
Boundary routers canaggregate internalroutes.
7/28/2019 Chapter4 Routing
53/71
Network Layer 4-53
Hierarchical OSPF
Two-level hierarchy: local area, backbone. Link-state advertisements only in area
each nodes has detailed area topology; only knowdirection (shortest path) to nets in other areas.
Area border routers:summarize distances tonets in own area, advertise to other Area Borderrouters.
Backbone routers: run OSPF routing limited to
backbone. Boundary routers: connect to other ASs.
7/28/2019 Chapter4 Routing
54/71
Network Layer 4-54
Chapter 4: Network Layer
4. 1 Introduction
4.2 Virtual circuit anddatagram networks
4.3 Whats inside arouter
4.4 IP: InternetProtocol Datagram format
IPv4 addressing ICMP
IPv6
4.5 Routing algorithms Link state
Distance Vector
Hierarchical routing
4.6 Routing in theInternet RIP
OSPF
BGP 4.7 Broadcast and
multicast routing
7/28/2019 Chapter4 Routing
55/71
Network Layer 4-55
Internet inter-AS routing: BGP
BGP (Border Gateway Protocol):thedefacto standard
BGP provides each AS a means to:1. Obtain subnet reachability information from
neighboring ASs.2. Propagate reachability information to all AS-
internal routers.3. Determine good routes to subnets based on
reachability information and policy. allows subnet to advertise its existence to
rest of Internet: I am here
BGP b i
7/28/2019 Chapter4 Routing
56/71
Network Layer 4-56
BGP basics Pairs of routers (BGP peers) exchange routing info
over semi-permanent TCP connections: BGP sessions BGP sessions need not correspond to physical links.
When AS2 advertises a prefix to AS1, AS2 ispromisingit will forward any datagrams destined tothat prefix towards the prefix. AS2 can aggregate prefixes in its advertisement
3b
1d
3a
1c
2aAS3
AS1
AS21a
2c
2b
1b
3c
eBGP session
iBGP session
Dist ib ti h bilit i f
7/28/2019 Chapter4 Routing
57/71
Network Layer 4-57
Distributing reachability info With eBGP session between 3a and 1c, AS3 sends prefix
reachability info to AS1. 1c can then use iBGP do distribute this new prefix reach info
to all routers in AS1 1b can then re-advertise new reachability info to AS2 over
1b-to-2a eBGP session When router learns of new prefix, creates entry for prefix
in its forwarding table.
3b
1d
3a
1c
2a
AS3
AS1
AS21a
2c
2b
1b
3c
eBGP session
iBGP session
7/28/2019 Chapter4 Routing
58/71
Network Layer 4-58
Path attributes & BGP routes
When advertising a prefix, advert includes BGPattributes. prefix + attributes = route
Two important attributes: AS-PATH: contains ASs through which prefix advertisement
has passed: AS 67 AS 17
NEXT-HOP: Indicates specific internal-AS router to next-hop AS. (There may be multiple links from current AS tonext-hop-AS.)
When gateway router receives route advertisement,uses import policy to accept/decline.
7/28/2019 Chapter4 Routing
59/71
Network Layer 4-59
BGP route selection
Router may learn about more than 1 routeto some prefix. Router must select route.
Elimination rules:
1. Local preference value attribute: policydecision
2. Shortest AS-PATH
3. Closest NEXT-HOP router: hot potato routing
4. Additional criteria
7/28/2019 Chapter4 Routing
60/71
Network Layer 4-60
BGP messages
BGP messages exchanged using TCP. BGP messages:
OPEN: opens TCP connection to peer andauthenticates sender
UPDATE: advertises new path (or withdraws old) KEEPALIVE keeps connection alive in absence of
UPDATES; also ACKs OPEN request
NOTIFICATION: reports errors in previous msg;also used to close connection
7/28/2019 Chapter4 Routing
61/71
Network Layer 4-61
BGP routing policy
A,B,C are provider networks
X,W,Y are customer (of provider networks)
X is dual-homed: attached to two networks X does not want to route from B via X to C
.. so X will not advertise to B a route to C
7/28/2019 Chapter4 Routing
62/71
Network Layer 4-62
BGP routing policy (2)
A advertises to B the path AW
B advertises to X the path BAW
Should B advertise to C the path BAW? No way! B gets no revenue for routing CBAW since neitherW nor C are Bs customers
B wants to force C to route to w via A
B wants to route onlyto/from its customers!
7/28/2019 Chapter4 Routing
63/71
Network Layer 4-63
Why different Intra- and Inter-AS routing ?
Policy: Inter-AS: admin wants control over how its traffic
routed, who routes through its net.
Intra-AS: single admin, so no policy decisions needed
Scale: hierarchical routing saves table size, reduced update
traffic
Performance:
Intra-AS: can focus on performance
Inter-AS: policy may dominate over performance
7/28/2019 Chapter4 Routing
64/71
4-64
Area: Lab, Home Intra-AS (Ga.Tech)
Inter-AS
Routing Type: Distance Vector Link State Manual + Others
Example Protocol: RIP OSPF, IGMP BGP
RoutingAlgorithm
Bellman-Ford, wPoison Reverse
Dijkstra Mixed
Cost Unit: Links Delay Dollars, Policy,Rules
Messaging: UDP/IP unicast OSPF/IPbroadcast (flood)
TCP/IP unicast
Adjust tocongestion:
No Yes Some places
Maximum Path: path:
7/28/2019 Chapter4 Routing
65/71
Network Layer 4-65
Chapter 4: Network Layer
4. 1 Introduction 4.2 Virtual circuit and
datagram networks
4.3 Whats inside arouter
4.4 IP: InternetProtocol Datagram format
IPv4 addressing ICMP
IPv6
4.5 Routing algorithms Link state
Distance Vector
Hierarchical routing
4.6 Routing in theInternet RIP
OSPF
BGP 4.7 Broadcast and
multicast routing
Broadcast Routing
7/28/2019 Chapter4 Routing
66/71
Network Layer 4-66
R1
R2
R3 R4
source
duplication
R1
R2
R3 R4
in-network
duplication
duplicate
creation/transmissionduplicate
duplicate
Broadcast Routing
Deliver packets from source to all other nodes
Source duplication is inefficient:
Source duplication: how does sourcedetermine recipient addresses?
7/28/2019 Chapter4 Routing
67/71
Network Layer 4-67
In-network duplication
Flooding: when node receives brdcst pckt,sends copy to all neighbors Problems: cycles & broadcast storm
Controlled flooding: node only broadcasts pkt
if it hasnt broadcast the same packet beforeNode keeps track of pckt ids already brdcsted
Or reverse path forwarding (RPF): only forwardpckt if it arrived on shortest path between node
and sourceSpanning tree
No redundant packets received by any node
7/28/2019 Chapter4 Routing
68/71
Network Layer 4-68
A
B
G
D
E
c
F
A
B
G
D
E
c
F
(a) Broadcast initiated at A (b) Broadcast initiated at D
Spanning Tree
First construct a spanning treeNodes forward copies only along spanning
tree
7/28/2019 Chapter4 Routing
69/71
Multicast Routing: Problem Statement
Goal:find a tree (or trees) connectingrouters having local multicast group members
tree:not all paths between routers used
source-based:different tree from each sender to rcvrs
shared-tree:same tree used by all group members
Shared tree Source-based trees
mc:/Users/copeland root# netstat -r -a -l -n #MacOS 10.4
R ti t bl
7/28/2019 Chapter4 Routing
70/71
Network Layer 4-70
Routing tables
Internet:
Destination Gateway Flags Refs Use Mtu Netif
default (0/0) 199.77.146.1 UGSc 6 6716 1500 en0
17.112.152.32 199.77.146.1 UGHW3 0 6683 1500 en0
127 (local) 127.0.0.1 UCS 0 0 16384 lo0
127.0.0.1 127.0.0.1 UH 10 21599 16384 lo0
130.207.230.13 199.77.146.1 UGHW3 0 6746 1500 en0
130.207.244.240 199.77.146.1 UGHW 1 52 1500 en0
130.207.244.244 199.77.146.1 UGHW 1 1041 1500 en0
169.254 link#4 UCS 0 0 1500 en0
199.77.146/25 link#4 UCS 1 0 1500 en0199.77.146.1 0:11:bc:f4:14:0 UHLW 6 0 1500 en0
199.77.146.101 127.0.0.1 UHS 2 397306 16384 lo0
224.0.0.251 199.77.146.1 UGHW 1 270 1500 en0
127. /8 local Local links for inter-process communication
169.254 /16 blackhole Not allocated (see RFC 3330, used when no IP)
224.0.0..0/4 (1110xxxx.X.X.X) is multicast or anycast
en0 is Ethernet, lo0 is local OS port (loopback).
Flags: U=usable, G=gateway, H=host, W=setup by process, S=static
Multicast and Anycast, 224.0.0.0 - 239.255.255.255
7/28/2019 Chapter4 Routing
71/71
mc:/Users/copeland root# tcpdump -nvli en0 'ip[16]==224'tcpdump: listening on en0, link-type EN10MB (Ethernet), capture size 96 bytes
08:04:06 IP (tos 0xc0,ttl 1, id 31543, off 0, len:116)199.77.146.1 > 224.0.0.5:
OSPFv2, Hello (1), len:80 [len 44]
08:04:09 IP (tos 0xc0,ttl 1, id 31568, off 0, len:54) 199.77.146.1 >
224.0.0.13:pim v2 Hello (Hold-time 1m45s (Genid: 0xdf5b6033)(DR-Priority: 1)(State
Refresh Capable;v1)
08:04:15 IP (tos 0xc0,ttl 1, id 31584, off 0, len:28) 199.77.146.1 > 224.0.0.1:
igmp query v208:04:16 IP (tos 0xc0,ttl 1, id 31610, off 0, len:116)199.77.146.1 > 224.0.0.5:
OSPFv2, Hello (1), len:80 [len 44]
08:04:19 IP (tos 0x0, ttl 1, id 32954, off 0, len:28) 199.77.146.99> 224.0.1.60:
igmp v1 report 224.0.1.6008:04:23 IP (tos 0x0, ttl 1, id 2665, off 0, len:32, opt:4 199.77.146.101 > 224.0.0.251:
igmp v2 report 224.0.0.251
08:04:26 IP (tos 0xc0,ttl 1, id 31680, off 0, len:116)199.77.146.1 > 224.0.0.5:
OSPFv2, Hello (1), len:80 [len 44]
08:04:39 IP (tos 0xc0,ttl 1, id 31814, off 0, len:54) 199.77.146.1 > 224.0.0.13:
pim v2 Hello (Hold-time 1m45s) (Genid: 0xdf5b6033)(DR-Priority: 1)(State Refresh
Capable;v1)
08:04:56 IP (tos 0xc0,ttl 1, id 31988, off 0, len:116)199.77.146.1 > 224.0.0.5:
OSPFv2, Hello (1), len:80 [len 44]
08:05:15 IP (tos 0xc0,ttl 1, id 35789, off 0, len:28) 199.77.146.1 > 224.0.0.1:
igmp query v2
igmp and pim are multicast protocols.
OSPF routing uses "anycast"
All 3 use "ttl 1" only reaches neighbors