Приложение I. Протокол управления группами IGMP
Протокол IGMP (Internet Group Management Protocol) используется хостами IP для передачи сведений о принадлежности хостов к группам всем multicast-маршрутизаторам в ближайшем окружении (прямым соседям). Протокол IGMP является асимметричным и рассматривается, прежде всего, с точки зрения хостов, а не multicast-маршрутизаторов.
Подобно ICMP, протокол IGMP является составной частью IP. Поддержка этого протокола требуется от всех хостов, соответствующих уровню 2 групповой адресации IP. Сообщения IGMP инкапсулируются в дейтаграмм IP с номером 2 в поле протокола. Все сообщения IGMP, относящиеся к хостам, имеют формат:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| Type | Unused | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Group Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Version
- Номер версии протокола IGMP. В соответствии с данной спецификацией используется версия 1, а описанная в RFC-988 версия 0 считается устаревшей.
- Type
Тип сообщения IGMP. К хостам имеют отношение два типа сообщений:
1 = Host Membership Query — запрос на включение в группу;
2 = Host Membership Report — отчет о принадлежности к группе.- Unused
- Это поле не используется и должно иметь нулевое значение при передаче пакетов. На принимающей стороне значение игнорируется.
- Checksum
- Контрольная сумма, представляющая собой 16-битовое поразрядное дополнение суммы поразрядных дополнений всех октетов сообщения IGMP. При расчете контрольной суммы значение этого поля принимается нулевым.
- Group Address
Адрес группы. При передаче сообщений Host Membership Query это поле должно иметь нулевое значение, а в принимаемых сообщениях этого типа — значение поля игнорируется.
В сообщения Host Membership Report поле содержит IP-адрес группы хостов, к которой относится отчет.