Professional Documents
Culture Documents
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.
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
analogy:
routing: process of
planning trip from source
to dest
forwarding: process of
getting through single
interchange
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
inter-packet spacing
Service
Model
Guarantees ?
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
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)
Network Layer 4-12
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
1
2
3
1
VC number
interface
number
forwarding table in
northwest router:
Incoming interface
32
Incoming VC #
12
63
7
97
Outgoing interface
Outgoing VC #
3
1
2
3
22
18
17
87
application
5. data flow begins
transport
4. call connected
network
1. initiate call
data link
physical
application
transport
3. accept call
network
2. incoming call
data link
physical
6. receive data
Datagram networks
application
transport
network 1. send datagrams
data link
physical
application
transport
2. receive datagrams network
data link
physical
4 billion IP addresses, so
rather than list individual
destination address
list range of addresses
(aggregate table entries)
3
2
2
1
IP destination address in
arriving packets header
1
3 2
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
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
of CPU
packet copied to systems memory
speed limited by memory bandwidth (2 bus crossings per
datagram)
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
switch
fabric
at t, packets more
from input to output
switch
fabric
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
ICMP protocol
error reporting
router
signaling
link layer
physical layer
IP datagram format
IP protocol version
number
header length
(bytes)
type of data
max number
remaining hops
(decremented at
each router)
32 bits
total datagram
length (bytes)
length
16-bit identifier
upper
time to
layer
live
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.
IP fragmentation, reassembly
fragmentation:
in: one large datagram
out: 3 smaller datagrams
reassembly
IP fragmentation, reassembly
example:
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
IP address: 32-bit
223.1.1.1
223.1.2.1
223.1.1.4
223.1.3.27
223.1.1.3
223.1.2.2
IP addresses associated
with each interface
223.1.2.9
223.1.3.1
223.1.3.2
IP addressing: introduction
Q: how are interfaces
actually connected?
A: well learn about that
in chapter 5, 6.
223.1.1.1
223.1.2.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
223.1.3.2
Subnets
IP
address:
s a subnet ?
223.1.1.1
223.1.1.2
223.1.1.4
223.1.2.1
223.1.2.9
223.1.2.2
223.1.1.3
223.1.3.27
subnet
223.1.3.1
223.1.3.2
Subnets
223.1.1.0/24
223.1.2.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.1.1
223.1.1.2
223.1.1.4
223.1.2.1
223.1.2.9
223.1.2.2
223.1.1.3
223.1.3.27
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:
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 discover
src : 0.0.0.0, 68
arriving
client
Broadcast:
is there a
dest.: 255.255.255.255,67
DHCPyiaddr:
server 0.0.0.0
out there?
transaction ID: 654
DHCP offer
src: 223.1.2.5, 67
Broadcast:
Im a DHCP
dest: 255.255.255.255,
68
yiaddrr:
223.1.2.4
server! Heres an IP
transaction
654 use
address
youID:can
lifetime: 3600 secs
DHCP request
src: 0.0.0.0, 68
dest:: 255.255.255.255, 67
Broadcast:
OK. Ill take
yiaddrr: 223.1.2.4
that IP address!
transaction
ID: 655
lifetime: 3600 secs
DHCP ACK
src: 223.1.2.5, 67
dest: 255.255.255.255,
68
Broadcast:
OK. Youve
yiaddrr: 223.1.2.4
got
that IPID:
address!
transaction
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: example
DHCP
UDP
IP
Eth
Phy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
UDP
IP
Eth
Phy
DHCP: Wireshark
output (home LAN)
Message type: Boot Request (1)
Hardware type: Ethernet
Hardware address length: 6
Hops: 0
Transaction ID: 0x6b3a11b7
Seconds elapsed: 0
Bootp flags: 0x0000 (Unicast)
Client IP address: 0.0.0.0 (0.0.0.0)
Your (client) IP address: 0.0.0.0 (0.0.0.0)
Next server IP address: 0.0.0.0 (0.0.0.0)
Relay agent IP address: 0.0.0.0 (0.0.0.0)
Client MAC address: Wistron_23:68:8a (00:16:d3:23:68:8a)
Server host name not given
Boot file name not given
Magic cookie: (OK)
Option: (t=53,l=1) DHCP Message Type = DHCP Request
Option: (61) Client identifier
Length: 7; Value: 010016D323688A;
Hardware type: Ethernet
Client MAC address: Wistron_23:68:8a (00:16:d3:23:68:8a)
Option: (t=50,l=4) Requested IP Address = 192.168.1.101
Option: (t=12,l=5) Host Name = "nomad"
Option: (55) Parameter Request List
Length: 11; Value: 010F03062C2E2F1F21F92B
1 = Subnet Mask; 15 = Domain Name
3 = Router; 6 = Domain Name Server
44 = NetBIOS over TCP/IP Name Server
request
reply
ISP's block
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
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
10.0.0.1
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.2
10.0.0.3
4: NAT router
changes datagram
dest addr from
138.76.29.7, 5001 to 10.0.0.1, 3345
10.0.0.1
client
?
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
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
stopping criteria:
UDP segment eventually
arrives at destination host
destination returns ICMP
port unreachable
message (type 3, code 3)
source stops
3 probes
3 probes
Network Layer 4-66
IPv6: motivation
pri
flow label
hop limit
payload len
next hdr
source address
(128 bits)
destination address
(128 bits)
data
32 bits
IPv4 payload
UDP/TCP payload
IPv6 datagram
IPv4 datagram
Network Layer 4-70
Tunneling
IPv4 tunnel
connecting IPv6 routers
IPv6
IPv6
IPv6
IPv6
IPv4
logical view:
IPv6
IPv6
IPv4
IPv6
IPv6
physical view:
Tunneling
IPv4 tunnel
connecting IPv6 routers
IPv6
IPv6
IPv6
IPv6
IPv4
logical view:
IPv6
IPv6
IPv4
IPv6
IPv6
physical view:
flow: X
src: A
dest: F
data
A-to-B:
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
IPv6: adoption
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
3
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) }
v
2
w
3
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
notation:
c(x,y): link cost from
iterative: after k
iterations, know least cost
path to k dest.s
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
Network Layer 4-80
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-81
N'
p(v)
p(w)
p(x)
u
uw
uwx
uwxv
uwxvy
uwxvyz
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
4
v
Network Layer 4-82
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-83
z
x
link
v
x
(u,v)
(u,x)
(u,x)
(u,x)
(u,x)
Network Layer 4-84
oscillations possible:
D
1
0
0
1+e
initially
1+e 1
0
1
e
2+e
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
dx(y) = min
{c(x,v)
+
d
(y)
}
v
v
cost from neighbor v to destination y
cost to neighbor v
min taken over all neighbors v of x
Network Layer 4-87
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 ]
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
x y z
x 0 2 7
y
z
x 0 2 3
y 2 0 1
z 7 1 0
cost to
from
from
node x
cost to
table x y z
Dx(z) = min{c(x,y) +
Dy(z), c(x,z) + Dz(z)}
= min{2+1 , 7+0} = 3
from
node y cost to
table x y z
x
y 2 0 1
z
y
7
from
node z cost to
table x y z
x
y
z 7 1 0
time
Network Layer 4-92
x y z
x y z
x 0 2 7
y
z
x 0 2 3
y 2 0 1
z 7 1 0
x 0 2 3
y 2 0 1
z 3 1 0
cost to
cost to
from
from
from
node x
cost to
table x y z
x y z
x y z
x
y 2 0 1
z
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 0 2 7
y 2 0 1
z 3 1 0
y
7
cost to
x y z
from
x
y
z 7 1 0
from
x y z
from
cost to
from
from
from
node y cost to
table x y z
node z cost to
table x y z
Dx(z) = min{c(x,y) +
Dy(z), c(x,z) + Dz(z)}
= min{2+1 , 7+0} = 3
x 0 2 3
y 2 0 1
z 3 1 0
time
Network Layer 4-93
good
news
travels
fast
50
60
50
poisoned reverse:
speed of convergence
O(n2)
LS:
algorithm requires
O(nE) msgs
may have oscillations
DV: convergence time varies
may be routing loops
count-to-infinity problem
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
our routing study thus far - idealization
all routers identical
network flat
not true in practice
scale: with 600 million
destinations:
administrative autonomy
internet = network of
networks
each network admin may
want to control routing in
its own network
Hierarchical routing
gateway router:
intra-AS routing
protocol
routers in different AS
can run different intraAS routing protocol
Interconnected ASes
3c
3a
3b
AS3
2a
1c
1a
1d
2c
2b
AS2
1b AS1
Intra-AS
Routing
algorithm
Inter-AS
Routing
algorithm
Forwarding
table
forwarding table
configured by both intraand inter-AS routing
algorithm
intra-AS sets entries
for internal dests
inter-AS & intra-AS
sets entries for
external dests
Network Layer 4-100
Inter-AS tasks
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
2c
1c
1a
AS1
1d
2a
1b
2b
other
networks
AS2
Network Layer 4-101
3c
3b
other
networks
3a
AS3
2c
1c
1a
AS1
1d
2a
1b
2b
other
networks
AS2
Network Layer 4-102
3c
3b
other
networks
3a
AS3
2c
1c
1a
AS1
1d
2a
1b
2b
other
networks
AS2
?
Network Layer 4-103
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
D
y
RIP: example
z
w
A
y
B
D
C
destination subnet
next router
# hops to dest
w
y
z
x
A
B
B
--
2
2
7
1
....
Network Layer 4-108
RIP: example
dest
w
x
z
.
A-to-D advertisement
next hops
1
1
C
4
...
z
y
B
D
C
destination subnet
next router
# hops to dest
w
y
z
x
A
B
A
B
--
2
2
5
7
1
....
Network Layer 4-109
routed
transport
(UDP)
network
(IP)
link
physical
transprt
(UDP)
forwarding
table
forwarding
table
network
(IP)
link
physical
Network Layer 4-111
Hierarchical OSPF
boundary router
backbone router
backbone
area
border
routers
area 3
internal
routers
area 1
area 2
Hierarchical OSPF
neighboring ASs.
iBGP: propagate reachability information to all ASinternal routers.
determine good routes to other networks based on
reachability information and policy.
BGP basics
3c
3b
other
networks
3a
BGP
message
AS3
2c
1c
1a
AS1
1d
2a
1b
2b
other
networks
AS2
Network Layer 4-117
eBGP session
3b
other
networks
3a
AS3
iBGP session
2c
1c
1a
AS1
1d
2a
1b
2b
other
networks
AS2
Network Layer 4-118
BGP messages
Putting it Altogether:
How Does an Entry Get Into a
Routers Forwarding Table?
Answer is complicated!
Ties together hierarchical routing (Section 4.5.3)
with BGP (4.6.3) and OSPF (4.6.2).
Provides nice overview of BGP!
entry
Assume prefix is
in another AS.
Dest IP
3
2
4
1
3 2
3a
BGP
message
AS3
2c
1c
1a
AS1
1d
2a
1b
2b
other
networks
AS2
3a
BGP
message
AS3
2c
1c
1a
AS1
1d
2a
1b
2b
other
networks
AS2
select
Example:
other
networks
3a
AS3
111.99.86.55
1c
1a
AS1
1d
2c
2a
1b
2b
AS2
other
networks
router
port
3c
3b
other
networks
3a
AS3
2c
1
1c 4
2 3
1a
AS1
1d
2a
1b
2b
AS2
other
networks
3c
3b
other
networks
3a
AS3
2c
1c
1a
AS1
1d
2a
1b
2b
AS2
other
networks
2.
3.
provider
network
customer
network:
C
Y
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!
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
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
F
1
D
F
group
member
not group
member
router
with a
group
member
router
without
group
member
shared tree
source-based trees
Network Layer 4-140
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
s: source
LEGEND
R1
R4
R2
P
R5
R3
P
R6
R7
prune message
links with multicast
forwarding
Network Layer 4-145
computational complexity
information about entire network needed
monolithic: rerun whenever a router needs to
join/leave
Center-based trees
R4
2
R5
R3
1
R6
R7
DVMRP: continued
Tunneling
Q: how to connect islands of multicast routers in a
sea of unicast routers?
physical topology
logical topology
dense:
sparse:
sparse:
group membership by
routers assumed until
routers explicitly prune
data-driven construction on
mcast tree (e.g., RPF)
bandwidth and non-grouprouter processing profligate
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 sourcespecific tree
increased
performance: less
concentration, shorter
paths
R1
R4
join
R2
join
R5
R3
join
R6
all data multicast
from rendezvous
point
R7
rendezvous
point
R1
R4
join
R2
join
R5
R3
join
R6
all data multicast
from rendezvous
point
R7
rendezvous
point
no one is listening!
Network Layer 4-156
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