Internet csoportkezelési protokoll - Internet Group Management Protocol

Az Internet Group Management Protocol ( IGMP ) egy kommunikációs protokoll, amelyet a gazdagépek és a szomszédos útválasztók használnak az IPv4 hálózatokon csoportos csoportos tagságok létrehozásához. Az IGMP az IP multicast szerves része, és lehetővé teszi a hálózat számára, hogy a multicast adásokat csak az azokat igénylő hosztoknak irányítsa.

Az IGMP használható egy-sok hálózati alkalmazáshoz, például online streaming videóhoz és játékhoz , és lehetővé teszi az erőforrások hatékonyabb felhasználását az ilyen típusú alkalmazások támogatása során.

Az IGMP IPv4 hálózatokon használatos. Az IPv6 hálózatok multicast -kezelését a Multicast Listener Discovery (MLD) kezeli, amely az ICMPv6 része, szemben az IGMP csupasz IP -beágyazásával.

Építészet

Az IGMP használatával multicast szolgáltatást nyújtó hálózat ezt az alapvető architektúrát használhatja:

IGMP alapvető architektúra.png

Az IGMP egy gazdagép és egy helyi multicast útválasztó között működik. Az IGMP lehallgatást bemutató kapcsolók szintén hasznos információkat nyernek az IGMP tranzakciók megfigyelésével. A protokollfüggetlen multicast (PIM) protokollt ezután a helyi és távoli multicast útválasztók között használják a multicast forgalom irányítására a multicast küldő hosztoktól az IGMP -n keresztül regisztrált hosztokhoz.

Az IGMP a hálózati rétegen (3. réteg) működik, ugyanúgy, mint a többi hálózatkezelési protokoll, például az ICMP .

Az IGMP protokoll gazdagépeken és útválasztókon belül valósul meg . A házigazda tagságot kér egy csoporthoz a helyi útválasztón keresztül, míg az útválasztó hallgatja ezeket a kéréseket, és rendszeresen küld előfizetési lekérdezéseket. Ennek a lekérdezési funkciónak a végrehajtására alhálózatonként egyetlen útválasztó kerül kiválasztásra. Néhány többrétegű kapcsoló IGMP lekérdező képességgel rendelkezik, amely lehetővé teszi, hogy az IGMP szkennelő funkciói működjenek, ha nincs IGMP-képes útválasztó a 2. rétegű hálózatban.

Az IGMP sebezhető bizonyos támadásokkal szemben, és a tűzfalak általában lehetővé teszik a felhasználó számára, hogy szükség esetén letiltsa.

Verziók

Az IGMP három verziója létezik. Az IGMPv1 -et az RFC  1112 , az IGMPv2 -t az RFC  2236 , az IGMPv3 -t pedig az RFC  3376 határozta meg, és az RFC  4604 frissítette, amely mind az IGMPv3 -at, mind az MLDv2 -t definiálja . Az IGMPv2 javítja az IGMPv1 -et azáltal, hogy a gazda képes jelezni a multicast csoportból való kilépés vágyát. Az IGMPv3 a forrásspecifikus multicast támogatásával javítja az IGMPv2 -t, és bevezeti a tagsági jelentések összesítését.

Ezek a verziók visszafelé kompatibilisek. Az IGMPv3 támogató útválasztó támogatja az IGMPv1, IGMPv2 és IGMPv3 futtató ügyfeleket. Az IGMPv1 lekérdezés-válasz modellt használ. A lekérdezéseket a 224.0.0.1. A tagsági jelentéseket a csoport multicast címére küldjük. Az IGMPv2 felgyorsítja a csoportból való kilépés folyamatát, és beállítja az egyéb időtúllépéseket. A csoportból kilépő üzeneteket a 224.0.0.2. Egy csoportspecifikus lekérdezés kerül bevezetésre. A csoportspecifikus lekérdezéseket a csoport multicast címére küldjük. Bemutatjuk azt az eszközt, amellyel az útválasztók kiválaszthatnak egy IGMP lekérdezőt a hálózathoz. Az IGMPv3 bevezeti a forrásspecifikus multicast képességet. A tagsági jelentéseket a 224.0.0.22.

üzenetek

Többféle IGMP üzenet létezik:

Általános tagsági kérdések
A csoportos küldésű útválasztók küldik, hogy meghatározzák, hogy mely csoportos küldési címek érdeklik a hálózat (ok) hoz csatlakoztatott rendszereket, amelyek arra szolgálnak, hogy frissítsék a csoporttagsági állapotot a hálózat összes rendszerén.
Csoportspecifikus tagsági lekérdezések
Egy adott multicast cím vételi állapotának meghatározására szolgál
Csoport- és forrásspecifikus lekérdezések
Engedélyezze az útválasztónak, hogy meghatározza, kívánja -e bármely rendszer a multicast csoportnak küldött üzenetek fogadását az unicast címek listájában megadott forráscímről
Tagsági jelentések
A multicast vevők küldték a tagsági lekérdezésre válaszul, vagy aszinkron módon, amikor először regisztráltak egy multicast csoportba
Hagyjon csoportos üzeneteket
A multicast vevőkészülékek akkor küldik, amikor a meghatározott multicast adásokra már nincs szükség a vevőkészüléken

Az IGMP üzeneteket csupasz IP -csomagokban hordozzák, amelyek IP -protokoll -száma 2. Az Internet Control Message Protocol -hoz hasonlóan nincs szállítási réteg az IGMP -üzenetekhez.

IGMPv2 üzenetek

IGMPv2 csomagszerkezet
kicsit eltolt 0–7 8–15 16–31
0 típus Max válaszidő Ellenőrző összeg
32 Csoport címe

Ahol:

típus
Az üzenet típusát az alábbiak szerint jelzi
IGMP üzenettípus értékei
Üzenet Típusérték
Tagsági lekérdezés 0x11
IGMPv1 tagsági jelentés 0x12
IGMPv2 tagsági jelentés 0x16
IGMPv3 tagsági jelentés 0x22
Kilépés a csoportból 0x17
Max válaszidő
Megadja a tagsági lekérdezésre (0x11) adott válaszok szükséges válaszkészségét. Ez a mező csak a Tagsági lekérdezésben értelmezhető; más üzenetekben 0 -ra van állítva, és a vevő figyelmen kívül hagyja. A mező 0,1 másodperces egységekben adja meg az időt (a 10 -es mező 1 másodperc). A nagyobb értékek csökkentik az IGMP forgalom felszakadását, a kisebb értékek pedig javítják a protokoll reagálóképességét, amikor az utolsó gazda elhagyja a csoportot.
Csoport címe
Ez a csoportos cím, amelyet lekérdezünk, amikor csoport- vagy csoport- és forrásspecifikus lekérdezést küldünk. Általános lekérdezés küldésekor a mező nullázódik.

Az üzenet a következő IP célcímek használatával kerül elküldésre:

IGMPv2 célcím
Üzenet típusa Multicast cím
General Query Minden gazdagép (224.0.0.1)
Csoportspecifikus lekérdezés A lekérdezett csoport
Tagsági jelentés (minden IGMP verzió) A bejelentett csoport
Kilépés a csoportból Minden útválasztó (224.0.0.2)

IGMPv3 tagsági lekérdezés

IGMPv3 tagsági lekérdezés
kicsit eltolt 0–3 4 5–7 8–15 16–31
0 Típus = 0x11 Max Resp kód Ellenőrző összeg
32 Csoport címe
64 Resv S QRV QQIC Források száma (N)
96 Forráscím [1]
128 Forráscím [2]
. . .
Forráscím [N]

Ahol:

Max Resp kód
Ez a mező a válaszjelentés elküldése előtt megengedett maximális időt (1/10 másodperces lépésekben) határozza meg. Ha a szám 128 alatt van, akkor az érték közvetlenül használható. Ha az érték 128 vagy több, akkor kitevőként és mantissaként értelmezzük.
Ellenőrző összeg
Ez a 16 bites kiegészítése a teljes IGMP üzenet komplement összegének.
Csoport címe
Ez a csoportos cím, amelyet lekérdezünk, amikor csoport- vagy csoport- és forrásspecifikus lekérdezést küldünk. Általános lekérdezés küldésekor a mező nullázódik.
Resv
Ez a mező le van foglalva. Küldéskor nullázni kell, és fogadáskor figyelmen kívül kell hagyni.
S (Elnyomja az útválasztó oldali feldolgozást) Flag
Ha ez a jelző be van állítva, akkor azt jelzi a fogadó útválasztóknak, hogy le kell tiltaniuk a normál időzítő frissítéseket.
QRV (Querier robusztussági változója)
Ha ez nem nulla, akkor tartalmazza a robusztussági változó értékét, amelyet a lekérdezés feladója használt. Az útválasztóknak frissíteniük kell Robusztussági változójukat, hogy azok megfeleljenek a legutóbb kapott lekérdezésnek, kivéve, ha az érték nulla.
QQIC (Querier's Query Interval Code)
Ezzel a kóddal adható meg a lekérdezés által használt lekérdezési intervallum értéke (másodpercben). Ha a szám 128 alatt van, akkor az érték közvetlenül használható. Ha az érték 128 vagy több, akkor kitevőként és mantissaként értelmezzük.
Források száma (N)
Ez a mező határozza meg a lekérdezésben szereplő forráscímek számát. Általános és csoportspecifikus lekérdezések esetén ez az érték nulla. Csoport- és forrásspecifikus lekérdezések esetén ez az érték nem nulla, de a hálózat MTU-ja korlátozza.
Forráscím [i]
A Forráscím [i] mezők n egy unicast IP -cím vektorát tartalmazzák, ahol n a Források száma (N) mezőben szereplő érték.

Megvalósítások

A FreeBSD , Linux és Windows operációs rendszerek támogatják az IGMP -t a gazdaoldalon.

Lásd még

Megjegyzések

Hivatkozások