Internet csoportkezelési protokoll - Internet Group Management Protocol
Internet protokoll csomag |
---|
Alkalmazási réteg |
Szállítási réteg |
Internet réteg |
Linkréteg |
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:
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
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:
Ü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
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.