Академический Документы
Профессиональный Документы
Культура Документы
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
Computer
Networking: A
Top Down
Approach
6th edition
Jim Kurose, Keith
Ross
Addison-Wesley
March 2012
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
routing: determine
route taken by
packets from source
to destination.
analogy:
routing: process of
planning trip from
source to
destination.
forwarding: process
of getting through
single interchange
routing algorithms
Network Layer 4-4
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-7
Network
Architecture
Internet
ATM
ATM
ATM
ATM
Service
Model
Congestion
Bandwidth Loss Order Timing feedback
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
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-18
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-speed
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
obtained from
(10Gbps * 250msec)
recent recommendation:
with N flows,
RTT . C
buffering equal to
N
N = Number of
Flows
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
addressing conventions
datagram format
packet handling conventions
path selection
RIP, OSPF, BGP
network
layer
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)
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
offset
flgs
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,
MTU: Max Transmission
reassembly
Unit
IP fragmentation,
reassembly
example:
4000 byte
datagram
MTU = 1500
bytes
1480 bytes in
data field
offset =
1480/8
Off set by 8
bytes of chunks
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
185 * 8 = 1480
See text Page 337 for
details
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
IP v4 addresses are 32
bits long, given as a.b.c.d
IP addresses are divided
into five classes, identified
by the first group of
numbers in the dotted
decimal notation as
Class
Range
A
0-127
B
128-191
C
192-223
D
224-239
E
240-255
Addresses from classes A,
B, C
are
88
Class A 0 Network ID
16
24
32
Host ID
Class B 10
Class C 110
Class D 1110
Multicast Addresses
Class E 1111
Network Layer 39
Generally, IP addresses
have two parts
Network (Net id)
Host ID
Netid and Hostid in a
given IP address are
identified by Subnet
mask
Default subnet masks are
Class A :
255.0.0.0
Class B :
255.255.0.0
Class C :
255.255.255.0
1st octet
2nd octet
3rd octet
4th octet
Class A
Network
Host
Host
Host
Class B
Network
Network
Host
Host
Class C
Network
Network
Network
Host
Network Layer 40
Subnets
IP
address:
a subnet ?
device interfaces
with same subnet
part of IP address
can physically
reach each other
without intervening
router
UBC:
142.103.130.49
SFU:
142.58.142.68
BCIT: 216.146.77.1
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-47
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
yiaddr
Your
IP
address
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-48
DHCP: example
DHCP
UDP
IP
Eth
Phy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
UDP
IP
Eth
Phy
Ethernet frame
broadcast (dest:
FFFFFFFFFFFF) on LAN,
received at router
running DHCP server
168.1.1.1
Ethernet demuxed to
IP demuxed, UDP
demuxed to DHCP
Network Layer 4-50
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 first-hop
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
Single device to
the world
2
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
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
UPnP allows external hosts to initiate
communication sessions to NATed hosts, using
either TCP or UDP. NATs have long been a
nemesis for P2P applications;
Explain UPnP an dhow does UPnP, providing an effective and robust NAT
it work ? See Page - 352 traversal solution, may be their savior.
Network Layer 4-63
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
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
3 probes
Network Layer 4-67
IPv6: motivation
340- undecillion28
2- decillion366- n
onillion920- octil
lion938- septillio
n463- sextillion4
63- quintillion374
- quadrillion607trillion431- billi
on768- million211
- thousand456
340,282,366,920,938,463,463,374,607,431,768,2
11,456
Network Layer 4-68
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-71
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-73
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
Similar Tables
at each Router
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 (Only)
iterative process of
computation, exchange of
info with neighbors
distance vector
algorithms
Q: static or dynamic?
static:
routes change slowly
over time Possibly
Manually by the
operator ?
dynamic:
routes change more
quickly
periodic update
in response to link
cost changes
Network Layer 4-78
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-81
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-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
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
estimate of least cost from v to z
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-89
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-92
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-93
good
news
travels
fast
50
60
50
poisoned reverse:
message complexity
speed of convergence
robustness: what
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
our routing study thus far - idealization
all routers identical
network flat
not true in practice
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-100
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-101
3c
3b
other
networks
3a
AS3
1c
1a
AS1
1d
2a
1b
2c
2b
other
networks
AS2
Network Layer 4-102
3c
3b
other
networks
3a
AS3
1c
1a
AS1
1d
2a
1b
2c
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
y
RIP: example
z
w
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
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-109
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
external
internal
BGP basics
other
networks
3a
BGP
message
AS3
1c
1a
AS1
1d
2a
1b
2c
2b
other
networks
AS2
Network Layer 4-117
eBGP session
3b
other
networks
3a
AS3
iBGP session
1c
1a
AS1
1d
2a
1b
2c
2b
other
networks
AS2
Network Layer 4-118
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-123
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-127
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
G
(a)
stepwise construction of
spanning tree (center: E)
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-130
s: source
R1
1
R2
3
R4
5
R3
R6
R5
6
R7
Loose:
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
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)
bandwidth and nongroup-router processing
profligate
no membership until
routers explicitly join
receiver- driven
construction of mcast
tree (e.g., center-based)
bandwidth and nongroup-router processing
conservative
PIM
- dense mode
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-144
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):
rendezvous
Point (RP)
R1
R4
join
R2
R3
join
R5
join
R6
all data multicast
from rendezvous
point
R7
rendezvous
Point (RP)
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