IGMP | |
---|---|
název | Internet Group Management Protocol |
Úroveň (podle modelu OSI ) | síť |
Rodina | TCP/IP |
Účel protokolu | Správa směrování vícesměrového vysílání |
Specifikace | RFC 3376 |
IGMP ( anglicky Internet Group Management Protocol - protokol pro správu internetových skupin) je protokol pro správu skupinového (multicast) přenosu dat v sítích založených na protokolu IP . IGMP používají směrovače a hostitelé IP k uspořádání síťových zařízení do skupin.
Tento protokol je součástí specifikace IP Multicast . IGMP se nachází na síťové vrstvě [1] . V mnoha ohledech je podobný ICMP pro unicast . IGMP lze použít pro podporu streamování videa a online hraní , pro tyto typy aplikací umožňuje efektivnější využití síťových zdrojů. IGMP je zranitelný vůči některým útokům [2] [3] [4] [5] a firewally obvykle umožňují uživateli tento protokol zakázat, pokud není potřeba.
IGMP se používá pouze v sítích IPv4 , protože v IPv6 je přenos paketů multicast implementován prostřednictvím protokolu Multicast Listener Discovery .
Síť poskytující multicastové služby (jako je video) pomocí IGMP může mít následující základní architekturu:
IGMP používá klientský počítač a sousední přepínače k propojení klienta a místního multicastového routeru. Protokol PIM ( Protokol Independent Multicast ) se pak používá mezi místními a vzdálenými routery ke směrování multicastového provozu z video serveru na více multicastových klientů.
Podle dokumentu RFC ( Request for Comments ), dokumentu komunity Internet Engineering Task Force (IETF), existují tři verze IGMP. IGMPv1 je definován v RFC 1112 , IGMPv2 v RFC 2236 a IGMPv3 v RFC 3376 .
Hlavním vylepšením IGMPv3 oproti IGMPv2 je podpora filtrování IP adres . Pomocí tohoto mechanismu může hostitel říct, ze kterých adres chce přijímat pakety a ze kterých ne.
Protokol IGMP je implementován ve formě serverové a klientské části, z nichž první běží na routeru, druhá - v síťovém uzlu, který přijímá multicastový provoz. Klient zasílá upozornění o příslušnosti k jakékoli skupině na lokální router, v tuto chvíli router čeká na upozornění a periodicky posílá klientům požadavky.
Operační systémy rodin BSD , Linux a Windows podporují klientskou stranu protokolu. V systému Linux byl IGMPv3 přidán do jádra verze 2.5. Pro FreeBSD byl ve verzi 8.0 přidán IGMPv3.
Linux používá k implementaci IGMP backendu démony , například mrouted může fungovat jako IGMP router. Existují také celé softwarové balíčky (např. XORP ), které vám umožní proměnit obyčejný počítač v plnohodnotný multicast router.
V OpenBSD podpora IGMP v jádře zpočátku zahrnuje základní podporu směrování, zatímco démoni mrouted a dvmrpd dostupné v OS vám umožňují řešit složitější úlohy (například tunelování multicastového provozu).
Definováno RFC 3376 .
Požadavky na členství zasílají směrovače, aby pro každý uzel určily jeho členství v libovolných skupinách (stav členství ve skupině) a seznam zdrojů informací, ze kterých chce tento uzel přijímat zprávy (stav příjmu). Existují tři typy takových žádostí:
Oktet | 0 | jeden | 2 | 3 | čtyři | 5 | 6 | 7 | osm | 9 | deset | jedenáct | 12 | 13 | čtrnáct | patnáct | 16 | 17 | osmnáct | 19 | dvacet | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | třicet | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0-3 | Typ = 0x11 | Kód Max Resp | Kontrolní součet | |||||||||||||||||||||||||||||
4-7 | Adresa skupiny | |||||||||||||||||||||||||||||||
8-11 | Resv | S | QRV | QQIC | Počet zdrojů (N) | |||||||||||||||||||||||||||
12-15 | Adresa zdroje [1] | |||||||||||||||||||||||||||||||
… | … | |||||||||||||||||||||||||||||||
Adresa zdroje [N] |
Oktet | 0 | jeden | 2 | 3 | čtyři | 5 | 6 | 7 | osm | 9 | deset | jedenáct | 12 | 13 | čtrnáct | patnáct | 16 | 17 | osmnáct | 19 | dvacet | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | třicet | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0-3 | Typ = 0x22 | Rezervováno | Kontrolní součet | |||||||||||||||||||||||||||||
4-7 | Rezervováno | Počet skupinových záznamů (M) | ||||||||||||||||||||||||||||||
8-11 | Záznam skupiny [1] | |||||||||||||||||||||||||||||||
… | … | |||||||||||||||||||||||||||||||
Skupinový záznam [M] |
0 | jeden | 2 | 3 | čtyři | 5 | 6 | 7 | osm | 9 | deset | jedenáct | 12 | 13 | čtrnáct | patnáct | 16 | 17 | osmnáct | 19 | dvacet | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | třicet | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
typ záznamu | Přídavná datová linka | Počet zdrojů (N) | |||||||||||||||||||||||||||||
vícesměrová adresa | |||||||||||||||||||||||||||||||
Adresa zdroje [1] | |||||||||||||||||||||||||||||||
… | |||||||||||||||||||||||||||||||
Adresa zdroje [N] | |||||||||||||||||||||||||||||||
Pomocná data |
Typ | název | Popis |
---|---|---|
0x12 | Zpráva o členství verze 1 | Musí být podporováno kvůli kompatibilitě s předchozími verzemi |
0x16 | Zpráva o členství verze 2 | |
0x17 | Verze 2 Opustit skupinu | |
0x13 | Distance Vector Multicast Routing Protocol | Experimentální protokol |
protokoly TCP /IP podle vrstev modelu OSI | Základní|
---|---|
Fyzický | |
odvedeny | |
síť | |
Doprava | |
zasedání | |
Zastoupení | |
Aplikovaný | |
Uplatněno jiné | |
Seznam portů TCP a UDP |