Malá učebnice OpenFlow (1) – SDN vs. OpenFlow

Část 1 z celkových 15 v seriálu Malá učebnice OpenFlow

OpenFlow je standardizovaný protokol pro SDN. Jak funguje a co všechno umožňuje čtěte v našem seriálu. Dnes o pozici OpenFlow ve světě softwarově definovaném.

Software-defined Networking

Základní myšlenkou SDN je oddělit zpracování od programování, chcete-li control plane a data plane. V každém existujícím síťovém prvku jsou dvě komponenty – jedna, která odpovídá za zpracování paketů (posílání z portu na port, modifikaci hlaviček při směrování, filtrování provozu apod.) a druhou, která tu první programuje. Ono zpracování má často na starost ASIC – speciálně navržený čip, který je v zásadě jakousi montážní linkou. Obsahuje velmi rychlé paměti pro vyhledávání a ukládání informací, umí rychle přesouvat pakety z portu na port, rozmontovávat a modifikovat hlavičky. Takový čip potřebuje mít jasné zadání co má dělat. Při sebemenší nejistotě nebo neznalosti není schopen paket zpracovat. Proto je v prvku CPU, control plane, které je odpovědné právě za dosazení potřebných informací do ASIC. Jeho úkolem je zjišťovat, co kde v síti je (MAC learning, směrovací protokoly, STP, …), počítat jednotlivé trasy, určovat kdy a jakým způsobem je potřeba pakety modifikovat, a výsledky své práce nahraje do ASIC. Ten následně montuje pakety, rozesílá je dle těchto pravidel a CPU už nepotřebuje – až do okamžiku, kdy dojde k situaci, s kterou si neví rady (paket směřuje na cíl, který ASIC nezná) – pak požádá o pomoc CPU. Více o základním fungování ASIC jsme popsali zde.

Nicméně samotné oddělení těchto dvou rolí ještě neznamená nějaké zásadní přínosy. Ty přichází v okamžiku, kdy jste schopni control plane logicky centralizovat. Tedy prvky dostanete pod kontrolu jednoho clusteru control plane. Něco podobného do jisté míry můžete znát z technologií jako je HP IRF, Cisco VSS nebo Juniper Qfabric. V případě HP IRF spojíte například dvě zařízení do jednoho virtuálního a vybrané CPU pak programuje nejen ASIC, které má fyzicky u sebe, ale i ty čipy, které jsou v jeho IRF sousedovi. I v těchto případech jsou výhody pro síť značné zjednodušení správy, zvýšení dostupnosti, možnost linkové agregace napříč členy, což zvyšuje výkon. Něco podobného také najdete ve WiFi, kdy wireless kontroler přebírá určitou část control plane operací, ale umožňuje jednotlivým AP posílat pakety rovnou do sítě bez účasti kontroleru (tzv. local forwarding). Výhoda? Kontroler má daleko lepší přehled a dokáže efektivněji řešit automatické řízení kanálů a vysílacích výkonů nebo roaming. SDN je univerzálnější přístup, který dovoluje takto pracovat s celou sítí, ať už drátovou nebo bezdrátovou.

SDN tedy znamená, že všechny nebo část řídících funkcí se centralizuje v clusterovaném kontroleru, což umožňuje nasazení zcela nových unikátních aplikací (tak jak se ve WiFi začalo kdysi koordinovaně řídit vysílací spektrum). Právě tyto přínosy (nejčastěji ve formě SDN aplikací běžících nad kontrolerem) jsou to, proč se o SDN zajímat – všechno ostatní jsou jen technikálie a architektury. Ale i ty jsou zajímavé – a o tom bude tento seriál. Pokud se zajímáte spíše o reálné aplikace, najdete na serveru netsvet.cz mnoho informací na toto téma.

SDN protokoly

Nejrozšířenější standardizovaný SDN protokol je OpenFlow, o kterém budeme mluvit v dalším odstavci. Nicméně není to jediný protokol, který se pro SDN používá. Ne snad, že by na poli standardizace byla taková konkurence protokolů, ale spíše ho jiné protokoly velmi dobře doplňují. Tak například OpenFlow je ideální pro programování chování data plane, tedy plnit vyhledávací tabulky a instalovat pravidla pro montážní linky (co zahazovat, čemu omezovat propustnost, co kam posílat, jak měnit hlavičky). V sítích se ale často vytváří tunely, které přemosťují části sítě, nad kterými nemáme kontrolu nebo nám umožňují v jedné síti oddělit provoz různých entit (VPN, VXLAN, GRE, MPLS/VPLS). OpenFlow přes ně může programovat cesty, ale ne je přímo vytvářet. To je úloha například pro moderní NETCONF nebo OF-CONFIG (případně lze v zásadě použít i trochu staromódní SNMP). Při ovládání bezdrátových komponent můžete chtít využít CAPWAP nebo LWAPP. Při řešení globálního směrování na úrovni ISP nebo WAN se může hodit třeba RESTful API pro přímou práci s RIB (routing information base). Mezi SDN kontrolery (například mezi firmami či autonomními systémy) můžete chtít synchronizovat informace třeba s využití nadstaveb v MP-BGP nebo deklarovat politiky s RADIUS nebo OpFlex. Při aplikační integraci třeba zatoužíte použít softwarové DevOps nástroje typu Puppet nebo Chef. SDN je architektura, ne protokol. Nicméně pro drátovou a bezdrátovou LAN a datové centrum je nejpoužívanějším a současně plně standardizovaným protokolem právě OpenFlow.

OpenFlow je standardizovaný protokol pro SDN s širokou podporou výrobců. Vznikl jako univerzitní projekt a ve své čisté podobě může mít na současné generaci hardware problémy se škálovatelností. Proto standard umožňuje hybridní nasazení OpenFlow a to je cesta, kterou se vydalo HP. Co tedy OpenFlow vlastně je? Jak se řeší hybridní sítě, abyste nemuseli ve své infrastruktuře nic měnit a při tom získat výhody SDN? Jak programuje hardware a co všechno může nastavit? Jaké komunikační zprávy využívá? Co vlastně dělá takový SDN kontroler? Jak se nad kontrolerem staví aplikace a co mohou dělat? Jak vypadá reálná implementace v HP hardware? O to všem v dalších dílech našeho seriálu.

Series NavigationMalá učebnice OpenFlow (2) – úvod do OpenFlow >>
Similar posts
  • L3 a kontejnery bez overlay: Project ... Část 6 z celkových 6 v seriálu L3 a kontejnery bez overlay: Project Calico praktickyL3 a kontejnery bez overlay: Project Calico praktickyL3 a kontejnery bez overlay: Project Calico prakticky (1) – architekturaL3 a kontejnery bez overlay: Project Calico prakticky (2) – rozjezdL3 a kontejnery bez overlay: Project Calico prakticky (3) – BGPL3 a kontejnery bez [...]
  • L3 a kontejnery bez overlay: Project ... Část 5 z celkových 6 v seriálu L3 a kontejnery bez overlay: Project Calico praktickyL3 a kontejnery bez overlay: Project Calico praktickyL3 a kontejnery bez overlay: Project Calico prakticky (1) – architekturaL3 a kontejnery bez overlay: Project Calico prakticky (2) – rozjezdL3 a kontejnery bez overlay: Project Calico prakticky (3) – BGPL3 a kontejnery bez [...]
  • HPE Networking na GitHub – skri... Zaměstnanci HPE publikovali zajímavé skripty a celé knihovny jako open source v licenci Apache2, tedy k volnému použití včetně jakýchkoli modifikací. https://github.com/HPENetworking/scriptsonly Obsah se bude jistě dost rozšiřovat… přidejte si záložku [...]
  • L3 a kontejnery bez overlay: Project ... Část 4 z celkových 6 v seriálu L3 a kontejnery bez overlay: Project Calico praktickyL3 a kontejnery bez overlay: Project Calico praktickyL3 a kontejnery bez overlay: Project Calico prakticky (1) – architekturaL3 a kontejnery bez overlay: Project Calico prakticky (2) – rozjezdL3 a kontejnery bez overlay: Project Calico prakticky (3) – BGPL3 a kontejnery bez [...]
  • L3 a kontejnery bez overlay: Project ... Část 3 z celkových 6 v seriálu L3 a kontejnery bez overlay: Project Calico praktickyL3 a kontejnery bez overlay: Project Calico praktickyL3 a kontejnery bez overlay: Project Calico prakticky (1) – architekturaL3 a kontejnery bez overlay: Project Calico prakticky (2) – rozjezdL3 a kontejnery bez overlay: Project Calico prakticky (3) – BGPL3 a kontejnery bez [...]

No Comments Yet

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *