Multicast nedir diye soracak olursak olarak birden fazla ağ istemcisine bant genişliği tasarrufu amacıyla, tek bir akışın gönderiliyor olmasıdır. Ya da başka bir deyimle açıklamak gerekirse aynı yayın akışının birden fazla client’ a gönderilirken bu işlem sırasında mevcuttaki bant genişliğinden tasarruf sağlayabilmek için; ilgili verinin sadece bir adet kopyasının network’ e gönderilmesini baz alan bir teknik ya da yöntemdir. Genellikle IP Tv, IP Telefonlar gibi günümüzde birden çok kullanım örneği mevcuttur. Ya da herhangi bir ortamda yapılan yayının başka ortamlardan takip edilmesi ya da birden çok uca aktarılması bu örneklerden bir tanesidir.
IP Adress gruplarını genel olarak incelediğimizde, D sınıfı olarak belirtmiş olduğumuz 224.0.0.0 ile 239.255.255.255 IP aralığı multicast teknolojisi için kullanılmaktadır. Günümüzdeki her bir dynamic routing protokolünün bir multicast routing adresi bulunur ve yine bu adresler de D sınıfı IP gruplarının altında yer alır.
Örneğin OSPF için 224.0.0.5 ve 224.0.0.6 ile VRRP için 224.0.0.18 multicast adresleri D sınıfı içerisindedir. Routerlar içerisinde debug yapılırken bu spesifik multicast adreslerinin bilinmesi büyük önem arz eder.
- İlgili network trafiğini kontrol altına alarak sunucu ve CPU üzerinde yer alan yükün azaltılmasını sağlar.
- Gereksiz olan network trafiğini engelleyerek yüksek ağ performansı sağlar.
- Network üzerindeki gereksiz yükler kaldırılarak bant genişliğinin arttırılması da sağlanmış olur.
IP seviyesinde multicast trafik akışının sağlanabilmesi için Router ya da Layer 3 destekli switchlerin mutlaka multicast routing özelliğini desteklemesi gerekmektedir. IPv4’ de multicast işlemi yapıyorsak burada IGMP ve PIM terimleriyle sıkça karşılaşacağız.
IGMP Nedir?
IGMP’ nin açılımı “Internet Group Management Protocol” dür. IGMP; Server’dan Client’ a doğru çalışan bir protokoldür. Herhangi bir multicast grubuna üye olan client ya da istemci, server’a düzenli olarak join ve membership report mesajı göndererek server’ ın kendisi hakkında bilgi sahibi olmasını sağlar.
IGMP’ nin 3 ayrı versiyonu bulunur. Versiyon 1 de leave mesajı yoktur. Server; Client’ ın varlığını membership report mesajı ile takip eder. Versiyon 2 de leave mesajları yer alır. Client leave mesajı yollayarak ilgili multicast grubundan ayrılır. Versiyon 3 ile birlikte artık alıcı taraf her multicast grup için source bilgisinden haberdar durumdadır ve buna göre IGMP Join ve Leave mesajlarını yollar.
PIM Nedir?
PIM’ in açılımı “Protocol Independent Multicast” demektir. PIM de OSPF, ISIS ya da diğer protokoller gibi bir routing protokolüdür. Diğer yönlendirme protokollerinden farkı ise; diğerleri Unicast Routing Protocol olurken PIM ise Multicast routing protokoldür ve Unicast yönlendirme protokollerine, Multicast trafiğin bulaşmaması için dizayn edilmiştir. PIM protokolünün 2 temel modu vardır; Dense ve Sparse Mod.
Dense Mode: Bu modda master olan router, local ağdaki bütün routerların multicast trafiğine üye olmak istediğini varsayar ve rotuerlar, kendilerine bağlı olan hostlar eğer multicast trafiğini istemiyorsa master olan routera prune mesajı gönderir ve üyelikten çıkar. Dense modda kaynak temelli bir dağıtım söz konusudur.
Sparse Mode: Dense Modun aksine Sparse Modda router, ağdaki hiçbir source’ un multicast trafiği istemediğini varsayar. Bu durumda multicast yayın almak isteyen client’ a en yakın routera PIM join mesajı iletilir ve birbirine direk bağlı olan routerlar PIM Join mesajını birbirleri üzerinden buluşma noktasına (Rendezvous Point – RP) iletirler. RP olarak tabir edilen router (Multicast Server) aslında buluşma noktası olarak ayarlanmış bir routerdır. RP’in görevi multicast gruplarına giden yolları tutmaktır. RP multicast kaynağına giden routerlara join mesajını gönderir ve kaynak ile alıcı arasındaki multicast akışı başlar.
En çok kullanılan ve en verimli olan yöntem PIM sparse moddur. PIM’in tüm multicast trafiğinin geçtiği yol güzergahındaki IP routerlarda enable konuma getirilmesi gereklidir.
Randevouz Point (RP): Randevouz Point multicast uygulamalarında Sparse-Mode’ un çalışması için gerekli olan bir ihtiyaçtır Sparse-Mode’ da ise bir istemci bir kaynağa erişmek istediğinde öncelikle Randevouz Point olan router’ a gider ve ondan kaynak için gerekli olan yolu öğrenir. Randevouz Point yapılandırılırken çeşitli yönetmlerle yapılabilir, ben şimdilik static RP kullanarak uygulamalarımı gerçekleştireceğim. Static RP yapılandırmasında tüm PIM router’ ları, Randevouz Point’ e statik olarak belirtilen adrese giderek erişim sağlarlar.
GNS3 üzerinden 3 adet Router kullanarak bu topolojiyi oluşturabiliriz. Burada ilk etapta topolojiyi oluşturup gerekli IP/Port yapılandırmasını yaptıktan sonra underlay' da tüm networklerin accessable olmasını sağlamalıyız. Sonrasında overlay' de Multicast Routing - PIM Sparse Mode yapılandırmasını gerçekleştirebiliriz.
Underlay' de static veya dinamik routing protokollerinden birini kullanabiliriz. Ben bu uygulamada OSPF kullanmayı tercih ettim. İlk etapta tüm routerlar arasında ilgili IP atamalarını yaptıktan sonra OSPF komşuluğu kurdurarak tüm networklerin birbiriyle haberleşmesini sağlayalım.
İlk olarak Router'ları Server ve Receiver olarak isimlendirelim. Sonrasında ilgili interface' ler altına IP adreslerini assign edip OSPF ile tüm networkleri birbirine anonslarız.
"show ip ospf neighbor" ve "show ip route" komutları ile OSPF komşuluklarını ve anonslanan networkleri görüntüleyip herşeyin doğruluğunu kontrol ettikten sonra Overlay kısmına geçip Multicast konfigürasyonunu gerçekleştirebiliriz.
Overlay kısmında ilk olarak yapmamız gereken "ip multicast-routing" ile globalde multicast routing' i mutlaka aktif etmeliyiz. Burada Randevous Point' in olacağı Router'ı ServerRouter olarak isimlendirip bu routerda oluşturmuş olduğum Loopback interface' ini RP olarak kullanalım.
RP; daha önce de bahsettiğim gibi multicast gruplarına giden yolları kendisinde tutmaktadır. Receiver olan routerlar RP' ye join isteği yollayarak multicast trafiğini başlatırlar..
Routerların birbirlerine bakan tüm portlarında PIM modunu sparse mod olarak ayarladıktan sonra IGMP versiyon 2' yi aktif ederiz ki join ve leave mesajları ile istemci multicast grouplarına girip ayrılabilsin.
Son olarak tüm routerlarda RP adresini 199.124.25.11 yani daha önce belirlemiş olduğum RP adresini static olarak uygularız. Static RP yapılandırmasında tüm PIM router’ ları, Randevouz Point’ e statik olarak belirtilen adrese giderek erişim sağlarlar.
Istemci bir Router ya da Switch join olmak isterse (Mcast Group 224.3.0.10 olduğu varsayılırsa); Receiver olarak belirlemiş olduğum routerlar' da ilgili fiziksel interfaceleri istemiş olduğumuz Mcast grubuna join ederiz.
Overlay tarafının konfigürasyonları tamamlandıktan sonra "show ip pim neighbor" komutu ile PIM komşuluk durumlarını kontrol edebiliriz. Ayrıca "show ip pim rp" komutu ile de ilgili Mcast ve bağlı olduğu RP adresini görüntüleyebiliriz.
Dinamik routing protokollerinde bir routing table vardı hatırlarsanız. Aynı durum Multicast için de geçerlidir. Çünkü daha önce de bahsettiğimiz gibi PIM de bir multicast routing protokoldü. "show ip mroute" komutu ile tüm routerlarda bu routing tablolarını görüntüleyebiliriz. Bu tabloda hangi source adresin hangi multicast komutla geldiği ve gelirken hangi incoming ve outgoing interface ile geldiğini görüntüleyebiliriz.
ServerRouter üzerinden "ping 224..3.0.10 repeat 10" komutu ile ilgili Mcast grubuna ping trafiği başlattıktan sonra Receiver1 ve Receiver2' dem "show ip mroute count" komutu ile ilgili Mcast grubu ile gelen paket sayılarını "Packet receives" kısmıdan görüntüleyebiliriz.
Multicast routing konusu çok geniş bir alana sahiptir. Bununla ilgili birçok örnek yapılabilir. Burada şimdilik Sparse-Mode için basit bir uygulama gerçekleştirdik. Bunu ilerletip Dense Mode ya da Dynamic RP vs kullanarak uygulamaları genişletebiliriz. Daha detaylı bilgilere Cisco ve Huawei kaynaklarından ulaşabilirsiniz.
Web sitesi trafiğini analiz etmek ve web sitesi deneyiminizi optimize etmek amacıyla çerezler kullanıyoruz. Çerez kullanımımızı kabul ettiğinizde, verileriniz tüm diğer kullanıcı verileriyle birlikte derlenir.
Soru ve görüşleriniz için, anasayfa kısmında yer alan iletişim bilgilerimden ulaşabilirsiniz.