Etiketler

6 Haziran 2016 Pazartesi

YAZILIM TANIMLI AĞLAR

Merhaba Arkadaşlar


Bu yazımda son zamanlar popülerliği artan SDN (Software Defined Network) Yazılım Tanımlı Ağlar'dan bahsetmek istiyorum.

Ancak öncelikle sanallaştırmanın ne olduğuna değinmek istiyorum. 


Sanallaştırma;

 Fiziksel kaynağı birden fazla mantıksal işleme bölerek kullanılan kaynağı daha verimli hale getirmektir.
 Mevcut bulunan fiziksel donanımın sanal makineler yardımıyla çok daha verimli kullanılabilmesini sağlayan, çeşitli yazılım ve donanım bağımlılıklarını ortadan kaldıran, bu sayede de yeni ürün ve servis geliştirme maliyetlerinde büyük tasarruflar sağlayan yazılım çözümüdür. Çözümde kullanılan sanal makinanın tanımı ilk defa Popek ve Goldberg tarafından “gerçek makinenin etkili, soyutlanmış bir kopyasıdır” şeklinde yapılmıştır.




SOFTWARE DEFINED NETWORK
YAZILIM TANIMLI AĞLAR




Günümüzde servis sağlayıcılar, mobil operatörler, data merkezleri, büyük kuruluşlar ve özellikle araştırma geliştirme yapan üniversitelerde, ağ yazılımları ve ağ yönetim metotları geliştirmeye en çok ihtiyaç duyulan yerlerdir. Ağ iletişiminde en büyük yük donanıma binmektedir. Ancak donanım üreticileri, kendi bilgilerini cihazların içine gömdüklerinden, bunlarla ilgili yeni düzenlemeler, geliştirmeler, yaklaşımlar geliştirmek her zaman donanımlara bağımlı olunmuştur. Yakın geçmişte orataya çıkan sanallaştırma kavramı ile ağ yönetim sistemlerinin yönetim zorluklarını da beraberinde getirmektedir. Ayrıca bulut bilişime olan ilgi ve gereksinimler ağ kontrolünün önemini daha arttırmaktadır. Ayrıca ağın görsel olarak yönetiminin sağlanması, bu artan yükle birlikte daha önemli hale gelmektedir. Ağ yönetim sistemlerinin genel sıkıntısı, donanıma olan bağımlılık ve fiziksel olarak dağınık yapılarda, görsel olarak yönetimin olmamasıdır ve gelişen ihtiyaçları ve değişen koşulları anında ağ içine katmanın güçlükleri de bu fiziksel kısıtlamaları arttırmaktadır. Bu problemler sonucunda Fiziksel kaynakların mantıksal olarak bölüntülenerek daha verimli halde kullanılması olarak tanımlanan sanallaştırma kavramı ağ yapılarında da çözüm olarak görülmektedir. Open Network Foundation (ONF) tarafından doğrudan programlanabilen ve ağ kontrolünün iletimden ayrıştırıldığı bir yapıyla ortaya çıkan ağ mimarisi olarak belirtilmektedir. Temel olarak  kontrol düzlemini veri düzleminden ayırmak hedeflenmektedir. İstemci ile veri tabanı arasındaki iletişimin en ucuz ve en güvenilir yoldan sağlanması ve yönetilmesi amaçlanmaktadır.

OpenFlow protokolü, bu amaca yönelik olarak geliştirilmiş ve üniversiteler ve araştırma enstitüleri gibi kurumlarda, ağ yönetiminin daha çok araştırmaya imkân sağlanması beklenmektedir. OpenFlow yenilikçi ağ protokollerini ve yeni yöntemlerin kullanımdaki ağlarda geliştirilmesini sağlayan bir açık standart olarak tanımlanmaktaıdr. OpenFlow, Stanford ve California Berkeley Üniversiteleri tarafından internet ağındaki switch, router ve bazı network cihazlarının donanımsal kısıtlamalarından dolayı zamanla tıkanacağı düşünülen ve artık gerçek-zamanlı isteklere arzu edildiği gibi cevap veremeyen küresel internet ağı için tüm bir networke ve network cihazlarına yazılımlar yoluyla daha etkin müdahele edilebilmesi amacıyla ortaya çıkmış bir açık-kaynak ağ protokolüdür. OpenFlow protokolü ve POX denetleyicisi kullanarak, orta büyüklükte ağlarda, bu teknolojisinin kullanılabilirliği hakkında niceliksel bir bilgi sağlamak, araştırmacı ve kurumların ağ sistemlerinde kullanabilecekleri bileşenler açısından önemlidir. OpenFlow protokolü ile birlikte ağ donanımın kontrol bölümünün dışarıda bir sunucuya aktarılması, ağ yöneticilerine büyük esneklik sağlayacaktır, bu esneklik büyük alanlardaki ağların yönetimlerini, günümüzün bir diğer sorunu olan enerji ihtiyaçları da düşünülerek, donanım ve alt yapıların daha verimli kullanılmasını sağlayacaktır.  




SDN Yapısı 


Bir ağ cihazı 3 katmadan oluşur, bunlar kontrol katmanı, veri katmanı ve yönetim katmanı olmak üzere. Kontrol katmanı; cihazı üzerinde çalışan protokollerin belirlendiği kısımdır. Bir paketin nereye gideceğine karar verir. Veri katmanı; kontrol katmanından alınan bilgiye göre verinin iletildiği kısımdır(forwarding table). Yönetim katmanı ise cihazın yönetimsel işlemlerinin gerçekleştiği kısımdır. Bu katmanlar ağ cihazlarının içerisinde bulunmaktadır. Bir paketin iletiminden, nereye gideceğinden yani bütün işlemlerden bir cihaz sorumludur. Yazılım tanımlı ağlar ile bu katmanlar birbirinden ayrılıyor, (kontrolcü ile veri düzlemi ayrılıyor.)
























SDN mimarisi katmanlı bir yapıdıan oluşur.
Uygulama Katmanı (Application Layer) :  SDN kontrolcüsünün yönetilmesi, görüntülenmesi, kontrolcüden veri alınması ve bu veriler doğrultusunda istatistik çıkarabilmesini sağlayan bir takım uygulamaların bulunduğu katmandır.
Kontrol ve Yönetim Katmanı (Control and Management Layer) :  Aynı katmanın 2 farklı bileşeni olarak adlandırabilir. Kontrolcü bu katmanda işlem görmektedir.. Kontrolcüye verilen komut verdiğimiz, direk programlanabilen kısımdır.(Control Plane)
Altyapı katmanı (Infrastructure Layer)  : Veri iletimini yapan fiziksel donanımların olduğu katmandır. (Data or Forwarding Plane) Bu katmanlar kadar önemli başka bir konu aradaki bağlantı sağlayan araçlar:

A-CPI : Application-Controller Plane Interface
D-CPI : Data-Controller Plane Interface










Ayrılan kontrolcü ile tek bir mekrzden yönetim sağlanabilir ve ağ akışındaki trafik tek bir merkezden görüntülenip yönetilebilir.









SDN Nasıl Çalışır ?



Ağ yapılarında haberleşmek yada bir bilgi almak için istemci kendisine en yakın cihaz aracılığıyla istekte bulunur.








Cihaz kendisinde mevcut tabloda herhangi bir aynı istek olup olmadığını kontrol eder eğer yoksa,
istek alan cihaz direk olarak merkezi kontrolcü ile haberleşir, gelen trafik isteği karşısında nasıl davranmaları gerektiğini kontrolcüye sorarlar.









Kontolcü tarafından forwarding table'da bir kural olup olmadığı kontrol edilir. Eğer mevcut bir akış kuralı var ise o davranış gönderilir. Bir kural yok ise tanımlanan kurallar çerçevesinde akış tablosuna yeni bir kural eklenerek yapılacak davranış kendisine sorgu yapan cihaza cevap olarak gönderilir.













Belirlenen kurala bağlı olarak gelen paket istedğinin kullanacağı yollarla ilgi bilgi, kullanılacak cihazlara, kontrolcü tarafından iletilir.













İstemci kontrolcünün yönlendirmesi ile istediği veri tabanına erişebilir, internete çıkabilir.








































Yazılım Tanımlı Ağların Yararları
  • Daha az maliyet : Ağ yapısındaki cihazların daha verimli kullanılması ile donanımlar daha verimli kullanılabilir, maliyet azaltılabilir.
  • Tek Merkezden Yönetim : Kontrol ve veri düzleminin ayrılması ile tek bir yerden merkezi bir yönetim sağlanabilir.
  • Dinamik ve Optimize Yapı : Kontrol ve ve veri düzleminin ayrı olması ile ihtiyaçların artması durumunda veri düzlemindeki yapı kolaylıkla genişletilebilir ve merkezi kontrolcü ile yönetimi sağlanabilir.
  • Güvenlik : Merkezi yönetim olması sayesinde güvenlik duvarları kolaylıkla yönetilebilir, güvenlik kuralları eklenip çıkartılabilir, yetkilendirme ve kısıtlamalar kolaylıkla yönetilebilir.
  • Yük Dengeleme : Trafiğin yoğun olduğu bölgeler görüntülenerek, gelen isteklerin trafiğin yoğun olmadığı yollara yönlendirilebilmesi mümkündür.
  • Yüksek Erişilebilirlik : Sistemdeki cihazlarda bir sorun olması durumunda, alternatif yollara yönlendirme yapılır, kontrolcü de bir sorun oluştuğundan ise sekronize çalışan ikinci kontrolcü işlemler yönetilmeye devam edebilir.


Yaralanılan Kaynaklar