340 likes | 437 Views
Chapter 10 IGMP. Prof. Choong Seon HONG. Introduction. Discussing the multicasting capability of the TCP/IP protocol suite and the protocol that is involved in multicasting, IGMP (Internet Group Management Protocol). 10.1 Group Management.
E N D
Chapter 10 IGMP Prof. Choong Seon HONG
Introduction • Discussing the multicasting capability of the TCP/IP protocol suite and the protocol that is involved in multicasting, IGMP (Internet Group Management Protocol)
10.1 Group Management • IGMP is a group management protocol. It helps a multicast router create and update a list of loyal members related to each router interface.
Group Management • In any network, there are one or more multicast routers that distribute multicast packets to hosts or other routers. • The IGMP Protocol gives the multicast routers information about the membership status of hosts (routers) connected to the network. • Position of IGMP in the network layer
10.2 IGMP Messages • IGMPv2 Message Types
IGMP (cont’d) • Message Format • Type : General and Special Query : 0x11 or 00010001 Membership Report : 0x16 or 00010110 Leave Report : 0x17 or 00010111 • Maximum Response Type : defining the amount of time in which a query must be answered. • Group address : - 0 for a general query message - defining the group id (multicast address of the group) in the special query, the membership report, and leave report messages
10.3 IGMP Operation • Operation of IGMP in a Single Network • A multicast router connected to a network has a list of multicast addresses of the groups for which there is at least one loyal member.
IGMP Operations (cont’d) • Joining a Group • A host maintains a list of processes with membership in a group • When a process wants to join a new group, it sends its request to the host • The host will add the name of the process and the name of the requested group to its list • Host only sends an IGMP report to the multicast router if this is the first request for membership in that group. • Membership report - In IGMP, a membership report is sent twice, one after the other.
IGMP Operations (cont’d) • Leaving a Group • When a host sees that no process is interested in a specific group, it sends a leave report. • When a router sees that none of the networks connected to its interface is interested in a specific group, it sends a leave report about that group. No Response
IGMP Operations (cont’d) • Monitoring Group Membership • Multicast router is responsible for monitoring all of the hosts in a LAN to see if they want to continue their membership in a group • the router periodically (by default, every 125s) sends a query message. In this message, the group address field is set to 0.0.0.0 (to all systems on a LAN) • The general query message does not define a particular group
IGMP Operations (cont’d) • General Query Message No Response
IGMP Operations (cont’d) • Delayed Response • To prevent unnecessary traffic, IGMP uses a delayed response strategy.
IGMP Operations (cont’d) • Example 1 - Imagine there are three hosts in a network as shown in Figure. A query message was received at time 0; the random delay time (in tenths of seconds) for each group is shown next to the group address. Show the sequence of report messages.
IGMP Operations (cont’d) • The events occur in this sequence: a. Time 12: The timer for 228.42.0.0 in host A expires and a membership report is sent, which is received by the router and every host including host B which cancels its timer for 228.42.0.0. b. Time 30: The timer for 225.14.0.0 in host A expires and a membership report is sent, which is received by the router and every host including host C which cancels its timer for 225.14.0.0.
IGMP Operations (cont’d) c. Time 50: The timer for 251.70.0.0 in host C expires and a membership report is sent, which is received by the router and every host. d. Time 70: The timer for 230.43.0.0 in host A expires and a membership report is sent, which is received by the router and every host including host A which cancels its timer for 230.43.0.0. • Note that if each host had sent a report for every group in its list, there would have been seven reports; with this strategy only four reports are sent.
Encapsulation (cont’d) • Protocol field • The IP packet that carries an IGMP packet has a value of2in its protocol field. • TTL Field • The IP packet that carries an IGMP packet has a value of1in its TTL field.
Encapsulation (cont’d) • Destination IP Addresses • Query : 224.0.0.1 All systems on this subnet • Membership Report : The multicast address of the group • Leave Report : 224.0.0.2 All routers on this subnet
Encapsulation (cont’d) • Data Link Layer • Because the IP packet has a multicast IP address, the ARP protocol cannot find the corresponding MAC (Physical) address to forward the packet at the data link layer. • What happens next depends on whether or not the underlying data link layer supports physical multicast addresses.
Encapsulation (cont’d) • Case 1 : Physical Multicast Support • Most LANs support physical multicasting addressing • 32 (25)multicast addresses at the IP level are mapped to a single multicast address : many-to-one mapping • a host may receive packets that do not really belong to the group in which it is involved Physical multicast address for the TCP/IP protocol
IGMP (cont’d) • Case 2 : No Physical Multicast Support • Most WANs do not support physical multicast addressing . • To send a multicast packet through these networks, a process called tunneling is used. • In tunneling , the multicast packet is encapsulated in a unicast packet and sent through the network, where it emerges from the other side as a multicast packet
10.5 IGMP Package • Showing only the modules used in an IGMP host • involving a group table, a set of timers, and 4 software modules as follows. • a group-joining module, a group-leaving module, an input module, and an output module • Group table
IGMP Package (cont’d) • state : defining the state of the entry • FREE : available for a new entry • DELAYING : meaning that a report should be sent for this entry when the timer matures • IDLE : meaning that there is no timer running for the entry • Interface no. • defining the interface through which the multicast packet is sent for this entry • Group address : multicast address which defines the group • Reference count • meaning the number of processes still interested in this group
IGMP Package (cont’d) • Timers • each entry in the table in the DELAYING state has a timer to govern the sending of reports • When an expiration time matures, a signal goes to the output module which then generates a report
IGMP Package (cont’d) • Group-joining Module • a process that wants to join a group invokes this module • module searches the group table to find an entry with the same multicast address • if found, the module increments the reference count to show that one more process has joined this group • if the multicast address is not found, the module creates a new entry and sets the reference count to one • Then, inform the data link layer to update its configuration table so that this type of multicast packet can be received
IGMP Package (cont’d) 3. Request a membership report from the output module. 4. Inform the data link layer to update its configuration table. 4. Return
IGMP Package (cont’d) • Group-Leaving Module • a process that wants to leave a group invokes this module 3. Request a leave report from the output
IGMP Package (cont’d) • Input Module Random number between zero and the maximum delay time
IGMP Package (cont’d) • Output Module • If the message comes from a timer • 1. if (found and state is DELAYING0 • 1. Create a membership report. • 2. Reset the state to IDLE. • 2. If message comes from the Group- joining module • 1. Create a membership report • 3. If the message comes from group-living module • 1. Create the message • 4. Send the message. • 5. Return or a request from joining or leaving module