2. Introduction (Introduzione)
2. Introduction (Introduzione)
L'Internet Group Management Protocol (Protocollo di gestione dei gruppi Internet, IGMP) è utilizzato dagli host IP per segnalare le loro appartenenze ai gruppi multicast a qualsiasi router multicast immediatamente vicino. Questo promemoria descrive solo l'uso di IGMP tra host e router per determinare l'appartenenza al gruppo. I router che sono membri di gruppi multicast dovrebbero comportarsi sia come host che come router, e possono persino rispondere alle proprie query. IGMP può anche essere utilizzato tra router, ma tale uso non è specificato qui.
Come ICMP, IGMP è una parte integrante di IP. È richiesto che sia implementato da tutti gli host che desiderano ricevere multicast IP. I messaggi IGMP sono incapsulati in datagrammi IP, con un numero di protocollo IP di 2. Tutti i messaggi IGMP descritti in questo documento sono inviati con IP TTL 1, e contengono l'opzione IP Router Alert (Avviso router IP) [RFC 2113] nella loro intestazione IP. Tutti i messaggi IGMP di interesse per gli host hanno il seguente formato:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Max Resp Time | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Group Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2.1. Type (Tipo)
Ci sono tre tipi di messaggi IGMP di interesse per l'interazione host-router:
0x11 = Membership Query (Query di appartenenza)
Ci sono due sottotipi di messaggi Membership Query (Query di appartenenza):
- General Query (Query generale), utilizzata per sapere quali gruppi hanno membri su una rete collegata.
- Group-Specific Query (Query specifica del gruppo), utilizzata per sapere se un particolare gruppo ha membri su una rete collegata.
Questi due messaggi sono differenziati dalla Group Address (Indirizzo di gruppo), come descritto nella sezione 1.4. I messaggi Membership Query sono chiamati semplicemente messaggi "Query".
0x16 = Version 2 Membership Report (Rapporto di appartenenza versione 2)
0x17 = Leave Group (Lascia gruppo)
C'è un tipo di messaggio aggiuntivo, per la retrocompatibilità con IGMPv1:
0x12 = Version 1 Membership Report (Rapporto di appartenenza versione 1)
Questo documento si riferisce ai Membership Reports semplicemente come "Reports" (Rapporti). Quando non è specificata alcuna versione, l'affermazione si applica ugualmente a entrambe le versioni.
I tipi di messaggio non riconosciuti dovrebbero essere ignorati silenziosamente. Nuovi tipi di messaggio possono essere utilizzati da versioni più recenti di IGMP, da protocolli di routing multicast o altri usi.
2.2. Max Response Time (Tempo di risposta massimo)
Il campo Max Response Time (Tempo di risposta massimo) è significativo solo nei messaggi Membership Query, e specifica il tempo massimo consentito prima di inviare un rapporto di risposta in unità di 1/10 di secondo. In tutti gli altri messaggi, è impostato a zero dal mittente e ignorato dai ricevitori.
Variare questa impostazione consente ai router IGMPv2 di regolare la "leave latency" (latenza di abbandono) (il tempo tra il momento in cui l'ultimo host lascia un gruppo e quando il protocollo di routing viene notificato che non ci sono più membri), come discusso nella sezione 7.8. Consente anche di regolare la burstiness del traffico IGMP su una sottorete, come discusso nella sezione 7.3.
2.3. Checksum (Checksum)
Il checksum è il complemento a uno a 16 bit della somma del complemento a uno dell'intero messaggio IGMP (l'intero payload IP). Per calcolare il checksum, il campo checksum è impostato a zero. Quando si trasmettono pacchetti, il checksum DEVE essere calcolato e inserito in questo campo. Quando si ricevono pacchetti, il checksum DEVE essere verificato prima di elaborare un pacchetto.
2.4. Group Address (Indirizzo di gruppo)
In un messaggio Membership Query, il campo indirizzo di gruppo è impostato a zero quando si invia una General Query, e impostato all'indirizzo del gruppo interrogato quando si invia una Group-Specific Query.
In un messaggio Membership Report o Leave Group, il campo indirizzo di gruppo contiene l'indirizzo del gruppo multicast IP del gruppo segnalato o lasciato.
2.5. Other fields (Altri campi)
Si noti che i messaggi IGMP possono essere più lunghi di 8 ottetti, specialmente le future versioni retrocompatibili di IGMP. Finché il Tipo è uno di quelli riconosciuti, un'implementazione IGMPv2 DEVE ignorare qualsiasi cosa oltre i primi 8 ottetti durante l'elaborazione del pacchetto. Tuttavia, il checksum IGMP è sempre calcolato sull'intero payload IP, non solo sui primi 8 ottetti.