240 likes | 256 Views
DVMRP. Distance Vector Multicast Routing Protocol. Jerad Bates UMBC - Fall 2006. DVMRP Basics. An interior gateway protocol Functions within an Autonomous System (AS) but not between ASs Can only route multicast datagrams
E N D
DVMRP Distance Vector Multicast Routing Protocol Jerad Bates UMBC - Fall 2006
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 • Encapsulated in IP Datagrams (IP protocol number 2, same as IGMP) • IGMP Packet type of 0x13
DVMRP Packet Structure • Type: Indicates packet is a DVMRP packet, set to 0x13 • Code: designates the type of DVMRP packet • Checksum: 1’s compliment 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 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 Sources are paired with masks, can have more then 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 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 (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 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 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 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
Sources • Original RFC: RFC 1075 http://tools.ietf.org/html/rfc1075 • Latest Draft: http://www.ietf.org/internet-drafts/draft-ietf-idmr-dvmrp-v3-11.txt • http://www.ncne.org/documentation/faq/mcast_eng_faq.html