|
Internet Group Management Protocol (IGMP) na przestrzeni lat
doczekał się kilku zmian, które spowodowały powstanie jego już trzeciej
wersji w 2002 roku (IGMPv3). Poniżej przedstawiam różnice między
wersjami IGMPv1, IGMPv2 i IGMPv3.
Różnice między IGMPv2 a IGMPv1
W IGMPv2 (RFC2236 - Internet Group Management Protocol, Version 2)
wprowadzono następujące zmiany w stosunku do IGMPv1 (RFC1112 - Internet
Group Management Protocol, Version 1):
- pola "Wersja" i "Typ" w IGMPv1 połączono w jedno pole "Typ" w IGMPv2.
- wprowadzono nowy typ IGMPv2, który przydzielono do wiadomości
"Version 2 Membership Report", co pozwala rozróżnić Reporty IGMPv1 od
IGMPv2.
- wprowadzono nowy typ IGMPv2, który przydzielono do wiadomości "Leave Group".
- zmieniono wiadomość "Membership Query", która teraz wykorzystuje
wcześniej niewykorzystywane pole, przemianowane teraz na "Max Resp
Time".
- IGMPv2 określiło własny mechanizm wyboru Queriera. W IGMPv1 Querier
był określany przez protokół routingu multicastowego, co mogło
prowadzić do istnienia wielu Querierów w sieci. Określono też wsteczną
kompatybilność routerów multicastowych IGMPv2 z routerami IGMPv1, co
pozwala routerowi IGMPv2 pracować też w razie potrzeby jako router
IGMPv1, ignorując wiadomości "Leave Group" i ustawiająć pole "Max Resp
Time" na wartość 0 we wszystkich wiadomościach Query.
- Protokół IGMPv2 wymaga by we wszystkich pakietach IGMP występowała opcja IP "Router Alert".
Różnice między IGMPv3 a IGMPv2
W IGMPv3 (RFC3376 - Internet Group Management Protocol, Version 3) wprowadzono następujące zmiany w stosunku do IGMPv2:
- najważniejszą funkcją dodaną w IGMPv3 jest filtrowanie źródeł multicastowych (exclude i include).
- stany w IGMPv3 są przechowywane jako "Grupa + Lista_źródeł", a nie jak w IGMPv2 tylko "Grupa".
- kompatybilność z IGMPv1 i IGMPv2 została w IGMPv3 określona jako działanie na stanie IGMPv3.
- pakiety Report są wysyłane pod adres 224.0.0.22, by wspomóc przełączniki L2 w funkcji "IGMP snooping".
- Querier przesyła w swoich wiadomościach Query zmienne "Robustness
Variable" i "Query Interval", by umożliwić synchronizację tych
zmiennych z Non-Querierami.
- zmieniono IP Service Interface by umożliwić określenie listy źródeł multicastowych.
- parametr "Max Resp Time" w wiadomościach Query może przyjąć
wykładniczy zakres, zmieniając maksimum od 25.5 sekundy do 53 minut,
przystosowując w ten sposób interfejsy do pracy z dużą ilością systemów.
- hosty ponawiają wiadomości zmiany stanów dla zwiększonej niezawodności.
- zdefiniowano dodatkowe poal danych dla późniejszych rozszerzeń protokołu.
- pakiety Report mogą zawierać wiele rekordów grup multicastowych, by
umożliwić raportowanie pełnego stanu tylko kilkoma pakietami
- wprowadzono nową flagę (S) "Suppress Router-Side Processing" w wiadomości Query, by poprawić niezawodność.
- hosty nie dokonują już zaniechania wysyłania Report, gdy usłyszą inny
Report od członka grupy multicastowej, by uprościć implementację i dać
routerowi możliwość śledzenia ilości członków grupy multicastowej na
danym interfejsie.
|