DVMRP – Distance Vector Multicast Routing Protocol

0
61
Distance Vector Multicast Routing Protocol

DVMRP Basics

An interior gateway protocol
Functions within an Autonomous System (AS) but not between ASs
Can only route multicast datagrams
Routers need additional protocol(s) for non-multicast routing, but DVMRP could be extended to unicast
Basis for the Internet’s multicast backbone (MBONE)

How DVMRP Fits Into Multicasting

IGMP – used for discovery of hosts in multicast groups, messages exchanged between neighbors
DVMRP – routes multicast datagrams within an AS
MBGP (Multicast BGP) – routes multicast datagrams between ASs

DVMRP Tree Spanning and Pruning

Uses Reverse Path Flooding to forward multicast data
Uses Pruning to reduce amount of traffic needed to be sent
Pruning occurs when routers receive multicast data for which they have no paths that subscribe to that group
Routers then send back pruning packets to tell the sending router not to send it packets for that multicast group

DVMRP Packet

DVMRP Packet

Encapsulated in IP Datagrams (IP protocol number 2, same as IGMP)
IGMP Packet type of 0x13

DVMRP Packet Structure

DVMRP Packet Structure

Type: Indicates packet is a DVMRP packet, set to 0x13
Code: designates the type of DVMRP packet
Checksum: 1’s complement of the 1’s complement of the entire packet (with checksum set to 0)
Minor & Major Versions: Set to 0xFF and 3 respectively for current version of DVMRP

DVMRP Codes

7 Types of Codes
1 – Probe: Neighbor discovery
2 – Report: Route exchange
5 – Ask Neighbors 2: Request neighbor list
6 – Neighbors 2: Respond with neighbor list
7 – Prune: Pruning delivery trees
8 – Graft: Grafting delivery trees
9 – Graft Ack: Acknowledge graft messages

Note: 3 & 4 are obsolete versions of 5 & 6

DVMRP Probe

Sent out on every interface
3 Purposes
Finds neighbors
Alerts neighbors of routers presence and capabilities
Helps detect neighbor loss, sent ever 10sec, timeout if not received in 35
Contains a list of Neighbors, allows neighbors to know they have been detected

DVMRP Probe Packet

DVMRP Probe Packet

Generation ID: Used to identify changes in router state

DVMRP Report

Used to find neighbor to route traffic back to sender through
Uses hop count as the metric
Contains a list of source networks and metrics

DVMRP Report Packet

DVMRP Report Packet

Sources are paired with masks, can have more than one source paired with a mask.
Lists all sources a router has contact with and the cost of that route.

DVMRP Ask Neighbors 2

Unicast message sent to a specific neighboring router
Asks neighbor to respond with a list of its neighbors

DVMRP Ask Neighbors 2 Packet

DVMRP Ask Neighbors 2 Packet

DVMRP Neighbors 2

Response to Ask Neighbors 2 message
Contains a list of the router’s interfaces and addresses of routers attached to those interfaces

DVMRP Neighbors 2 Packet

DVMRP Neighbors 2 Packet

DVMRP Neighbors 2 Packet (continued)

Local Addresses exist for each interface on the router
Following that are characteristics of that interface
The Number X fields contain all the routers that are neighbors of that port

 

DVMRP Prune

Sent from routers receiving multicast traffic for which they have no downstream group members
“Prunes” the tree created by DVMRP
Stops needless data from being sent

 

DVMRP Prune Packet

DVMRP Prune Packet

Source Host IP Address: Address of device that sent the prune request
Group Address: Multicast group address that is requested to be pruned
Prune Lifetime: Length of time, in seconds (up to ~2hrs), to keep branch pruned
Source Network Mask: The netmask of the route the pruning applies to

DVMRP Graft

Used after a branch has been pruned back
Sent upstream by a router that has a host that joins a multicast group
Goes from router to router until a router active on the multicast group is reached
Sent for the following cases
A new host member joins a group
A new dependent router joins a pruned branch
A dependent router restarts on a pruned branch
If a Graft Ack is not received before the timeout

DVMRP Graft Packet

DVMRP Graft Packet

Source Host IP Address: Address of router or network to graft
Group Address: Multicast group address that is requested to be grafted
Source Network Mask: The netmask of the route the grafting applies to

DVMRP Graft Ack

Used to acknowledge receipt of Graft message
Allows sending downstream router to know upstream router has received and processed its request
If not received within 5 sec. Graft message sent again

DVMRP Graft Ack Packet

DVMRP Graft Ack Packet

Source Host IP Address: Address of router or network that was received in request
Group Address: Multicast group address that was received in request
Source Network Mask: The netmask of the route the Graft Ack covers

DVMRP Issues

DVMRP is based on RIP and carries over many of RIP’s issues
Hop count used as metric
Scalability issues
Performs periodic flooding
Maintains its own routing table
Older versions lack pruning
Even though it is a main part of MBONE, MBONE is being phased out

 

LEAVE A REPLY

Please enter your comment!
Please enter your name here