Yazılım Tanımlı Ağlar Ders 2 Kontrol ve Veri Düzlemlerinin Ayrılması Mehmet Demirci 1
Kontrol ve Veri Düzlemleri Nedir? Kontrol düzlemi: Yönlendirme kurallarını belirleyen mantık Yönlendirme protokolleri, güvenlik duvarı ayarları vs. Ağın beyni Veri düzlemi: Kontrol düzlemi mantığına göre yönlendirmenin yapılması IP yönlendirme, Layer-2 anahtarlama vs. 2
Kontrol ve Veri Düzlemleri Niye Ayrılmalıdır? Birbirinden bağımsız gelişim sağlanır. Özellikle yazılımın daha hızlı gelişmesi mümkün olabilir. Ağı anlayıp yönetmek kolaylaşır. Tek bir yazılım programıyla kontrol sağlanır. Davranışı denetlemek ve hata gidermek kolaylaşır. 3
Ayırma Nerelerde İşe Yarar? Veri merkezleri: Sanal makine göçü Yönlendirme: Daha kontrollü karar mekanizması Kurum ağları: Güvenlik uygulamaları Araştırma ağları: Gerçek trafik ile sınama trafiğinin birlikteliği 4
Veri Merkezleri Veri Merkezi Nedir? Tek sunucunun yetersiz kaldığı durumlarda birçok sunucunun bir arada hizmet verdiği merkezler (data center) Google, Bing, Amazon, E-Bay, Facebook, Twitter vs. Bir veri merkezinde onbinlerce hatta yüzbinlerce sunucu bulunabilir. Veri merkezindeki sunucular ağla bağlıdır. (data center network) 5
Veri Merkezleri Veri Merkezinin İç Yapısı Sunucular (blades), raflara (racks) dağıtılmıştır. Her rafın başında bir raf başı anahtarı (top of rack TOR switch) vardır. TOR anahtarı sunucuları birbirlerine bağlar ve diğer TOR switchlere bağlanır. Dışarıyla iletişim için sınır yönlendiricileri bulunur. 6
Veri Merkezleri Temel Özellikler Çok kullanıcılı ortam (multi-tenant) Esnek kaynaklar Esnek hizmet (service) yönetimi İş yükü hareketi Sanal makine göçü 7
Veri Merkezleri Zorluklar Trafiği dengelemek Sanal makine göçü desteği Enerji tasarrufuna yönelik yerleştirme yapmak Değişen taleplere ayak uydurarak kaynak ayırmak Güvenlik 8
Veri Merkezi Maliyetini SDN ile Azaltma Örnek: 200 bin sunucu, 10 bin anahtar Her anahtar 5 bin dolar 50 milyon dolar Her anahtar bin dolar 10 milyon dolar 10 veri merkezinde 400 milyon dolar kazanç 9
Veri Merkezi: Yahoo! 20 bin sunucu, 400 bin sanal makine var. Sanal makine göçünün 1 saniyenın altında gerçekleşmesi, göç sırasında ağ işlevlerinin ve tutarlılığın bozulmaması gerekir. Çözüm: Anahtarları merkezi bir veri tabanından programlamak Sanal makinelerin göçü sırasında kontrolcü anahtarı gerektiği gibi günceller ve ağdaki yolları yeniden düzenler. 10
Ayırma Nerelerde İşe Yarar? Veri merkezleri: Sanal makine göçü Yönlendirme: Daha kontrollü karar mekanizması Kurum ağları: Güvenlik uygulamaları Araştırma ağları: Gerçek trafik ile sınama trafiğinin birlikteliği 11
İnternet te Yönlendirme İnternet birbirine bağlı birçok özerk sistemden oluşur. Autonomous system AS Dünyada ~50 bin, Türkiye de <500 Intradomain: Alan içi Interdomain: Alanlar arası 12
Alan İçi Yönlendirme Intradomain routing Link State Her düğüm kendi ağ resmini diğer herkesle paylaşır. Komşuları için d v, diğerleri için Sonra hepsi diğer bütün düğümlere en kısa mesafeyi hesaplar. Örnek: OSPF 13
Alan İçi Yönlendirme Intradomain routing Distance vector Komşulara kendi yönlendirme tablonun kopyasını yolla. Her varış noktasına en kısa mesafeyi hesapla. Örnek: RIP 14
IP Katmanında Yönlendirme Longest Prefix Matching (En uzun önek eşleştirme) Her pakette bir varış adresi vardır. Yönlendirici, kendi tablosunda varış adresini arayarak paketi nereye yönlendireceğini bulur. LPM: Mümkün olan en uzun prefixe eşleştir. 15
Alanlar Arası Yönlendirme Özerk sistemler (AS) arasında yönlendirme için Border Gateway Protocol (BGP) Route advertisement (yol reklamı) dağıtır. 16
Alanlar Arası Yönlendirme Kuralları doğrudan belirlemek çok kolay değildir. Var olan birkaç ayar dışındaki etkenleri karara katmak zordur. Merkezi kontrol bunu kolaylaştırabilir. 17
Merkezi Kontrol ile Gelen Zorluklar Ölçekleme: Bir kontrolcü birçok (belki binlerce) yönlendirme cihazından sorumludur. Güvenilirlik ve Güvenlik: Kontrolcü bozulursa veya saldırganların eline geçerse ne olacak? 18
Ölçeklenebilirlik Merkezi kontrolcü birçok cihaz için yolları hesaplayıp tutmalıdır. Binlerce cihazı kontrol ediyor olabilir. Ölçeklenebilirliği arttırmak için: Değişimden etkilenen cihazlar için index tutmak Kontrolcüler arası hiyerarşik yapı kurmak 19
Güvenilirlik Kontrolcünün yedeğini çalışır tutmak Aynı girdi ve aynı algoritma, aynı sonuçları vermeli. Giren bilgi farklıysa tutarlılık sorunu olabilir. 20