- SDN odděluje řídicí rovinu od datové roviny, což umožňuje programování sítě pomocí otevřených kontrolérů a API, jako je OpenFlow.
- Softwarově definované sítě zjednodušují správu, zlepšují přehlednost a škálovatelnost a ve srovnání s tradičními sítěmi snižují kapitálové a provozní náklady.
- Jeho architektura je založena na aplikacích SDN, centralizovaných logických řídicích jednotkách a programovatelných datových cestách, koordinovaných severním a jižním rozhraním.
- ONF a další aktéři vyvíjejí standardy a reálné případy použití, které zahrnují podnikové sítě WAN, datová centra, cloud, velká data a internet věcí.
Softwarově definované sítě (SDN) zcela změnily způsob, jakým se navrhují, nasazují a spravují komunikační infrastruktury . To, co kdysi bylo rigidním rámcem fyzického zařízení a manuální konfigurace, lze nyní spravovat téměř jako kód, s mnohem větší rychlostí, flexibilitou a přehledem o tom, co se děje v každém koutě sítě.
Tento nový přístup se neobjevil z ničeho nic: je výsledkem desetiletí výzkumu a několika technologických milníků , od aktivních sítí v 90. letech až po standardizaci OpenFlow a vytvoření kompletního ekosystému kontrolérů, API a aplikací. Pojďme se krok za krokem podívat na to, jak jsme se sem dostali, jaké problémy SDN řeší, jak funguje interně a v jakých reálných scénářích se dnes používá.
Původ a historie softwarově definovaných sítí (SDN)
Příběh SDN začíná zhruba před 20 lety, na úsvitu komerčního internetu , kdy úspěch globální sítě jasně ukázal, že komunikační infrastruktury je třeba mnohem snadněji modifikovat a vyvíjet. Od té doby lze rozlišit tři hlavní fáze, které vydláždily cestu tomu, čemu dnes říkáme SDN.
První fáze odpovídá aktivním sítím (přibližně 1995-2000) . Myšlenkou bylo otevřít síť programování, podobně jako se programuje počítač, ale aplikovat ho na každý komunikační uzel. K dosažení tohoto cíle bylo v síťových zařízeních definováno API , které zpřístupňovalo zdroje, jako je výpočetní výkon, úložiště, fronty paketů a funkce zpracování, což umožňovalo načítání kódu, který aplikoval vlastní chování na specifické toky provozu.
Tento přístup se střetl s názorem těch, kteří tvrdili, že jediný způsob, jak se internet může škálovat a zůstat funkční, je udržet síť co nejjednodušší. Přesto program aktivního síťování podnítil klíčové pokroky: snížení výpočetních nákladů, vylepšení programovacích jazyků, vzestup virtuálních strojů a především myšlenku, že síť lze považovat za programovatelnou platformu, a ne jen za soubor uzavřených krabic.
Důležitým katalyzátorem té éry byla podpora agentur, jako je DARPA, která spustila program Active Networks Program , aktivní od poloviny 90. let do začátku roku 2000. Ačkoli aktivní sítě nikdy nedosáhly masového nasazení, přinesly koncepty, které se později staly základem SDN: programovatelné funkce v síti, virtualizace zdrojů a jednotný pohled na různá zařízení (firewally, IDS, NAT atd.).
S přelomem dekády a explozivním nárůstem provozu začala druhá fáze, zaměřená na oddělení řídicí a datové roviny (2001-2007) . Tradiční routery a přepínače kombinovaly řídicí logiku (výběr trasy, směrovací protokoly) a datovou rovinu (skutečné přesměrování paketů) v jednom zařízení, což velmi ztěžovalo ladění chyb, úpravu provozního inženýrství nebo zavádění nových služeb.
Aby se operátoři s tímto scénářem vypořádali, začali implementovat přesměrování paketů na specializovaném hardwaru , zatímco řízení zůstávalo oddělenější, a zároveň hledali způsoby, jak spravovat stále větší a složitější sítě pomocí služeb, jako jsou VPN a další pokročilé funkce. Z toho vyplynuly dvě inovační linie: na jedné straně otevřená rozhraní mezi řízením a přesměrováním, jako například ForCES (IETF) nebo Netlink v Linuxu; na druhé straně architektury s centralizovaným logickým řízením, jako například RCP, SoftRouter nebo protokol PCE, které umožňovaly rozhodování o směrování s globálním pohledem.
Třetí fáze přišla s Projektem 4D a následným Ethane , které krystalizovaly myšlenku centrálního logického řadiče se čtyřmi jasně definovanými rovinami: data (zpracování paketů podle pravidel), objevování (shromažďování topologických a provozních informací), šíření (instalace pravidel zpracování) a rozhodování (globální zásady převedené do specifických pravidel). Ethane, nasazený v reálných prostředích, jako je Stanfordská univerzita, přispěl extrémně jednoduchým návrhem přepínače, který se stal základem toho, co dnes známe jako OpenFlow.
Mezitím se rozvíjel i experimentální ekosystém: infrastruktury jako PlanetLab a Emulab, projekty jako GENI a evropský program FIRE a Stanfordův program Clean Slate podpořily rozsáhlé testování alternativních síťových architektur. Právě v tomto prostředí se OpenFlow ukázal jako praktický způsob, jak zpřístupnit možnosti přesměrování přepínačů externímu řadiči pomocí standardního API.
Významným milníkem v oboru byla demonstrace společnosti Avaya v roce 2014 , která kombinovala přemostění nejkratších cest s OpenStackem pro budování softwarově definovaných sítí s minimální manuální konfigurací. A postupně, díky jednoduchým aktualizacím firmwaru, mnoho komerčních přepínačů začalo podporovat OpenFlow bez nutnosti hardwarových změn.
Problémy tradičních sítí, které SDN řeší
Konvenční sítě, založené téměř výhradně na individuálně konfigurovaném fyzickém zařízení , dosahují svých limitů tváří v tvář současným potřebám podniků, poskytovatelů služeb a koncových uživatelů. Jejich hlavní Achillovou patou je složitost nahromaděná v průběhu let.
Aby se pokryly všechny možné scénáře, odvětví přidává stále specifičtější síťové protokoly , které řeší konkrétní problémy (bezpečnost, efektivita, redundance atd.), ale ty jsou obvykle navrhovány izolovaně. Výsledkem je spletitá síť mechanismů, které je nutné koordinovat ručně, bez společné vrstvy abstrakce, která by zjednodušila celek.
Pokud chce organizace vynucovat konzistentní zásady v celé své síti – například určit, kdo má přístup ke kterým zdrojům – musí administrátoři upravit stovky nebo tisíce zařízení . Něco tak jednoduchého, jako je přidání nového virtuálního počítače, může zahrnovat změny v mnoha seznamech řízení přístupu (ACL) roztroušených po celém prostředí, s rizikem lidské chyby a zpoždění v řádu hodin.
Nedostatečná škálovatelnost je dalším vážným problémem. Vzestup datových center, růst počtu uživatelů a rostoucí provoz vyžadují přidávání stále více zařízení. Každé další zařízení znamená více konfigurace, více možností správy a více potenciálních bodů selhání. Udržet toto vše v souladu s obchodními potřebami se stává herkulovským úkolem.
Z ekonomického hlediska organizace trpí silnou závislostí na produktových cyklech výrobců . Pokud je potřeba nová síťová funkce, pouhá aktualizace softwaru často nestačí: organizace musí čekat, až dodavatel uvolní vhodný model, až budou dokončeny interní certifikace, až bude zařízení pořízeno, až proběhne nasazení – což je proces, který může trvat roky a brzdit inovace.
Aby toho nebylo málo, nedávné trendy situaci dále komplikují: objevují se mnohem heterogennější vzorce provozu s toky mezi stroji, distribuovanými databázemi, mikroslužbami a uživateli, kteří se připojují odkudkoli pomocí mobilních telefonů, tabletů a notebooků. Zátěž administrátorů se zvyšuje, protože se snaží chránit citlivá data, zatímco tradiční síťový perimetr prakticky mizí.
K tomu se přidává růst cloudových služeb (SaaS, IaaS, PaaS) , které vyžadují rychlé zřizování, dynamické škálování výpočetních, úložných a síťových funkcí, stejně jako sofistikovanější bezpečnostní požadavky. Vzestup velkých dat vyžaduje masivní šířku pásma a přenosovou kapacitu napříč tisíci servery, s nimiž tradiční sítě nemohou vždy držet krok.
Co je to vlastně SDN a jak to řeší?
SDN se stává novou architekturou navrženou tak, aby poskytovala flexibilitu, centralizované řízení a programovatelnost sítě, přesouvala složitost na software a odstraňovala ji z hardwaru. Už nejde o správu každého zařízení individuálně, ale o definování požadovaného chování sítě z vyšší logické vrstvy.
Klíčovým principem je oddělení řídicí roviny a datové roviny . Datová rovina je zodpovědná za přesun paketů vysokou rychlostí mezi koncovými body; řídicí rovina rozhoduje o tom, jak a kam by tyto pakety měly cestovat, a uplatňuje zásady, trasy a pravidla. V SDN jsou tyto roviny odděleny a řízení je soustředěno v jednom nebo více logických řadičích.
Mezi těmito dvěma protokoly je vytvořeno dobře definované rozhraní, obvykle prostřednictvím standardního protokolu, jako je OpenFlow . Díky tomuto rozhraní může kontrolér instalovat, upravovat nebo mazat pravidla pro přesměrování na přepínačích a routerech, které se pak chovají jako programovatelná zařízení, nikoli jako uzavřené systémy. OpenFlow není jediný možný protokol, ale je nejrozšířenější a stal se de facto standardem.
Nad kontroléry používají SDN aplikace API směřující na sever k vyjádření toho, jaké chování od sítě potřebují : upřednostňování určitého provozu, segmentace oddělení, vyvažování zátěže, zlepšování kvality služeb, reakce na útok typu „denial-of-service“ atd. Kontrolér převádí tyto požadavky na vysoké úrovni do konkrétních pravidel pro přesměrování, která se aplikují v datové rovině.
Jinými slovy, SDN transformuje síť na platformu, kde lze aplikace a služby vyvíjet, jako by se jednalo o čistý software , bez ohledu na detaily každého modelu zařízení nebo nízkoúrovňového protokolu. Tato abstrakce usnadňuje automatizaci, snižuje chyby a umožňuje mnohem rychlejší adaptaci na změny v poptávce.
Architektura SDN: Controllery, API a klíčové komponenty
Typická SDN síť je strukturována do několika logických vrstev a dobře diferencovaných komponent. Jejím srdcem je SDN kontrolér , který funguje jako mozek sítě, shromažďuje informace z datové roviny a implementuje aplikační rozhodnutí.
Řídicí jednotka udržuje abstraktní pohled na síť: topologii, možnosti každého zařízení, statistiky provozu, stavy spojení atd. S těmito informacemi a s využitím zásuvných modulů, které lze aktivovat nebo deaktivovat (správa inventáře, sběr statistik, bezpečnostní moduly, vyvažování zátěže atd.), činí rozhodnutí a sděluje je zařízením prostřednictvím rozhraní API směřujícího na jih, obvykle OpenFlow nebo jiných protokolů, jako je OVSDB nebo Cisco OpFlex.
Zařízení datové roviny – fyzické přepínače, virtuální přepínače, routery – implementují to, co ONF nazývá datovou cestou SDN : sada přeposílácích modulů a funkcí pro zpracování provozu, které jsou logicky vystaveny. V každé datové cestě se nachází agent Control Interface Processing Agent (CDPI), který přijímá instrukce od řadiče a překládá je do pravidel v tabulkách toků nebo specifických hardwarových akcí.
Na vrcholu architektury jsou SDN aplikace . Jedná se o programy, které komunikují s řadičem prostřednictvím Northbound API (NBI) a vyjadřují obchodní nebo technické potřeby: správa IP adres (IPAM), orchestrace služeb, kontrola kvality služeb (QoS), systémy obrany proti útokům DoS, pokročilé analytické nástroje atd. Každá aplikace obsahuje vlastní logiku a jeden nebo více NBI pro interakci s řadičem.
Mezi těmito bloky se nachází rozhraní Control-to-Data Plane Interface (CDPI) , které je zodpovědné za programovatelnost přesměrování, inzerování funkcí zařízení, zveřejňování statistik a oznamování událostí. Řadiče implementují ovladače pro toto rozhraní a zařízení implementují agenty, takže každý pár ovladač/agent vytváří specifický vztah mezi fyzickou infrastrukturou a aplikacemi.
Kromě těchto tří hlavních vrstev ONF identifikuje vrstvu správy a administrace , která pokrývá statické úkoly: alokaci zdrojů klientům, základní konfiguraci fyzického zařízení, správu pověření a asociace mezi logickými a fyzickými entitami. Tyto úkoly jsou obvykle spravovány mimo cyklus dynamického řízení provozu.
Severní a jižní rozhraní a modely programování toku
Rozhraní API směřující na jih propojuje řadič s hardwarem nebo datovými cestami . OpenFlow bylo prvním široce používaným rozhraním: definuje, jak řadič instaluje položky do tabulek toků přepínačů, jak shromažďuje statistiky, jak jsou hlášeny události, jako jsou neshodné pakety atd. Jiné alternativy, jako je Cisco OpFlex, navrhují odlišné modely, ale se stejnou základní myšlenkou, která umožňuje centrálnímu prvku ovlivňovat chování zařízení.
Severní API umožňuje aplikacím komunikovat s řídicí jednotkou a získávat abstraktní pohled na síť. Neexistuje zde tak zavedený standard jako OpenFlow: existuje mnoho návrhů a knihoven umístěných na různých vrstvách stacku (REST, gRPC, specifické SDK, modely založené na záměru atd.) a právě kvůli této rozmanitosti klade ONF velký důraz na definování osvědčených postupů a sbližování s kompatibilními přístupy.
Na provozní úrovni mohou řídicí jednotky pro implementaci pravidel toku na zařízeních používat proaktivní, reaktivní nebo hybridní model . V reaktivním přístupu se přepínač dotazuje řídicí jednotky, když obdrží paket, který neodpovídá žádné položce v její tabulce; řídicí jednotka odpoví instrukcemi a v případě potřeby vytvoří nové pravidlo pro podobné budoucí pakety.
V proaktivním modelu kontrolér předinstaluje pravidla pro očekávané toky provozu , podobně jako se naplňují tradiční směrovací tabulky. Tím se minimalizují dotazy v reálném čase a snižuje se latence počáteční komunikace. Mnoho reálných nasazení kombinuje oba modely, přičemž reaguje na nepředvídatelný provoz a je proaktivní pro dobře známé toky.
Skutečná síla SDN spočívá v programovatelnosti, kterou tato otevřená API poskytují . Díky nim je možné dynamicky upravovat trasy na základě zátěže, upřednostňovat kritický provoz, automatizovat reakci na selhání nebo bezpečnostní incidenty a dokonce umožnit aplikacím, aby si samy vyjednaly se sítí podmínky, které potřebují (šířka pásma, maximální latence, úroveň redundance atd.).
Případy užití programovatelnosti v SDN
Pro ilustraci konceptu programovatelnosti sítě se často diskutují tři hlavní případy použití, které demonstrují, jak se SDN využívá v praxi . Prvním je jemné doladění toků provozu: s protokoly, jako je OpenFlow, může kontrolér téměř za chodu rozhodovat, kterými cestami by se měly určité typy provozu řídit, vyvažovat zátěž mezi spoji, vyhýbat se přetížení nebo v případě potřeby uplatňovat přísnější bezpečnostní zásady.
Druhým hlavním argumentem je pokročilá podpora aplikací . Místo toho, aby síť byla slepá k tomu, co aplikace dělají, mohou odhalit své požadavky (například nízkou latenci pro hlas nebo video, vysokou šířku pásma pro určité přenosy, přísnou izolaci mezi klienty) a kontrolér přizpůsobí konfiguraci tak, aby jim splňovala. Automatizované nasazení – zejména v cloudových a rozsáhlých virtualizačních prostředích – navíc umožňuje rychlé nasazení nových služeb, aniž by administrátor musel ručně měnit parametry.
Třetím klíčovým prvkem je automatizace síťových operací . V dobře navrženém scénáři SDN může síť autonomně reagovat na mnoho událostí: pokud dojde k výpadku spojení, trasy se přepočítají; pokud se objeví podezřelý vzorec provozu, použijí se blokovací pravidla nebo přesměrování na analytické systémy; pokud je spuštěna nová aplikace, síť automaticky alokuje zdroje. Role administrátora se přesouvá od pouhé „změny příkazů“ k definování politik na vysoké úrovni a zajištění dodržování předpisů.
Výhody SDN pro organizace
Hodnotová nabídka SDN se promítá do řady velmi jasných výhod pro firmy a poskytovatele služeb . Jednou z nejvýznamnějších je centralizovaná správa: z kontroléru lze definovat zásady přístupu, bezpečnostní pravidla, priority provozu a poskytování služeb pro celou síť, aniž by bylo nutné spravovat každé zařízení jednotlivě nebo se spoléhat na specifické rozhraní každého výrobce.
Pokud jde o škálovatelnost, SDN nabízí obrovskou agilitu. Administrátoři mohou přidávat nebo odebírat virtuální zařízení, segmentovat sítě, propojovat pobočky nebo datová centra a upravovat trasy téměř v reálném čase, často integrovaně s cloudovými platformami pro orchestraci. Toho všeho je dosaženo s minimálním dopadem na podkladovou fyzickou infrastrukturu, která zůstává relativně stabilním substrátem.
Další důležitou výhodou je komplexní přehled o chování sítě . Centralizací informací v řídicí jednotce nebo v doméně koordinovaných řídicích jednotek se získá kompletní obraz o výkonu, úzkých místech, aktivních tocích a potenciálních hrozbách. Tento přehled usnadňuje nejen každodenní provoz, ale také plánování kapacity a včasnou detekci problémů.
Z ekonomického hlediska pomáhá SDN snižovat jak kapitálové, tak provozní náklady. Na jedné straně umožňuje opětovné použití velké části stávajícího hardwaru , protože mnoho přepínačů umožňuje funkce SDN pomocí jednoduchých aktualizací firmwaru. Na druhé straně automatizace zkracuje čas, který personál tráví opakujícími se konfiguračními úkoly, snižuje lidské chyby a zjednodušuje údržbu a upgrady.
Poslední hlavní sada výhod se týká inovací a rychlosti reakce . Oddělením hardwaru a softwaru mohou organizace vytvářet nové služby, experimentovat s různými obchodními modely nebo přizpůsobovat síť novým požadavkům (hybridní cloud, IoT, edge computing, big data), aniž by byly vázány harmonogramem uvádění produktů na trh konkrétního výrobce.
Nevýhody a výzvy SDN sítí
SDN není všelékem a s sebou nese i výzvy, které je třeba mít na paměti při návrhu a provozu těchto typů sítí. Jednou z nejčastěji uváděných je potenciální zranitelnost řídicí jednotky: koncentrací tolika logiky a rozhodování se stává kritickým bodem, jehož selhání nebo ohrožení může zničit celý systém.
To vyžaduje nasazení mechanismů vysoké dostupnosti, redundance a failoveru , stejně jako velmi přísné kontroly přístupu. Například útoky typu denial-of-service (DDoS) proti kontroléru musí být zmírněny dostatečnou kapacitou, aby se zabránilo tomu, že se síť stane „slepou“ vůči kritickým událostem.
Další výzvou je potenciální nárůst latence a složitosti s rostoucím počtem zařízení a toků. Pokud musí řídicí jednotka spravovat příliš mnoho interakcí s datovou rovinou, může dojít k jejímu přetížení. Dobře navržená architektura SDN by měla distribuovat funkce, zachovat určitou kontrolu nad distribuovanými prvky, když to dává smysl (například pro rychlé zotavení z lokálních selhání), a horizontálně škálovat řídicí jednotky.
Z hlediska bezpečnosti, ačkoli SDN nabízí lepší přehled, postrádá také některé mechanismy, které byly dříve integrovány do tradičních routerů, přepínačů nebo fyzických firewallů. Je nezbytné chránit komunikaci mezi řadiči, aplikacemi a zařízeními, zajistit autenticitu a integritu a navrhnout robustní prostředí politik, které umožňuje ověřit, zda jsou politiky aplikovány přesně tak, jak je zamýšleno.
Dále je zásadní zavést procesy pro síťovou forenzní analýzu : podrobné protokolování událostí, sledovatelnost změn a schopnost rekonstruovat, co se stalo v případě incidentu. To vše musí koexistovat s inherentní dynamikou SDN, aby se zabránilo tomu, aby se zabezpečení stalo úzkým hrdlem, a zároveň se zajistilo, že nezůstanou žádné zranitelnosti.
Role ONF a dalších aktérů v ekosystému SDN
Nadace Open Networking Foundation (ONF) hraje zásadní roli ve vývoji SDN. Je to organizace řízená koncovými uživateli (operátory, velkými korporacemi) s cílem podporovat zavádění softwarově definovaných sítí prostřednictvím otevřených standardů a procesů spolupráce.
ONF je zodpovědná za definování, údržbu a vývoj standardu OpenFlow , který byl prvním uznávaným standardem SDN a zůstává klíčovým prvkem v mnoha architekturách. Její práce však jde ještě dál: vede pracovní skupiny, které analyzují požadavky pro komerční nasazení, navrhují nová rozhraní, datové modely a terminologii a podporují ekosystém s více dodavateli.
Paralelně s tím technologické společnosti a výrobci zařízení vyvinuli vlastní SDN platformy a hybridní přístupy. Některé, jako například řešení založená na logicky centralizovaných řídicích jednotkách, jako je Ciena Blue Planet, kombinují centralizované funkce (kompletní přehled, zásady, šířka pásma) s distribuovanými možnostmi napříč síťovými prvky pro zotavení po poruchách, lokální monitorování nebo zabezpečení.
Tento hybridní přístup odráží praktickou realitu: ne veškerá kontrola musí být přenesena na centrální řídicí jednotku a je vhodné, aby určité mechanismy rychlé reakce zůstaly blízko provozu, zatímco složitější inteligence a orchestrace jsou spravovány centralizovaným a programovatelným způsobem.
SDN, virtualizace sítí a případy použití v reálném světě
V mnoha organizacích se SDN používá ve spojení s technikami virtualizace sítí k vytváření překryvných sítí nad stávající fyzickou infrastrukturou. Tyto virtuální sítě mohou segmentovat různá prostředí (produkční, vývojová, s různými zákazníky) využitím stejného základního hardwaru nebo mohou propojit více fyzických sítí, jako by se jednalo o jednu logickou entitu.
Tento přístup je obzvláště účinný při integraci s cloudovými výpočetními službami, jako jsou SaaS, IaaS a PaaS . Softwarově definovaná síť je koordinována s orchestračními platformami, takže celý cyklus zřizování – virtuální počítače, úložiště, síť, zabezpečení – je prováděn konzistentně, rychle a automaticky, často prostřednictvím API.
Ve velkých podnicích a u operátorů se SDN používá k budování inteligentnějších firemních sítí WAN , kde je provoz mezi centrálou, datovými centry a veřejnými cloudy precizně řízen. Například Google používá SDN již léta k propojení svých globálních datových center a spolupracuje s ONF na definování nových řídicích rozhraní nad rámec OpenFlow.
V prostředí datových center je SDN klíčovou součástí pro dosažení rychlého a efektivního škálování : umožňuje zprovoznění nového datového centra během několika hodin a zprovoznění síťových zdrojů během několika minut. Usnadňuje také nasazení rozsáhlých prostředí IoT a správu tisíců distribuovaných zařízení a senzorů bez nadměrné složitosti.
SDN je konečně součástí širšího trendu směrem k softwarově definované infrastruktuře , kde nejen síť, ale i úložiště (SDS) a další zdroje jsou řízeny z logických řídicích rovin, nezávisle na konkrétním hardwaru. To organizacím poskytuje větší přenositelnost, agilitu a možnost přesouvat úlohy mezi cloudem a lokálním prostředím podle potřeby.
S tímto historickým, technickým a praktickým zázemím se SDN upevňuje jako odlišný způsob chápání sítí: blíže světu softwaru, zaměřený na automatizaci a programovatelnost a schopný reagovat na výzvy růstu provozu, cloudu, velkých dat a internetu věcí, aniž by vynucoval nekonečné násobení hardwaru nebo provozní složitosti.
