**IGMP** (İngilizce ***I**nternet **G**roup **M**anagement **P**rotocol*), TCP/IP'de çoklu dağıtım (multicast) üyelerini yönetmek için kullanılan bir iletişim protokolüdür. Taşıma protokolü gibi davranmamasına rağmen, ağ katmanının üzerinde çalışması IP çokludağıtımın önemli bir özelliğidir. Tekli dağıtım(unicast) bağlantılardaki ICMP ye benzerdir. IGMP online streaming videolarda ve oyunlarda kullanılabilir. Bu tip uygulamaları desteklerken kaynaklarının daha verimli şekilde kullanılmasını sağlar.

Mimarisi
--------

IGMP kullanarak çoklu dağıtım servisi(video gibi) vermek için tasarlanmış bir ağ bunun gibi
basit bir mimariyi kullanıyor olabilir:

IGMP istemciyi yerel çokludağıtım yapan bir yönlendiriciye bağlamak için hem istemci hem de
bitişiğindeki ağ switchleri tarafından kullanılır. Protokolden bağımsız çokludağıtım (Protocol Independent Multicast 13 Haziran 2009 tarihinde Wayback Machine sitesinde arşivlendi. - PIM) daha sonra video sunucusundan birçok çokludağıtım istemcisine trafiği yönlendirmek için, yerel ve uzaktaki çokludağıtım yapan yönlendiriciler arasında kullanılır.

Standartlar
-----------

* igmp v1 RFC 111230 Mart 2009 tarihinde Wayback Machine sitesinde arşivlendi. ile tanımlanmıştır.
* igmp v2 RFC 223616 Nisan 2009 tarihinde Wayback Machine sitesinde arşivlendi. ile tanımlanmıştır.
* igmp v3 RFC 33762 Nisan 2009 tarihinde Wayback Machine sitesinde arşivlendi. ile tanımlanmıştır.

IGMP v2 Veri Paketinin Yapısı
-----------------------------

`|  |  |  |  |  |
| --- | --- | --- | --- | --- |
| **+** | **0-7 Bit** | **8-15** | **16-23** | **24-31** |
| **0** | **Tip** | **Max Cevap Süresi** | **Checksum** |
| **32** | **Grup Adresi** |`

Host ve yönlendirici gerçekleştirimleri
---------------------------------------

IGMP protokolü host taraflı ve yönlendirici taraflı olarak uygulanır. Host tarafı gruptaki üyeliğini kendi yerel yönlendiricisine rapor eder. Yönlendirici tarafı host dan gelen raporları dinler ve periyodik olarak sorgular gönderir. Linux işletim sistemi IGMP yi desteklemektedir.İşletim sisteminin merkezindeki Linux çekirdeği IGMP yi sadece host taraflı uygular. Buna rağmen daemon(bilgisayar programı) IGMP linux yönlendiricisi olarak davranarak bu kullanılabilir.
IGMP'de temelde iki mesaj vardır:

* **Yayın alma isteği** (İngilizce *IGMP Subscribe*, yani *IGMP Aboneliği*): bu mesajı, bir yayını almak isteyen bir kullanıcı router'ına gönderir. Router ise eğer o yayını almakta ise yayının bir kopyasını da o kullanıcıya göndermeye başlar. Eğer router o yayını almakta değil ise, bağlı olduğu router'lara yayın alma isteğini gönderir. Diğer router'lar da aynı işlemi yaparlar, taa ki yayını bulana kadar.
* **Yayın almayı kesme isteği** (İngilizce *IGMP Unsubscribe*, yani *IGMP Aboneliği İptali*): bu mesajı, bir yayını almak istemeyen bir kullanıcı router'ına gönderir. Router ise eğer o yayını almak isteyen kullanıcı kalmamışsa yayını göndermekte olan router'a da aynı mesajdan bir kopya gönderir. Bu sayede, router'lar gereksiz yere yayın kopyalamaya uğraşmazlar.

IGMP'nin değişik sürümlerinde, hata durumlarıyla baş edebilmek ve servis kalitesini artırabilmek için muhtelif durum mesajları da eklenmiştir.

Ayrıca XORP gibi normal bir bilgisayarı tam teşekküllü çokludağıtımlı yönlendiriciye dönüştüren tam yönlendirme takımları da vardır.

Kaynakça
--------

* IGMP Wiki English

|  |  |
| --- | --- |
| Otorite kontrolü Bunu Vikiveri'de düzenleyin | 
* GND: 4585813-5

 |