Académique Documents
Professionnel Documents
Culture Documents
Routing Protocol
Advanced Topics for Broadband Networks
30.09.2002
DVMRP Overview
n Distance vector based
n Similar to Routing Internet Protocol (RIP)
n Infinity = 32 hops
n Subnet masks in route advertisements
n Routing information carried in IGMP packets
n IP protocol 2 (IGMP)
n IGMP type 0x13 (DVMRP)
n Concept of “virtual interfaces”
n Physical: Ethernet, FDDI, Token Ring
n Tunnels: IP-
IP-in-
in-IP tunnels
n Implementation: mrouted (version 3.9)
1
DVMRP Basic Packets
n Differentiated by the code field in IGMP packet
n DVMRP Probe
n For DVMRP Neighbor Discovery
n DVMRP Report
n For Multicast Route Exchange
n DVMRP Prune
n For pruning multicast delivery tree
n DVMRP Graft
n For grafting multicast delivery tree
n DVMRP Graft Ack
n For acknowledging graft messages
n Neighbor discovery
n Route exchange
n Source trees
n Multicast forwarding
n Pruning
n Grafting
n Tunnels
2
Neighbor discovery
Neighbor discovery
example
2. Receive Probe from DVMRP DVMRP Router 2
Router 1 130.230.50.102 Neighbor List:
adds Router 1 to it’s internal list 130.230.50.101
S0
of DVMRP Neighbors mrouted
3. Multicasts DVMRP Probe with E0
DVMRP Probe Packet
Neighbor List = DVMRP Router 1
SRC=130.230.50.102
SRC=130.230.50.101
DST=224.0.0.4
Neighbor List:
E0
130.230.50.101
130.230.50.102
(empty)
S0
mrouted 1. Multicasts DVMRP Probe
Neighbor List = empty
DVMRP Router 1 4. Receive Probe from DVMRP Router 2
130.230.50.101 adds Router 2 to it’s internal Neighbor List
respond with a DVMRP Probe that has
Neighbor List: Neighbor List = Router 2 (two-way
130.230.50.102 adjacency completed)
3
DVMRP Basic Concepts
n Neighbor discovery
n Route exchange
n Source trees
n Multicast forwarding
n Pruning
n Grafting
n Tunnels
Route exchange
n Source network routing information is
exchanged in same basic manner as in RIP
n Periodic (60sec) Route Report messages are
sent between DVMRP neighbors
n Route Report entries advertise a source
network (with mask) and a hop count that is
used as the routing metric
n Routing information stored in the DVMRP
routing table is separate from the unicast
routing table and is used to
n Build source distribution trees
n Perform multicast forwarding (RPF check)
4
Route exchange example
1. Router 2 sends a DVMRP DVMRP Router 2
DVMRP Route Table
Route Report containing the 130.230.50.102 Network Itf Metric
entries from it’s routing table S0 151.10.0.0/16 S0 3
mrouted
E0 204.1.16.0/24 S0 10
5
Route exchange example
DVMRP Router 2
6. Router 2 sends again a DVMRP Route Table
130.230.50.102
DVMRP Route Report Network Itf Metric
S0 151.10.0.0/16 S0 3
containing it’s entries from mrouted
the routing table E0 204.1.16.0/24 S0 10
198.14.32.0/24 E0 4
DVMRP Route Report
SRC=130.230.50.102
Poison Reverse indicates
DST=130.230.50.101
E0 Router 2 is a Child (Down-
S0 Routing Table
mrouted Tree) of Router 1 for this
151.10.0.0/16 M3
source
DVMRP Router 1 204.1.16.0/24 M10
130.230.50.101 198.14.32.0/24 M36
DVMRP Route Table
Network Itf Metric 7. Router 1 receives the DVMRP Route
151.10.0.0/16 E0 4 Report, updates it’s entries and notice that
198.14.32.0/24 S0 3 Router 2 expects to receive multicast traffic
204.1.16.0/24 E0 11 for Poisson Reversed entries
E0
S0
mrouted
DVMRP Router 1
130.230.50.101
DVMRP Route Table
Network Itf Metric
151.10.0.0/16 E0 4
198.14.32.0/24 S0 3
204.1.16.0/24 E0 11
6
DVMRP Basic Concepts
n Neighbor discovery
n Route exchange
n Source trees
n Multicast forwarding
n Pruning
n Grafting
n Tunnels
Source Trees
n DVMRP builds its Source Trees using the
concept of “Truncated Broadcast Tree”
n A TBT for source S1 represent a shortest path
spanning tree rooted at subnet S1 to all routers in the
network
n In DVMRP the abstract notion of TBT for all
sub-
sub-networks are build by the exchange of
periodic DVMRP routing updates between all
DVMRP routers in the network.
n Just like RIPv2, DVMRP updates contain network
prefixes/masks along with route metrics
n Unlike RIPv2, a downstream DVMRP router make use
of a special Poison-
Poison-Reverse advertisement to signal an
upstream router that this link is on the TBT for source
subnet S1
7
Source Tree example
Source Network S1
Building TBT for
Source Network S1
A B
mrouted mrouted
X
33
1 1 mrouted
1 33 3
2 35
mrouted mrouted mrouted
C 2 D 34 E 35 Y
3
mrouted
2
§ TBT are build using best DVMRP Metric Back to Source
Network
§ Lowest IP Address is used in case of a Tie
§ Note: IP Address A>B>C>D
8
Multiple Source Trees
9
DVMRP Basic Concepts
n Neighbor discovery
n Route exchange
n Source trees
n Multicast forwarding
n Pruning
n Grafting
n Tunnels
Multicast forwarding
10
Multicast forwarding
mrouted mrouted
Multicast forwarding
Packets Forwarded Out All Non-Pruned,
Downstream Interfaces
Packet Arrived on DVMRP Route Table
Correct Interface! Network Itf Metric
151.10.0.0/16 E0 4
198.14.32.0/24 S0 3
Multicast Packet
SRC=198.14.32.10 204.1.16.0/24 E0 11
mrouted 1. A multicast packet from a
S1 S0
source in the 198.13.32.0/24
mrouted 2. Since the packet arrived on
network was received via S0.
the correct interface, the RPF
E0 E1 check succeeds and the packet
is forwarded out all unpruned
interfaces on the source tree.
mrouted mrouted
11
Multicast forwarding
Forwarding onto Multiaccess Networks
Network X
A 1. When two or more routers share a
mrouted common multi-access network, only one
can be the “Designated Router” which is
1 1
2. The “Designated
responsible Forwarder”
for forwarding is
a source
selected based on the best route
network’s traffic onto the multi-access
metric
3.
network; back
In this to the source
example,
otherwise both network
Router
duplicate B and
packets
(with
C the
share
will Lowest IP Address
a common multi-access
be generated. used
mrouted mrouted
as a tie-breaker).
network and both have routes to
B 2 C
network X. Since both have the same
metric, the lowest IP address router
2
(Note: IP Address of B < C) wins.
n Neighbor discovery
n Route exchange
n Source trees
n Multicast forwarding
n Pruning
n Grafting
n Tunnels
12
Pruning
n Pruning is the mechanism with which DVMRP is
cutting unneeded routers out from the TBT in order
to minimize the network resources used in carrying
the multicast traffic.
n Initially the multicast packet is broadcasted thru all
TBT
n Each leaf router that has no subsequent receivers
for that traffic, sends up-
up-stream a Prune message
in order to be left out of the TBT (pruned) for that
traffic.
n After a timeout, the process repeats itself.
Pruning example
Source “S” 2. In
1. Initially, the traffic
this example we (the solid arrows)
see source
is flooded
“S” begins to to all routersmulticast
transmit in the network
down the
traffic Truncated
to the Broadcast Tree
group “G”.
A B (the dashed arrows) and is reaching
mrouted mrouted Receiver 1.
X
mrouted
13
Pruning example
Source “S” 4. At
3. Router B receives
this point, we see thisthat
(S, router
G) Prune
C is
message
a leaf nodeandonshuts
the TBTof theandflow
hasofno(S,
G) traffic
need to router
for the traffic.C.Therefore, it sends
A B a DVMRP (S, G) Prune message up
mrouted mrouted the TBT to router B to stop unwanted
flow of traffic. X
e
un
mrouted
Pr
Pruning example
Source “S” 5.
6. Routers
Router EXhas andreceived
Y are also
(S,Leaf Nodes
G) Prune
and don’t need
messages from the (S, G) traffic, so
all DVMRPneighbours
they
on thesend “Prune
subnet, (S, G)” itMessages
therefore prunes theto
A B router
EthernetE. interface connectig to router X
mrouted mrouted and Y. Prune
X
mrouted
14
Pruning example
Source “S” 8. When
7. At this router
point, D
allreceives thisE(S,
of router’s
G) Prune, it prunes
downstream inteface the
oninterface
TBT have and
shuts off the flow
been pruned of (S,
and has anyG)need
traffic
fortothe
A B router E.
(S, G) traffic. As a result, it too sends a
mrouted mrouted (S, G) Prune message up the TBT to
router D. X
mrouted
Prune
Pruning example
Source “S” 10. However
9. Here we seeDVMRP is apruned
the final “flood and
state
prune” protocol
of the TBT whichand these
leaves pruned
traffic flowing
branches of the TBT will time out
to the receiver.
A B (typically after 2 mins) and (S, G)
mrouted mrouted traffic will once again flood down all
branches of the TBT. X
mrouted
15
DVMRP Basic Concepts
n Neighbor discovery
n Route exchange
n Source trees
n Multicast forwarding
n Pruning
n Grafting
n Tunnels
Grafting
16
Grafting example
Source “S” 2. Router
1. Y finds
Let’s now thatthat
assume it has state for2”
“Receiver
source
new (S, Group
joins G) and“G”that
byitsending
has previously
an
1
prunedHost
IGMP the Membership
source from report
the Source
for
1
A B Tree. As
group “G”a to
result, it sends
Router Y. a “Graft”
mrouted mrouted message to its upstream neighbor,
Router E, for source S. X
1
1 1 1 mrouted
Grafting example
Source “S” 4. Router E now
3. receives
findsthe that
Graft
it too
(S,has
G)
previously
from Routerpruned
Y and(S, firstG)responds
from theby
1
Source
sendingTree and must
a Graft-Ack therefore
message to send
1
A B acknowledge
an (S, G) Graftthe
to receipt
its upstream
of Router Y’s
mrouted mrouted Graft message.
neighbor Router D.
X
1
1 1 1 mrouted
Graft
17
Grafting example
Source “S” 6.
5. Router D has not pruned
receives (S,for
the Graft G)(S,
traffic
G) from from the Source
Router Treeresponds
E and first and by
1
therefore adds themessage
sending Graft-Ack interfacetotowards
1
A B Router E to itsthe
acknowledge outgoing
receipt interface
of router list.
E’s
mrouted mrouted This
Graftrestarts
message. the flow of (S, G) traffic
down to Receiver 2. X
1
1 1 1 mrouted
Graft-Ack
n Neighbor discovery
n Route exchange
n Source trees
n Multicast forwarding
n Pruning
n Grafting
n Tunnels
18
Tunnels
n IP-
IP-in-
in-IP encapsulation uses an additional IP
wrapper header with protocol number of 4
with end points of the tunnel as the Source
and Destination addresses
n DVMRP Tunnels are implemented using IP- IP-in-
in-
IP encapsulation
n DVMRP Tunnels are primary used to tunnel
through non-
non-Multicast capable networks
n DVMRP Tunnels have the added benefit of
reducing the hop count across non-
non-Multicast
enabled networks to 1 hop (infinity=32hops)
Tunnels example
Multicast Network
mrouted
mrouted 130.230.50.37
mrouted New IP header
mrouted SRC=192.1.1.1
DST=130.230.50.37
Protocol=4
Original IP Header
Non-Multicast SRC=196.14.23.101
Network DST=224.0.1.254
Multicast Data
19
DVMRP Protocol Review
n Multicast packets from the source reach the
DVMRP routers in the source network
n A TBT is build exchanging DVMRP Route
Reports between neighboring routers
n DVMRP routers perform a flooding of the
multicast traffic on the TBT (every 2 min)
n Leaf routers prune themselves out, if no
traffic is required in their local nets
n Leaf routers graft themselves in, if traffic is
required in their local nets
DVMRP Scalability
20
Conclusions
21