chapter_19_DVMRP

Download Report

Transcript chapter_19_DVMRP

DVMRP
Distance Vector Multicast Routing
Protocol
Jerad Bates
UMBC - Fall 2006
DVMRP Basics

An interior gateway protocol


Can only route multicast datagrams


Functions within an Autonomous System
(AS) but not between ASs
Routers need additional protocol(s) for nonmulticast 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
8 bits
8 bits
16 bits
Type
Code
Checksum
Reserved
Minor Version
Major Version
Further portion of packet (up to 510 bytes) – Depends on Code
Encapsulated in IP Datagrams (IP protocol
number 2, same as IGMP)
 IGMP Packet type of 0x13

DVMRP Packet Structure
8 bits
8 bits
16 bits
Type
Code
Checksum
Reserved
Minor Version
Major Version
Further portion of packet (up to 510 bytes) – Depends on Code




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
8 bits
8 bits
16 bits
Type (0x13)
Code (0x1)
Checksum
Reserved
Capabilities
Minor Version
Major Version
Generation ID
Neighbor IP 1
……
Neighbor IP N
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
8 bits
8 bits
16 bits
Type (0x13)
Code (0x2)
Checksum
Reserved
Minor Version
Major Version
Mask 1 (Oct 4)
Src Net 11
Src Net 11
Metric 11
Src Net 12
Src Net 12
Metric 12
…
…
…
Mask 2 (Oct 2)
Mask 1 (Oct 2)
Mask 2 (Oct 3)
Mask 1 (Oct 3)
Mask 2 (Oct 4)
Src Net 21
Src Net 21
Metric 21
…
…
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 Ask Neighbors 2
Packet
8 bits
8 bits
16 bits
Type (0x13)
Code (0x5)
Checksum
Reserved
Minor Version
Major Version
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
8 bits
8 bits
16 bits
Type (0x13)
Code (0x6)
Checksum
Reserved
Capabilities
Minor Version
Major Version
Local Address 1
Metric 1
Threshold 1
Flags 1
Number Count 1
Number 1
…
Number M
……
Local Address N
Metric N
Threshold N
Flags N
Number 1
…
Number K
Number Count N
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
8 bits
8 bits
16 bits
Type (0x13)
Code (0x7)
Checksum
Reserved
Minor Version
Major Version
Source Host Address
Group Address
Prune Lifetime
Source Network Mask (optional)
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
8 bits
8 bits
16 bits
Type (0x13)
Code (0x8)
Checksum
Reserved
Minor Version
Major Version
Source Host Address
Group Address
Source Network Mask (optional)
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
8 bits
8 bits
16 bits
Type (0x13)
Code (0x9)
Checksum
Reserved
Minor Version
Major Version
Source Host Address
Group Address
Source Network Mask (optional)
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/internetdrafts/draft-ietf-idmr-dvmrp-v3-11.txt
 http://www.ncne.org/documentation/fa
q/mcast_eng_faq.html
