IGMP Protokol ve Versiyonları :
IGMP : Internet Group Management Protocol
Uç noktadaki host/alıcı ile router iletişimi,
PIM : Protocol Independent Multicast
Router – Router iletişimi,
Her bir alıcı gibi, eğer alıcı multicast trafik almak istiyorsa, local router’ı bilgilendirmelidir.
Eğer 224.5.5.5 grup adresi için multicast trafik almak isterse, Router , multicast uygulaması barındıran ve yayın yapan kaynağı bulmalıdır.
IGMP’nin en önemli 2 temel görevi :
- Alıcının spesifik bir grup için multicast trafik almak istediğini, Local multicast router’a bildirmesidir (JOIN)
- Alıcının bir multicast gruptan ayrılmak istediğini, local router’a bildirmesidir. (LEAVE) – (Multicast aplikasyon kapatıldığında..)
IGMP Versiyonları :
- IGMPv1
- IGMPv2 (default)
- IGMPv3
IGMP’nin her yeni versiyonu bazı iyileştirmeler içerir.
IGMPv1 :
IGMP 2 spesifik mesaj yapısı kullanır.
- Report Message : client tarafından bir gruba join olmak için kullanılır.
- Query Message : Router tarafından, grup üyeleri halen mevcut mu yayın almak istiyorlar mı bunun için kullanılır. Multicast router tarafından 224.0.0.1 adresine gönderim yapılır.
1 numaralı işlem : Report message , multicast uygulama çalıştıran client tarafından gruba katılma isteği yapılır.
2 numaralı işlem : PIM, Router bazı routing protokolleri aracılığı ile bu protokoller Multicast Routing Protokol olarak da geçer, video kaynağını bulacaktır.
4 numaralı işlem : R1 router’ı periyodik olarak 224.0.0.1 adresine IGMP query gönderir. Bunun amacı halen multicast trafiği almak istiyor musunu doğrulamaktır.
IGMP query aralığı her 60 saniyedir.
Eğer yanıt alınamazsa, multicast trafiği kesmeden önce 180 saniye bekler. Eğer herhangi bir host ya da multicast trafiği alan alıcı LEAVE yapacaksa/yaptıysa sessizce ayrılır. Herhangi bir bilgi, mesaj Router’a gönderilmez.
Örneğin yukarıdaki topolojide H1,H2,H3 hostları / multicast trafik alıcıları bulunmaktadır. H3 multicast uygulamasını kapatmış olsa dahi, IGMP query mesajı router’dan tüm host’lara iletilir. (H1,H2,H3) Ancak yalnızca H1 ve H2 yanıtlar.
IGMPv2 :
IGMPv2 birçok gelişme ile karşımıza gelir. Yaygın olarak cihazlarda default gelen IGMP versiyonudur.
- Leave group message – gruptan ayrılma mesajı (Hosttan, router’a iletilir. Report ve Query mesajlarından farklı olarak) IGMPv1 ile IGMPv2 arasındaki en önemli farklardan birisidir.
- Tunable Timer
- Querier Election
- Group Spesific Queries (IGMPv2’de query yalnızca spesifik grup için oluşturulur, Eğer bir query göndermek istiyorsa, router yalnızca belirli bir gruba bu query’i gönderir. Örneğin 224.4.4.4 grup adresine göndermek, 224.6.6.6 adresine göndermemek gibi. IGMPv1’de query tüm hostlara 224.0.0.1 grup adresi üzerinden gönderilmekteydi hatırlarsanız)
1 ve 4 numaralı gelişmeler olan, leave grup mesaj ve grup spesifik query IGMPv2 için en önemli gelişmelerdir.
IGMP Leave Grup :
Client/Alıcı gruptan ayrılmak istediğinde, 224.0.0.2 adresine IGMP LEAVE MESSAGE gönderir.
Router 224.0.0.1 (tüm host’lar multicast adresi) ‘a IGMP QUERY MESSAGE yapacaktır. Bu grupta en az 1 (bir) alıcı olduğu sürece, switch IGMP MEMBERSHIP report’u first hop router’a iletecektir.
Yukarıdaki topolojide 10.1.1.1 adresli alıcı, 234.1.1.1 grup adresine join olmuş ancak artık oradan ayrılmak istiyor. Gruptan çıkmak istiyor.IGMP Leave mesajı gönderiyor. 10.1.1.2 IP adresli host zaten alıcı değil. Router ise 224.0.0.1 IP adresi üzerinden IGMP QUERY MESAJ gönderiyor ve halen 234.1.1.1 grup adresine ihtiyacı olan var mı yok mu bunu kontrol ediyor.
IGMPv3 :
Source spesific Multicast’i destekler
IGMPv1, v2 yalnızca grup spesifik multicast destekler. (*,G) || herhangi bir source/Kaynak, Spesifik Grup
IGMPv3 source spesific multicast destekler. (S,G)
Source spesific multicast, multicast trafiği nereden almak istediğimizi multicast server’ı seçmemize izin verir.
Diyelim ki bir gruptayız, bu grup yerine farklı bir grup IP adresine join olup, belirli bir source IP adresinden multicast trafik alabiliriz.
IGMP V3 | IGMP V2 |
(S,G) | (*,G) |
192.168.1.2, 234.1.1.2 | *,234.1.1.2 |
Spesifik bir source adres :192.168.1.2 | Herhangi bir video source / server’dan gelir |
Bir sonraki yazıda PIM (Protocol Independent Multicast) konusunu ele alacağız…