CH 4 Network Layer Network Layer: A Note On The Use of These PPT Slides
CH 4 Network Layer Network Layer: A Note On The Use of These PPT Slides
Ch
Network Layer
datagram
d t networks
t ks Distance Vector
Hierarchical routing
4.3 What’s inside a
router 4.6
4 6 Routing in the
4.4 IP: Internet
Internet
RIP
Protocol
OSPF
Datagram format
BGP
IPv4 addressing
g
ICMP 4.7
4 B Broadcast
d and
d
IPv6 multicast routing
encapsulates
p segments
gm
network physical
physical
data link
physical
into datagrams
network network
data link data link
physical physical
router
t examines i h
header
d
physical
fields in all IP datagrams
passing through it
Network Layer 4-4
Two Key Network
Network-Layer
Layer Functions
routing
g algorithms
g
routing algorithm
value in arriving
packet’s
k t’ h
header
d
0111 1
3 2
I t
Internet
t best ff t none
b t effort no no no no (inferred
(i f d
via loss)
ATM CBR constant yes yes yes no
rate congestion
ATM VBR guaranteed yes yes yes no
rate congestion
g
ATM ABR guaranteed no yes no yes
minimum
ATM UBR o e
none o
no yes no no
datagram
d t networks
t ks Distance Vector
Hierarchical routing
4.3 What’s inside a
router 4.6
4 6 Routing in the
4.4 IP: Internet
Internet
RIP
Protocol
OSPF
Datagram format
BGP
IPv4 addressing
g
ICMP 4.7
4 B Broadcast
d and
d
IPv6 multicast routing
call setup, teardown for each call before data can flow
each packet carries VC identifier (not destination host
address)
dd )
every router on source-dest path maintains “state” for
each p passing
g connection
link, router resources (bandwidth, buffers) may be
allocated to VC (dedicated resources = predictable service)
12 22 32
1 3
2
Forwarding
F din ttable
bl in interface
number
northwest router:
I
Incoming
i iinterface
t f I
Incoming
i VC # Outgoing
O t i interface
i t f Outgoing
O t i VC #
1 12 3 22
2 63 1 18
3 7 2 17
1 97 3 87
… … … …
application
transport 5.5 Data flow begins 6 Receive data application
6. pp
transport
network 4. Call connected 3. Accept call
network
data link 1. Initiate call 2. incoming call
data link
physical
h i l
physical
application
application
transport
transport
network
network
d t li
data link
k 1.
1 S
Send
dddata
t 2. Receive data
data link
physical
physical
otherwise
th i 3
Examples
datagram
d t networks
t ks Distance Vector
Hierarchical routing
4.3 What’s inside a
router 4.6
4 6 Routing in the
4.4 IP: Internet
Internet
RIP
Protocol
OSPF
Datagram format
BGP
IPv4 addressing
g
ICMP 4.7
4 B Broadcast
d and
d
IPv6 multicast routing
Physical layer:
bit-level reception
Data link layer: Decentralized switching:
e g Ethernet
e.g., given datagram dest.,
dest lookup output port
see chapter 5 using forwarding table in input port
memory
goal: complete input port processing at
‘line speed’
queuing: if datagrams arrive faster than
forwarding rate into switch fabric
System Bus
datagram
d t networks
t ks Distance Vector
Hierarchical routing
4.3 What’s inside a
router 4.6
4 6 Routing in the
4.4 IP: Internet
Internet
RIP
Protocol
OSPF
Datagram format
BGP
IPv4 addressing
g
ICMP 4.7
4 B Broadcast
d and
d
IPv6 multicast routing
Link layer
physical layer
datagram
d t networks
t ks Distance Vector
Hierarchical routing
4.3 What’s inside a
router 4.6
4 6 Routing in the
4.4 IP: Internet
Internet
RIP
Protocol
OSPF
Datagram format
BGP
IPv4 addressing
g
ICMP 4.7
4 B Broadcast
d and
d
IPv6 multicast routing
datagram
d t networks
t ks Distance Vector
Hierarchical routing
4.3 What’s inside a
router 4.6
4 6 Routing in the
4.4 IP: Internet
Internet
RIP
Protocol
OSPF
Datagram format
BGP
IPv4 addressing
g
ICMP 4.7
4 B Broadcast
d and
d
IPv6 multicast routing
Recipe
R cip
To determine the
subnets detach each
subnets,
interface from its
host or router,,
creating islands of
isolated networks.
E h isolated
Each i l d network
k
is called a subnet. 223.1.3.0/24
How many?
y 223.1.1.1 223.1.1.4
223.1.1.3
223.1.9.2 223.1.7.0
223.1.9.1 223.1.7.1
223.1.8.1 223.1.8.0
223.1.2.6 223.1.3.27
subnet host
part part
11001000 00010111 00010000 00000000
200 23 16 0/23
200.23.16.0/23
Network Layer 4-42
IP addresses: how to get one?
Goal:
G l allow
ll host to dynamically
h d i ll obtain
b i iits IP address
dd f
from
network server when it joins network
Can renew its lease on address in use
Allows reuse of addresses (only hold address while connected an
“on”)
Support for mobile users who want to join network (more shortly)
DHCP overview:
host broadcasts “DHCP discover” msg [optional]
DHCP server responds with “DHCP offer” msg
[optional]
l
host requests IP address: “DHCP request” msg
DHCP server sends address: “DHCP ack” msg
Network Layer 4-44
DHCP client-server
li t scenario
i
DHCP offer
src: 223.1.2.5, 67
dest: 255.255.255.255, 68
yiaddrr: 223.1.2.4
transaction ID: 654
Lifetime: 3600 secs
DHCP request
src: 0.0.0.0, 68
dest:: 255.255.255.255, 67
yiaddrr: 223.1.2.4
transaction ID: 655
time Lifetime: 3600 secs
DHCP ACK
src: 223.1.2.5, 67
dest: 255.255.255.255, 68
yiaddrr: 223.1.2.4
transaction ID: 655
Lifetime: 3600 secs
DHCP Eth
Phy server: use DHCP
Ethernet demux’ed
demux ed to IP
demux’ed, UDP demux’ed to
DHCP
encapsulation of DHCP
DHCP DHCP server, frame forwarded
DHCP UDP to client
client, demux’ing
demux ing up to
DHCP IP DHCP at client
DHCP Eth router client now knows its IP
DHCP
Phy (runs DHCP) address, name and IP
address of DSN server, IP
address of its first-hop
router
Organization 0
200.23.16.0/23
Organization 1
“Send
Send me anything
200.23.18.0/23 with addresses
Organization 2 beginning
200.23.20.0/23 . Fly-By-Night-ISP 200.23.16.0/20”
.
. . Internet
.
Organization 7 .
200.23.30.0/23
“Send me anything
ISPs-R-Us
with addresses
beginning
199.31.0.0/16”
199.31.0.0/16
“Send me anything
with addresses
Organization 2 beginning
200.23.20.0/23 . Fly-By-Night-ISP 200.23.16.0/20”
.
. . Internet
.
Organization 7 .
200.23.30.0/23
“Send me anything
ISPs-R-Us
with addresses
Organization 1 beginning 199.31.0.0/16
or 200.23.18.0/23”
200.23.18.0/23
Q: How
H d
does an ISP P get block
bl k of f addresses?
dd
A: ICANN: Internet Corporation
p for Assigned
g
Names and Numbers
allocates addresses
manages DNS
assigns
g domain names,, resolves disputes
p
10.0.0.4
10.0.0.2
138 76 29 7
138.76.29.7
10.0.0.3
Motivation:
M i i l
local
l network
k uses just
j one IP address
dd as
far as outside world is concerned:
range off addresses
dd ss s nott needed
d d from
f ISP:
ISP just
j st one IP
address for all devices
can change addresses of devices in local network
without notifying outside world
can change ISP without changing addresses of
devices in local network
devices inside local net not explicitly addressable,
visible by outside world (a security plus).
incoming
i i d
datagrams: replace
l (NAT IP address,
dd new
port #) in dest fields of every incoming datagram
p
with corresponding g (source
( IP address, port
p #))
stored
d in NAT
N table
bl
Network Layer 4-57
NAT: Network Address Translation
NAT translation table
2: NAT router 1: host 10.0.0.1
10 0 0 1
WAN side addr LAN side addr
changes datagram sends datagram to
138.76.29.7, 5001 10.0.0.1, 3345 128.119.40.186, 80
source addr from
…… ……
10 0 0 1 3345 to
10.0.0.1,
138.76.29.7, 5001, S: 10.0.0.1, 3345
updates table D: 128.119.40.186, 80
10 0 0 1
10.0.0.1
1
S: 138.76.29.7, 5001
2 D: 128.119.40.186, 80 10.0.0.4
10.0.0.2
138.76.29.7 S: 128.119.40.186, 80
D: 10.0.0.1, 3345 4
S: 128.119.40.186, 80
D: 138.76.29.7, 5001 3 10.0.0.3
. . .
4: NAT router
3: Reply arrives changes datagram
dest. address: dest addr from
138.76.29.7, 5001 138 76 29 7 5001 to 10
138.76.29.7, 10.0.0.1,
0 0 1 3345
16-bit
16 b port-number b f field:
ld
60,000 simultaneous connections with a single
L N d address!
LAN-side dd !
NAT is controversial:
routers should only process up to layer 3
violates end-to-end argument
• NAT possibility must be taken into account by app
designers, eg, P2P applications
address
dd ss shortage
sh t should
sh uld instead
inst d be
b solved
s lv d by
b
IPv6
2. connection to
relay initiated 1. connection to
b client
by li t relay
l initiated
initi t d
10.0.0.1
by NATted host
3. relaying
Client
established
138.76.29.7 NAT
router
datagram
d t networks
t ks Distance Vector
Hierarchical routing
4.3 What’s inside a
router 4.6
4 6 Routing in the
4.4 IP: Internet
Internet
RIP
Protocol
OSPF
Datagram format
BGP
IPv4 addressing
g
ICMP 4.7
4 B Broadcast
d and
d
IPv6 multicast routing
used
d by
b hosts
h t & routers
t to
t
communicate network-level Type Code description
information 0 0 echo reply (ping)
3 0 dest. network unreachable
error reporting:
3 1 dest host unreachable
unreachable host, network, 3 2 dest protocol unreachable
port, protocol 3 3 dest p
port unreachable
echo request/reply (used 3 6 dest network unknown
by ping) 3 7 dest host unknown
network-layer
y “above” IP: 4 0 source quench (congestion
ICMP msgs carried in IP control - not used)
datagrams 8 0 echo request (ping)
ICMP message
message: type, code plus 9 0 route advertisement
first 8 bytes of IP datagram 10 0 router discovery
causing error 11 0 TTL expired
12 0 bad IP header
datagram
d t networks
t ks Distance Vector
Hierarchical routing
4.3 What’s inside a
router 4.6
4 6 Routing in the
4.4 IP: Internet
Internet
RIP
Protocol
OSPF
Datagram format
BGP
IPv4 addressing
g
ICMP 4.7
4 B Broadcast
d and
d
IPv6 multicast routing
A B E F
Ph i l view:
Physical i
IPv6 IPv6 IPv4 IPv4 IPv6 IPv6
A B C D E F
Ph i l view:
Physical i
IPv6 IPv6 IPv4 IPv4 IPv6 IPv6
data data
A-to-B: E-to-F:
B-to-C: B-to-C:
t
IPv6 IP 6
IPv6
IPv6 inside IPv6 inside
IPv4 IPv4
Network Layer 4-72
Chapter 4: Network Layer
4.
4 1 Introduction
I d i 4
4.5
5 Routing
R i algorithms
l i h
4.2 Virtual circuit and Link state
datagram
d t networks
t ks Distance Vector
Hierarchical routing
4.3 What’s inside a
router 4.6
4 6 Routing in the
4.4 IP: Internet
Internet
RIP
Protocol
OSPF
Datagram format
BGP
IPv4 addressing
g
ICMP 4.7
4 B Broadcast
d and
d
IPv6 multicast routing
routing
ti algorithm
l ith
value in arriving
packet’s header
0111 1
3 2
v 3 w
2 5
u 2 z
1
3
1
x y 2
Graph: G = (N
(N,E)
E) 1
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) }
Routing
g algorithm:
g algorithm
g that finds least-cost p
path
datagram
d t networks
t ks Distance Vector
Hierarchical routing
4.3 What’s inside a
router 4.6
4 6 Routing in the
4.4 IP: Internet
Internet
RIP
Protocol
OSPF
Datagram format
BGP
IPv4 addressing
g
ICMP 4.7
4 B Broadcast
d and
d
IPv6 multicast routing
Dijk
Dijkstra’s
’ algorithm
l i h Notation:
N i
net topology, link costs c(x,y): link cost from node
known to all nodes x to y; = ∞ if not direct
accomplished via “link neighbors
state broadcast”
D(v): current value of cost
all nodes have same info of path from source to
computes least cost paths dest. v
from one node (‘source”)
( source ) to
all other nodes
( ) predecessor
p(v): d node
d
along path from source to v
gives forwarding table
f th
for thatt node
d N : set of nodes whose
N':
least cost path definitively
iterative: after k
known
iterations,, know least cost
path to k dest.’s
Network Layer 4-79
Dijsktra’ss Algorithm
Dijsktra
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 N'
v 3 w
2 5
u 2 z
1
3
1
x y 2
1
Network Layer 4-81
Dijkstra’ss algorithm: example (2)
Dijkstra
Resulting shortest-path tree from u:
v w
u z
x y
A A A A
1 1+e 2+e 0 0 2+e 2+e
D 0
B D B D B D B
0 0 1+e 1 0 0 1+e 1
0 C e 0 0 1 e
C C 1+e 0 C
1 1
e … recompute
p … recompute
p … recompute
p
initially
routing
Network Layer 4-83
Chapter 4: Network Layer
4.
4 1 Introduction
I d i 4
4.5
5RRouting
i algorithms
l i h
4.2 Virtual circuit and Link state
datagram
d t networks
t ks Distance Vector
Hierarchical routing
4.3 What’s inside a
router 4.6
4 6 Routing in the
4.4 IP: Internet
Internet
RIP
Protocol
OSPF
Datagram format
BGP
IPv4 addressing
g
ICMP 4.7
4 B Broadcast
d and
d
IPv6 multicast routing
Then
dx(y)
y = min
v
{c(x,v) + dv(y)
y }
from
y ∞∞ ∞ y 2 0 1
z ∞∞ ∞ z 7 1 0
node y table
cost to
x y z y
2 1
x ∞ ∞ ∞
x z
y 2 0 1
from
7
z ∞∞ ∞
node z table
cost to
x y z
x ∞∞ ∞
from
y ∞∞ ∞
z 71 0
f
time
Network Layer 4-90
Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} Dx(z) = min{c(x,y) +
= min{2+0 , 7+1} = 2 Dy(z), c(x,z) + Dz(z)}
node x table = min{2+1 , 7+0} = 3
cost to cost to cost to
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
from
y 2 0 1
z ∞∞ ∞ z 7 1 0 z 3 1 0
node y table
cost to cost to cost to
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
from
from
y 2 0 1 7
z ∞∞ ∞ z 7 1 0 z 3 1 0
node z table
cost to cost to cost to
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 71 0 z 3 1 0 z 3 1 0
f
time
Network Layer 4-91
Distance Vector: link cost changes
Link cost changes:
1
node detects local link cost change y
4 1
updates routing info, recalculates
x z
distance vector 50
if DV changes, notify neighbors
datagram
d t networks
t ks Distance Vector
Hierarchical routing
4.3 What’s inside a
router 4.6
4 6 Routing in the
4.4 IP: Internet
Internet
RIP
Protocol
OSPF
Datagram format
BGP
IPv4 addressing
g
ICMP 4.7
4 B Broadcast
d and
d
IPv6 multicast routing
3c
3a 2c
3b 2a
AS3 2b
1c AS2
1a 1b
1d
d AS1
forwarding table
configured by both
intra- and inter-AS
Intra-AS
Routing
Inter-AS
Routing routing algorithm
algorithm algorithm
intra-AS sets entries
Forwarding f int
for internal
n lddests
sts
table
inter-AS & intra-As
sets entries for
external dests
Network Layer 4-98
Inter-AS tasks AS1 must
must:
suppose router in AS1 1. learn which dests are
receives datagram reachable through
d
destined
d outside
d off AS2 which
AS2, hi h through
h h
AS1: AS3
router should 2 propagate this
2.
forward packet to reachability info to all
gateway router, but routers in AS1
which one? Job of inter-AS routing!
3c
3a 2c
3b 2a
AS3 2b
1c AS2
1a
a 1b
1d AS11
Network Layer 4-99
Example: Setting forwarding table in router 1d
suppose
pp AS1 learns (via
( inter-AS p
protocol)) that subnet
x reachable via AS3 (gateway 1c) but not via AS2.
inter-AS p
protocol propagates
p p g reachability
y info to all
internal routers.
router 1d determines from intra-AS routing info that
its interface I is on the least cost path to 1c.
installs forwarding table entry (x,I)
x
3c
3a
3 2c
3b 2a
AS3 2b
1c AS2
1
1a 1b AS1
1d
Network Layer 4-100
Example: Choosing among multiple ASes
now suppose AS1 learns from inter-AS protocol that
subnet x is reachable from AS3 and from AS2.AS2
to configure forwarding table, router 1d must
determine towards which gateway it should forward
packets
k t ffor ddestt x.
this is also job of inter-AS routing protocol!
x
3c
3a 2c
3b 2a
AS3 2b
1
1c AS2
1a 1b
1d AS1
datagram
d t networks
t ks Distance Vector
Hierarchical routing
4.3 What’s inside a
router 4.6
4 6 Routing in the
4.4 IP: Internet
Internet
RIP
Protocol
OSPF
Datagram format
BGP
IPv4 addressing
g
ICMP 4.7
4 B Broadcast
d and
d
IPv6 multicast routing
also
l known
k as Interior
I i G Gateway Protocols
P l (IGP)
most common Intra-AS routing protocols:
datagram
d t networks
t ks Distance Vector
Hierarchical routing
4.3 What’s inside a
router 4.6
4 6 Routing in the
4.4 IP: Internet
Internet
RIP
Protocol
OSPF
Datagram format
BGP
IPv4 addressing
g
ICMP 4.7
4 B Broadcast
d and
d
IPv6 multicast routing
distance
di vector algorithm
l i h
included in BSD-UNIX Distribution in 1982
distance metric: # of hops (max = 15 hops)
u destination hops
v
u 1
A B w v 2
w 2
x 3
x y 3
z C D z 2
y
C
Destination Network Next Router Num. of hops to dest.
w A 2
y B 2
z B 7
x -- 1
…. …. ....
R ti /F
Routing/Forwarding
di ttable
bl iin D
C
Destination Network Next Router Num
Num. of hops to dest
dest.
w A 2
y B 2
z B A 7 5
x -- 1
…. …. ....
Routing/Forwarding table in D Network Layer 4-109
RIP: Link Failure and Recovery
If
f no aadvertisement
rt s m nt h heard
ar aft
afterr 180
8 ssec
c -->
neighbor/link declared dead
routes via neighbor
g invalidated
new advertisements sent to neighbors
neighbors
g in turn send out new advertisements (if
(
tables changed)
link failure info quickly (?) propagates to entire net
poison reverse used to prevent ping-pong loops
(infinite distance = 16 hops)
RIP routing
i tables
bl managed
dbby application-level
li i l l
process called route-d (daemon)
advertisements
d tis ts ssentt iin UDP packets,
k ts periodically
i di ll
repeated
routed routed
Transprt Transprt
(UDP) (UDP)
network forwarding forwarding network
(IP) t bl
table t bl
table (IP)
link link
physical physical
datagram
d t networks
t ks Distance Vector
Hierarchical routing
4.3 What’s inside a
router 4.6
4 6 Routing in the
4.4 IP: Internet
Internet
RIP
Protocol
OSPF
Datagram format
BGP
IPv4 addressing
g
ICMP 4.7
4 B Broadcast
d and
d
IPv6 multicast routing
datagram
d t networks
t ks Distance Vector
Hierarchical routing
4.3 What’s inside a
router 4.6
4 6 Routing in the
4.4 IP: Internet
Internet
RIP
Protocol
OSPF
Datagram format
BGP
IPv4 addressing
g
ICMP 4.7
4 B Broadcast
d and
d
IPv6 multicast routing
BGP (Border
(B d Gateway
G t Protocol):
P t l) th de
the d
facto standard
BGP provides
id each
h AS a means to:
t
1. Obtain subnet reachability information from
neighboring ASs.
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”
eBGP session
3c iBGP session
3a 2c
3b 2a
AS3 2b
1c AS2
1a 1b
AS1 1d
Network Layer 4-119
Distributing
g reachability
y info
using eBGP session between 3a and 1c, AS3 sends
prefix reachability info to AS1.
1c can then use iBGP do distribute new prefix
info to all routers in AS1
1b can then re-advertise new reachability info
to AS2 over 1b-to-2a eBGP session
when
h routert learns
l of
f new prefix,
fi it creates
t entry
t
for prefix in its forwarding table.
eBGP session
3c iBGP session
3a 2c
3b 2a
AS3 2b
1c AS2
1a 1b
AS1 1d
Network Layer 4-120
Path attributes & BGP routes
advertised
d ti d prefix fi iincludes
l d BGP attributes.
tt ib t
prefix + attributes = “route”
two
t iimportant
t t attributes:
tt ib t
AS-PATH: contains ASs through which prefix
advertisement has passed: e
e.g,
g AS 67 67, AS 17
NEXT-HOP: indicates specific internal-AS router
to next
next-hop
hop AS. (may be multiple links from
current AS to next-hop-AS)
when g
gateway
y router receives route
advertisement, uses import policy to
accept/decline.
A advertises path AW to B
B advertises path BAW to X
Should B advertise path BAW to C?
No way! B gets no “revenue”
revenue for routing CBAW
since neither W nor C are B’s customers
B wants to fforce C to route to w via A
B wants to route only to/from its customers!
Network Layer 4-125
Why different Intra-
Intra and Inter-AS
Inter AS routing ?
Policy:
Inter-AS: admin wants control over how its traffic
routed, who routes through its net.
routed
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
datagram
d t networks
t ks Distance Vector
Hierarchical routing
4.3 What’s inside a
router 4.6
4 6 Routing in the
4.4 IP: Internet
Internet
RIP
Protocol
OSPF
Datagram format
BGP
IPv4 addressing
g
ICMP 4.7
4 B Broadcast
d and
d
IPv6 multicast routing
R3 R4 R3 R4
source in-network
duplication duplication
B B
c c
D D
F E F E
G G
(a) Broadcast initiated at A (b) Broadcast initiated at D
A A
3
B B
c c
4
2
D D
F E F E
1 5
G G
(a) Stepwise construction (b) Constructed spanning
of spanning tree tree
Network Layer 4-131
Multicast Routing: Problem Statement
Goal
Goal: find a tree (or trees) connecting
routers having local mcast group members
tree: not all p
paths between routers used
source-based: different tree from each sender to rcvrs
shared-tree: same tree used by all group members
S: source LEGEND
R1 2
1 R4 router with attached
group member
R2 5
router with no attached
3 4
R5 group member
R3 6 i link used for forwarding,
R6 R7 i indicates order link
added
dd d bby algorithm
l ith
Reverse Path Forwarding
S: source LEGEND
LEGEND
DVMRP:
D P distance
d vector multicast
l routing
protocol, RFC1075
flood and prune: reverse path forwarding,
source-based tree
RPF tree based on DVMRP’s own routing tables
constructed by communicating DVMRP routers
no assumptions about underlying unicast
initial datagram to mcast group flooded
everywhere via RPF
routers not wanting group: send upstream prune
msgs
DVMRP: continued…
continued
soft state: DVMRP router periodically (1 min.)
min )
“forgets” branches are pruned:
mcast data again flows down unpruned branch
downstream router: reprune or else continue to
receive data
routers can quickly regraft to tree
following
f ll i IGMP jjoin
i att leaf
l f
odds and ends
commonly implemented in commercial routers
Mbone routing done using DVMRP
Tunneling
Q: How to connect “islands”
islands of multicast
routers in a “sea” of unicast routers?
Dense: Sparse:
group members # networks with group
densely packed,
packed in members small wrt #
“close” proximity. interconnected networks
bandwidth more g
group
p members “widelyy
plentiful dispersed”
bandwidth not plentiful
C
Consequences of
f Sparse-Dense
S D Dichotomy:
Di h t
Dense Sparse:
group membership by no membership until
routers
t assumed d until
til routers
t explicitly
li itl jjoin
i
routers explicitly prune receiver- driven
data-driven
data driven construction construction of mcast
on mcast tree (e.g., RPF) tree (e.g., center-based)
bandwidth and non
non- bandwidth and nonnon-group-
group
group-router processing router processing
profligate conservative
PIM Dense
PIM- D s Mode
M d
datagram
d t networks
t ks Distance Vector
Hierarchical routing
4.3 What’s inside a
router 4.6
4 6 Routing in the
4.4 IP: Internet
Internet
RIP
Protocol
OSPF
Datagram format
BGP
IPv4 addressing
g
ICMP 4.7
4 B Broadcast
d and
d
IPv6 multicast routing