Fundamentals of IGMP Version 1, IGMP Version 2, and Reverse Path Forwarding

‚  < ‚  Free Open Study ‚  > ‚  

Fundamentals of IGMP Version 1, IGMP Version 2, and Reverse Path Forwarding

Before diving into the intricacies of the PIM protocol, you need to understand the concept behind the Internet Group Management Protocol (IGMP) and reverse path forwarding (RPF).

IGMP is the protocol that functions between the host, also called the receiver, and the multicast-enabled router. In short, IGMP allows the router to know that a host is interested in receiving multicast traffic for a specific group. IGMP is enabled on the router whenever PIM is enabled. IGMP messages are sent with a TTL of 1; therefore, IGMP packets are constrained to the local network only.

IGMP Version 1

In IGMP version 1 (defined in RFC 1112), the routers sends IGMP queries to the "all-hosts" multicast address of 224.0.0.1 to solicit multicast groups with active multicast receivers. The multicast receivers also can send IGMP reports to the router to notify it that they are interested in receiving a particular multicast stream. Hosts can send the report asynchron-ously or in response to the IGMP queries sent by the router. If more than one multicast receiver exists for the same multicast group, only one of these hosts sends an IGMP report message; the other hosts suppresses theirs.

For example, in Figure 12-1, the router R1 sends periodic IGMP queries to the 224.0.0.1 address. Only one member per group per subnet sends the IGMP report message to the router ‚ in this case, H2 ‚ while the other hosts H1 and H3 suppress theirs.

Figure 12-1. Example of IGMP Version 1

graphics/12fig01.gif

In IGMP version 1, there is no election of an IGMP querier. If more than one router on the segment exists, all the routers send periodic IGMP queries. IGMP version 1 has no special mechanism by which the hosts can leave the group. If the hosts are no longer interested in receiving multicast packets for a particular group, they simply do not reply to the IGMP query packets sent from the router. The router continues sending query packets. If the router does not hear a response in three IGMP queries, the group times out and the router stops sending multicast packets on the segment for the group. If the host later wants to receive multicast packets after the timeout period, the host simply sends a new IGMP join to the router, and the router begins to forward the multicast packet again.

IGMP Version 2

IGMP version 2 (defined in RFC 2236) introduces several changes to make IGMP more efficient in joining and leaving the group. Some of the important changes are listed here:

  • Querier election mechanism ‚ On a multiaccess network, an IGMP querier router is elected based on the IP address. Therefore, only one router per segment sends IGMP queries.

  • Leave group message ‚ The host sends a leave message if it is no longer interested in a multicast group. This reduces leave latency when compared to version 1.

  • Group-specific query ‚ The router sends a group-specific query before it times out the group. This ensures that there are no more hosts left on the segment that might still be interested in receiving the multicast group.

The IGMP join mechanism in version 2 is the same as in version 1. The leave mechanism is a little different, though. In version 2, when a host wants to leave the group, it sends an IGMP leave message. When the router receives the leave message, it sends an IGMP query packet to see if any more hosts are interested in the group. If hosts still are interested in the group, they send an IGMP join message to override the IGMP leave message; otherwise , the router assumes that there are no more hosts interested in the multicast group, and the group times out.

Figure 12-2 illustrates that host H2 wants to leave the multicast group because it sends an IGMP leave message. When Router R1 receives the leave message, it immediately sends out an IGMP query to make sure that no other hosts are interested in the group. In this case, host H1 is still in the group, and H1 overrides the IGMP leave message by sending an IGMP report message. In this scenario, the group remains active and the router keeps forwarding multicast packets on the segment.

Figure 12-2. IGMP Version 2 Leave Mechanism ‚ Multicast Group Retained

graphics/12fig02.gif

Figure 12-3 depicts the same scenario as in the Figure 12-2. Router R1 sends out an IGMP query after it receives the IGMP leave from the host H2. Because both hosts H1 and H3 are not interested in the group, they simply ignore the IGMP query message sent by the router. When the router doesn't hear any response from its IGMP query, it times out the group on the segment, and Router R1 stops sending multicast packets for that group.

Figure 12-3. IGMP Version 2 Leave Mechanism ‚ Multicast Group Timed Out

graphics/12fig03.gif

Multicast Forwarding (Reverse Path Forwarding)

You must understand the way the multicast forwarding mechanism works before understanding how PIM comes into play. Multicast routing is backward from unicast routing. Unicast routing is concerned about where the packet is going, whereas in multicast routing, the concern is where the packets are coming from. Multicast routing uses the concept of reverse path forwarding (RPF) to determine whether a forwarding loop exists. In short, RPF allows the router to forward a multicast packet only if the packet is received on the upstream interface to the source. To be specific, if the router receives a multicast packet on an interface, the unicast routing table is used to check the source address of the multicast packet. If the packet arrives on the interface specified in the unicast routing table for the source address, the RPF check succeeds; otherwise, the RPF check fails and the multicast packets are silently dropped.

In Figure 12-4, the router receives a multicast packet from interface S1, and the source is 192.168.3.1. The router checks its unicast routing table for address 192.168.3.1. The unicast routing table indicates that it learned about network 192.168.3.0/24 from interface S1. The RPF check, in this case, succeeds because the multicast interface and the unicast routing table are congruent. When the RPF check succeeds, the router forwards the multicast packets to its outgoing interfaces ‚ in this case, interfaces E0 and S2. The outgoing interfaces are interfaces that meet any of the following conditions:

  • A PIM neighbor is heard on the interface.

  • A host on this interface has joined the group.

  • The interface has been manually configured to join the group.

Figure 12-4. Successful RPF Check

graphics/12fig04.gif

In Figure 12-5, the router receives multicast packets from interface S0 with the source address of 192.168.3.1. The router checks its unicast routing table, as in the previous example and finds out that the unicast routing table knows about network 192.168.3.0/24 from interface S1. The unicast routing table, in this case, is not congruent with the interface that the multicast packets are coming from. Therefore, the RPF check fails and the multicast packets are dropped.

Figure 12-5. Failed RPF Check

graphics/12fig05.gif

‚  < ‚  Free Open Study ‚  > ‚  


Troubleshooting IP Routing Protocols
Troubleshooting IP Routing Protocols (CCIE Professional Development Series)
ISBN: 1587050196
EAN: 2147483647
Year: 2002
Pages: 260

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net