Internet Group Management Protocol

IGMP dans un réseau local : les hôtes indiquent au routeur les groupes multicast auxquels ils souscrivent.

Internet Group Management Protocol (IGMP, Protocole de gestion de groupe Internet) est un protocole de communication qui permet à des routeurs IPv4 d'établir de façon dynamique des groupes de plusieurs hôtes pour qu'ils puissent rejoindre des diffusions multipoint (multicast).

IGMP est utilisé pour des applications où beaucoup d'hôtes rejoignent simultanément un même serveur, par exemple pour le streaming en direct ou les jeux en ligne massivement multijoueur.

IGMP est un protocole de couche réseau (couche no 3 du modèle OSI), au même niveau que le protocole Internet (IP). Il est défini pour les réseaux IPv4. La gestion du multicast pour IPv6 est effectuée par la fonction Multicast Listener Discovery (MLD) du protocole ICMPv6. D'un point de vue fonctionnel, MLDv1 équivaut à IGMPv2 et MLDv2 est semblable à IGMPv3.

Utilisation d'IGMP

IGMP est un protocole asymétrique en ce sens que le comportement spécifié pour les hôtes diffère de celui des routeurs multicast. Toutefois, un routeur multicast pouvant s'abonner à un groupe multicast au même titre qu'un hôte, les routeurs multicast doivent exécuter les deux parties du protocole.

IGMP est un protocole exécuté entre les machines hôtes d'un même sous-réseau et les routeurs multicast de ce sous-réseau. Il permet à une machine hôte d'informer un de ces routeurs multicast sur ses abonnements en cours à des groupes multicast. Les routeurs maintiennent la liste des groupes multicast pour lesquels des machines hôtes leur ont rapporté être abonnées. Une telle liste est maintenue pour chacun des sous-réseaux qu'un routeur multicast interconnecte et permet au routeur de déterminer les paquets IP multicast à relayer sur ces sous-réseaux. Un paquet IP multicast est relayé sur un sous-réseau si l'adresse de destination de ce paquet est celle d'un des groupes multicast associés à ce sous-réseau.

Une source de trafic multicast n'est pas nécessairement membre d'un groupe, elle peut donc émettre un flux à destination du groupe sans signalisation préalable et sans prendre en charge IGMP. Sur une interface, les routeurs peuvent également forcer une souscription de type (*,G), c'est-à-dire indépendant de la source, ou encore Any Source Multicast (ASM), ou (S,G) (Source-Specific Multicast, SSM).

Fonctionnement d'IGMP

Plusieurs versions d'IGMP existent et diffèrent en fonctionnalité. Seule la version 3 est de type SSM.

Toutes les versions d'IGMP utilisent le numéro de protocole 2 d'IP et fixent le champ Time to Live des paquets à 1, évitant ainsi leur propagation au-delà du sous-réseau qu'ils concernent. Les versions rencontrées actuellement sont les versions 2 et 3.

IGMP v0

IGMPv0 est défini dans la RFC 988[1], cette version est considérée comme obsolète.

IGMP v1

Format du paquet IGMPv1.

IGMPv1 est décrit dans la RFC 1112[2].

Il existe deux types de messages dans IGMPv1 : requête d'adhésion (membership query) et rapport d'adhésion (membership report).

Un routeur qui assure la transmission des paquets multicast sert de requérant (querier), c'est-à-dire qu'il émet les requêtes à intervalle régulier (toutes les 60 secondes par défaut).

Les hôtes répondent en indiquant dans un rapport les groupes auxquels ils souscrivent. Pour éviter un flot de réponses simultanées, des rapports sont envoyés avec un délai aléatoire (compris entre 0 et 10 secondes par défaut). Si, pendant ce délai, un hôte reçoit un rapport d'un autre hôte concernant ce groupe, son message de souscription est supprimé.

Aucun rapport n'est envoyé pour le groupe 224.0.0.1 (All hosts).

La version est 1. Le type est 1 pour la requête et 2 pour le rapport.

Pour les requêtes, l'adresse de destination est 224.0.0.1 (All hosts). Pour les rapports, l'adresse IP de destination est la même que celle du groupe qu'il concerne.

Un hôte qui souhaite joindre un groupe envoie un rapport sans attendre de requête.

Limitations d'IGMPv1
  • Il n'y a pas de message qui permet à un hôte d'indiquer qu'il quitte un groupe. Le requérant ne peut donc déterminer qu'un groupe ne dispose plus de membres sur un segment qu'après un délai généralement fixé à trois fois l'intervalle entre les requêtes (c'est-à-dire trois minutes) et pendant lequel aucun rapport concernant ce groupe n'est reçu. Ceci peut poser des problèmes pour les flux multicast à haut débit, qui peuvent causer de la congestion au niveau de l'accès au sous-réseau si un client passe rapidement d'un groupe à un autre.
  • La RFC ne dit pas comment le requérant est choisi s'il existe plusieurs routeurs multicast dans le sous-réseau.

IGMP v2

Format du paquet IGMPv2.

RFC 2236[3] décrit la version 2 d'IGMP. C'est la version d'IGMP la plus répandue parmi les systèmes d'exploitation généraux, elle est notamment prise en charge par Windows 98 et le noyau Linux 2.4[4].

Celle-ci corrige certaines limitations de la version 1, sont ajoutés :

  • une requête spécifique à un groupe,
  • un mécanisme d'élection d'un requérant,
  • le délai maximal pour la réponse est indiqué dans la requête,
  • un message pour quitter le groupe.

Le champ Type englobe le champ version d'IGMPv1 et permet un certain niveau de rétrocompatibilité avec la version 1.

  • Une requête générale avec une valeur Type de 0x11 sera bien interprétée comme un message de requête par un hôte qui ne prend en charge que la version 1. Une requête spécifique au groupe contient l'adresse du groupe.
  • La valeur Type 0x12 est utilisée pour la rétrocompatibilité, il s'agit en réalité d'un rapport d'hôte en version 1.
  • La valeur 0x16 est un rapport dans la version 2.
  • La valeur 0x17 (leave) est utilisée pour quitter un groupe.

Le champ Max Resp Time indique le temps maximal dont dispose un hôte pour répondre, en dixièmes de secondes. Les hôtes utilisent un délai aléatoire inférieur à cette limite pour la réponse et suppriment éventuellement les rapports comme en version 1. Le délai maximal vaut 100 (10 secondes) pour une requête générale, et 10 (1 seconde) pour une requête spécifique à un groupe.

La RFC indique qu'un hôte « devrait » envoyer un message quitter quand il quitte un groupe, ceci implique que ce message n'est pas obligatoire. Ceci rend les optimisations telles que IGMP snooping particulièrement difficiles. Les implémentations du protocole utilisent cependant systématiquement ce message.

Processus pour quitter un groupe

Le message pour quitter un groupe est dirigé vers l'adresse 224.0.0.2 (All-routers). Quand le routeur requérant reçoit ce message, il envoie en réponse un message query spécifique au groupe quitté pour déterminer s'il subsiste un hôte membre du groupe dans le sous-réseau. Si aucune réponse n'est reçue, le routeur considère qu'il n'existe plus d'abonnés au groupe. Ce message est généralement répété, de sorte que le délai pour qu'un groupe quitte un segment est situé entre 2 et 3 secondes par défaut.

Élection du requérant

Quand un routeur reçoit une requête provenant d'un autre routeur, il compare l'adresse IP source avec la sienne. Le routeur dont l'adresse est la plus basse est sélectionné comme requérant sur le segment. Quand un routeur reçoit une telle requête supérieure à la sienne, il démarre un compteur de 250 secondes pendant lequel il s'abstient d'envoyer des requêtes. Si aucun message d'un requérant avec une IP plus petite n'est reçu pendant cette période, les requêtes sont émises à nouveau.

Interopérabilité avec IGMP v1
  • Si un hôte détecte un requérant v1, il se comportera comme un hôte IGMPv1 et émettra des rapports en format v1 pendant au moins 400 secondes. Un hôte peut déterminer qu'il s'agit d'une requête v1 en examinant le contenu du champ Max Resp Time, s'il vaut 0, alors il s'agit en réalité du champ Unused en v1.
  • Un hôte v1 répondra aux requêtes v2, cependant les rapports v2 ne seront pas interprétés correctement par les hôtes v1 et seront donc ignorés par ces derniers. En présence d'un mélange d'hôtes v2 et v1, la suppression des rapports ne sera donc pas complètement efficace. D'autre part, le requérant doit ignorer les messages quitter d'un groupe s'il détecte un hôte v1 dans ce groupe.
Limitations d'IGMPv2

Les seuls états possibles sont de type (*,G), c'est-à-dire qu'il n'est pas possible à un hôte d'indiquer qu'il ne souhaite recevoir un groupe que d'une source déterminée, ni exclure une source déterminée.

IGMP v3

Format de la requête IGMPv3 (Type=0x11).
Format du rapport IGMPv3 (Type=0x22).
Format de chacun des Group records.

La version 3 (RFC 3376[5]) ajoute la possibilité de spécifier une souscription à un groupe avec une source particulière, ou à l'exclusion de certaines sources. La RFC précise que le champ ToS du paquet IP est fixé à 0xc0 (Internetwork Control) et que l'option Router Alert (RFC 2113[6]) est utilisée.

IGMPv3 est pris en charge par Linux à partir de 2.6.7, par Windows XP, Cisco IOS 12.1(5)T et FreeBSD 8.0.

La suppression des rapports, dont la prise en charge est obligatoire pour les versions 1 et 2, est supprimée dans cette version. Ceci facilite le fonctionnement d'IGMP Snooping et permet de réduire la latence au moment où le dernier membre quitte un groupe (fast leave).

Il existe deux types de messages IGMPv3 :

  • Type=0x11 : Requête
  • Type=0x22 : Rapport v3

Les champs type 0x12 (rapport v1), 0x16 (rapport v2) et 0x17 (quitter v2) doivent être pris en charge par une implémentation d'IGMP v3 pour la rétrocompatibilité.

Requêtes

Il existe trois types de requêtes :

  • la requête générale : l'adresse de groupe est laissée vide, et N=0
  • la requête spécifique à un groupe : l'adresse de groupe est indiquée, et N=0
  • la requête spécifique à un groupe et à des sources : l'adresse du groupe est indiquée, N≠0 et la liste des sources est fournie.

La requête générale est envoyée à l'adresse 224.0.0.1 (All hosts), tandis que les requêtes relatives à des groupes sont envoyées à l'adresse du groupe en question.

Le champ Max Resp Code est codé de la façon suivante :

  • s'il correspond à un nombre inférieur à 128, il a le même sens qu'en v2, c'est-à-dire des dixièmes de secondes,
  • si le premier bit vaut 1, les trois bits suivants sont des bits d'exposant, tandis que les 4 bits suivants servent de mantisse, ce qui permet d'exprimer des valeurs plus élevées, sachant que l’équation est (mant | 0x10) << (exp + 3), la valeur maximale est 111110000000000b en binaire, soit 31×2(7+3) = 31744 dixièmes de seconde, soit un peu moins de 53 minutes, ce qui contribue à limiter le flot des réponses en présence d'un grand nombre de membres dans un sous-réseau.

Le champ S, quand il est à 1, indique aux autres routeurs de ne pas tenir compte de ce message pour la mise à jour de la minuterie.

Le champ QQIC (Querier's Query Interval Code) représente le délai entre les requêtes. Les routeurs qui sont non-requérants s'alignent sur cette valeur.

Le champ QRV (Querier's Robustness Variable) est une indication de la fiabilité de la transmission dans le sous-réseau. Les rapports et requêtes sont retransmis en fonction de la valeur de ce champ.

Rapports

Les rapports indiquent les groupes et éventuellement les sources auxquels les hôtes souscrivent. Ils sont envoyés à l'adresse 224.0.0.22 dédiée à IGMP v3. Deux modes sont possibles :

  • le mode d'inclusion, où toutes les sources souhaitées sont indiquées,
  • le mode d'exclusion, où toutes les sources sont souhaitées, sauf celles indiquées. La liste des sources exclues est éventuellement nulle, ce qui signifie que l'hôte souscrit à toutes les sources.

Conceptuellement, les routeurs tiennent à jour une table composées de tuples de la forme suivante :

(adresse multicast, minuterie de groupe, mode de filtrage, (liste des sources))

Chaque source est de la forme suivante :

(adresse source, minuterie de source)

Messages IGMP

Voici la liste des messages IGMP ainsi que leur adresse de destination.

G représente l'adresse du groupe concerné.

Version IGMP Type de message Version/Type Adresse destination
1 requête 0x11 224.0.0.1
rapport 0x12 G
2 requête 0x11 224.0.0.1
requête G 0x11 G
rapport 0x16 G
quitter 0x17 224.0.0.2
3 requête 0x11 224.0.0.1
requête G 0x11 G
rapport 0x22 224.0.0.22

IGMP Snooping

La technique IGMP Snooping consiste, pour un commutateur Ethernet, à optimiser la diffusion des trames multicast en observant le trafic IGMP.

Notes et références

Liens externes

Beau Williamson, Developing IP Multicast Networks, Cisco Press, , 568 p. (ISBN 1-57870-077-9, lire en ligne)

Read other articles:

Mikoyan MiG-29KMiG-29KTipePesawat tempur multiperan berbasis kapal induk segala cuacaProdusenMikoyanTerbang perdana23 Juli 1988Diperkenalkan19 Februari 2010StatusBeroperasiPengguna utamaAngkatan Laut IndiaAngkatan Laut RusiaTahun produksi2005–sekarangJumlah produksi81Acuan dasarMikoyan MiG-29M Mikoyan MiG-29K (bahasa Rusia: Микоян МиГ-29K, kode NATO: Fulcrum-D[1]) adalah pesawat tempur multiperan berbasis kapal induk yang dikembangkan oleh biro rancang Mikoyan. MiG-29K ...

 

United States historic placeWaterloo Public LibraryU.S. National Register of Historic Places Show map of IowaShow map of the United StatesLocation528 W. 4th St.Waterloo, IowaCoordinates42°29′32.3″N 92°20′36.8″W / 42.492306°N 92.343556°W / 42.492306; -92.343556Arealess than one acreBuilt1905ArchitectJ.G. RalstonArchitectural styleClassical RevivalMPSPublic Library Buildings in Iowa TRNRHP reference No.83000342[1]Added to NRHPMay 23, 19...

 

Liga Joss IndonesiaMusim2009–10JuaraPersibo BojonegoroPromosiPersibo BojonegoroDelta Putra SidoarjoPS Semen PadangPencetak golterbanyakEdward Junior Wilson (Semen Padang) = 20 Gol← 2008–09 2010–11 → Divisi Utama Liga Indonesia 2009–10 adalah musim kelima belas kompetisi Divisi Utama Liga Indonesia. Nama resmi kompetisi ini adalah Liga Joss Indonesia, diambil dari nama sponsor utamanya, Extra Joss. Divisi Utama 2009/2010 diselenggarakan selama 6 bulan yakni dari tanggal 25 November...

Coordinate: 44°08′43.07″N 12°15′03.87″E / 44.145297°N 12.251075°E44.145297; 12.251075 Strada statale 726 Tangenziale di CesenaDenominazioni precedentiNuova strada ANAS 230 bis Tangenziale di Cesena Nuova strada ANAS 230 Secante di Cesena LocalizzazioneStato Italia Regioni Emilia-Romagna DatiClassificazioneStrada statale InizioSS 9 presso Cesena FineSS 3 bis presso Torre del Moro Lunghezza9,470[1] km Data apertura1990[2] Provvedimento di is...

 

Artikel ini adalah bagian dari seriPolitik dan ketatanegaraanIndonesia Pemerintahan pusat Hukum Pancasila(ideologi nasional) Undang-Undang Dasar Negara Republik Indonesia Tahun 1945 Hukum Perpajakan Ketetapan MPR Undang-undang Perppu Peraturan pemerintah Peraturan presiden Peraturan daerah Provinsi Kabupaten/kota Legislatif Majelis Permusyawaratan Rakyat Ketua: Bambang Soesatyo (Golkar) Dewan Perwakilan Rakyat Ketua: Puan Maharani (PDI-P) Dewan Perwakilan Daerah Ketua: La Nyalla Mattalitti (J...

 

Political alliance of Soviet communists against Joseph Stalin This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: United Opposition Soviet Union – news · newspapers · books · scholar · JSTOR (January 2008) (Learn how and when to remove this template message) United Opposition LeaderLeon TrotskyGrigory Zinov...

Joaquín Informasi pribadiNama lengkap Joaquín Sánchez RodríguezTanggal lahir 21 Juli 1981 (umur 42)Tempat lahir El Puerto de Santa María, SpanyolTinggi 1,79 m (5 ft 10+1⁄2 in)Posisi bermain Sayap kiriInformasi klubKlub saat ini Real BetisNomor 17Karier junior1994–1999 Real BetisKarier senior*Tahun Tim Tampil (Gol)1999–2000 Real Betis B 26 (2)2000–2006 Real Betis 218 (31)2006–2011 Valencia 158 (18)2011–2013 Málaga 71 (10)2013–2015 Real Betis 71 (7)T...

 

Egzon Bejtulai Nazionalità  Macedonia del Nord Altezza 182 cm Peso 79 kg Calcio Ruolo Difensore Squadra  Drita Carriera Giovanili -2011 Teteks Squadre di club1 2011-2013 Teteks41 (0)[1]2013-2020 Škendija160 (7)2020 Helsingborg0 (0)2020-2023 Škendija80 (1)2023-2024 Gjilani7 (0)2024- Drita0 (0) Nazionale 2012 Macedonia U-197 (0)2014-2017 Macedonia U-219 (0)2018- Macedonia del Nord26 (0) 1 I due numeri indicano le presenze e le reti segnat...

 

Für alle Chanson de Windextrait de l'album Für alle Sortie 1985 Durée 2:54 Langue Allemand Genre Pop, schlager Format 45t Auteur Hanne Haller Compositeur Hanne Haller Producteur Hanne HallerBernd MeinungerWerner Schüler Label Jupiter Records Chansons représentant l'Allemagne au Concours Eurovision de la chanson Aufrecht geh'n(1984) Über die Brücke geh'n(1986)modifier Für alle est la chanson représentant l'Allemagne au Concours Eurovision de la chanson 1985 à Göteborg. Elle es...

HeizeHeize in April 2018Nama asal헤이즈LahirJang Da-hye9 Agustus 1991 (umur 32)Daegu, Korea SelatanPendidikanUniversitas Nasional PukyongPekerjaanPenyanyirapperpenulis lagukomposerKarier musikGenreK-Hip-HopJazzR&BSoulTahun aktif2014–sekarangLabelP NationArtis terkaitUnpretty Rapstar 2Situs webhttp://stonemusicent.net/artist/?modal=artist_heizeNama KoreaHangul장다혜 Alih AksaraJang Da-hyeMcCune–ReischauerChang TahyeNama panggungHangul헤이즈 Alih AksaraHeijeuMcCune�...

 

Replica of the Tablets of Law or the Ark of the Covenant in the Ethiopian Orthodox Church For the festival in Indonesia, see Tabuik. This article contains Ethiopic text. Without proper rendering support, you may see question marks, boxes, or other symbols instead of Ethiopic characters. An Ethiopian priest carries a tabot during a Timkat ceremony. Tabot (Ge'ez ታቦት tābōt, sometimes spelled tabout) is a replica of the Ark of the Covenant, and represents the presence of God, in Ethi...

 

Pour les articles homonymes, voir Gouvernement Henri Queuille. Gouvernement Henri Queuille I Quatrième République Données clés Président du Conseil Henri Queuille Formation 11 septembre 1948 Fin 5 octobre 1949 Durée 1 an et 24 jours Composition initiale Coalition Troisième Force (RAD - MRP - SFIO - UDSR - PRL - AD puis CNI - PPUS) Gouvernement Robert Schuman II Gouvernement Georges Bidault II modifier - modifier le code - voir Wikidata (aide) Le premier gouvernement Henri Qu...

Questa voce o sezione sull'argomento centri abitati della Campania non cita le fonti necessarie o quelle presenti sono insufficienti. Puoi migliorare questa voce aggiungendo citazioni da fonti attendibili secondo le linee guida sull'uso delle fonti. Sant'Angelo dei Lombardicomune Sant'Angelo dei Lombardi – Veduta LocalizzazioneStato Italia Regione Campania Provincia Avellino AmministrazioneSindacoRosanna Repole (lista civica Sant'Angelo dei Lombardi Comunità Attiva)&...

 

Questa voce sull'argomento cestisti statunitensi è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento. Seth Doliboa Nazionalità  Stati Uniti Altezza 203 cm Peso 102 kg Pallacanestro Ruolo Ala grande Termine carriera 2015 CarrieraGiovanili Springboro High School1999-2000 Bowling G. Falcons2001-2004 Wright St. RaidersSquadre di club 2004 Columbus Riverdr.s23 (145)2005-2006 Roanoke Daz...

 

 烏克蘭總理Прем'єр-міністр України烏克蘭國徽現任杰尼斯·什米加尔自2020年3月4日任命者烏克蘭總統任期總統任命首任維托爾德·福金设立1991年11月后继职位無网站www.kmu.gov.ua/control/en/(英文) 乌克兰 乌克兰政府与政治系列条目 宪法 政府 总统 弗拉基米尔·泽连斯基 總統辦公室 国家安全与国防事务委员会 总统代表(英语:Representatives of the President of Ukraine) 总...

American journalist and columnist (1931–2009) Robert NovakNovak in 2002BornRobert David Sanders Novak(1931-02-26)February 26, 1931Joliet, Illinois, U.S.DiedAugust 18, 2009(2009-08-18) (aged 78)Washington, D.C., U.S.Alma materUniversity of Illinois Urbana-ChampaignOccupationsJournalistcolumnistcommentatorpunditauthorSpousesRosanna Hall (div.) Geraldine (Williams) Novak ​ ​(m. 1962)​ This article is part of a series onConservatismin the United Stat...

 

В Википедии есть статьи о других людях с фамилией Майкеев. Мурат Жалелович Майкеевказ. Мұрат Жәлелұлы Майкеев 5-й Первый заместитель министра обороны - начальник Генерального штаба Вооружённых сил Республики Казахстан 15 сентября 2016 — 5 апреля 2019 Президент Нурсултан Н�...

 

Military officer training program for the United States Navy and United States Marine Corps This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Naval Reserve Officers Training Corps – news · newspapers · books · scholar · JSTOR (August 2015) (Learn how and when to remove this message) NROTC Midshipmen being comm...

Bank Gramin KeralaJenisBank Perkreditan Rakyat DaerahIndustriPerbankan Jasa keuanganPendahuluBank Gramin Malabar Selatan Bank Gramin Utara MalabarDidirikan8 Juli 2013; 10 tahun lalu (2013-07-08)KantorpusatMalappuram, Kerala, IndiaCabang634 cabang (2021)Wilayah operasiKerala, IndiaTokohkunciC. Jayaprakash (Ketua)PemilikPemerintah India (50%)Pemerintah Kerala (15%)Bank Canara (35%)Situs webhttp://www.keralagbank.com/ Bank Gramin Kerala (KGB) adalah Bank Perkreditan Rakyat Daerah (RRB), yan...

 

Control of engine power This article is about the control of engine power. For other uses, see Throttle (disambiguation).This article relies largely or entirely on a single source. Relevant discussion may be found on the talk page. Please help improve this article by introducing citations to additional sources.Find sources: Throttle – news · newspapers · books · scholar · JSTOR (February 2019) A throttle is a mechanism by which fluid flow is managed by...