* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Introduction
Survey
Document related concepts
Network tap wikipedia , lookup
Computer network wikipedia , lookup
Distributed firewall wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
Deep packet inspection wikipedia , lookup
Internet protocol suite wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
UniPro protocol stack wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Transcript
Chapter 10 IGMP Prof. Choong Seon HONG Kyung Hee University 1 Introduction Discussing the multicasting capability of the TCP/IP protocol suite and the protocol that is involved in multicasting, IGMP (Internet Group Management Protocol) Kyung Hee University 2 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. Kyung Hee University 3 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 Kyung Hee University 4 10.2 IGMP Messages IGMPv2 Message Types Kyung Hee University 5 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 Kyung Hee University 6 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. Kyung Hee University 7 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. Kyung Hee University 8 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. Kyung Hee University No Response 9 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 Kyung Hee University 10 IGMP Operations (cont’d) General Query Message No Response Kyung Hee University 11 IGMP Operations (cont’d) Delayed Response To prevent unnecessary traffic, IGMP uses a delayed response strategy. Kyung Hee University 12 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. Kyung Hee University 13 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. Kyung Hee University 14 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. Kyung Hee University 15 10.4 Encapsulation Kyung Hee University 16 Encapsulation (cont’d) Protocol field The IP packet that carries an IGMP packet has a value of 2 in its protocol field. TTL Field The IP packet that carries an IGMP packet has a value of 1 in its TTL field. Kyung Hee University 17 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 Kyung Hee University 18 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. Kyung Hee University 19 Encapsulation (cont’d) Case 1 : Physical Multicast Support Most LANs support physical multicasting addressing Physical multicast address for the TCP/IP protocol 32 (25)multicast addresses at the IP level are mapped to a single multicast address : many-to-one mapping Kyung Hee University a host may receive packets that do not really belong to the group in which it is involved 20 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 Kyung Hee University 21 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 Kyung Hee University 22 IGMP Package (cont’d) Kyung Hee University 23 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 Kyung Hee University meaning the number of processes still interested in this group 24 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 Kyung Hee University 25 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 Kyung Hee University 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 26 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 Kyung Hee University 27 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 Kyung Hee University 28 IGMP Package (cont’d) Input Module Random number between zero and the maximum delay time Kyung Hee University 29 IGMP Package (cont’d) Output Module 1. If the message comes fromora atimer request from joining or leaving module 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 Kyung Hee University 30