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

Show Komutu Çıktısını Filtreleme

Bir Cisco yönlendirici veya anahtarda çalışan yapılandırma dosyasını görüntülemek için show running-config komutunu kullanırız. Eğer yapılandırma dosyası çok büyükse varsayılan olarak 24 satırdan sonra duraklatılır ve --More-- metni görüntülenir. Yapılandırmanın devamını satır satır görmek için Enter tuşuna, sayfa sayfa görmek için boşluk tuşuna basarız. Cisco IOS 15. sürümünden sonra ağ yöneticilerinin işini kolaylaştırmak için show komutu çıktısını filtrelemek ve sadece istedikleri kısımları görüntülemek için | pipe (boru) özelliği getirdi. Klavyeden AltGr+>< tuşuna beraber basarsanız | işaretini çıkarabilirsiniz. show komutundan sonra | işareti ve ek seçeneklerle filtreleme yapılabilir. Filtreleme seçeneklerinden birincisi ve benim çok kullandığım "section" filtresidir. Bu filtre ile seçtiğimiz ifade ile başlayan tüm satırlar gösterilir. Aşağıdaki örnekte bir yönlendiricideki EIGRP yapılandırılması filtrelenerek gösterilmiştir. R1#show running-config | section eigrp...

Kısa Dersler 2: MAC Adresi Nedir?

Ortam Erişim Kontrolü (MAC-Media Access Control) adresi, Ethernet ortamında iki ana bilgisayar arasında iletişim için kullanılan 48 bitlik bir adrestir. Bu bir donanım adresi olup ağ kartının belleniminde (firmware) saklanmaktadır. MAC adresine fiziksel adres (physical address) ve donanım adresi (hardware address) de denir. MAC adresi küresel olarak benzersizdir. Her ağ kartı satıcısı, bu 48 bitlik adresin ilk 24 bitini ki buna OUI (Organizationally Unique Identifier ) denir IEEE'den alırlar ve geri kalan 24 biti de kendileri rastgele üreterek ağ kartının  bellenimine yazarlar. MAC adresleri Hexadesimal (Onaltılık) sayı sistemi ile yazılır . Örneğin; D8-D3-85-EB-12-E3 Her onaltılık karakter 4 biti gösterir, bu nedenle ilk altı onaltılı karakter satıcıyı temsil eder (buradaki örnekte D8-D3-85  HP'yi temsil eder). Bilgisayarınızdaki ağ kartının  MAC adresini nasıl öğrenebilirsiniz? Windows kullanıyorsanız Komut İstemi'ne girin (CMD) Bunun için Windows tuşu ile birlikte R tuşu...

Nmap Kullanım Rehberi 1

Nmap, GNU Genel Kamu Lisansı altında yayınlanan bir açık kaynak kodlu programdır. TCP / IP sistemlerini keşfetmek, izlemek ve sorun gidermek için kullanılabilen bir araçtır. Nmap, Gordon "Fyodor" Lyon tarafından oluşturulan ve bir gönüllü topluluğu tarafından aktif olarak geliştirilen ücretsiz, çapraz platform bir ağ tarama yardımcı programıdır. Nmap ile taradığımız ağdaki açık makineleri, makinelerdeki açık portları, çalışan servisleri, işletim sistemi versiyonlarını ve belli başlı zayıflıkları tespit edebiliriz. Bunun dışında ağ haritasının çıkarılması veya ağ envanterinin hazırlanması içinde nmap çok kullanışlı bir araçtır. Özellikle penetrasyon testi yapanlar Nmap programını çok kullanır. Siz de network penetrasyon testleri alanında uzmanlaşmak istiyorsanız Nmap programının kullanımını çok iyi bilmelisiniz. Nmap Kurulumu Nmap genellikle Linux sistemlerde kullanılsa da Windows ve Mac için de geliştirilen versiyonları vardır. Nmap'ten en iyi verimi almak için şu OS...