information that is needed by receivers to successfully join the session. RFC 3266, which defines SDP, defines the standard set of variables that describe the sessions. Most of the variables were inherited from the SDR tool. The transport itself is not defined in this RFC. The packets describing the session are transported across the multicast-enabled network via several mechanisms: Figure shows the SDR mechanisms in a Cisco IP/TV example. Cisco IP/TV generally has three components: server (the source), content manager (the directory server), and viewer (the receiver). The viewers perform either of these two actions: Cisco IP/TV uses SAP to transport the SDR sessions to the viewer. The standard SDR format for session description is used.

Content 7.2 IGMP and Layer 2 Issues 7.2.1 Introducing IGMPv2 The Internet Group Management Protocol (IGMP) has evolved through three versions (1, 2, and 3). Understanding this protocol is fundamental in defining the multicast group membership join and leave process, which is a required function of multicasting. Without control, multicast packets are flooded as unknown unicast frames by an Ethernet switch. IGMP snooping and Cisco Group Management Protocol (CGMP) solve this problem. IGMP is a host-to-router protocol used when hosts want to join a multicast group. With IGMPv1, routers send periodic membership queries to the multicast address 224.0.0.1. Hosts send membership reports to the group multicast address they want to join. Hosts silently leave the multicast group. Most of the changes between IGMPv1 and IGMPv2 primarily address the issues of leave and join latencies and address ambiguities in the original protocol specification. Some of the important changes made are as follows: A group-specific query that was added in IGMPv2 allows the router to query membership in a single group instead of all groups, which is an optimized way to find out whether any members are left in a group without asking all groups for a report. The difference between the group-specific query and the membership query is that a membership query is multicast to the all-hosts address (224.0.0.1), while a group-specific query is multicast only to the group multicast address. A leave group message allows hosts to tell the router that they are leaving the group. This information reduces the leave latency on the segment when the member who is leaving is the last member of the group. The standard defines the time when leave group messages must be sent. The query-interval response time was added to control the burstiness of reports. This time is set in queries to convey to the members how much time they have to respond to a query with a report. IGMPv2 is backward compatible with IGMPv1.
Content 7.2 IGMP and Layer 2 Issues 7.2.2 IGMPv2 Join Group and Leave Group Messages Members joining a multicast group do not have to wait for a query to join. They send an unsolicited report indicating their interest. This procedure reduces join latency for the end system if no other members are present. In Figure , after host H2 sends the join group message for group 224.1.1.1, group 224.1.1.1 is active on the router interface Ethernet0. Using the show ip igmp group command reveals the following: When there are two IGMP routers on the same Ethernet segment (broadcast domain), the router with the highest IP address is the designated querier. In IGMPv1, hosts leave passively. They do not explicitly say that they are leaving; they just stop reporting their membership by not responding to membership queries. IGMPv2, however, has explicit leave group messages. When the IGMPv2 router receives a leave message, it responds by sending a group-specific query for the associated group to see whether there are other hosts interested in receiving traffic for the group. This process helps to reduce overall leave latency. In Figure , hosts H2 and H3 are members of multicast group 224.1.1.1. At a certain point, host H2 leaves the group and announces the departure by sending a leave message to multicast group 224.0.0.2 (all multicast routers). The router hears the leave message and sends a group-specific query to see if any other group members are present. Host H3 has not left the multicast group 224.1.1.1 yet, so it responds with a report message. This response tells the router to keep sending multicast for 224.1.1.1, because at least one member is still present. In Figure , the multicast group 224.1.1.1 is still active. However, the IGMP information shows that host H3 is the last host to send an IGMP group membership report. After receiving a leave message from H3, the router sends a group-specific query to see whether any other group members are present. Because host H3 was the last remaining member of the multicast group 224.1.1.1, no IGMP membership report for group 224.1.1.1 is received, and the group times out. This activity typically takes from 1 to 3 seconds, from the time that the leave message is sent until the group-specific query times out and multicast traffic stops flowing for that group. In Figure , all hosts have left the 224.1.1.1 group on Ethernet0. This status is indicated in the output of the show ip igmp group command.
Content 7.2 IGMP and Layer 2 Issues 7.2.3 Introducing IGMPv3 The main intention of IGMPv3, defined in RFC 3376, is to allow hosts to indicate that they want to receive traffic only from particular sources within a multicast group. IGMPv3 adds the ability to filter multicasts based on the multicast source. This enhancement makes the utilization of routing resources more efficient. Figure displays an IGMPv3 operation. Host H3 sends a join message with an explicit request to join sources in the source list. IGMPv3 uses a source list for source filtering, which allows a system to report interest in receiving packets only from specific source addresses or from all but specific source addresses that are sent to a particular multicast address. Multicast routing protocols can use that information to avoid delivering multicast packets from specific sources to networks where there are no interested receivers. In IGMPv3, reports are sent to 224.0.0.22 rather than 224.0.0.2.
Content 7.2 IGMP and Layer 2 Issues 7.2.4 IGMPv2 and IGMPv3 Interoperability Use the show ip igmp interface command to determine which version of IGMP is currently active on an interface. In the example, the IGMP version is the line that reads “Current IGMP host version is 2” and “Current IGMP router version is 2”.
Content 7.2 IGMP and Layer 2 Issues 7.2.5 Multicast in the Layer 2 Switching Environment For most Layer 2 switches, multicast