Internet Group Management Protocol (IGMP) („Семрежен протокол за управување со групи“) — комуникациски протокол кој се користи од страна на хостовите и соседните насочувачи на IP мрежите за воспоставување на мултикастирани групни членства. IGMP е составен дел од IP multicast спецификацијата. Тоа е аналогно на ICMP за unicast врски. IGMP може да се користи за онлајн стриминг на видеа и игри, а овозможува и поефикасно користење на ресусрсите кога ги поддржува овие типови на апликации. IGMP се користи на IPv4 мрежите. Multicast управувањето на IPv6 мрежите се раководи од Multicast Listener Discovery, кој користи ICMPv6 за праќање пораки за разлика од IGMP чистата IP енкапсулација.

Архитектура

уреди

Мрежа дизајнирана да доставува multicast сервис со користење на IGMP

 

IGMP се користи помеѓу клиентот компјутер и локалниот мултикаст насочувач. Склопки кои имаат IGMP snooping даваат корисни информации преку набљудување на овие IGMP трансакции. Multicast независниот протокол (PIM) потоа се користи помеѓу локалните и оддалечените мултикаст насочувачи, да го насочуваат мултикаст сообраќајот од multicast опслужувачот на многу multicast клиенти. IGMP работи над мрежниот слој, и покрај тоа што всушност не дејствува како транспортен протокол.

Стандарди

уреди

Постојат три верзии на IGMP, како што е дефинирано од страна на "Барање за коментари" (RFC) документи на Internet Engineering Task Force (IETF). IGMPv1 е дефиниран од страна на RFC 1112, IGMPv2 е дефиниран од RFC 2236 и IGMPv3 е дефиниран од RFC 3376. IGMPv2 се подобрува над IGMPv1 со додавање на способноста за вдомување за да го сигнализира желба да оставите multicast група. IGMPv3 се подобрува над IGMPv2 главно со додавање на способноста да ги слушаат multicast потекло од збир на извор само на IP-адреси.

Хост и насочувач имплементации

уреди

IGMP протокол е имплементиран како хост страна и насочувач страна. Хост страната изветува за нејзиното членство во група на својот локален насочувач, и насочувач страната ги слуша извештаите од домаќините и периодично испраќа барања (query). FreeBSD, Линукс и Windows оперативни системи го поддржуваат IGMP како хост страна.

За спроведување на опслужувач страната, Линукс користи даемон како mrouted да делува како IGMP Линукс насочувач. Постојат, исто така, цели рутинг suites (???) (како XORP), који што претвораат обичен компјутер во полноправен мултикаст насочувач.

Безбедност

уреди

IGMP е подложен на некои напади, и најчесто огнениот ѕид му овозможува на корисникот да го исклучи кога ако не е потребен.

IGMPv3 пакет структура

уреди

IGMP пораките се пренесуваат во IP пакети со IP протокол број 2. Транспортниот слој не се користи со IGMP пораки.

Порака за членско пребарување

уреди

Членски пребарувања се праќаат од multicast насочувачите за да се утврди кои multicast адреси се од интерес за системите прикачени на својата мрежа. Насочувачите периодично праќаат општи пребарувања за освежување на состојбата на групно членство за сите системи во својата мрежа. Групно-насочени пребарувања се користат за одредување на рецепционата состојба на одредена multicast адреса. Групни и Изворно-насочени пребарувања му овозможуваат на насочувачот да утврди дали некои системи имаат желба за прием на пораки пратени до multicast групата од изворната адреса дадена во списокот на unicast адреси.

IGMPv3 packet structure
bit offset 0-3 4 5-7 8-15 16-31
0 Type = 0x11 Max Resp Code Checksum
32 Group Address
64 Resv S QRV QQIC Number of Sources (N)
96 Source Address [1]
128 Source Address [2]
. . .
Source Address [N]
Максимум одговор Код
Ова поле го одредува максималното време (во 1 / 10 секунда), дозволено пред испраќање на одговарачки извештај. Ако бројот е под 128, вредноста се користи директно. Ако вредноста е 128 или повеќе, тоа се толкува како експонент со mantisse.
Проверка
Ова е 16-битното дополнување на комплементарната сума од целата IGMP порака.
Адреса на групата
Ова е мултикаст адресата што се пребарува при испраќањето на една групо-специфични или групно и извор-специфични барања. Полето е zeroed (нулифицирано) кога се испраќа општо барање.
Resv
Ова поле е резервирано. Тоа треба да биде нулифицирано кога се испраќа и игнорирано кога ќе пристигне.
С
(сузбивање Насочувач-страна обработка) Знаме (подесување???)

Кога ова подесување е поставено, тоа покажува на примачките насочувачи дека тие треба да ги потиснат нормалните тајмер надградби.

QRV
(Робусна Променлива на Пребарувачот)

Ако ова не е нула, ја содржи Робустната променлива вредност која се користи од страна на испраќачот на барањето. Насочувачите треба да ги обноват своите Робустни Променливи да одговара на најновото примено барање освен ако вредноста е нула.

QQIC
(барањето е Querier Интервал законик)

Овој код се користи за одредување на Интервалната вредност на барањето (во секунди) кој се користи од страна на querier (побарувачот??). Ако бројот е под 128, вредноста се користи директно. Ако вредноста е 128 или повеќе, тоа се толкува како експонент со mantisse.

Број на извори (N)
Ова поле го одредува бројот на изворни адреси присутни во Барањето. За општи и групно-специфични пребарувања, оваа вредност е нула. За групни и изворно-Специфични прашања (пребарувања??), оваа вредност не е нула, но е ограничена од MTU на мрежата.
Изворна Адреса
Полињата на Изворната адреса се вектор од n ИП unicast (единечни??) адреси, каде n е поле за вредноста на бројот на извори (N).

IGMPv2 пакет структура

уреди
Defined by RFC 2236
IGMPv2 packet structure
+ Bits 0 - 7 8 - 15 16 - 31
0 Type Max Resp Time Checksum
32 Group Address

Каде што: Type is Membership Query (0x11), Membership Report (IGMPv1: 0x12, IGMPv2: 0x16), Leave Group (0x17) IGMPv3 adds type Membership Report (0x22) Максимум време на одговор го одредув временскиот рок за соодветниот извештај. Полето има резолуција од 100 милисекунди, каде што вредноста се зема директно. Ова поле е значајно само во Членското пребарување?? (0х11), а во други пораки е поставено на 0 и игнорирано од страна на примачот.

Наводи

уреди

Надворешни врски

уреди
  1. „архивски примерок“. Архивирано од изворникот на 2006-04-27. Посетено на 2011-01-15.
  2. „архивски примерок“. Архивирано од изворникот на 2010-11-10. Посетено на 2011-01-15.