Teknoloji

SDN Nedir? Yazılım Tanımlı Ağların Çalışma Mantığı

SDN, ağın kontrol işlevlerini veri iletiminden ayırarak ağ davranışının yazılımla yönetilmesini sağlayan bir mimaridir. Açılımı Software Defined Networking olan bu yaklaşım, Türkçede yazılım tanımlı ağ olarak adlandırılır. Ağ kuralları, merkezi bir kontrol yapısı üzerinden programlanabilir ve ilgili cihazlara uygulanabilir.

SDN Nedir Yazılım Tanımlı Ağların Çalışma Mantığı

Geleneksel Ağlardan Ayrılan Kontrol Yapısı

Yazılım tanımlı ağ yaklaşımını geleneksel ağlardan ayıran temel özellik, trafiği yöneten kararların nasıl oluşturulduğudur. Geleneksel yapılarda cihazların üzerinde çalışan kontrol işlevleri, SDN mimarisinde ağ genelini yönetebilen yazılımsal bir kontrol katmanıyla koordine edilir.

Bu ayrımı anlamak için kontrol düzlemi ve veri düzlemi kavramları kullanılır. Kontrol düzlemi, trafiğin hangi kurallarla ve hangi yollar üzerinden ilerleyeceğini belirler. Veri düzlemi ise paketleri bu kurallara göre iletir. SDN, bu iki işlevi birbirinden ayırarak kontrolün programlanabilmesini sağlar.

Yazılım tanımlı yapıda router gibi yönlendirme cihazlarının veya sanal ağ bileşenlerinin davranışları, çözümün desteklediği ölçüde denetleyici üzerinden yönetilebilir. Fiziksel cihazlar ortadan kalkmaz; kontrol ve yönetim sorumluluklarının dağılımı değişir.

SDN kısaltmasının farklı alanlarda başka anlamları da vardır. “SDN listesi nedir” aramasıyla karşılaşılan OFAC listesi, yaptırımlarla ilişkili kişi ve kuruluş kayıtlarını ifade eder. Bu kullanım, ağ teknolojisi olan Software Defined Networking ile ilgili değildir; iki kavram yalnızca aynı kısaltmayı paylaşır.

SDN Mimarisi ve Katmanların Görevleri

SDN mimarisi, uygulamaların ağdan beklediği davranışları iletim kurallarına dönüştüren katmanlardan oluşur. Yaygın açıklama modeli; uygulama, kontrol ve altyapı katmanlarını birbirinden ayırır. Her katman farklı bir görev üstlenir ve tanımlanmış arayüzlerle diğer katmanlarla iletişim kurar.

Bu yapıdaki temel görevler şöyle özetlenebilir:

  • Uygulama katmanı: Trafik yönetimi, erişim politikaları veya kaynak kullanımı gibi ağ ihtiyaçlarını ifade eden yazılımları içerir.
  • Kontrol katmanı: Denetleyici aracılığıyla ağın durumunu değerlendirir ve ihtiyaçları uygulanabilir kurallara dönüştürür.
  • Altyapı katmanı: Fiziksel veya sanal ağ bileşenleri üzerinden veri paketlerinin iletilmesini sağlar.

Uygulamalar ile kontrol katmanı arasındaki bağlantı, kuzey yönlü arayüz olarak adlandırılır. Denetleyici ile ağ bileşenleri arasındaki iletişim ise güney yönlü arayüz üzerinden kurulur. OpenFlow, güney yönlü iletişimde kullanılan protokollere örnek olarak verilebilir. Denetleyicinin ağ cihazlarındaki akış kurallarını yönetmesini sağlar. Bu arayüzlerde kullanılan API’ler, yazılımların birbirine veri veya işlem talebi iletmesini sağlayan programlama arayüzleridir.

Merkezi kontrol, bütün sistemin tek bir fiziksel sunucuda çalışması anlamına gelmez. Denetleyici hizmeti, kullanılabilirliği artırmak için birden fazla düğüm üzerinde çalıştırılabilir. Örneğin Microsoft’un Network Controller çözümü, yüksek kullanılabilirlik için çok makineli bir küme yapısını destekler. Buradaki merkezilik, ağ politikalarının ortak bir kontrol yapısından yönetilmesini anlatır.

SDN Nedir Yazılım Tanımlı Ağların Çalışma Mantığı 1

SDN Nasıl Çalışır?

SDN, ağ için tanımlanan bir ihtiyacın denetleyici tarafından değerlendirilip ilgili bileşenlere uygulanmasıyla çalışır. Denetleyici ağ durumunu izlerken iletim bileşenleri kendilerine tanımlanan kuralları yürütür; böylece politika yönetimi ile paket taşıma görevleri birbirinden ayrılır.

Bir uygulamanın yalnızca belirli sunuculara erişmesi gerektiğini düşünün. Bu ihtiyacın karşılanması için örnek işleyiş şu sırayla ilerleyebilir:

  1. Yönetici veya yönetim uygulaması, izin verilecek iletişimi tanımlar.
  2. Denetleyici, ilgili ağ kaynaklarını ve mevcut yapılandırmayı değerlendirir.
  3. Gerekli erişim veya iletim kuralları ilgili ağ bileşenlerine gönderilir.
  4. Trafik, bu bileşenlerde uygulanan kurallara göre işlenir.
  5. Ağ durumu izlenerek hedeflenen yapılandırmadan sapmalar kontrol edilir.

Bu akış, kavramı açıklayan bir örnektir; bütün SDN ürünleri aynı protokolleri veya işlem sırasını kullanmaz. Microsoft Network Controller gibi uygulamalarda denetleyici, ağ cihazları ve hizmetleri hakkında bilgi toplayabilir, istenen yapılandırmadan sapmaları izleyebilir ve bunların giderilmesini sağlayabilir.

Veri trafiğinin tamamının denetleyici üzerinden geçmesi gerekmez. Denetleyici kontrol görevini üstlenirken paketler veri düzlemindeki bileşenler tarafından iletilir. Bu ayrım, merkezi yönetimi merkezi veri taşıma ile karıştırmamak açısından önemlidir. Kullanılan arayüzler ve cihaz desteği, kuralların hangi kapsamda uygulanabileceğini belirler.

Bulut Ortamlarında ve Veri Merkezlerinde Kullanım

Yazılım tanımlı ağ, sanal makinelerin ve uygulamaların sık değiştiği ortamlarda ağ yapılandırmasını bu değişimlere uyarlamak için kullanılabilir. Yeni bir iş yükünün bağlantılarını ve erişim kurallarını tanımlamak, sunucu kurulumu kadar önemli bir yönetim ihtiyacıdır.

İşlem gücü, depolama ve ağ kaynaklarını hizmet olarak sunan bulut teknolojisi, ağ tarafında otomasyon ihtiyacını artırabilir. Bir uygulamanın kapasitesi genişletildiğinde yeni sunucuların doğru ağa bağlanması, gerekli hizmetlerle iletişim kurması ve uygun erişim sınırlarına sahip olması gerekir. Bu işlemlerin ortak politikalarla yönetilmesi, yapılandırma tutarlılığı açısından değerlidir.

SDN çözümleri, destekledikleri özelliklere bağlı olarak sanal ağ oluşturma, alt ağ tanımlama ve sanal makineleri bu ağlara bağlama işlemlerini yönetebilir. Yük dengeleme hizmetleriyle birlikte kullanıldığında trafik, aynı uygulamayı çalıştıran birden fazla sunucuya dağıtılabilir. Microsoft’un SDN altyapısındaki Software Load Balancer, bu kullanımın bir örneğidir.

Bir bulut sunucu hizmeti seçerken işlemci, bellek ve depolamanın yanında ağ yönetimi ihtiyaçlarını da değerlendirmek gerekir. Özel ağ oluşturma, erişim kuralı tanımlama veya yönetim API’si kullanma gibi gereksinimleriniz varsa bunların hizmet kapsamında sunulup sunulmadığını kontrol edin. Bir hizmetin bulut sunucu olarak adlandırılması, kullanıcıya doğrudan SDN denetleyicisi erişimi verildiği anlamına gelmez.

Güvenlik Politikaları ve Ağ Bölümlendirme

SDN ile güvenlik politikalarının yönetimi, farklı uygulama ve sunucu grupları arasındaki iletişimi sınırlandırmayı kolaylaştırabilir. Bunun için hangi kaynakların birbiriyle konuşabileceği açıkça tanımlanmalı; kuralların uygulanması kadar doğrulanması ve izlenmesi de planlanmalıdır.

Ağ bölümlendirme, sistemlerin iletişim ihtiyaçlarına göre ayrı bölümlere ayrılmasıdır. Örneğin test ortamının üretim veritabanına erişmemesi veya yalnızca uygulama sunucularının veritabanı bağlantısı kurabilmesi istenebilir. Bu tür ayrımlar, gereksiz erişimi azaltmayı amaçlar; bütün sistemleri aynı güven düzeyinde değerlendirme zorunluluğunu ortadan kaldırır.

Bir ağ güvenlik duvarı, tanımlanan kurallara göre trafiğe izin verir veya trafiği engeller. SDN ile entegre bir yapıda bu kurallar merkezi olarak yönetilip farklı uygulama noktalarına dağıtılabilir. Örneğin Microsoft Datacenter Firewall, politikaları sanal makinelerin bağlı olduğu sanal anahtar bağlantı noktalarında uygular.

Bu yönetim kolaylığı, ağın kendiliğinden güvenli hâle geldiği anlamına gelmez. Yanlış tanımlanmış geniş bir erişim kuralı, otomasyonla çok sayıda sisteme uygulanabilir. Bu nedenle değişiklik öncesinde beklenen iletişim belirlenmeli, uygulama sonrasında hem izin verilen hem de engellenmesi gereken bağlantılar test edilmelidir.

SDN Teknolojisinin Sınırları ve Geçiş Gereksinimleri

SDN teknolojisi değerlendirilirken mevcut ağın uyumluluğu, yönetim ekibinin yetkinliği ve denetleyicinin sürekliliği birlikte ele alınmalıdır. Ağın yazılımla yönetilmesi, fiziksel kapasite sınırlarını kaldırmaz; kablolama, bağlantı hızı ve cihaz kaynakları performansı etkilemeye devam eder.

Geçiş öncesinde hangi işlemlerin otomatikleştirileceğini somutlaştırmak yararlıdır. Örneğin yeni uygulama ağı oluşturmak, erişim politikalarını ortaklaştırmak veya yapılandırma sapmalarını izlemek ayrı hedeflerdir. Başarı ölçütü yalnızca merkezi bir ekran kullanmak olmamalı; değişikliklerin doğruluğu, geri alınabilirliği ve işletim sürecine katkısı da değerlendirilmelidir.

Denetleyici erişilemez olduğunda ağın davranışı kullanılan çözüme ve mevcut kurallara bağlıdır. Yeni politika dağıtımı, yönetim işlemleri ve mevcut trafiğin devamlılığı ayrı ayrı incelenmelidir. Yedekli denetleyici tasarımı ve arıza testleri bu nedenle önemlidir. Microsoft’un Network Controller mimarisinde çok düğümlü yapı, kontrol hizmetinin sürekliliğini desteklemek için kullanılır.

Uygulamaya geçmeden önce sınırlı bir ortamda doğrulama yapılmalıdır. Mevcut cihazlarla iletişim, erişim kurallarının uygulanması, izleme kayıtları ve önceki yapılandırmaya dönüş birlikte test edilmelidir. Microsoft’un dağıtım belgelerinde de fiziksel ağın önceden planlanması ve kurulan SDN altyapısının örnek iş yükleriyle doğrulanması öngörülür. Böylece kapsam genişletilmeden önce teknik ve operasyonel eksikler görülebilir.