120 likes | 225 Views
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)
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.