Internet Group Management Protocol ( IGMP ) on protokolla, jonka avulla IP- reitittimet voivat määrittää dynaamisesti,mitkä ryhmälähetysryhmät ovat asiakkaita aliverkossa .
IGMP on epäsymmetrinen protokolla siinä mielessä, että isännöille määritetty käyttäytyminen eroaa monilähetysreitittimistä. Koska monilähetysreititin voi kuitenkin tilata ryhmälähetysryhmän aivan kuten isäntä, monilähetysreitittimien on suoritettava protokollan molemmat osat.
IGMP on protokolla, joka suoritetaan saman aliverkon isäntäkoneiden ja tämän aliverkon monilähetysreitittimien välillä. Sen avulla isäntäkone voi ilmoittaa yhdelle näistä ryhmälähetysreitittimistä nykyisistä ryhmälähetysryhmien tilauksista . Reitittimet ylläpitävät luetteloa ryhmälähetysryhmistä, joille isäntäkoneet ovat ilmoittaneet heille tilauksensa. Tällaista luetteloa ylläpidetään jokaiselle aliverkolle, jotka monilähetysreititin yhdistää, ja antaa reitittimen määrittää monilähetys-IP-paketit välittää näille aliverkoille. Monilähetys-IP-paketti välitetään aliverkkoon, jos tämän paketin kohdeosoite on jonkin tähän aliverkkoon liittyvän monilähetysryhmän osoite .
In IPv6 , toiminnot IGMP on ottanut haltuunsa Multicast Listener Discovery (MLD) -protokollaa, joka on yksi osa-protokollien ICMPv6 . Toiminnallisesti MLDv1 vastaa IGMPv2: ta ja MLDv2 on samanlainen kuin IGMPv3.
Monilähetysliikenteen lähde ei välttämättä ole ryhmän jäsen, joten se voi lähettää vuon ryhmälle ilman ennakko signalointia ja ilman IGMP: tä. Rajapinnalla reitittimet voivat pakottaa myös tyypin (*, G) tilauksen, toisin sanoen lähteestä riippumattoman, tai jopa minkä tahansa lähteen ryhmälähetyksen (ASM) tai (S, G) ( lähdekohtainen monilähetys , SSM) .
IGMP: stä on useita versioita, jotka eroavat toisistaan toiminnallisuudessa. Ainoa versio 3 on SSM-tyyppi.
Kaikki IGMP-versiot käyttävät IP-protokollanumeroa 2 ja asettavat Time to Live -kentän paketeiksi 1, mikä estää niiden leviämisen niiden aliverkon ulkopuolella, joita ne koskevat. Nykyiset versiot ovat versiot 2 ja 3.
IGMPv0 on määritelty RFC 988: ssa, tätä versiota pidetään vanhentuneena.
IGMPv1 on kuvattu standardissa RFC 1112.
On olemassa kahdenlaisia viestejä IGMPv1: jäsenyys kyselyn ja jäsenraportti .
Reititin, joka varmistaa monilähetyspakettien lähetyksen, toimii pyynnön tekijänä ( kyselylomakkeena ), toisin sanoen se lähettää pyyntöjä säännöllisin väliajoin (oletusarvoisesti 60 sekunnin välein).
Isännät vastaavat ilmoittamalla tilaamansa ryhmät raporttiin. Samanaikaisten vastausten tulvan välttämiseksi raportit lähetetään satunnaisella viiveellä (oletusarvoisesti 0-10 sekuntia). Jos isäntä saa tänä aikana toisen isännän raportin kyseisestä ryhmästä, sen tilausviesti poistetaan.
Ryhmää 224.0.0.1 ( kaikki isännät ) ei lähetetä .
Versio on 1. Tyyppi on 1 kyselylle ja 2 raportille.
Pyyntöjä varten kohdeosoite on 224.0.0.1 ( kaikki isännät ). Raporttien kohdekohteen IP-osoite on sama kuin sen ryhmän osoite.
Isäntä, joka haluaa liittyä ryhmään, lähettää raportin odottamatta pyyntöä.
IGMPv1: n rajoituksetRFC 2236 kuvaa IGMP: n version 2. Tämä on IGMP: n suosituin versio yleisten käyttöjärjestelmien joukossa, ja sitä tukevat erityisesti Windows 98 ja Linux 2.4 -ydin .
Tämä korjaa joitain version 1 rajoituksia, lisätään:
Tyyppi- kenttä sisältää IGMPv1- version kentän ja sallii tietyn tason taaksepäin yhteensopivuuden version 1 kanssa.
Max Resp Time -kenttä ilmoittaa isännän vastaamisen enimmäisajan kymmenesekunnissa. Isännät käyttävät vastauksessa satunnaisviivettä tämän rajan alapuolella ja valinnaisesti poistavat raportit version 1 mukaisesti. Suurin viive on 100 (10 sekuntia) yleiselle pyynnölle ja 10 (1 sekunti) ryhmäkohtaiselle pyynnölle.
RFC: n mukaan isännän " pitäisi " lähettää lopetusviesti poistuttaessa ryhmästä, mikä tarkoittaa, että tämä viesti ei ole pakollinen. Tämä vaikeuttaa optimointia, kuten IGMP: n harhauttamista . Protokollatoteutuksissa käytetään kuitenkin aina tätä viestiä.
Ryhmästä poistumisen prosessiRyhmästä poistumisviesti ohjataan osoitteeseen 224.0.0.2 ( kaikki reitittimet ). Kun pyytävä reititin vastaanottaa tämän viestin, se lähettää vasemman ryhmän erityisen kyselysanoman vastauksena sen selvittämiseksi, pysyykö ryhmän isäntäjäsen aliverkossa. Jos vastausta ei vastaanoteta, reititin katsoo, että ryhmään ei ole enää tilaajia. Tämä viesti toistetaan yleensä, joten ryhmän viive segmentin poistumiselle on oletusarvoisesti 2-3 sekuntia.
Hakijan valintaKun reititin vastaanottaa pyynnön toiselta reitittimeltä, se vertaa lähteen IP-osoitetta omaansa. Reititin, jolla on pienin osoite, valitaan segmentin kyselyyn. Kun reititin vastaanottaa tällaisen korkeamman pyynnön, se käynnistää 250 sekunnin laskurin, jonka aikana se ei lähetä pyyntöjä. Jos tänä aikana ei vastaanoteta viestiä pyytäjältä, jolla on pienempi IP-osoite, pyynnöt lähetetään uudelleen.
Yhteentoimivuus IGMP v1: n kanssaAinoat mahdolliset tilat ovat tyypin (*, G), ts. Isäntä ei voi ilmoittaa haluavansa vastaanottaa ryhmää vain tietystä lähteestä, eikä sulkea pois tiettyä lähdettä.
Versio 3 ( RFC 3376) lisää mahdollisuuden määrittää ryhmätilaus tietylle lähteelle tai sulkea pois tietyt lähteet. RFC määrittää, että IP-paketin ToS-kentäksi on asetettu 0xc0 ( Internetwork Control ) ja että Reitittimen hälytys -vaihtoehtoa ( RFC 2113) käytetään.
IGMPv3: ta tukevat Linux versiosta 2.6.7, Windows XP, Cisco IOS 12.1 (5) T ja FreeBSD 8.0.
Raporttien poistaminen, joiden tuki on pakollista versioille 1 ja 2, poistetaan tästä julkaisusta. Tämä helpottaa IGMP Snoopingin toimintaa ja vähentää latenssia, kun viimeinen jäsen lähtee ryhmästä ( nopea poistuminen ).
IGMPv3-viestejä on kahdenlaisia:
Tyyppikentät 0x12 (raportti v1), 0x16 (raportti v2) ja 0x17 (poistuminen v2) on tuettava IGMP v3: n toteutuksella taaksepäin yhteensopivuuden takaamiseksi.
KyselytKyselyjä on kolmenlaisia:
Yleinen pyyntö lähetetään osoitteeseen 224.0.0.1 ( kaikki isännät ), kun taas pyyntöjä ryhmille lähetetään kyseisen ryhmän osoitteeseen.
Max Resp Code -kenttä on koodattu seuraavasti:
Kun S-kenttä on asetettu arvoon 1, käsketään muita reitittimiä ohittamaan tämä viesti ajastinta päivitettäessä.
QQIC ( Querier's Query Interval Code ) -kenttä edustaa kyselyjen välistä aikaa. Reitittimet, jotka eivät pyydä, vastaavat tätä arvoa.
QRV ( Querier's Robustness Variable ) -kenttä on osoitus aliverkon lähetyksen luotettavuudesta. Raportit ja kyselyt välitetään tämän kentän arvon perusteella.
RaportitRaportit näyttävät ryhmät ja valinnaisesti lähteet, joihin isännät tilaavat. Ne lähetetään osoitteeseen 224.0.0.22, joka on tarkoitettu IGMP v3: lle. Kaksi tilaa on mahdollista:
Käsitteellisesti reitittimet ylläpitää taulukko koostuu tuplat seuraavassa muodossa:
(monilähetysosoite, ryhmäajastin, suodatustila, (lähdeluettelo))
Jokainen lähde on seuraavassa muodossa:
(lähdeosoite, lähdeajastin)
Tässä on luettelo IGMP-viesteistä sekä niiden kohdeosoite.
G edustaa kyseisen ryhmän osoitetta.
IGMP-versio | Viestityyppi | Versio / tyyppi | Määränpään osoite |
---|---|---|---|
1 | pyyntö | 0x11 | 224.0.0.1 |
raportti | 0x12 | G | |
2 | pyyntö | 0x11 | 224.0.0.1 |
pyydä G | 0x11 | G | |
raportti | 0x16 | G | |
lähteä | 0x17 | 224.0.0.2 | |
3 | pyyntö | 0x11 | 224.0.0.1 |
pyydä G | 0x11 | G | |
raportti | 0x22 | 224.0.0.22 |
Raportti v2
Raportti v3
IGMP Snooping -tekniikka koostuu ethernet-kytkimelle monilähetyskehysten lähettämisen optimoimisesta tarkkailemalla IGMP-liikennettä.
Beau Williamson, IP-monilähetysverkkojen kehittäminen , Cisco Press,1999, 568 Sivumäärä ( ISBN 1-57870-077-9 , lue verkossa )