O technologii Software-defined networking (SDN) do niedawna tylko się mówiło. Dziś rozwiązania bazujące na sieciach definiowanych programowo co raz częściej wdrażane są w różnych obszarach nowoczesnej infrastruktury IT
Co to jest SDN?
Z definicją SDN jest jak kiedyś z definicją chmury, każdy miał swoją. I paradoksalnie w przypadku Sieci Definiowanych Programowo brak jednej, konkretnej definicji jest uzasadniony. Dla czego? Można powiedzieć, że przez to, co “zrobili” z SDN’em producenci różnych rozwiązań. A nazywają oni SDN’em wszystko co choćby nosi znamiona programowalnej sieci.
SDN’em nie nazwiemy żadnej konkretnej technologii czy rozwiązania. Lepiej rozumieć to poprzez pewnego rodzaju kierunek, kulturę czy właśnie zbiór cech, jakie dane rozwiązanie nosić powinno.
Gdybym jednak miał w jednym zdaniu zdefiniować, czym jest SDN powiedziałbym, że jest koncepcją polegającą na wydzieleniu z urządzeń sieciowych elementów, które nimi sterują i przeniesieniem tej logiki do centralnego miejsca a samemu urządzeniu pozostawienie funkcji prostego przesyłu danych.
I to właśnie jest filarem najpopularniejszych obecnie rozwiązań SDN. Centralizacja funkcji sterujących na kontrolerze, a urządzeniom pozostawienie przesyłu danych i poddawanie się instrukcjom płynącym z kontrolera.
Architektura SDN
Bardzo ważnym kryterium sieci definiowanej programowo jest jej podział na sieć:
- Underlay – sieć podkładowa
- Overlay – sieć nakładkowa
Sieć overlay, to właśnie tutaj realizowane są wszystkie “inteligentne” funkcje takie jak różnego rodzaju polityki czy segmentacja. Mimo że protokoły komunikacyjne w tej warstwie mogą być różne w zależności od producenta danego rozwiązania, to do enkapsulacji wykorzystywany jest zazwyczaj protokół VXLAN.
Jeśli chodzi o sieć underlay, tutaj sprawa jest dużo prostsza. W zakresie komunikacji ma to być po prostu routowalna sieć IP zapewniająca maksymalną prostotę, wydajność i niezawodność.
To właśnie dla tego, w niektórych rozwiązaniach na ścieżce sieci SDN mogą występować urządzenia starszych generacji, w przeciwieństwie do urządzeń, na których realizowane najważniejsze funkcje sieci nakładkowej i komunikacja z kontrolerami. W zależności od rozwiązania stopień przeniesienia logiki do centralnego kontrolera jest różny. Czasem jest to zdecydowana większość a czasem, część z niej zostawiona jest urządzeniom, którymi kontroler steruje.
Bez względu na to, w przypadku sieci definiowanych programowo śmiało możemy mówić o rozdziale między część Control Plane, która przeniesiona jest na kontroler, i część Data Plane, a więc prostego przesyłu pakietów, który niejako pozostał urządzeniom sieciowym. Kwestia proporcji w jakich część Control Plane została wyniesiona poza urządzenia końcowe, zależy już od konkretnego rozwiązania.
Software-defined Networking – wymagania
Znając już zarys techniczny, spróbujmy zatem określić jakie najważniejsze wymagania powinno spełniać dobre rozwiązanie SDN:
- Wirtualizacja sieci (sieć underlay i overlay). To właśnie przez pryzmat wirtualnej sieci musimy spoglądać w kierunku SDN’ów
- Automatyzacja – eliminacja powtarzalnych czynności, możliwość szybkiego powoływania środowisk oraz automatyczne kreowanie parametrów sieci dla wykrytych aplikacji (QoS, polityki bezpieczeństwa itd)
- Programowalność – oprócz programowego zarządzania siecią, SDN musi dawać możliwość konfiguracji różnymi językami programowania. Otwarte API powinno dawać możliwość integracji z zewnętrznymi narzędziami
- Analityka – zarówno ta badająca zebrane logi, ale również działająca w czasie rzeczywistym i proaktywnie
- Skalowalność – automatyczna konfiguracja elementów fabryki sieciowej. Zarówno tych fizycznych jak i wirtualnych
SDN – obszary zastosowania
Obszarów w jakich SDN znalazł luz znajdzie zastosowanie wydaje się być wiele. Na dzień dzisiejszy najważniejsze z nich to:
- Data Center – tutaj wszystko się zaczęło i to w Data Center sieci definiowane programowo wciąż stosowane są najczęściej. Po więcej szczegółów zapraszam do wpisu poświęconego SDN w Data Center
- Kolejnym obszarem, w którym SDN coraz szerzej się adaptuje, są sieci kampusowe. Oczywiście tutaj “celem” są użytkownicy. To im oraz aplikacjom przez nich używanym programowalna sieć ma zapewnić maksimum wydajności, a przede wszystkim bezpieczeństwa bez względu czy pracują Oni w sieci tradycyjnej, czy bezprzewodowej oraz bez względu na urządzenia, jakimi do tej sieci się łączą.
- Trzecim miejscem, w którym bardzo mocno widać SDN są sieci WAN. Na pewno każdy z Was słyszał o SD-WAN, a więc programowym sterowaniu routingiem, load-balancingiem ruchu czy wsparciem kwestii związanych z bezpieczeństwem.
Obszary zastosowania SDN – podsumowanie
Obszarów zastosowania programowego sterowania sieciami jest co najmniej kilka i pewnie pojawiać będą się kolejne. W przypadku sieci kampusowych bardzo ważną rolę odgrywa bezpieczeństwo, ale też względy uproszczenia zarządzania siecią, w której panuje duża dynamika.
SD-WAN moim zdaniem również mocno będzie się rozwijał choćby ze względu na rosnącą popularność zasobów chmurowych i konieczność zapewnienia wydajnego i bezproblemowego dostępu do nich.