120 likes | 235 Vues
This tutorial provides an introduction to multicast routing protocols, focusing on three core topics: joining multicast groups (IGMP), information distribution between routers regarding multicast subscriptions, and the routing process for multicast packets using Reverse Path Forwarding (RPF). It discusses the simplest algorithm (flooding), its disadvantages, and improvements like RPF and RPF pruning. In addition, it explores DVMRP protocol and tunneling methods to support multicast traffic in environments without native multicast capabilities.
E N D
Internet Networking Spring 2004 Tutorial 7 Multicast Routing Protocols
Introduction • When we discuss multicast routing protocols we should learn 3 things: • How hosts can join to a multicast group (IGMP) • How routers distribute between them information about registered multicast subscriptions • How a router performs routing of a multicast packet
RPF – Reverse Path Forwarding • Simplest algorithm for multicast routing is flooding packets from a source to all ASs. Disadvantages: • Large amount of unnecessary packets sending • Need to remember already received packets to prevent duplications • Better idea is to build some kind of spanning tree ( What is the problem in Distance Vector routing ?) • RPF algorithm: • When a multicast packet is received from source (S) on interface (I) at router R • If I belongs to the shortest path from R to S, forward it to all interfaces except I; Otherwise, refuse the packet • Assumes symmetric routing : distance(R→S) = distance(S→ R)
RPF Properties • RPF properties: • Generates Shortest Path spanning tree • Different spanning tree for each source • But unnecessary forward packets to all networks, even not subscribed to the multicast group • RPF+ (improvement - look one step further) • A router forwards packets only to the neighbors that it is their “father” on the shortest path from a source
RPF Pruning • Idea: • There is no sense to forward a packet if there is no group member down the tree • Algorithm Flood & Prune: • The first multicast packet from a source S is propagated to all the network nodes (flooding) • When a leaf router (at the specific tree) receives a multicast message and doesn’t have group members for it, it sends prune message to the father node • When an intermediate router gets prune messages through all the outgoing interfaces then it sends prune message by self to its father node
RPFPruning Properties • If a router wants to join a group after pruning, it sends join request to its father node at the tree (the next node on the shortest path to S: again symmetry is assumed). • After predefined time exceeding joining to the group is renewed • The algorithm is robust for topology changes • However, it has 2 drawbacks: • Packets are flooded to the whole network on the periodic basis • All routers must keep state on a per-group and per-source basis
DVMRP Protocol • Protocol for multicast routing inside of ASs that use Distance Vector Routing (i.e. RIP), defined in RFC 1075. • DVMRP uses IGMP messages of a new type (not usual QUERY or REPORT messages) for exchanging multicast information between routers • Based on RPF algorithm • Uses its own routing tables (because of the tunnels and forward-path metric)
DVMRP Protocol Forwarding algorithm: • When a router receives a multicast packet from an interface (or a tunnel) it checks in the DVRMP routing table whether it is on the shortest path from the source • If this is not a case the packet is dropped; otherwise, it is forwarded to all multicast-capable interfaces and tunnels for which the router is the previous hop from the source • 2 additional checks are applied at this stage: a verification of the packet TTL and a check for group membership
Tunneling • A method for sending datagram between routers separated by gateways that do not support multicast. • Acts as a virtual network between two routers. • Example: Host on net 1 wants to send a multicast message to a host on net 2 net 1 net 2 Internet with no support for multicast R1 R2
Tunneling • Tunneling is done by encapsulating the original multicast datagram with an unicast IP datagram. • The source and the destination of the unicast IP packets are the end point of the tunnel. • When the packet enters to the ingress of the tunnel the router encapsulate the datagram with a new IP header. • The source address is the address of the ingress router while the destination address is the address of the egress router
Tunneling • Example: Source:R1 Dest:R2 Protocol: IP in IP Source:S Dest:G Protocol: UDP UDP header and data IP header (1) IP header (2) R1 R2 S G
DVMRP Forwarding Table • Represents the local router’s understanding of the shortest path delivery tree for each (source, group) pair. • Example: a prune message has been sent to the upstream router the router has received a prune message from a downstream router.