IGMP

Од Википедија, слободната енциклопедија
Прејди на: содржини, барај

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 architecture example

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 е подложен на некои напади, и најчесто firewall- от му овозможува на корисникот да го исклучи кога ако не е потребен.

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 и игнорирано од страна на примачот.

Референци[уреди]

Надворешни линкови[уреди]