Multicast (çoklu gönderim) Nedir ve IPv4 Ağlarında Kullanımı

Akademik Bilişim 2011 Konferansı için; Gökhan Akın, bendeniz Enis Karaarslan ve Mehmet Burak Uysal, multicast protokolünün IPv6’daki önemini belirten bir bildiri hazırladık. Bunun multicast nedir ve IPv4’da kullanımı kısmını aşağıda veriyorum. Bildirinin güncel halini yakında bu adresten vereceğiz.

Çoklu Gönderim (multicast)

Bir grup cihaza veri göndermeye çoklu gönderim (multicast) denir. Grup adresleri kullanılarak, birden fazla cihazın tekil bir adresi dinlemesi (buradan veri beklemesi) sağlanmaktadır. Grup adresine bir frame iletildiğinde, bu grupta olan bütün cihazlar bu veriyi alacaktır. IP protokolünün 802.3 MAC Alt Katman (802.3 MAC Sublayer) protokolünden itibaren, yani OSI katmanlı yapısının 2. seviyesinden itibaren bu tür bir destek gelmektedir. Tüme gönderim (broadcast) ise ağdaki bütün cihazlara veri iletimini sağlayan özelleşmiş bir çoklu gönderimdir. Adres alanının hepsinin 1 olması durumu, tümüne gönderimi bildirir [E0].

IP üzerinden çoklu gönderim yapmaya İnternet Çoklu Gönderimi (Internet Multicasting) denmektedir [E0]. Radyo yayınları, video konferans gibi bir çok uygulamada çoklu gönderimden faydalanmaktadır. Böylece var olan ağ alt yapısının daha etkin bir şekilde kullanılması hedeflenmektedir. Çoklu gönderim sisteminde, öncelikle düğüm grupları tanımlanmaktadır. Tüm ağa belirli bir mesajı göndermek yerine, daha önceden tanımlanmış düğüm gruplarına çoklu gönderim sağlanmaktadır[E1]. Şekil x1’de [E7] böyle bir sistem gösterilmiştir. Şekilden de görüldüğü üzere, sadece çoklu gönderim grubuna üye olmuş cihazlar bu trafiği alacaktır.

ipv6 multicast

Internet Protokolü (IP), D sınıfı adresleri kullanarak çoklu gönderimi destekler. Bu sınıftaki her adres bir grubu tanımlar [E0]. IPv4 adreslemede, D sınıfı IP adresleri çoklu gönderim yayınlar için kullanılmaktadır [E1].

224.0.0.0/24 çoklu gönderim adresleri yerel ağ (link-local) adreslerdir. Bu adresler için TTL (time to live) değeri 1 olduğundan yerel ağ dışına çıkamayacaktır. Geriye kalan adresler (224.0.1.0 – 238.255.255.255 aralığı) genel kapsam olarak tanımlanmaktadır. Özel olarak ayrılmış çoklu gönderim adresleri IANA web sitesinden[E6] öğrenilebilir [E2].

IP seviyesinde çoklu gönderimin sağlanabilmesi için, yönlendirici veya OSI 3.seviye desteği olan data anahtarlarının (switch) çoklu gönderim özelliğini desteklemesi gerekmektedir. Ipv4’de çoklu gönderim (multicast) için IGMP (Internet Group Management Protokol) kullanılmaktadır. IPv6 için yerine MLD geliştirilmektedir. IGMP, RFC 3376 [E3]’da tanımlanmıştır. IGMP ve MLD destekleyebilecek anahtarlar için beklentiler RFC 4541 [E4]’de tanımlanmıştır.

Çoklu gönderim sisteminde, öncelikle düğüm grupları tanımlanmaktadır. Tüm ağa belirli bir mesajı göndermek yerine, daha önceden tanımlanmış düğüm gruplarına çoklu gönderim sağlanmaktadır[E1].

Protokolün Uygulanması

Multicast, OSI 2. katmanında başlar. I/G biti 1’e tanımlanmış olan paketler çoklu gönderim ve tüme gönderim paketlerini gösterir. Anahtar bu tür bir paketi aldığında, eğer çoklu gönderimi desteklemiyorsa, geldiği kaynak bağlantı noktası (port) haricinde bütün bağlantı noktalarına iletecektir. Ağ anahtarlarında “IGMP snooping” ile çoklu gönderimin düzgün çalışması sağlanabilmektedir[E2]. Ayrıntılar için bkz [E5].

Yönlendiriciler, kendi yerel ağlarında bulunan makinelere bir donanım (örneğin OSI 2. seviyesinde) çoklu gönderimi (224.0.0.1 adresine) yaparak onlardan üyesi oldukları grupları bildirmesini isterler. Her istemci de ilgilendiği bütün D sınıfı adresleri yönlendiriciye bildirir.[E0]. Böylece yönlendirici, kendi yerel ağındaki çoklu gönderim alıcıları hakkında güncel bilgiye sahip olur.

IGMP, yönlendiricilerle istemciler arasında çalışan (router-to-client) bir protokoldür. Bir gruba katılan istemciler, düzenli olarak katılım (join) ve üyelik raporu (membership report) mesajları gönderirler. Yönlendirici de bu şekilde yayını almak isteyen istemciler hakkında güncel bilgiye sahip olmuş olur. IGMPv1 ‘de ayrıl (leave) mesajı yoktur, yönlendirici bir süre “üyelik raporu” alamadığında o istemcinin yayın istemediğine karar verir. IGMPv2’de ise bu ayrıl mesajı tetiklenerek (triggered) gerçekleşir [E2].

Cisco yönlendiricilerde “ip igmp join-group” komutu daha çok test amaçlı kullanılan bir komuttur. Sistemin düzgün çalışmasının denetimi için, yönlendiricinin bir gruba üye olup olamayacağının bir nevi test edilmesidir [E2].

Çoklu Gönderim Yönlendirmesi, çoklu gönderim kaynağı ile istemcilerin farklı ağlarda olması durumunda yönlendirici cihazlar tarafından yapılır [E2]. Çoklu Gönderim Yönlendirmesi (Multicast Routing), kapsayan ağaç (spanning tree) kullanılarak gerçekleştirilir. Çoklu gönderim alacaklar, ağaç yapısında tutulur [E0]. Yönlendirme için en temelde PIM (Protocol Independent Multicast) protokolü kullanılabilir. “Genel ortamda (ISP tarafında) bir çoklu gönderim yönlendirme protokolü kullanılmalıdır (MBGP, MOSPF, DVMRP(Distance Vector Multicast Routing Protocol)…vb)”[E2]. Ayrıntılı bilgi için bkz. [E7, E8].

PIM, yönlendiriciler arasında kullanılır ve herhangi bir yönlendirici protokolünden bağımsızdır. Bir çoklu gönderim yönlendirme tablosu kullanmadan, tekil gönderim tablosundan (unicast routing table) yararlanır. İki ayrı kipte(mode) çalışabilir[E7, E2]:
* PIM Sparse mode (PIM-SM): RFC 2362’de tanımlanmıştır. Bu kipte, paylaşılmış bir ağaç (shared tree) yapısı vardır ve başlangıç noktası olarak belli bir randevu noktası (RP) kullanılır. Böylece trafik o noktadan aşağıya bütün alıcılara gönderilir [E7]. “mtrace” komutu ile bir çoklu gönderim adresine “trace” yapılarak RPF denetimi sonucu görülebilir.
* PIM Dense mode (PIM-DM): Mesaj yağdır ve buda (Flood&prune) yöntemi ile trafik önce tüm arabirimlere yağdırılır, trafik alan yönlendiriciler tekil gönderim tablosu aracılığı ile trafik kaynağına giden en kısa yolu tespit eder ve diğer yolları budarlar.
* Sparse-dense mode: Cisco’nun geliştirdiği alternatif bir kiptir. Grup bazlı olarak iki yöntemden birinin seçilmesine olanak sağlamaktadır [E7].

IPv4 ‘de Çoklu Gönderimin Genel Değerlendirilmesi

IPv4’de çoklu gönderimin düzgün çalışması için istemci, sunucu ve arasındaki aktif cihazların düzgün bir şekilde ayarlanması gerekmektedir. Bu durumda sistem sorunsuz çalışacak ve ağ trafiği iyileştirilmesi sağlanacaktır.

Çoklu gönderimin herhangi bir öğede düzgün ayarlanmadığı durumlarda, protokol tümüne gönderim yöntemleri ile çalışacaktır. Bu Gigabit altyapılara sahip yerel ve kampüs ağlarında çok ciddi bir sıkıntı yaşatmayacaktır. Dış ağlardan istemcilerin var olması durumunda, WAN bağlantıları aşırı dolabilecek, bu da internet çoklu gönderim servislerinde yavaşlığa yol açabilecektir. Bu yavaşlık, istemci sayısıyla doğru orantılı olarak artacaktır. Yani fazla istemci olmaması durumunda, bu yavaşlık da ihmal edilebilecek seviyelerde olabilecektir.

Ipv4 tabanlı ağların bir çoğunda çoklu gönderim çok yoğun olarak kullanılmamaktaydı. Bildiride belirtileceği üzere; IPv6 protokolünde tümüne gönderim yerine çoklu gönderim yöntemi kullanıldığından, bu iletişim türünün iyileştirilmesi ve düzgün çalışmasının sağlanması çok büyük önem taşımaktadır.

Kaynak

[E0] Tanenbaum, Computer Networks, ISBN 0-13-394248-1, sf 280, 431-432
[E1] Türkiye Bilişim Ansiklopedisi, Papatya Yayıncılık, ISBN 975-6797-38-X, sf. 456, 2006
[E2] Multicast Hakında Bilgi – Multicast Nedir – Multicast Routing Nasıl Yapılır?, http://www.ciscotr.com/forum/ccnp/5970-multicast-hakinda-bilgi-multicast-nedir-multicast- routing-nasil-yapilir-2.html
[E3] RFC 3376, Internet Group Management Protocol, Version 3. B. Cain, S. Deering, I. Kouvelas, B. Fenner, A. Thyagarajan. October 2002.(Format: TXT=119726 bytes) (Obsoletes RFC2236) (Updated by RFC4604)(Status: PROPOSED STANDARD), http://tools.ietf.org/html/rfc3376
[E4] RFC 4541, Considerations for Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Snooping Switches, 2006, http://tools.ietf.org/html/rfc4541
[E5] IGMP Snooping, http://en.wikipedia.org/wiki/IGMP_snooping
[E6] IPv4 Multicast Address Space Registry, http://www.iana.org/assignments/multicast-addresses/multicast-addresses.xml
[E7] Internet Protocol (IP) Multicast Technology Overview, http://www.cisco.com/warp/public/cc/pd/iosw/prodlit/ipimt_ov.htm
[E8] Multicast Quick-Start Configuration Guide, http://www.cisco.com/en/US/tech/tk828/technologies_tech_note09186a0080094821.shtml

————————————————————————————————————–
Bu yazıyı akademik/teknik yazılarınızda referans olarak kullanmak istiyorsanız, Referans bilgisi:
Akin G., Karaarslan E., Uysal M.B., IPv6’da Multicast Haberleşmenin Kritiği, Akademik Bilişim 2011 Konferansı

“Multicast (çoklu gönderim) Nedir ve IPv4 Ağlarında Kullanımı” için 2 cevap

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir