Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Group Communications: Host Group and IGMP Dr. Rocky K. C. Chang 19 March, 2002.

Similar presentations


Presentation on theme: "1 Group Communications: Host Group and IGMP Dr. Rocky K. C. Chang 19 March, 2002."— Presentation transcript:

1 1 Group Communications: Host Group and IGMP Dr. Rocky K. C. Chang 19 March, 2002

2 2 The multicast routing problem How can an IP host send a single copy of datagram to a group of destinations? Motivations: –Efficient multi-destination delivery for updating all copies of a replicated file or database, sending voice, video, or data packets to all participants in computer- mediated conference. –Robust unknown-destination delivery: Use a group address to reach one or more destinations whose individual addresses are unknown to the sender, e.g., a set of OSPF routers to talk to one another. Requirements for the solution: –Scalability, efficiency, and conforming to the IP approach.

3 3 The multicast routing problem source member

4 4 The multicast routing problem Multicasting on the same IP network (do not need router support): –hardware support for multicasting –API support for applications to join and leave multicast groups –LAN switches to filter out multicast datagrams. Multicasting on different networks (need router support): –In additional to the above, also need a multicast routing protocol and a protocol to keep track of the group membership. –One basic approach is to overlay a “shortest-path” multicast tree from a given source to a multicast group.

5 5 IP multicasting IP multicasting is the Internet abstraction of hardware multicasting. The TCP/IP standards for multicasting –Define an IP multicast address space. Some multicast addresses are well-known and others are dynamically allocated. For example, 224.0.0.1: all systems on this subnet, and 224.0.0.2: all routers on this subnet. IP multicast only supports UDP. –Specify how hosts send and receive multicast datagrams. –Specify how routers support multicast. Determine group membership on their attached LANs. Determine how to forward multicast packets.

6 6 Multicast group addresses IP multicast addresses (class D) can only be used as destination addresses. –They can never appear in the source address field, nor can they appear in a source route or record route option. ICMPv4 error is never generated about multicast datagrams, such as destination unreachable, etc. –Two exceptions to this in IPv6 are “Packet Too Big” and “Parameter Problem” ICMPv6 messages. To map an IP multicast address to the corresponding Ethernet address, –Place the low-order 23 bits of the IP multicast address into the low-order 23 bits of the special Ethernet multicast address (0x01:00:5e:00:00:00 to 0x01:00:5e:7f:ff:ff).

7 7 Multicast group addresses –The mapping is not one-to-one. Some multicast datagrams may be received at a host that are not destined to that host. The IP software must carefully check addresses on all incoming datagrams and discard any unwanted datagrams.

8 8 The host group model The set of hosts listening to a particular IP multicast address is called a host group. –Senders need not be group members (open group). –A group may have any number of members. –There are no topological restrictions on group membership. –Group membership is dynamic and autonomous. –Host groups may be permanent or transient. The Host Group Model is consistent with the IP datagram (connectionless) approach. –Best effort service without reliability guarantee –Leave it to the upper layers for providing additional services.

9 9 Multicast support for hosts To send an IP multicast datagram, the IP software must allow an application program to –specify a multicast address as a destination address, and –the data link must be able to map an IP multicast address into the corresponding hardware multicast address. To receive an IP multicast datagram, the IP software must allow an application program to –declare that it wants to join or leave a particular multicast group. –If multiple application programs join the same group, the IP software must pass each of them a copy of datagram received. –If all application programs leave a group, the host must remember that it no longer participates in that group.

10 10 Multicast support for routers A protocol is needed for multicast routers to keep track of group membership on a given physical network. A routing protocol is also needed for multicast routers to exchange multicast routing information in order to build a multicast distribution tree.

11 11 Internet group management protocol IGMPv2 specified in RFC 2236 Multicast routers use IGMP to learn which groups have members on each of their attached networks. –Such a router keeps a list of multicast group membership for each attached network. –It also keeps a timer for each membership. –“Multicast group memberships”mean the presence of at least one member of a multicast group on a given interface. –The IGMP is mainly based on membership queries and membership reports. A multicast router may either be a Querier or NonQuerier. A Querier on a network may send IGMP query messages.

12 12 IGMP messages IGMP messages are encapsulated in IP datagrams. There are basically three types of message (one more as compared with IGMPv1): –Membership Query General Query: Learn which groups have members on an attached network. Group-Specific Query: Learn if a particular group has any members on an attached network.

13 13 IGMP messages –Membership Report –Leave Group All messages are sent with TTL set to one, and the IP datagrams contain the IP Router Alert option. Maximum response time is meaningful only in Membership Query messages. –It specifies the maximum allowed time for a member host to respond by sending a membership report message. Group address: –Set to 0 for General Query messages. –Set to the corresponding group address for Group-Specific Query messages.

14 14 Joining a multicast group Processes in a host join specific multicast groups on specific interfaces. A host identifies a group by both group address and the interface. When a host joins a group on an interface, it immediately sends an unsolicited membership report message for that group to the interface. –This host may or may not be the first host joining this group. –The destination address of the message is the address of the group that it joins.

15 15 Joining a multicast group When a router receives the report message, –If this is the first host joining the group, it adds the group being reported to the list of multicast group memberships, and sets a timer for the membership. –Otherwise, it refreshes the timer for the membership.

16 16 Multicast group maintenance A Querier periodically broadcasts (all-systems multicast group 224.0.0.1) a general query message to solicit membership information. When a host receives a General Query on an interface, it sets delay timers for each group of which it is a member on the interface. –Each timer is set to a random value between 0 and the maximum response time. When a host receives a Group-Specific Query, it performs similar actions as for General Query. When a group’s timer expires, the host multicasts a membership report to the group.

17 17 Leaving a multicast group When a host leaves a multicast group, it may send a Leave Group message to the all-routers multicast group (224.0.0.2). When a Querier receives a Group Leave message for a group that has members on the reception interface, –it sends Group-Specific Queries (several times) to the group. –If no reports are received after a certain time threshold, the routers assume that the group has no local members.

18 18 Host state diagram A host may be in one of three possible states with respect to any single IP multicast group on any single network interface. –“Nonmember” state: When the host does not belong to the group on the interface. –“Delaying Member” state: When the host belongs to the group on the interface, and has a report delay timer running for that membership. –“Idle Member” state: When the host belongs to the group on the interface, and does not have a report delay timer running for that membership.

19 19

20 20 Router state diagram A router in Querier state may be in one of three possible states with respect to any single IP multicast group on any single network interface. –“No Members Present” state: When there are no hosts on the network which have sent reports for this multicast group. –“Member Present” state: When there is a host on the network which has sent a membership report for this multicast group. –“Checking Membership” state: When the router has received a Leave Group message but has not yet heard a membership report for the multicast group.

21 21 Router state diagram

22 22

23 23 Performance considerations IGMP is carefully designed to avoid congesting a local network. –All communications between hosts and routers use IP multicast. –A Querier sends only a single General Query to request membership information. –When a host receives a General or Group-Specific Query, it doesn’t respond immediately, but schedules responses for later times. –If there are more than one host belonging to a group, only one host will send Group Leave message when leaving the group.

24 24 Performance considerations Join latency: The time between the moment the first host joins a group and when the routing protocol is notified that there is a member. Leave latency. The time between the moment the last host leaves a group and when the routing protocol is notified that there are no more members. –IGMPv2 improves the leave latency of IGMPv1 by introducing a Leave Group message.

25 25 Acknowledgements The notes are based on –W. Fenner, Internet Group Management Protocol, Version 2, RFC 2236, November, 1997. –S. Deering, Multicast Routing in a Datagram Internetwork, PhD Thesis, December, 1991.


Download ppt "1 Group Communications: Host Group and IGMP Dr. Rocky K. C. Chang 19 March, 2002."

Similar presentations


Ads by Google