Ana içeriğe atla

SDN'e Giriş

SDN’in ne olduğunu anlamak için, Microsoft dünyasında kullanılan dizin hizmeti hakkında biraz konuşmalıyız.

Eskiden, merkezi yönetim veya otomasyon olmaksızın tek tek çalışan sunucular ve istemci makinelerine sahiptik. Daha sonraları diğer tüm makineleri kontrol edebilen, bunu yapılandırıldığımız ilkelerle gerçekleştiren, bir etki alanı denetleyicisi (domain controller) kavramını kullanmaya başladık.

 

 

 

Şimdi şöyle sorabiliriz; yönlendiriciler, katman 2 anahtarları ve çok katmanlı anahtarlar gibi ağ aygıtlarıyla da benzer bir konsepte sahip olabilir miyiz?

Cevap; daha statik konfigürasyon kontrollü ağdan ziyade, ağın yazılım tabanlı kontrolü kavramını ifade eden SDN (Yazılım Tanımlı Ağ) kullanılarak yapılabilir. Ağ programlanabilirliği terimi, ağın yazılım kontrolüne daha fazla odaklanmak anlamına gelir.

Bunu yapmak için, bir yazılımın, yönlendiricilerin ve anahtarların olası tüm farklı durumlarda nasıl çalışacağını kontrol etmemizi sağlayacak bir denetleyici kullanacağız ve bu, ağ cihazlarının yapılandırmasını dinamik ve hızlı bir süreç haline getiren anlık ihtiyaçlarımıza göre yapılacaktır.



 

SDN denetleyicisinin bizim için nasıl çalışacağını tam olarak anlamak için, yönlendiriciler ve anahtarlar gibi ağ aygıtlarının işlerini üç farklı katman veya düzleme (plane) bölerek nasıl çalıştığını anlamamız gerekir.

 

Veri Düzlemi (Yönlendirme Düzlemi)

Bir ağ aygıtının bir paketi ve çerçeveleri alması, işlemesi ve iletmesi gereken işleri ifade eder.

Bir ağ aygıtının veri düzleminde yaptığı yaygın işler:

  • Veri bağlantısı çerçevesinde bir paketin kapsülünün açılması ve tekrar kapsüllenmesi (yönlendiriciler, Katman 3 anahtarları)

  • Bir 802.1Q kanal başlığının eklenmesi veya kaldırılması (yönlendiriciler ve anahtarlar)

  • Hedef MAC adresini MAC adres tablosuna eşleştirme (Katman 2 anahtarları)

  • Hedef IP adresini IP yönlendirme tablosuna eşleme (yönlendiriciler, Katman 3 anahtarları)

  • Verileri şifrelemek ve yeni bir IP başlığı eklemek (VPN işlemi için)

  • Kaynak veya hedef IP adresini değiştirme (NAT işleme için)

  • Filtreye bağlı bir mesajın atılması (ACL'ler, port güvenliği)


 

Kontrol Düzlemi

Veri Düzlemi, Kontrol Düzleminin sağladıklarına dayanarak ilgili işlemleri gerçekleştirir. Bu yüzden yönlendirme tabloları,  MAC adres tablosu, yönlendirme protokolleri vb. bu düzlemde bulunmaktadır.

 

Ortak kontrol düzlemi protokolleri:

  • Yönlendirme protokolleri (OSPF, EIGRP, RIP, BGP)

  • IPv4 ARP

  • IPv6 NDP

  • Switch MAC öğrenimi

  • STP


 

Yönetim Düzlemi

Veri düzlemini doğrudan etkilemez. Ancak, ağ mühendislerinin cihazları yönetmesine izin veren protokolleri içerecektir.

Ortak yönetim düzlemi protokolleri:

  • Telnet

  • SSH

  • HTTP / HTTPS


 

 



 

Not: Anahtarlar söz konusu olduğunda, LAN switch'leri genel bir CPU'dan daha hızlı bir veri düzlemine ihtiyaç duyuyordu. Böylece yazılım, her zaman veri düzlemi işlemeyi gerçekleştirmek için özel bir donanıma sahipti.

Anahtarlama mantığı, CPU'da yazılımla değil, uygulamaya özgü tümleşik devrede (ASIC- application specific integrated circuit) oluşur. Bir ASIC, bir ağ aygıtında mesaj işleme gibi belirli amaçlar için oluşturulmuş bir yongadır.

ASIC, MAC adres tablosunda arama yapmak zorundadır, bu nedenle hızlı tablo araması için, anahtar MAC adres tablosu eşdeğerini depolamak için özel bir bellek türü kullanır: buna üçlü içerik adreslenebilir bellek (TCAM- ternary content-addressable memory) denir.

SDN mimarisini kısaca özetlemek gerekirse, ağ aygıtlarının hala var olduğunu ve hala verileri ilettiğini söyleyebiliriz, ancak kontrol düzlemi işlevleri ve konumu önemli ölçüde SDN ile  değişecektir.

SDN Kontrolörleri &SBI / NBI

Daha önce de söylediğimiz gibi, SDN denetleyicileri, etki alanı denetleyicileri gibi davranacak ve dağıtılmış kontrol düzlemini (heri ağ cihazının kendi düzlemi) kullanmak yerine, merkezi kontrol düzlemini kullanacaktır.

SDN Denetleyici, kontrol düzleminin tümünü veya bir kısmını ağ cihazlarından alır ve merkezi olarak kendi başına yapar, sonra ağ cihazlarına ne yapması gerektiğini söyler.

Bir kontrolör, merkezi bir kontrol modelinde kontrol düzlemi için gereken işin çoğunu yapar;

  • SDN denetleyici, ağı daha akıllı hale getirir, onlar için kararlar alabilir ve birçok ağ cihazına işlemşeri otomatik olarak dağıtabilir.

  • SDN denetleyicisi standart bir dil ile birçok satıcıyı işleyebilir.

  • SDN denetleyicisi değişiklikleri gerçekleştirir ve ihtiyaç duyarsa geri alabilir .

  • SDN kontrolör gerçek zamanlı durumsal farkındalık özelliğine sahiptir, örneğin ağdaki tıkanıklıkları tespit edebilir.

  • SDN denetleyici, GUI veya CLI ile fiziksel veya sanal olarak veya her ikisine erişmek için kullanılabilir.

  • SDN denetleyicisinin ana hedefi ağdaki paketlerin akışını yönetmektir.


Flow (Akış): Bir cihaz ile yönlendirici gibi başka bir cihaz arasındaki iletişimdir.

SDN Flow (SDN akışı):SDN Kontrolcüsü ağ cihazına yapılandırma gönderebilir ve akışla başka bir şey yapmasına izin verebilir.



Unutmayın, SDN yönetim arayüzü ve ağ aygıtı arasında ortadaki bir adam gibi davranır.

SDN kontrolörlerinin kuzey yönlü (northbound) arayüzü NBI ve güney yönlü (southbound) arayüzü SBI vardır.

Northbound, yönetim düzlemine yani SDN Kontrolcüsü yöneticisine bağlanır ve yönetir.

Southbound, veri düzlemine yani arayüzlerin trafiğini kontrol etmek için ağ cihazlarına bağlanır ve yönetir.

Çoğu SDN çözümünün, openstack, VMware vSphere web istemcisi gibi kendi kullanıcı arabirimi vardır (Northbound API).

OpenFlow (standart) veya onePK API (Cisco tescilli) gibi Southbound API’ler vardır.

Unutmayın, SBI, NBI ve API hakkında konuştuğumuzda “arayüz” kelimesi yazılım arayüzlerini ifade eder.

Uygulama programlama arabirimi (Application Programming Interface-API): Başka bir uygulama ile veri alışverişi yapmak için bir uygulama (program) yöntemi.

 

SBI: Bir program (denetleyici) ile iki programın iletişim kurmasını sağlayan (ağ aygıtında) bir arabirimdir.

SBI örnekleri:

OpenFlow (ONF; https://www.opennetworking.org)

OpFlex (Cisco'dan; ACI ile birlikte kullanılır)

CLI (Telnet / SSH) ve SNMP (Cisco'dan; APIC-EM ile birlikte kullanılır)

 

NBI: Denetleyiciyi açar, böylece veriler ve işlevleri diğer programlar tarafından kullanılabilir, böylece ağ programlanabilirliği daha hızlı bir şekilde geliştirilebilir. Programlar, denetleyicinin API'lerini kullanarak denetleyiciden bilgi alabilir. NBI'ler ayrıca, denetleyicinin SBI'lerini kullanan aygıtlara akışları programlamak için denetleyicinin yeteneklerini kullanmalarını sağlar.

NBI örnekleri:

REST API

openstack

API Sanal Özel Bulut VPC'si

 

REST (Representational State Transfer- Temsili Durum Transferi): API üzerinden veri aktarımı için HTTP mesajlarını kullanan, uygulamaların farklı ana bilgisayarlarda oturum açmasına izin veren bir API türünü açıklar.

OpenStack: Bir veri merkezi genelinde büyük bir bilgi işlem, depolama ve ağ kaynağı havuzlarını kontrol eden bir bulut işletim sistemidir. Bunların tümü, yöneticilere kullanıcılarına bir web arayüzü üzerinden kaynak sağlama konusunda yetki verirken kontrol sağlayan bir gösterge panosundan yönetilir. https://www.openstack.org/software/

Yorumlar

Bu blogdaki popüler yayınlar

Cisco CCNA Sertifikası Nasıl Alınır? Hangi Eğitimler, Hangi Kurslar?

Bu yazımda bilişim sektörünün en çok talep edilen sertifikalarından Cisco CCNA sertifikası hakkında bilgi vereceğim. Öncelikle Cisco CCNA sertifikasının sektördeki önemini, sertifikayı almak için katılmanız gereken eğitimleri ve kayıt olabileceğiniz kursları ve diğer kaynakları göreceğiz. Bilişim sektöründe sertifikaların özellikle de CCNA sertifikanın önemini anlatırken hep şu örneği veririm. Sertifika ehliyet gibidir. Ehliyet olmadan araba kullanmazsınız fakat arabayı kullanan ehliyet değildir. Yani sertifika sizi iş başvurularında birkaç adım öne geçirir size bir artı değer katar ama işe girdiğinizde bir switchi yapılandıracak sertifika değil sizsinizdir. Tabi hiç sertifikası olmadan da çok başarılı kariyere sahip kişiler vardır ama istisnalar kaideyi bozmaz. Aslında Cisco CCNA sertifikası bilişim sektörüne giriş için ilk basamaktır. Devamında CCNP ve CCIE gibi sertifikaları almak her zaman tavsiye ettiğimiz bir kariyer yoludur. Cisco CCNA eğitimlerinde ağ temellerinden başlanıp bir...

TCP/IP Taşıma (Transport) Katmanı Nedir?

Taşıma katmanı gönderen host ile alıcı host arasında verilerin taşınmasından sorumludur.    Taşıma katmanı veriyi segmentlere ayırır ve alıcı hostta düzgün sıra ile tekrar birleştirilmesini sağlar. Bu segmentlere ayırma ve tekrar birleştirme iki farklı taşıma katmanı protokolü kullanılarak gerçekleştirilir. TCP(Transmission Control Protocol) ve UDP (User Datagram Protocol) TAŞIMA KATMANININ ÖZELLİKLERİ Taşıma katmanı protokollerinin ana görevleri şunlardır; Hostlar arası iletişimi izleme: Taşıma katmanında kaynak ve hedef uygulama (HTTP,FTP,SMTP vb.) arasındaki veri akışına sohbet denir. Bir host aynı anda birden çok uygulama çalıştırabilir. Aynı anda e-posta istemciniz(Outlook vb.) e-posta indirebilir, bir web sayfasına bağlanabilir ve bu arada da arka planda canlı radyo dinliyor olabilirsiniz. Bu çoklu sohbetleri izlemek ve sürdürmek taşıma katmanının görevidir. Verileri segmentlere ayırma ve tekrar birleştirme: Taşıma katmanı uygulama katmanı verisini uygun boyutlarda parçalar...