İnternet Grup Yönetim Protokolü
İnternet iletişim kuralları dizisi | ||
Katman | İletişim kuralları | |
7. | Uygulama katmanı | HTTP, DNS, SMTP, FTP, TFTP, UUCP, NNTP, SSL, SSH, IRC, SNMP, SIP, RTP, Telnet, ... |
6. | Sunum katmanı | ISO 8822, ISO 8823, ISO 8824, ITU-T T.73, ITU-T X.409, ... |
5. | Oturum katmanı | NFS, SMB, ISO 8326, ISO 8327, ITU-T T.6299, ... |
4. | Ulaşım katmanı | TCP, UDP, SCTP, DCCP, ... |
3. | Ağ katmanı | IP, IPv4, IPv6, ICMP, ARP, IGMP, IPX,... |
2. | Veri bağlantısı katmanı | Ethernet, HDLC, Wi-Fi, Token ring, FDDI, PPP, L2TP... |
1. | Donanım katmanı | ISDN, RS-232, EIA-422, RS-449, EIA-485, ... |
IGMP (İngilizce Internet Group Management Protocol), 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 - 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 1112 ile tanımlanmıştır.
- igmp v2 RFC 2236 ile tanımlanmıştır.
- igmp v3 RFC 3376 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.