34 - Základní principy softwarově definovaných sítí SDN, architektura, technologie OpenFlow Flashcards
Problémy tradičních sítí
• Silná závislost na standardizovaných protokolech
○ Negarantovaná konektivita
○ Nepružné řízení síťových prvků
• Chtěli bychom zlepšit ○ Kvalitu služeb ○ Bezpečnost ○ Správu a monitoring ○ Možnost inovace
• Možnost inovace vs. Standardizace, implementace, rozšíření technologie
Stávající sítě jsou izolované od služeb, první mechanismy nabízející kontrolu kvality end-to-end postrádají centrální správu a řízení, trpí několika základními neduhy:
• jsou uzavřené a jejich zařízení nejsou programovatelná,
• sledování a správa nedosahuje dostatečné kvality a řízení,
• slabá konvergence mezi jednotlivými oblastmi sítí.
- Tradiční paketové počítačové sítě, jak je známe od 80. let, jsou silně závislé na protokolu síťové vrstvy (IP). S tím souvisí problematická změna a možnost evoluce síťového protokolu. Viz problematický přechod z IPv4 na IPv6.
- Tradiční sítě negarantují konektivitu, tedy nelze předem určit, zda bude paket po odeslání doručen svému příjemci.
- Dalším negativem je nepružné sdílení a řízení síťových prvků.
- V praxi se taktéž ukazuje, že jednotlivé síťové prvky a aplikace nespadají vždy do konkrétní vrstvy výše uvedeného síťového modelu.
- Dalším problémem je řešení priority aplikací (QoS), která poměrně úspěšně funguje v rámci privátních sítí, ale již ne v rámci celého internetu. Tradiční síťové prvky jsou zpravidla jednoúčelová zařízení bez možnosti změny svého chování.
- Tyto a další problémy se více či méně úspěšně snaží řešit právě SDN.
Aktivní sítě:
- Předchůdcem SDN jsou takzvané Aktivní sítě
- Tyto sítě umožňují uživatelům spouštět vlastní kód na prvcích v síti. V extrémním případě jsou pakety nahrazovány fragmenty programů, které jsou následně vykonávány na všech prvcích sítě, jimiž prochází.
- Inspirací a paralelou k této technice je v současné době velice populární technika virtualizace více operačních systémů na jednom fyzickém hardwaru. Ta v sobě nese myšlenku, že fyzické zařízení je pouze prostředek k vytvoření platformy, kterou potřebujeme pro naše aplikace.
Požadavky na vhodnou architekturu
• Hardwarová platforma - Rychlá, směrování, přepínání
• Programovací prostředí (API) ○ Podpora síťových protokolů ○ Řízení směrování ○ Inovace, nové strategie • Aplikace - Jednoduché na vytváření • Popis - klíčové vlastnosti: ○ otevřenost, ○ virtualizace síťových funkcí (NFV – network function virtualization) a ○ centrální řízení. ○ programovatelnost - jejímž principem je řízení inteligence síťových prvků centrálním kontrolérem
Inteligenci sítě lze díky tomu přesunout do řídicího centra, protože SDN umožňuje oddělit směrovací logiku od řídicí. To znamená, že se řízení sítě se předá ze zařízení, která směrují pakety do řídící jednotky (kontrolér SDN). Když nastane potřeba udělat v síti nějaké změny, lze tak učinit z jednoho místa bez nutnosti aktualizovat každý prvek sítě zvlášť, což je pracné a náročné na draze školené a mnohdy nedostupné lidské zdroje.
Vhodné architektury - SDN
Výhody & nevýhody
- Výhodou těchto sítí je možnost jejich konfigurace za běhu a otevřenost inovacím
- Nevýhodou je výrazně větší zpoždění při obsluze nových toků, než je tomu u tradičních sítí.
- Aplikace SDN - řídící vrstva
- Jedná se o aplikace, jež jsou vykonávány na síťových prvcích a to zpravidla distribuovaně.
- Pro aplikace SDN neexistuje standardizovaná forma, v jaké by měly být vytvářeny. Jejich podoba a funkce tak závisí na autorovi. - Kontrolér SDN - řídící vrstva
- Kontrolér v SDN se stará o řízení síťových prvků
- správu klientů připojených k síti
- monitoruje topologii sítě
- monitoruje toky dat a zprostředkovává směrování paketů v síti
- Kontrolér má tzv. horní rozhraní, které zprostředkovává spojení k aplikacím SDN, a spodní rozhraní, kterým je propojeno s fyzickými síťovými prvky. Na spodním rozhraní se využívá standardizovaných protokolů, jako je například OpenFlow.
Vlastnosti: • Správa síťových uzlů - Správa koncových počítačů, topologie • Správa toků • Statistiky • Směrování • Algoritmy pro výpočet cesty
- Síťové prvky - datová vrstva
- Síťové prvky v SDN nemají pevně definovanou funkčnost, ale jejich chování je určováno kontrolérem dle aktuálních potřeb a možností konkrétního zařízení. Síťové prvky komunikují s kontrolérem pomocí předem daného protokolu, například OpenFlow.
Kontrolér SDN
Je v něm implementována logika sťových aplikací a rozhoduje o osudu každého toku v síti
Vrchní rozhraní - REST, Plug-IN, proprietární
Spodní rozhraní
• Rychlé přeposílání dat
• Přepínač SDN - Abstrakce od specifické činnosti (Směrovač, přepínač, firewall apod.)
• Řízená kontrolérem
• OpenFlow - Open Networking foundation • onePK - Proprietární řešení firmy Cisco (Součást Cisco ONE) • OpenFlow ○ Binární protokol ○ V současné době verze 1.0-1.5 ○ Přepínač OF ○ Pravidla: PRIORITA - POROVNÁNÍ - AKCE - STATISTIKY
Specifikace chování / toků:
• Reaktivní
○ První paket neznámého toku přeposlán do kontroléru
○ Kontrolér vytvoří požadovaná pravidla
○ Režie spojená s komunikací
○ Typicky mikrotoky - Kontrolér získává detailnější informace o dění na síti
mikrotok (Mikrotok je podle mě tok definovany na všech položkách porovnání. Jde o to ze takhle to bude proste malý počet paketu ( malý tok ) kdežto když definujes tok třeba jen podle portu tak to muže velký tok z X počítačů)
• Proaktivní ○ Pravidla předinstalována kontrolerem ○ Kontroler musí znát dopředu očekávané toky ○ Typicky agregace
OPENFLOW protokol
OpenFlow je binární protokol, který zprostředkovává spojení mezi kontrolérem SDN a fyzickými síťovými prvky.
- umožňuje konfigurovat síťové prvky – přepínače
- děje se tak především prostřednictvím plnění tabulek, které přiřazují síťovým tokům správné akce
- Obvyklý scénář je, že jakmile přepínači přijde paket, se kterým si “neví rady” (protože nenašel odpovídající záznam v tabulce), odešle jej kontroléru. Kontrolér provede rozhodnutí a odpoví přepínači tím, že mu do jeho tabulky vloží správné pravidlo. Přepínač se tak postupně “učí”, jak zpracovávat pakety.
Zprávy protokolu OpenFlow jsou definovány následujícím způsobem (v tabulkách - Tabulky jsou tří zakladních typů – flow tabulky, meter tabulky a group tabulky):
Pravidlo - Pravidlo nám definuje pakety, pro které se bude vztahovat daná akce. Pravidlem tedy může být:
- Paket přicházející na port 80.
- Paket putující na klienta s adresou 77.48.64.153
- Paket s cílovou MAC adresou 11:22:33:44:55:66.
- atd.
Akce - Pole akce nám definuje, co si přejeme s vybraným paketem provést.
Například:
- Přeposlat paket na výstupní port Eth0
- Zabalit a předat kontroléru
- Modifikovat některá data v paketu.
- atd.
Akce mohou být rovněž uživatelsky definované, pokud je fyzické zařízení podporuje
Statistiky
- Toto pole se používá pouze v případech, kdy je třeba s paketem předat také nějaká doplňující data.
Tabulky:
1) Nalezení pravidla s nejvyšší prioritou 2) Rozšiř množinu akcí/metadat, modifikuj paket 3) Volitelně aplikuj akce 4) Volitelně skoč do další tabulky