Multicast

Multicast adresler bir gruba giden adreslerdir. Yani tüm bilgisayarları istemiyor. Bir bilgisayar ya da birden fazla bilgisayarın talep edebileceği trafik paternine denilir.

Yani bizim şuana kadar gördüğümüz tüm routing algoritması, mekanizmaları hep unicast haberleşme içindi. Yani bir bilgisayar ile diğer bilgisayar arasındaki haberleşme sürecini tarif etmek amacıylaydı ama burada bir grup bilgisayarın talep etmesi söz konusu ve eğer bu grup bilgisayarı aynı ağ içerisindeyse sıkıntı olmaz ama araya router segmentleri giriyorsa o zaman bu trafiğin routerlar tarafından da yönlendirme ihtiyacı var. Normal şartlarda Cisco routerlar ve diğer Vendorlar multicast trafiği yönlendirip diğer interfaceye göndermezler. Bu bir bakıma güvenlik riskidir. Multicast flood edilen ve yüklü trafik barındırabilecek bir trafik patternidir ve normalde bir routera multicast trafiği geldiğinde çöpe atar. Ama sizin böyle bir ihtiyacınız varsa bir multicast kaynağınız var ve arada çeşitli side ve routerlar var ve siz bu multicast kaynak görüntüsünü bir alıcı tarafından izlemek istiyorsunuz o zaman multicat protokollerini öğrenmemiz gerekiyor. İki tane protokol ile multicast çalıştırılıyor. IGMP ve PIM. IGMP protokolü alıcı ile router arasındaki haberleşmeyi sağlıyor. PIM ise routerlar arasındaki multicast routing protokolünün adı. Yani nasıl routerlar arasında ospf, eigrp var. PIM ise multicast rotalar için kullanılan protokol. İki tip broadcast var. Flooded broadcast yani 255.255.255.255 bu adres dünyadaki herkes demek. bu trafik geçmez. Bu trafiğin geçmesine routerlar izin vermez.

Routerların geçirdiği flooded broadcast değil. Directed broadcast. Directed broadcast ise şu demek her networkün son ip adresi brodcast ip adresidir. 192.168.1.255 gibi. ve bu adresi kullanamayız. Bu şu yüzden directed. Dünyadaki herkes değil sadece 192.168.1.0 networkünde olan herkes anlamına geliyor. Broadcast trafiğini her ethernet kartı alır. Ethernet kartı kendisine gelip gelmediğini ayıklayamaz. Onu ayıklamak 3. katmanda gerçekleşir. Multicasti seyretmek isteyen istemciler ethernet kartına bunu register eder. Ben şu multicast mac adresini dinliyorum diye. Eğer dinlemek istemiyorsa ethernet kartı bunu çöpe atar.

D sınıfı adresler multicaste özeldir. Asla burasını unicast olarak kullanmazsın. Multicast ip adresi asla source ip adresi olamaz. Yani hiçbir zaman bir bilgisayara verilmez. Kaynak adresi unicast hedef adresi ise multicast.

Switch mac adresine bakar. Multicast mac adresleri 01:00:5E ile başlıyor.

(Alıntıdır. Cisco) Multicast adresi, multicast mac adresinden türetilir. Ip adresinin ilk 8 bitini atıyorsunuz kalan bitlerini binarye çevirip multicast segmente benzetip sonrasında hexadecimale çeviriyorsunuz.

Cihazlar multicat mac adresinden multicat mac adresi türetebiliyorlar.

İstemci ben 234.1.1.1' i izlemek istiyorum diye mesajı routera gönderiyor ve routera gönderirken 224.0.0.1'i kullanıyor yani herkese gidiyor. Ortamda router varsa bunu alıyor. Router bunu aldığı zaman 234.1.1.1'i seyretmek istiyormuş istemci diyor. Bunun multicast stream olarak routerun kendisine gelmesini PIM protokolü olarak sağlıyor. Timer var 10 sn içinde ben izlemeye devam ediyorum demezse istemci yayını kapatıyor. Ortamda bir tane daha istemci var o da bakıyor zaten bu multicast adres önceden yollanmış ben tekrar yollamayım (membership report) diyor. Burada tekrardan bir multicast adres göndermiyor. Kendisini dropluyor.

10 snde random bir zaman seçiyorlar örnek olarak 3 sn. örnek olarak üsteki izlemeye devam ediyorum diyor. Router o yayını vermeye devam ediyor. Bu izlemeye devam ediyorum mesajı (membership report'u) Receive 1 aldığı için tamam benim yollamama gerek kalmadı. Başka birisi talep etti diyor. Aslında tüm derdimiz PIM protokolü çercevesinde yayını dışardaki routerdan almak.

Versiyon 3'ün farkı ise versiyon 1 ve 2 de bu yayını seyretmek istiyorum talebinde bulunduğun membership report talebinde yayını veren kaynak sunucunun ip adresini belirtmiyorsun. Yani şöyle diyorsun ben 234.1.1.1'i seyretmek istiyorum diyorsun versiyon 1 ve 2 de ama versiyon 3 de bizzat ip adresi de belirtiyorsun. Ben 234.1.1.1 multicast yayını seyretmek istiyorum ve şu kaynaklı sunucudan 192.168.1.1 ip adresine sahip sunucudan seyretmek istiyorum deniliyor versiyon 3de.

Hatta şu da yapılabiliyor. Inlude ve exlude kısımları var. Örnek olarak 192.168.1.1 den seyretmek istemiyorum 1.2 den seyretmek istiyorum. Yani kaynak sunucuyuda tarif etme şansımız oluyor.

Switch gelen multicast yayını gelen port hariç tüm portlara broadcast olarak yollar. Herkese gitmesin sadece talep de bulunan kişiler bu yayını seyretsin diyebiliriz. Snopping teknikleri ile. 3.katman paketi içerisine burnunu sokuyor. Igmp paketi dur bi içine bakayım diyor yani .:)))

İgmp paketi içerisini okuyarak bu adam 224.0.1.1 i seyretmek istiyormuş vs diyor. O zaman ben bunu register edeyim multicast mac adresini diyor. Bu trafik sadece buna gelsini sağlıyor ve defaultta cisco swithclerde bu özellik zaten açık.

Switch tarafında hiçbir şey yapmamıza gerek kalmıyor. Yani sadece talep edenlerin portunda trafik oluşuyor.

Statik olarak da bu mac adresini elle verebiliyoruz. Bu mac adresi fa0/0 ve fa0/1 portumdadır Bu mac adresine giden yayın varsa ulaştır diyoruz. Kullanımlı bir durum değil. Örnek olarak bir kamera sunucusu için kullanılabilir yeri sabittir, portu sabittir o zaman statik mac adresi işleyebilirsin ama gezinen bir cihaz ise laptop gibi statik mac adresi ile yapılmaz. Onun yerine IGMP Snoopinge bırakabiliriz.

O yüzden switch tarafında yapılacak bir şey yok. Switch kendisi bu işi çözüyor.

Kaynak ile gönderen arasında birden fazla router varsa bu yayını routerın geçirmesini sağlanması gerekiyor. Multicast yayın kaynağının nerden izleneceğini tarif etmek için 2 farklı teknik kullanılıyor. Bir tanesi source tree diye geçiyor. Yani yayın kaynağı nerdeyse ağacın ona göre oluşturulması. Burada yayının kaynak adresi 10.1.1.2 source ip adres burası destination ip adres ise multicast ip adres 239.1.1.1 eğer tüm routerların multicast routing tablosunda routerın tuttuğu multicast adres kaynak ip adresi(S) ve (multicast group) adres resimdeki gibi oluşturulmuşsa buna Source Tree adı veriliyor. Yani multicast routing tabloları yayın kaynağının ip adresi ne hangi yayını veriyor şeklinde oluşuyor ve buna göre trafiği routerlar oturtuyor. İkinci ağaç yapısı oluşturma tekniği ise Shared Tree deniliyor. Buna rendezvous point (buluşma noktası) de deniliyor.

Daha büyük ağlarda bu randevu point tekniği tercih ediliyor. Bu routerlar routing tablolarında yukardaki gibi bir satır tutuyorlar. Yani bir multicast yayını ipsi virgül yıldız. Böyle bir dizayn yapacaksanız routerlardan bir tanesini rendezvous point olarak belirliyorsunuz. Multicast destekleyen her router aynı zamanda rendezvous point olabiliyor. Örnek olarak R2 routerına diyoruzki sen rendezvous pointsin ve tüm diğer routerlara diyoruzki bizim ağımızın rendezvous noktasının ip adresi budur R2nin ip adresi tüm routerlar rendezvous point adresini biliyorlar.

Küçük bir dizaynınız varsa Dense mode. Büyük bir dizaynınız varsa sparse mode kullanılıyor. PIM protokolü routerlar arasında haberleşmeyi sağlayan ve multicast rotaların öğrenilmesini sağlayan protokol. Kendisine ait bir protokol numarası var 103 diye. Yani TCP /Udp kullanmıyor ve TTL değeri 1.

PIM Dense Mode

PIM Dense (yoğun) çalışan routerlar bir multicast talebi geldiği zaman bunu flood ediyorlar. Her routera bu multicast yayın gidiyor. Bu yayın sonrasında o yayını izlemek istemeyen routerlar PRUNE (budama) mesajı yolluyorlar. Prune'in işlemi bitince en kısa yoldan multicast yayını devam ediyor. 3 dk da bir PIM dense mode tekrar her routera flood basıyor. İzlemek istemeyen olursa tekrar budama oluyor (prune). Adı üstünde küçük bir ağda yoğun bir kullanım varsa.

PIM unicast routing tablosundan kopya çekerek bunu sağlıyor.

Sparse Mode

Sparse modda daha dağıtık şekilde istemciler var böyle çok yoğun bir populasyon seyretmiyor.

Sparse modun çalışması için mutlaka randevu point gerekiyor. Routerlardan birisini veya birkaçını randevu point olarak atamamız gerekiyor. Randevu pointin hangi router olduğunu tüm routerlar öğrenmesi lazım.

Tüm routerlara dinamik bir şekilde Randevu pointin ip adresini öğretiyorlar.

Last updated