Beruflich Dokumente
Kultur Dokumente
Network Layer
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 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, wed 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.
Thanks and enjoy! JFK/KWR
All material copyright 1996-2012
J.F Kurose and K.W. Ross, All Rights Reserved
Computer
Networking: A
Top Down
Approach
6th edition
Jim Kurose, Keith
Ross
Addison-Wesley
March 2012
Chapter 4: outline
4.1 introduction
4.2 virtual circuit and
datagram networks
4.3 whats inside a
router
4.4 IP: Internet Protocol
datagram format
IPv4 addressing
ICMP
IPv6
Network layer
application
transport
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
application
transport
network
data link
physical
forwarding: move
packets from
routers input to
appropriate router
output
analogy:
routing: process of
planning trip from
source to dest
routing: determine
route taken by
packets from source
to dest.
forwarding: process
of getting through
single interchange
routing algorithms
Network Layer 4-5
0100
0101
0111
1001
3
2
2
1
value in arriving
packets header
0111
1
3 2
Connection setup
guaranteed delivery
guaranteed delivery
with less than 40
msec delay
in-order datagram
delivery
guaranteed minimum
bandwidth to flow
restrictions on
changes in interpacket spacing
Network Layer 4-8
Network
Architecture
Internet
Service
Model
Congestion
Bandwidth Loss Order Timing feedback
ATM
CBR
ATM
VBR
ATM
ABR
ATM
UBR
constant
rate
guaranteed
rate
guaranteed
minimum
none
no
no
no
yes
yes
yes
yes
yes
yes
no
yes
no
no (inferred
via loss)
no
congestion
no
congestion
yes
no
yes
no
no
Chapter 4: outline
4.1 introduction
4.2 virtual circuit and
datagram networks
4.3 whats inside a
router
4.4 IP: Internet Protocol
datagram format
IPv4 addressing
ICMP
IPv6
Connection, connection-less
service
Virtual circuits
source-to-dest path behaves much like
telephone circuit
performance-wise
network actions along source-to-dest path
call setup, teardown for each call before data can flow
each packet carries VC identifier (not destination host
address)
every router on source-dest path maintains state for
each passing connection
link, router resources (bandwidth, buffers) may be
allocated to VC (dedicated resources = predictable service)
VC implementation
a VC consists of:
1. path from source to destination
2. VC numbers, one number for each link
along path
3. entries in forwarding tables in routers
along path
VC forwarding table
22
12
VC number
forwarding table in
northwest router:
Incoming interface
1
2
3
1
Incoming VC #
12
63
7
97
32
interface
number
Outgoing interface
Outgoing VC #
3
1
2
3
22
18
17
87
application
transport 5. data flow begins
network 4. call connected
data link 1. initiate call
physical
transport
3. accept call
network
2. incoming call
data link
physical
Datagram networks
application
transport
network 1. send datagrams
data link
physical
application
transport
2. receive datagrams network
data link
physical
Datagram forwarding
table
4 billion IP
routing algorithm
addresses, so rather
than list individual
destination address
list range of
addresses
(aggregate table
entries)
2
2
1
IP destination address in
arriving packets header
1
3 2
Datagram forwarding
table
Destination Address Range
Link Interface
otherwise
Link interface
otherwise
examples:
DA: 11001000 00010111 00010110 10100001
DA: 11001000 00010111 00011000 10101010
which interface?
which interface?
Network Layer 4-19
Datagram or VC network:
why?
Internet (datagram)
evolved from
telephony
human conversation:
ATM (VC)
Chapter 4: outline
4.1 introduction
4.2 virtual circuit and
datagram networks
4.3 whats inside a
router
4.4 IP: Internet Protocol
datagram format
IPv4 addressing
ICMP
IPv6
routing
processor
routing, management
control plane (software)
forwarding data
plane (hardware)
high-seed
switching
fabric
line
termination
lookup,
forwarding
switch
fabric
queueing
physical layer:
bit-level reception
data link layer:
e.g., Ethernet
see chapter 5
decentralized switching:
Switching fabrics
memory
bus
crossbar
input
port
(e.g.,
Ethernet)
memory
output
port
(e.g.,
Ethernet)
system bus
bus
crossbar
Output ports
switch
fabric
datagram
buffer
queueing
link
layer
protocol
(send)
line
termination
buffering required when datagrams arrive from fabric faster than the
transmission rate
scheduling discipline chooses among queued datagrams for transmission
switch
fabric
at t, packets more
from input to output
switch
fabric
switch
fabric
Chapter 4: outline
4.1 introduction
4.2 virtual circuit and
datagram networks
4.3 whats inside a
router
4.4 IP: Internet Protocol
datagram format
IPv4 addressing
ICMP
IPv6
IP protocol
routing protocols
network
layer
addressing conventions
datagram format
packet handling conventions
path selection
RIP, OSPF, BGP
forwarding
table
link layer
ICMP
protocol
error reporting
router signaling
physical layer
IP datagram format
IP protocol version
number
header length
(bytes)
type of data
max number
remaining hops
(decremented at
each router)
upper layer protocol
to deliver payload to
32 bits
ver head. type of
len service
16-bit identifier
upper
time to
layer
live
total datagram
length (bytes)
length
fragment
flgs
offset
header
checksum
for
fragmentation/
reassembly
data
(variable length,
typically a TCP
or UDP segment)
e.g. timestamp,
record route
taken, specify
list of routers
to visit.
fragmentation:
in: one large datagram
out: 3 smaller datagrams
reassembly
IP fragmentation,
reassembly
IP fragmentation,
reassembly
example:
4000 byte
datagram
MTU = 1500
bytes
1480 bytes in
data field
offset =
1480/8
length ID fragflag
=4000 =x
=0
offset
=0
offset
=0
length ID fragflag
=1500 =x
=1
offset
=185
length ID fragflag
=1040 =x
=0
offset
=370
Chapter 4: outline
4.1 introduction
4.2 virtual circuit and
datagram networks
4.3 whats inside a
router
4.4 IP: Internet Protocol
datagram format
IPv4 addressing
ICMP
IPv6
IP addressing: introduction
223.1.1.1
IP address: 32-bit
IP addresses
associated with each
interface
223.1.2.1
223.1.1.4
223.1.2.9
223.1.3.27
223.1.1.3
223.1.2.2
223.1.3.1
223.1.3.2
IP addressing: introduction
Q: how are interfaces
actually connected?
A: well learn about 223.1.1.2
that in chapter 5, 6.
223.1.1.1
223.1.2.1
223.1.1.4
223.1.1.3
223.1.2.9
223.1.3.27
223.1.2.2
223.1.3.2
Subnets
IP
address:
a subnet ?
device interfaces
with same subnet
part of IP address
can physically
reach each other
without intervening
router
223.1.1.1
223.1.1.2
223.1.1.4
223.1.1.3
223.1.2.1
223.1.2.9
223.1.3.27
223.1.2.2
subnet
223.1.3.1
223.1.3.2
Subnets
223.1.1.0/24
recipe
to determine the
subnets, detach
each interface
from its host or
router, creating
islands of isolated
networks
each isolated
network is called
a subnet
223.1.2.0/24
223.1.1.1
223.1.1.2
223.1.1.4
223.1.1.3
223.1.2.1
223.1.2.9
223.1.3.27
223.1.2.2
subnet
223.1.3.1
223.1.3.2
223.1.3.0/24
Subnets
223.1.1.2
how many?
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.2.1
223.1.3.27
223.1.2.2
223.1.3.1
223.1.3.2
IP addressing: CIDR
CIDR: Classless InterDomain Routing
subnet portion of address of arbitrary
length
address format: a.b.c.d/x, where x is #
bits in subnet portion of address
subnet
part
host
part
DHCP overview:
DHCP client-server
scenario
DHCP
server
223.1.1.0/24
223.1.2.1
223.1.1.1
223.1.1.2
223.1.1.4
223.1.1.3
223.1.2.9
223.1.3.27
223.1.2.2
arriving DHCP
client needs
address in this
network
223.1.2.0/24
223.1.3.2
223.1.3.1
223.1.3.0/24
Network Layer 4-46
DHCP client-server
scenario
DHCP server: 223.1.2.5
DHCP discover
src : 0.0.0.0, 68
dest.: 255.255.255.255,67
yiaddr: 0.0.0.0
transaction ID: 654
arriving
client
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
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
Network Layer 4-47
DHCP: example
DHCP
UDP
IP
Eth
Phy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
UDP
IP
Eth
Phy
168.1.1.1
DHCP request
encapsulated in UDP,
encapsulated in IP,
encapsulated in 802.1
Ethernet frame
broadcast (dest:
FFFFFFFFFFFF) on LAN,
received at router
running DHCP
server
Ethernet
demuxed
to
IP demuxed, UDP
demuxed to DHCP
DHCP: example
DHCP
UDP
IP
Eth
Phy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
UDP
IP
Eth
Phy
encapsulation of
DHCP server, frame
forwarded to client,
demuxing up to
DHCP at client
client now knows its
IP address, name
and IP address of
DSN server, IP
address of its firsthop router
DHCP:
Wireshark
output (home
LAN)
request
reply
200.23.16.0/20
Organization 0
Organization 1
Organization 2
...
200.23.16.0/23
200.23.18.0/23
200.23.20.0/23
.
Organization 7
200.23.30.0/23
200.23.16.0/23
Organization 1
200.23.18.0/23
Organization 2
200.23.20.0/23
Organization 7
.
.
.
.
.
.
Fly-By-Night-ISP
Send me anything
with addresses
beginning
200.23.16.0/20
Internet
200.23.30.0/23
ISPs-R-Us
Send me anything
with addresses
beginning
199.31.0.0/16
200.23.16.0/23
Organization 2
200.23.20.0/23
Organization 7
.
.
.
.
.
.
Fly-By-Night-ISP
Send me anything
with addresses
beginning
200.23.16.0/20
Internet
200.23.30.0/23
ISPs-R-Us
Organization 1
200.23.18.0/23
Send me anything
with addresses
beginning 199.31.0.0/16
or 200.23.18.0/23
local network
(e.g., home network)
10.0.0/24
10.0.0.1
10.0.0.4
10.0.0.2
138.76.29.7
10.0.0.3
2: NAT router
changes datagram
source addr from
10.0.0.1, 3345 to
138.76.29.7, 5001,
updates table
1: host 10.0.0.1
sends datagram to
128.119.40.186, 80
S: 10.0.0.1, 3345
D: 128.119.40.186, 80
1
2
S: 138.76.29.7, 5001
D: 128.119.40.186, 80
138.76.29.7
S: 128.119.40.186, 80
D: 138.76.29.7, 5001
3: reply arrives
dest. address:
138.76.29.7, 5001
10.0.0.4
S: 128.119.40.186, 80
D: 10.0.0.1, 3345
10.0.0.1
10.0.0.2
4
10.0.0.3
4: NAT router
changes datagram
dest addr from
138.76.29.7, 5001 to 10.0.0.1, 3345
solution1: statically
configure NAT to forward
incoming connection
requests at given port to
server
client
10.0.0.1
?
10.0.0.4
138.76.29.7
NAT
router
10.0.0.1
IGD
NAT
router
client
3. relaying
established
1. connection
to
relay initiated
by NATed host
138.76.29.7
10.0.0.1
NAT
router
Chapter 4: outline
4.1 introduction
4.2 virtual circuit and
datagram networks
4.3 whats inside a
router
4.4 IP: Internet Protocol
datagram format
IPv4 addressing
ICMP
IPv6
network-layer above
IP:
ICMP msgs carried in IP
datagrams
Type
0
3
3
3
3
3
3
4
Code
0
0
1
2
3
6
7
0
8
9
10
11
12
0
0
0
0
0
description
echo reply (ping)
dest. network unreachable
dest host unreachable
dest protocol unreachable
dest port unreachable
dest network unknown
dest host unknown
source quench (congestion
control - not used)
echo request (ping)
route advertisement
router discovery
TTL expired
bad IP header
3 probes
3 probes
when ICMP
messages arrives,
source records RTTs
stopping criteria:
UDP segment
eventually arrives at
destination host
destination returns
ICMP port
unreachable
message (type 3,
code 3)
source stops
3 probes
Network Layer 4-66
IPv6: motivation
pri
payload len
flow label
hop limit
next hdr
source address
(128 bits)
destination address
(128 bits)
data
32 bits
IPv4 payload
IPv6 datagram
IPv4 datagram
Network Layer 4-70
Tunneling
B
IPv6
IPv6
IPv6
IPv6
IPv4
logical view:
physical view:
IPv4 tunnel
connecting IPv6 routers
IPv6
IPv6
IPv4
IPv6
IPv6
Tunneling
IPv4 tunnel
connecting IPv6 routers
IPv6
IPv6
IPv6
IPv6
IPv4
logical view:
physical view:
flow: X
src: A
dest: F
data
A-to-B:
IPv6
IPv6
IPv6
IPv4
IPv6
IPv6
src:B
dest: E
src:B
dest: E
Flow: X
Src: A
Dest: F
Flow: X
Src: A
Dest: F
data
data
B-to-C:
IPv6 inside
IPv4
B-to-C:
IPv6 inside
IPv4
flow: X
src: A
dest: F
data
E-to-F:
IPv6
Network Layer 4-72
Chapter 4: outline
4.1 introduction
4.2 virtual circuit and
datagram networks
4.3 whats inside a
router
4.4 IP: Internet Protocol
datagram format
IPv4 addressing
ICMP
IPv6
routing algorithm
2
2
1
IP destination address in
arriving packets header
1
3 2
Graph abstraction
5
2
2
1
graph: G = (N,E)
w
3
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
v
2
w
3
Routing algorithm
classification
Q: global or decentralized
information?
global:
all routers have complete
topology, link cost info
link state algorithms
decentralized:
router knows physicallyconnected neighbors, link
costs to neighbors
iterative process of
computation, exchange of
info with neighbors
distance vector
algorithms
Q: static or
dynamic?
static:
routes change slowly
over time
dynamic:
routes change more
quickly
periodic update
in response to link
cost changes
Chapter 4: outline
4.1 introduction
4.2 virtual circuit and
datagram networks
4.3 whats inside a
router
4.4 IP: Internet Protocol
datagram format
IPv4 addressing
ICMP
IPv6
A Link-State Routing
Algorithm
Dijkstras algorithm
iterative: after k
iterations, know least
cost path to k dest.s
notation:
c(x,y): link cost from
node x to y; = if
not direct neighbors
D(v): current value
of cost of path from
source to dest. v
p(v): predecessor
node along path
from source to v
N': set of nodes
whose least cost
path definitively
known
Dijsktras 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 4-80
N'
u
uw
uwx
uwxv
uwxvy
uwxvyz
p(w)
p(x)
7,u
6,w
6,w
3,u
5,u
5,u 11,w
11,w 14,x
10,v 14,x
12,y
p(y)
p(z)
notes:
9
7
4
8
3
y
3
v
Network Layer 4-81
N'
u
ux
uxy
uxyv
uxyvw
uxyvwz
D(v),p(v) D(w),p(w)
2,u
5,u
2,u
4,x
2,u
3,y
3,y
D(x),p(x)
1,u
D(y),p(y)
2,x
D(z),p(z)
4,y
4,y
4,y
5
2
v
2
w
3
2
Network Layer 4-82
z
x
link
v
x
(u,v)
(u,x)
(u,x)
(u,x)
(u,x)
Network Layer 4-83
Dijkstras algorithm,
discussion
algorithm complexity: n nodes
oscillations possible:
D
1
0
0
1+e
initially
2+e
1+e 1
0
A
0
A
0
2+e
0
1+e
2+e
1+e 1
0
Chapter 4: outline
4.1 introduction
4.2 virtual circuit and
datagram networks
4.3 whats inside a
router
4.4 IP: Internet Protocol
datagram format
IPv4 addressing
ICMP
IPv6
Bellman-Ford example
5
2
v
2
w
3
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 4-88
distributed:
each node:
wait for (change in local link
cost or msg from neighbor)
recompute estimates
if DV to any dest has
changed, notify neighbors
Dx(z) = min{c(x,y) +
Dy(z), c(x,z) + Dz(z)}
= min{2+1 , 7+0} = 3
from
node y
table
x
y
z
from
node z
table
x
y
z
cost to
cost to
x y z
x y z
0 2 7
x 0 2 3
y 2 0 1
z 7 1 0
from
from
node x
table
x
y
z
cost to
x y z
2 0 1
y
7
cost to
x y z
7 1 0
time
Network Layer 4-91
Dx(z) = min{c(x,y) +
Dy(z), c(x,z) + Dz(z)}
= min{2+1 , 7+0} = 3
0 2 7
x 0 2 3
y 2 0 1
z 7 1 0
x 0 2 3
y 2 0 1
z 3 1 0
from
x y z
from
x y z
cost to
cost to
cost to
x y z
x y z
2 0 1
x 0 2 7
y 2 0 1
z 7 1 0
x 0 2 3
y 2 0 1
z 3 1 0
cost to
cost to
x y z
x y z
x 0 2 7
y 2 0 1
z 3 1 0
7 1 0
from
x y z
y
7
cost to
x y z
from
from
node z
table
x
y
z
cost to
x y z
from
from
node y
table
x
y
z
cost to
cost to
from
from
node x
table
x
y
z
x 0 2 3
y 2 0 1
z 3 1 0
time
Network Layer 4-92
y
node detects local link cost
4
1
change
x
z
50
updates routing info,
recalculates
distance vector
if DV tchanges,
change, updates its DV, informs its
notify
0 : y detects link-cost
good
neighbors.
neighbors
news
travels t1 : z receives update from y, updates its table, computes new
least cost to x , sends its neighbors its DV.
fast
60
50
Comparison of LS and DV
algorithms
robustness: what
message complexity
speed of convergence
happens if router
malfunctions?
LS:
node can advertise
incorrect link cost
each node computes
only its own table
DV:
DV node can advertise
incorrect path cost
each nodes table used
by others
error propagate thru
network
Chapter 4: outline
4.1 introduction
4.2 virtual circuit and
datagram networks
4.3 whats inside a
router
4.4 IP: Internet Protocol
datagram format
IPv4 addressing
ICMP
IPv6
Hierarchical
routing
administrative
scale: with 600
autonomy
million destinations:
internet = network of
networks
each network admin may
want to control routing in
its own network
Hierarchical
routing
aggregate routers
into regions,
autonomous
systems (AS)
routers in same AS
run same routing
protocol
gateway router:
intra-AS routing
protocol
routers in different AS
can run different
intra-AS routing
protocol
Interconnected ASes
3c
3a
3b
AS3
2a
1c
1a
1d
2c
AS2
1b AS1
Intra-AS
Routing
algorithm
Inter-AS
Routing
algorithm
Forwarding
table
2b
forwarding table
configured by both
intra- and inter-AS
routing algorithm
intra-AS sets
entries for internal
dests
inter-AS & intra-AS
sets entries for
external dests
Network Layer 4-99
Inter-AS tasks
suppose router in
AS1 receives
datagram destined
outside of AS1:
router should
forward packet to
gateway router,
but which one?
AS1 must:
1. learn which dests
are reachable
through AS2, which
through AS3
2. propagate this
reachability info to
all routers in AS1
job of inter-AS routing!
3c
3b
other
networks
3a
AS3
1c
1a
AS1
1d
2a
1b
2c
2b
other
networks
AS2
Network Layer 4-100
3c
3b
other
networks
3a
AS3
1c
1a
AS1
1d
2a
1b
2c
2b
other
networks
AS2
Network Layer 4-101
3c
3b
other
networks
3a
AS3
1c
1a
AS1
1d
2a
1b
2c
2b
other
networks
AS2
?
Network Layer 4-102
determine from
forwarding table the
interface I that leads
to least-cost gateway.
Enter (x,I) in
forwarding table
Chapter 4: outline
4.1 introduction
4.2 virtual circuit and
datagram networks
4.3 whats inside a
router
4.4 IP: Internet Protocol
datagram format
IPv4 addressing
ICMP
IPv6
Intra-AS Routing
w
x
y
RIP: example
z
w
C
routing table in router D
destination subnet
next router
# hops to dest
w
y
z
x
A
B
B
--
2
2
7
1
....
Network Layer 4-107
RIP: example
dest
w
x
z
.
A-to-D advertisement
next hops
1
1
C
4
...
z
B
C
routing table in router D
destination subnet
next router
# hops to dest
w
y
z
x
A
B
A
B
--
2
2
5
7
1
....
Network Layer 4-108
transprt
(UDP)
forwarding
table
forwarding
table
network
(IP)
link
physical
Network Layer 4-110
Hierarchical
OSPF
boundary router
backbone router
backbone
area
border
routers
area 3
internal
routers
area 1
area 2
Hierarchical
OSPF
BGP basics
other
networks
3a
BGP
message
AS3
1c
1a
AS1
1d
2a
1b
2c
2b
other
networks
AS2
Network Layer 4-116
eBGP session
3b
other
networks
3a
AS3
iBGP session
1c
1a
AS1
1d
2a
1b
2c
2b
other
networks
AS2
Network Layer 4-117
BGP messages
B
W
provider
network
customer
network:
C
Y
B
W
provider
network
customer
network:
C
Y
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 for routing CBAW since
neither W nor C are Bs customers
B wants to force C to route to w via A
B wants to route only to/from its customers!
Network Layer 4-122
scale:
hierarchical routing saves table size, reduced
update traffic
performance:
intra-AS: can focus on performance
inter-AS: policy may dominate over performance
Chapter 4: outline
4.1 introduction
4.2 virtual circuit and
datagram networks
4.3 whats inside a
router
4.4 IP: Internet Protocol
datagram format
IPv4 addressing
ICMP
IPv6
Broadcast routing
duplicate
creation/transmission
R1
R1
duplicate
R2
R2
R3
R4
source
duplication
R3
R4
in-network
duplication
In-network duplication
spanning tree:
no redundant packets received by any node
Network Layer 4-126
Spanning tree
A
B
c
D
F
G
E
G
center node
each node sends unicast join message to
center node
message forwarded until it arrives at a node
already belonging to spanning tree
A
A
3
c
4
c
D
D
F
group
tree: not all paths between routers used
shared-tree: same tree used by all group members member
not group
source-based: different tree from each
member
sender to rcvrs
router
with a
group
member
router
without
group
member
shared tree
source-based trees
Network Layer 4-129
s: source
R1
1
R2
3
R4
5
R3
R6
R5
6
R7
LEGEND
R1
R4
R2
R5
R3
R6
R7
datagram will not be
forwarded
group members
no need to forward datagrams down subtree
prune msgs sent upstream by router with no
downstream group members
s: source
LEGEND
R1
R4
R2
P
R5
R3
P
R6
R7
Center-based trees
Center-based trees:
example
suppose R6 chosen as center:
LEGEND
R1
3
R2
R4
2
R5
R3
R6
R7
DVMRP: continued
Tunneling
Q: how to connect islands of multicast
routers in a sea of unicast routers?
physical topology
logical topology
dense:
group members
densely packed, in
close proximity.
bandwidth more
plentiful
sparse:
Consequences of sparse-dense
dichotomy:
dense
sparse:
group membership by
routers assumed until
routers explicitly prune
data-driven
construction on mcast
tree (e.g., RPF)
no membership until
routers explicitly join
receiver- driven
construction of mcast
tree (e.g., centerbased)
bandwidth and nongroup-router processing
conservative
DVMRP but
underlying unicast protocol provides
RPF info for incoming datagram
less complicated (less efficient)
downstream flood than DVMRP
reduces reliance on underlying
routing algorithm
has protocol mechanism for router to
detect it is a leaf-node router
Network Layer 4-143
PIM - sparse
mode
center-based approach
router sends join msg
to rendezvous point
(RP)
intermediate routers
update state and
forward join
after joining via RP,
router can switch to
source-specific tree
increased
performance: less
concentration,
shorter paths
R1
R4
join
R2
R3
join
R5
join
R6
all data multicast
from rendezvous
point
R7
rendezvous
point
PIM - sparse
mode
sender(s):
R1
R4
join
R2
R3
join
R5
join
R6
all data multicast
from rendezvous
point
R7
rendezvous
point
Chapter 4: done!
4.1 introduction
4.2 virtual circuit and
datagram networks
4.3 whats inside a router
4.4 IP: Internet Protocol
datagram format, IPv4
addressing, ICMP, IPv6