Yazılım Tanımlı Ağ Oluşturma
Yazılım tanımlı ağ oluşturma, ağın kontrol düzlemini veri düzleminden ayırarak, yönlendirme ve politika kararlarını, basit anahtarların yönlendirme davranışını açık bir arayüz aracılığıyla yapılandıran mantıksal olarak merkezileştirilmiş, programlanabilir bir denetleyiciye taşımaktadır.
Tanım
Yazılım tanımlı ağ oluşturma, kontrol düzleminin veri düzleminden ayrıldığı ve mantıksal olarak merkezileştirilmiş ve programlanabilir hale getirildiği bir ağ mimarisidir; böylece bir denetleyici, aksi takdirde basit olan paket iletme cihazlarına yönlendirme kuralları yüklemektedir.
Kapsam
Bu konu, Yazılım Tanımlı Ağ (SDN) paradigmasını kapsamaktadır: mantıksal olarak merkezileştirilmiş bir kontrol düzleminin dağıtık yönlendirme cihazlarından ayrılması, anahtarların denetleyici tarafından yüklenen akış kurallarına göre paketleri ilettiği eşleştirme-eylem (match-action) soyutlaması, denetleyici ile anahtarlar arasındaki güney yönlü arayüz (başlıca OpenFlow) ve uygulamaların ağ davranışını programladığı kuzey yönlü arayüz. Konu, SDN'in programlanabilirlik ve trafik mühendisliği açısından faydalarını ve ölçeklenebilirlik ile esneklik (resilience) zorluklarını ele almaktadır. Karşılaştığı geleneksel dağıtık yönlendirme protokollerini ise kapsamamaktadır.
Temel sorular
- SDN, kontrol düzlemini veri düzleminden nasıl ayırmaktadır ve neden?
- SDN anahtarları tarafından kullanılan eşleştirme-eylem (akış tablosu) soyutlaması nedir?
- Güney yönlü (örn. OpenFlow) ve kuzey yönlü arayüzler hangi rolü oynamaktadır?
- Merkezileştirilmiş, programlanabilir kontrol, trafik mühendisliği ve yenilik için hangi faydaları sunmaktadır?
- Merkezileştirilmiş bir kontrol düzleminin ölçeklenebilirlik, gecikme ve esneklik (resilience) zorlukları nelerdir?
Anahtar kavramlar
- kontrol düzlemi ve veri düzlemi ayrımı
- mantıksal olarak merkezileştirilmiş denetleyici
- eşleştirme-eylem (akış tabloları)
- OpenFlow (güney yönlü arayüz)
- kuzey yönlü API'ler
- ağ programlanabilirliği
- trafik mühendisliği
- denetleyici ölçeklenebilirliği ve esneklik (resilience)
Temel kuramlar
- Kontrol-veri düzlemi ayrımı
- SDN, ağ işlevselliğini, yönlendirme davranışına karar veren programlanabilir, mantıksal olarak merkezileştirilmiş bir denetleyiciye ve yalnızca yüklü kuralları uygulayan basit anahtarlara ayırmakta, böylece geleneksel ağların cihaz başına dağıtık kontrolünü değiştirmektedir.
- Eşleştirme-eylem iletimi ve OpenFlow
- SDN anahtarları, başlık alanlarını akış tablosu girişleriyle eşleştirerek ve ilişkili eylemleri uygulayarak paketleri iletmektedir; OpenFlow protokolü, bir denetleyicinin bu tabloları farklı satıcılar arasında nasıl programladığını standartlaştırmış, böylece satıcıdan bağımsız programlanabilirliği mümkün kılmıştır.
- Programlanabilir ağların gelişimi
- SDN, ağları programlanabilir hale getirme ve kontrolü iletimden ayırma üzerine yapılan uzun bir çalışma dizisinin doruk noktasıdır; aktif ağ oluşturma, kontrol düzlemi ayırma çabaları ve merkezileştirilmiş ağ işletim sistemlerinden yararlanmaktadır.
Klinik önem
SDN, büyük ağların nasıl inşa edildiğini ve işletildiğini yeniden şekillendirmiştir: bulut sağlayıcıları ve veri merkezleri, ince taneli trafik mühendisliği, kiracılar arası izolasyon ve yeni ağ fonksiyonlarının hızlı dağıtımı için merkezileştirilmiş kontrolü kullanmaktadır; geniş alan omurgaları ise kullanımı optimize etmek için SDN'i kullanmaktadır. Programlanabilirlik, operatörlerin yeni donanım beklemek yerine davranışı yazılımda tanımlamasına olanak tanıyarak ağ araştırmalarını ve yeniliği de hızlandırmıştır.
Tarihçe
Yazılım tanımlı ağ oluşturma, daha önceki programlanabilir ve aktif ağ araştırmalarından ve kontrol düzlemini iletimden ayırma çabalarından ortaya çıkmıştır. 2008 OpenFlow önerisi, anahtar akış tablolarını kontrol etmek için pratik, konuşlandırılabilir bir arayüz sağlamış, bu da araştırmada ve ardından büyük ölçekli veri merkezi ve geniş alan ağlarında hızlı benimsenmeyi katalize etmiştir; bu durum, alanın sonraki entelektüel tarihlerinde de anlatılmaktadır.
Tartışmalar
- Merkezileştirilmiş kontrol ve dağıtık sağlamlık (robustness)
- Kontrol düzlemini merkezileştirmek, küresel optimizasyonu ve programlanabilirliği basitleştirmektedir ancak tek hata noktası, denetleyici ölçeklenebilirliği ve denetleyiciye danışma gecikmesi hakkında endişeler doğurmaktadır; pratik SDN tasarımları, sağlamlığı (robustness) geri kazanmak için denetleyicileri çoğaltmakta ve dağıtmaktadır.
Öne çıkan isimler
- Nick McKeown
- Scott Shenker
- Jennifer Rexford
- Nick Feamster
İlgili konular
Temel eserler
- mckeown2008
- feamster2014
- kurose2021
Sıkça sorulan sorular
- SDN hangi sorunu çözmektedir?
- Geleneksel ağlar, kontrol ve iletimi her cihaza dahil etmekte ve bunları ayrı ayrı yapılandırmaktadır; bu da ağ genelindeki politika ve yeniliği yavaş ve hataya açık hale getirmektedir. SDN, kontrol mantığını yazılımda küresel bir görünümle merkezileştirmekte, böylece operatörler tutarlı, ağ genelinde davranışları programlayabilmekte ve yeni işlevselliği çok daha hızlı bir şekilde dağıtabilmektedir.
- SDN denetleyicisi tek hata noktası mıdır?
- Mantıksal olarak kontrol düzlemi merkezileştirilmiştir, ancak pratikte hata toleransı ve ölçek için dağıtık, çoğaltılmış bir denetleyici kümesi olarak uygulanmaktadır. Kontrol düzlemi, fiziksel olarak tek bir makine olmaktan ziyade 'mantıksal olarak merkezileştirilmiştir', böylece bireysel denetleyiciler başarısız olsa bile ağ çalışmaya devam edebilmektedir.