pátek 30. srpna 2013

STRUČNĚ O SOFTWAROVĚ DEFINOVANÝCH SÍTÍCH




Podstata a význam programovatelných sítí
(SDN - softwarově definované sítě)

Začalo to tím, že se objevila idea programovatelných sítí. Ta postupně nabrala na obrátkách vznikem paradigmatu softwarově definovaných sítí (SDN), nikoli náhodně podobného softwarově definovaným rádiovým stanicím (SDR). Tendence k SDN slibovala (a splňuje) především nesmírné zjednodušení síťového managementu, a na základě programovatelnosti umožňuje stálé inovace v tvorbě sítí. Ukazují se potenciální (a již i některé reálné) možnosti využití schopností a technologií SDN v oblasti C4ISR (velení, řízení, komunikací, počítačů, zpravodajské činnosti, pozorování a průzkumu). Alespoň stručně nahlédněme do problematiky SDN v návaznosti na využití pro C4ISR.


 

Co je dobré vědět o softwarově definovaných sítích

Všeobecně

Současné počítačové sítě se typicky budují s použitím velkého počtu síťových zařízení, jako jsou směrovače (routery), přepojovače (switche) a mnoho druhů mezilehlých prvků či modulů s mnoha, více nebo méně složitými protokoly, které jsou v nich implementovány. Operátoři sítí odpovídají za použité způsoby konfigurace sítí a jejich prvků tak, aby byly schopné reagovat na různé události a nové síťové aplikace. V podstatě to znamená ruční převádění síťových zásad a řídících pravidel vysoké úrovně síťového managementu do konfiguračních příkazů nízké úrovně řízení tak, aby se provoz sítě přizpůsobil změněným podmínkám provozu. Často je nutné tyto velmi náročné práce vykonávat s omezenými druhy nástrojů a prostředků. Následkem toho může v síťovém managementu docházet k chybám.
Exploze mobilních síťových zařízení, virtualizace serverů a nástup cloudových služeb tlačí vedoucí firmy v oblasti síťových produktů, aby znovu zkoumaly jak učinit síťový management flexibilnějším. Hierarchické sítě budované s pevně “zadrátovanými” zařízeními, sestavené do mnoha stromových struktur, již nemohou držet nápor zvyšující se provozní zátěže. Statická struktura již nevyhovuje potřebě počítačových prostředí s vysokými nároky na výpočetní výkon a velikost  paměťového prostoru.
V informačním prostředí současných organizací a organizačních jednotek (tím více takových, jakými jsou útvary moderních armád) je rozložení intenzity provozu v sítích proměnné. Na rozdíl od aplikací typu klient-server, kde je silný provoz mezi klientem a jedním serverem, se při používání současných virtuálních aplikací uskutečňuje přístup do různých databází a předtím, než se data vrátí ke koncovému uživateli se uplatňují geografické rozdíly mezi provozem mezi počítači. Uživatelé mění rozložení síťové provozní zátěže hned jak zahájí přístup k prostorově rozptýleným datům či aplikacím. Současné aplikace vyžadují přístup z jakéhokoli typu zařízení, kdekoli připojeného, v kteroukoli dobu, jakoukoli metodou přístupu.
Správci datových center přizpůsobují své počítačové systémy tak, aby zahrnovaly privátní, veřejné i hybridní cloudy. To se projevuje v provozní zátěži, která je rozložená v rozlehlém prostoru. Tím se objevil požadavek na zajištění síťového managementu vysoce přizpůsobivých sítí, kde se může uskutečňovat změna konfigurace bez jakéhokoli zdržení.
V SDN jsou hardwarové síťové prvky odděleny od řídících funkcí, a to je cesta jak k mimořádnému zjednodušení síťového managementu, tak i k zvýšeným možnostem inovací v tvorbě sítí a dalšímu rozvoji síťových technologií. Základní idea je v tom, aby vývojci softwaru mohli uplatňovat k síťovým zdrojům stejný přístup, jako uplatňují k počítačovým a paměťovým zdrojům. V SDN je inteligence sítě soustředěna v softwarově orientovaných řídících jednotkách (součásti řídící roviny architektury) a hardwarové síťové prvky se tak stávají zařízeními, které jednoduše přijímají datové pakety a posílají je příslušným směrem dál (jako součást datové roviny síťové architektury), což může být naprogramováno přes otevřené rozhraní.


Zjednodušené znázornění tradiční sítě a softwarově definované sítě (SDN)V obrázku jsou modře znázorněné přepojovače, červeně prvky síťového řízení. Jako příklad vloženého (mezilehlého) zařízení je vlevo znázorněn firewall.

Stručně o architektuře softwarově definovaných sítí

Sítě datových komunikací typicky sestávají z koncových uživatelských zařízení různého druhu, nebo počítačů připojených k uzlům síťové infrastruktury, která je mezi sebou propojuje. Infrastrukura, která je počítači sdílena, využívá směrovací a přepojovací prvky (směrovače a přepojovače) a samozřejmě také zařízení pro tvorbu přenosových okruhů, po nichž přenos dat mezi počítači probíhá. Tradiční směrovače a přepojovače jsou zpravidla “uzavřené” systémy, často s omezenými, a v závislosti na dodavateli specifickými, rozhraními. Jejich další výroba a nasazování činí obtížným pokračování úspěšného rozvoje současné síťové infrastruktury.  Zavádění nových verzí již existujících protokolů (například síťového protokolu IPv6), neznamená nasazování zcela nových protokolů a služeb a může se stát pro současné sítě vážnou překážkou jejich dalšího rozvoje. Výjimkou není ani současná největší síť sítí - Internet.
Jak mnozí síťoví odborníci soudí, “zkostnatělost” Internetu je zjevným důsledkem těsné vazby mezi datovou a řídící rovinou síťové architektury, což znamená, že rozhodnutí o průchodu dat sítí se musí prakticky vykonávat v modulech každého síťového prvku. V takovém prostředí není rozhodně nasazení nové síťové aplikace, nebo zavedení nové funkčnosti triviální, a je nutné, aby bylo implementováno v celé infrastruktuře. Jako způsob obejití efektu “zkostnatělosti” sítě, se navrhlo použití mezilehlých prvků (např. firewallů, systémů pro detekci proniknutí do sítě, překladačů síťových adres, apod.), které pokryjí vršek překryvné infrastruktury. Jako příklad mohou sloužit sítě CDN (Content Delivery Network).
Smyslem tvorby sítí SDN je usnadnit inovace a umožnit jednoduché programové řízení cest, kterými vedou datové toky při průchodu síťovou strukturou. Jak je patrné z obrázku níže, oddělení hardwarových směrovacích prvků od řídící logiky (která se uskutečňuje softwarově) v řídící jednotce umožňuje snadnější zavádění nových protokolů a aplikací, přímou vizualizaci sítě a řízení a konsolidaci různých mezilehlých prvků s převedením jejich funkcí do softwarového řízení.


Vrstvový model architektury SDN

Hardwarové směrovací prvky

Namísto vynucovacích postupů a provozování protokolů na složitých rozptýlených zařízeních, se prvky struktury sítě redukují na jednoduchá hardwarová směrovací zařízení, která posílají to, co přijaly dál a na síťové řídící jednotky, do jejichž softwaru jsou zapracovány všechny potřebné rozhodovací procesy. Směrovací hardwarové prvky zahrnují:
  1. Tabulku datových toků, která zahrnuje vstup a činnost, která se bude vykonávat s aktivními toky.
  2. Abstrakční softwarovou mezivrstvu, která zajišťuje chráněné komunikace s řídící jednotkou o nových vstupních datech, která zrovna nejsou v tabulce toků.
V softwarových sítích budovaných na bázi “OpenFlow” mohou být přepojovače ve dvou variantách - “čisté” a hybridní. “Čisté” přepojovače “OpenFlow” nemají žádné vlastnosti “zděděné” ze zařízení předchozích generací, neboli nemají žádné svoje zabudované řízení a pro realizaci rozhodovacích funkcí jsou zcela závislé na síťové řídící jednotce. Hybridní přepojovače podporují “OpenFlow” jako přídavek k tradičním funkcím a protokolům. Většina současných komerčně dostupných přepojovačů pro SDN jsou hybridní přepojovače.


Funkční vrstvy architektury SDN

Řídící jednotka

Oddělený systém je možné přirovnat k operačnímu systému, ve kterém řídící jednotka zajišťuje programové rozhraní na síť, kde mohou být vytvářeny aplikace pro zajištění úkolů síťového managementu a nabízejí se nové funkčnosti. Vrstvová struktura tohoto modelu je na obrázku níže.


Funkce řídící jednotky ve vrstvovém modelu
Takový pohled předpokládá, že řízení je centralizované a aplikace se vytvářejí tak, jakoby síťová struktura byla jedním systémem. I když to zjednodušuje prosazování pravidel a úloh řízení, musejí být úzké vazby mezi řízením a směrovacími prvky sítě. Přestože protokoly jako je OpenFlow specifikují, že přepojovač (směrovací prvek) je řízen řídící jednotkou, tedy implikuje centralizované řízení, mohou softwarově definované sítě mít rovinu řízení jak centralizovaného, tak i distribuovaného. Fyzicky jednotka centralizovaného řízení tudíž představuje jedno místo možného výpadku celé sítě. Standardní protokol OpenFlow umožňuje propojení více řídících jednotek s přepojovači (směrovacími prvky), což umožňuje řídící jednotky zálohovat tak, že při poruše jedné řídící jednotky převezme řízení jiná.


Příklad možného modulárního sestavování programů pro SDN

Prostředky pro tvorbu softwarově definovaných sítí

Softwarově definovaná síť zajišťuje možnost rozvoje a inovací sítě tím, že umožňuje rychlé zavedení nových služeb a protokolů. Slouží k tomu nástroje pro emulaci a simulaci, volba softwarové platformy přepojovače (směrovacího prvku) nebo nativního přepojovače SDN, dostupnost platforem pro řídící jednotky i nástroje pro verifikaci a ladění softwarového kódu.
Budeme-li pohlížet na řídící jednotku jako na “síťový operační systém” pak budou muset být v síťové struktuře přísně definovaná rozhraní, přes která se bude uskutečňovat přístup aplikací k hardwarovým prvkům sítě (přepojovačům nebo směrovačům), a přes která bude probíhat interakce s jinými aplikacemi, včetně využívání systémových služeb (např. topologie, vyhledávání, posílání dat dál) bez potřeby toho, kdo vyvinul aplikaci pro znalost podrobností o implementaci řídící jednotky. I když existují různé řídící jednotky, aplikační rozhraní jsou stále ještě v počátečním stádiu a jsou navzájem nezávislá.
Aplikační programové rozhraní (API) musí pro aplikace umožnit použití různých pravidel  na jeden a týž datový tok (např. posílání dat dál podle místa určení a monitoring podle zdroje IP). Aby se předešlo tomu, že  pravidla implementovaná pro zajištění jedné úlohy nebudou mít přednost před jinými pravidly, předpokládá se použití principu modularizace. To se realizuje prostřednictvím abstrakční vrstvy.
V oblasti tvorby sítí výrazně rostou požadavky na virtualizaci a cloudové služby. I to závisí na zajištění efektivního managementu síťových zdrojů a škálovatelnosti, která může být použitím modelu řízení založeném na SDN zajištěna.

Oblasti aplikace SDN

Softwarově definované sítě se mohou široce uplatnit v různých síťových prostředích. Oddělením roviny řízení od datové roviny je programovatelná síť schopna zajistit řízení podle potřeb toho kterého uživatele (provozovatele), vyloučit nutnost používání vložených (mezilehlých) zařízení, a rovněž zjednodušit vývoj a zavádění nových síťových služeb a protokolů.
Adekvátní síťový management je v síťovém prostředí velkých organizací mimořádně důležitý, a právě SDN mohou být použity k nastavení a vynucení potřebných zásad a mechanizmů v síťové struktuře na bázi softwarového řešení, a stejně tak i k monitorování aktivit v síti, a také k nastavování a ladění výkonu.
Uvedenými vlastnostmi se SDN mohou výhodně uplatnit v různých druzích organizací (jak komerčních, tak i státních), kde jsou požadavky na zajištění vysokého provozního výkonu a bezpečnosti informací. Odlišná prostředí různých organizací vyvolávají lišící se technické a provozní požadavky uživatelů.
Dosavadní oblasti úspěšných aplikací SDN zahrnují sítě velkých datových center, infrastrukturní sítě s bezdrátovým přístupem, rozsáhlejší domácí sítě i sítě menších podniků. V kontextu cloudových datových center zajišťujících síťovou infrastrukturu jako službu (IaaS), je možné uvést to, že se připravuje rámec síťového managementu pro zdroje v  cloudových datových centrech, který se týká mnoha funkcí řízení síťových struktur. Navrhuje se např. datově orientovaná architektura řízená událostmi v síťových procesech, s rozhraními otevřeného síťového managementu, ve které mohou mechanizmy SDN přizpůsobivým způsobem integrovat síťové zdroje do datových center s cílem snadnějšího dosažení dohody o síťových službách a rychlejšího poskytování služeb.
Předmětem dalšího zkoumání a ověřování, včetně hodnocení možností splnění specifických uživatelských požadavků, je zavedení architektury SDN ve vojenských sítích, ať již stacionárních pro administrativní řízení v resortu obrany, nebo i polních (mobilních) pro různé účely a funkce C4ISR.

Role mezinárodní organizace pro tvorbu otevřených sítí ONF

Směry rozvoje SDN v zásadě určuje nezisková mezinárodní organizace ONF (Open Networking Foundation), nedávno vytvořená skupinami operátorů a provozovatelů služeb sítí. Řídí ji zástupci akademické i průmyslové sféry vyspělých zemí. Dala si za cíl podporovat a prosazovat SDN, a také standardizovat základní protokol “OpenFlow”. V  akademické sféře bylo založeno síťové výzkumné centrum pro “OpenFlow”. Standardizační práce pro SDN probíhají i v řídících orgánech Internetu (IETF a IRTF). ONF se stala hnacím motorem praktického rozšiřování SDN. Její hlavní zásady pro transformaci architektury a technologie tvorby sítí směrem k SDN jsou (jak již vyplývá z výše uvedeného textu) založeny na tom, že se funkce přepojování a směrování přesouvají z tradičních hardwarových zařízení do softwaru síťového managementu.


Rozvojové principy dle ONF zahrnují pět základních směrů transformace, což představuje:
  1. Centralizaci funkcí správy a řízení síťových zařízení od mnoha různých výrobců (dodavatelů) do center pro síťový management.
  2. Zdokonalení automatizace a řízení aplikací použitím společných aplikačních programových rozhraní (API) pro virtualizaci síťových funkcí.
  3. Zajištění nových síťových schopností bez nutnosti rekonfigurace jednotlivých síťových prvků nebo čekání na nové verze od dodavatele.
  4. Programování aplikací s použitím společného programovacího prostředí.
  5. Zvýšení spolehlivosti a bezpečnosti v sítích jako výsledek centralizované a automatizované správy síťových zařízení a použití jednotných pravidel a provozu s menším počtem chyb nebo poruch.

Závěrem

Technologie tvorby sítí byla, a většinou ještě je, založena na provozu sítí s sadou diskrétních protokolů určených pro výměnu dat mezi jednotlivými propojovanými servery přes přepojovače a směrovače, charakterizovanou vzdáleností, přenosovou rychlostí a topologií.
To se má změnit. Statický charakter většiny dosavadních sítí je v příkrém kontrastu s dynamickým charakterem síťového prostředí SDN. Aplikace budou distribuovány přes řadu virtuálních počítačových prostředků, které budou přímo realizovat pohyb datových toků mezi jednotlivými uzly sítě. Provoz v sítích spěje ke kontinuální optimalizaci a dynamickým změnám rozložení provozní zátěže, což vede i k změnám v koncových bodech pohybujících se toků dat. Takový přechod k novým koncepčním a technologickým řešením je výzvou pro tradiční postupy tvorby sítí, počínaje změnami v adresních schématech a jmenných prostorech, až ke změnám v postupech navrhování a technologii realizace sítí v oblasti softwaru. Je otázkou času, úsilí a kvalifikované práce kdy postupy a technologie tvorby SDN proniknou do oblasti vojenských systémů a sítí (s největší pravděpodobností nejdříve do stacionárních).