Vous êtes sur la page 1sur 21

Distance Vector Multicast

Routing Protocol
Advanced Topics for Broadband Networks

30.09.2002

Aurelian Pop (puiu@cs.tut.fi


(puiu@cs.tut.fi))
Marius Vlad (marius.vlad@tut.fi
(marius.vlad@tut.fi))

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

DVMRP Basic Concepts

n Neighbor discovery
n Route exchange
n Source trees
n Multicast forwarding
n Pruning
n Grafting
n Tunnels

2
Neighbor discovery

n DVMRP routers must maintain a


database of DVMRP adjacencies with
other DVMRP routers (on each
network interface)
n DVMRP Probe messages are
periodically multicast to the All DVMRP
Routers group address (224.0.0.4)

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

DVMRP Route Report


SRC=130.230.50.102
DST=130.230.50.101
E0
S0 Routing Table
mrouted 151.10.0.0/16 M3
DVMRP Router 1 204.1.16.0/24 M10
130.230.50.101
2. Router 1 receives the DVMRP
DVMRP Route Table
Network Itf Metric Route Report, updates it’s entries
151.10.0.0/16 E0
S0 46 Updated
198.14.32.0/24 S0 3
204.1.16.0/24 E0 11 Added

Route exchange example


5. Router 2 receives the DVMRP Router 2
DVMRP Route Table
DVMRP Route Report, 130.230.50.102 Network Itf Metric
updates it’s entries and S0 151.10.0.0/16 S0 3
mrouted
notice that Router 1 expects E0 204.1.16.0/24 S0 10
to receive multicast traffic for Added 198.14.32.0/24 E0 4
Poisson Reversed entries
DVMRP Route Report
SRC=130.230.50.101
Poison Reverse indicates
DST=130.230.50.102
E0 Router 1 is a Child (Down-
S0 Routing Table
mrouted Tree) of Router 2 for these
151.10.0.0/16 M36
Sources
DVMRP Router 1 198.14.32.0/24 M3
130.230.50.101 204.1.16.0/24 M43
DVMRP Route Table 4. Router 1 sends a DVMRP Route
Network Itf Metric
151.10.0.0/16 E0 4 Report containing it’s entries from
198.14.32.0/24 S0 3 the routing table
204.1.16.0/24 E0 11

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

Route exchange example


DVMRP Router 2
DVMRP Route Table
130.230.50.102 Network Itf Metric
S0 151.10.0.0/16 S0 3
mrouted
E0 204.1.16.0/24 S0 10
198.14.32.0/24 E0 4

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

Source Tree example


Source Network S1
Resulting TBT for
Source Network S1
A B
mrouted mrouted
X
mrouted

mrouted mrouted mrouted


C D E
Y
mrouted
§ Once the DVMRP Network has converged and all PR
advertisements have been sent up the TBT toward S1, the S1
TBT has been built (minimum spanning tree rooted in source
network S1 that spans all routers in the network)

8
Multiple Source Trees

n There is one TBT for every source


network in the DVMRP Network
n TBT simply exist in the form of Poison-
Reverse advertisements in the DVMRP
routing tables of the routers in the
network

TBT Pros & Cons


Initial
nWhen flooding
a router of amulticast
learns that trafficaway
network is further through
the DVMRP network is limited to
than was previously known, or it learns that the flowing
network is
down,
down the the
route branches
to that network
of isthe
placed
TBT into holddown.
During the holddown period, the route is advertised, but
No duplicate
nincoming packets
advertisements about are sent as
that network a any
from result of
router
parallel
other than thepaths inoriginally
one that the network
advertised the network's new
n Require separate DVMRPisrouting
metric are ignored. This mechanism often used to help avoid
routing loops in the network, but has the effect of increasing
information to be exchanged through the
the topology convergence time.
entire network (do NOT use existing unicast
routing tables)
n Problems associated with a Distance-
Distance-Vector
protocol: count-
count-to-
to-infinity, holddown,
holddown,
periodic updates

9
DVMRP Basic Concepts

n Neighbor discovery
n Route exchange
n Source trees
n Multicast forwarding
n Pruning
n Grafting
n Tunnels

Multicast forwarding

n Multicast routing is upside-down


routing (where it comes from, versus
where it is going).
n The DVMRP routing table is used to
determine whether an incoming
multicast packet was received on the
correct interface.

10
Multicast forwarding

Incoming Packets Must Pass RPF Check

1. Packet Arrived on DVMRP Route Table


3.Just as in PIM,
Therefore incoming
the RPF checkpackets
for this must
pass a “Reverse Wrong Interface!
fails and Path Forwarding” check. Network Itf Metric
packet the packet is discarded.
DVMRP has its own Route Table used for 151.10.0.0/16 E0 4
perfoming the RPF check.
198.14.32.0/24 S0 3
Multicast Packet
SRC=151.10.3.21 204.1.16.0/24 E0 11
mrouted 2. A multicast packet from a
S1 S0
X

source in the 151.10.0.0/16


mrouted network was received via S0,
E0 E1 although the correct interface
should be E1, not S0.

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.

DVMRP Basic Concepts

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

mrouted mrouted mrouted


C D E
Y
mrouted
Receiver 1
Group “G”

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

mrouted mrouted mrouted


C D E
Y
mrouted
Receiver 1
Group “G”

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

mrouted mrouted mrouted


C D E
Y
mrouted
Receiver 1 Prune
Group “G”

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

mrouted mrouted mrouted


C D E
Y
mrouted
Receiver 1
Group “G”

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

mrouted mrouted mrouted


C D E
Y
mrouted
Receiver 1
Group “G”

15
DVMRP Basic Concepts

n Neighbor discovery
n Route exchange
n Source trees
n Multicast forwarding
n Pruning
n Grafting
n Tunnels

Grafting

n Grafting is a mechanism with which DVMRP


adds back (grafts) previously pruned
routers. It is necessary to reduce join-
join-
latency for new hosts in the group.
n Unlike the Prune mechanism, which is
unreliable, the Graft mechanism is made
reliable by the use of Graft-
Graft-Ack messages.

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

mrouted mrouted mrouted


C 1 D E
1 Y
1 mrouted
Graft
Receiver 1
Group “G” Receiver 2
Group “G”

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

mrouted mrouted mrouted


C 1 D E
1 Graft-Ack Y
1 mrouted
Receiver 1
Group “G” Receiver 2
Group “G”

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

mrouted mrouted mrouted


C 1 D E
1 Y
1 mrouted
Receiver 1
Group “G” Receiver 2
Group “G”

DVMRP Basic Concepts

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

Multicast Network mrouted 192.1.1.1

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

n DVMRP networks with diameter


smaller than 32 hops (hop-count
metric infinity is 32)
n Periodic route updates cannot handle
50000 prefixes active in internet every
60 seconds
n Slow convergence

20
Conclusions

n Source specific protocol


n Dense mode protocol
n Flat protocol (not hierarchical)
n Not scalable
n DVMRP should be employed in new network
designs only when necessary to interface
with existing DVMRP infrastructure – and
then only when network can be migrated to
some other more efficient multicast protocol

21

Vous aimerez peut-être aussi