Sieci definiowane programowo (SDN) wyjaśnione w 5 minut lub mniej

SDN jest uważana za kluczową technologię umożliwiającą rozwój nowych technologii i aplikacji sieciowych.

Rozwój treści multimedialnych, coraz częstsze korzystanie z urządzeń mobilnych oraz zapotrzebowanie na przetwarzanie w chmurze przyczyniły się do zapotrzebowania na bardziej elastyczne i wydajne architektury sieciowe.

Ponieważ trendy te doprowadziły do ​​nieprzewidywalnych wzorców ruchu i nagłego wzrostu zapotrzebowania na określone zasoby, tradycyjne architektury sieciowe z trudem nadążały.

Potrzebna była alternatywna strategia, ponieważ skalowanie infrastruktury sieciowej w celu obsługi tych fluktuacji może być bardzo kosztowne i skomplikowane.

Sieć SDN została opracowana w celu rozwiązania tego problemu poprzez oddzielenie płaszczyzny sterowania od płaszczyzny danych. Dzięki temu sieć może automatycznie rekonfigurować się, aby sprostać zmieniającym się wymaganiom, poprawiając ogólną wydajność i efektywność. Zrozummy, o co chodzi z tym SDN.

Co to jest SDN?

Sieci definiowane programowo (SDN) to nowoczesna architektura sieciowa, która umożliwia administratorom używanie oprogramowania do definiowania i kontrolowania zachowania urządzeń sieciowych zamiast konfigurowania tych urządzeń indywidualnie.

Często łączy się ją z wirtualizacją funkcji sieciowych (NFV) w celu dalszej poprawy elastyczności i opłacalności sieci. Pozwala również na centralizację inteligencji sieci, ułatwiając rozwiązywanie problemów i monitorowanie sieci.

Architektura SDN

Architektura SDN zazwyczaj obejmuje trzy główne warstwy: płaszczyznę aplikacji, płaszczyznę sterowania i płaszczyznę danych.

Źródło zdjęcia: Sotirios Goudos

  • Warstwa aplikacji: Jest to najwyższa warstwa architektury SDN, która odpowiada za zdefiniowanie pożądanego zachowania sieci. Aplikacje w tej warstwie mogą obejmować narzędzia inżynierii ruchu, zasady bezpieczeństwa lub nakładki sieci wirtualnej.
  • Warstwa kontrolna: Warstwa kontrolna jest odpowiedzialna za wdrażanie polityk i reguł zdefiniowanych w warstwie aplikacji. Zwykle jest realizowany jako centralny kontroler, który komunikuje się z urządzeniami sieciowymi w płaszczyźnie danych.
  • Płaszczyzna danych lub warstwa infrastruktury: ta warstwa składa się z fizycznych urządzeń sieciowych, takich jak przełączniki i routery, które tworzą płaszczyznę danych. Urządzenia te są odpowiedzialne za przekazywanie ruchu sieciowego przez sieć.
  • Interfejsy Northbound i Southbound służą do ułatwienia komunikacji między różnymi warstwami architektury. Integracja tych trzech warstw umożliwia działanie sieci w sposób skoordynowany i wydajny.

    Jak działa SDN?

    W sieci SDN płaszczyzna sterowania i płaszczyzna danych są oddzielone. Płaszczyzna kontrolna podejmuje decyzje o sposobie przekazywania ruchu przez sieć, podczas gdy płaszczyzna danych odpowiada za przekazywanie ruchu zgodnie z tymi decyzjami.

    Źródło obrazu: Jun Luo

    Płaszczyzna kontroli jest realizowana za pomocą centralnego kontrolera, aplikacji, która działa na pojedynczym serwerze lub zestawie serwerów. Kontroler utrzymuje globalny widok sieci i wykorzystuje ten widok do podejmowania decyzji o sposobie przekazywania ruchu. Robi to, komunikując się z elementami płaszczyzny danych w sieci, które są znane jako „elementy przekazujące” lub „przełączniki”.

    Te przełączniki w sieci SDN są zazwyczaj „otwarte”, co oznacza, że ​​mogą być sterowane i programowane przez zewnętrzne oprogramowanie, zamiast być zakodowane na stałe z ustalonym zestawem reguł dotyczących przekazywania ruchu. W rezultacie kontroler może skonfigurować przełączniki do przesyłania ruchu w żądany sposób.

    Aby sterować przełącznikami, kontroler komunikuje się z nimi za pomocą interfejsu API w kierunku południowym, zestawu protokołów i interfejsów, których kontroler może używać do wysyłania instrukcji do przełączników i otrzymywania od nich informacji o stanie. A kontroler używa interfejsów API typu northbound do komunikacji z aplikacjami i systemami wyższego poziomu, które muszą korzystać z sieci, takimi jak aplikacje działające w chmurze.

    W ten sposób kontroler działa jako „mózg” sieci, podejmując decyzje dotyczące przekazywania ruchu i przekazując te decyzje do przełączników, które działają jako „mięśnie” sieci, wykonując instrukcje otrzymane od kontroler i odpowiednio przekierowuje ruch.

    Cechy SDN

    Istnieje kilka kluczowych cech SDN, które odróżniają ją od tradycyjnych architektur sieciowych:

    • Elastyczność: Zmiany w sieci można wprowadzać bez fizycznej rekonfiguracji urządzeń, co pozwala administratorom sieci szybko reagować na zmieniające się wymagania i okoliczności.
    • Programowalność: możliwe jest programowe sterowanie zachowaniem sieci za pomocą interfejsów API lub innych narzędzi programistycznych. Ułatwia to automatyzację zadań sieciowych i integrację sieci z innymi systemami.
    • Abstrakcja: W architekturze SDN płaszczyzna sterowania jest oddzielona od płaszczyzny danych, która przekazuje ruch. Pomaga to inżynierom łatwo zmienić sposób działania sieci bez wpływu na urządzenia przekazujące ruch.
    • Wirtualizacja: umożliwia również wirtualizację zasobów sieciowych, umożliwiając administratorom tworzenie sieci wirtualnych na żądanie. Może to być szczególnie przydatne w środowiskach przetwarzania w chmurze, w których zapotrzebowanie na zasoby sieciowe może być bardzo dynamiczne.

    Oprócz funkcji wymienionych powyżej, podstawową zaletą korzystania z SDN jest to, że umożliwia firmom symulowanie ich fizycznej infrastruktury sieciowej w oprogramowaniu, obniżając w ten sposób ogólne nakłady kapitałowe (CAPEX) i koszty operacyjne (OPEX).

    Typy architektur SDN

    Ogólnie rzecz biorąc, różne typy sieci mogą wymagać różnych podejść do SDN.

    Na przykład duża sieć korporacyjna z wieloma różnymi typami urządzeń i złożoną topologią może odnieść korzyści z hybrydowej architektury SDN, która łączy w sobie elementy zarówno scentralizowanej, jak i rozproszonej sieci SDN. I odwrotnie, scentralizowany projekt SDN może dobrze działać w przypadku mniejszej sieci z mniejszą liczbą urządzeń i prostszą topologią.

    Ważne jest, aby dokładnie ocenić różne opcje i wybrać architekturę, która najlepiej odpowiada potrzebom organizacji. SDN wykorzystuje głównie pięć różnych modeli architektury.

    # 1. Scentralizowany SDN

    W scentralizowanej architekturze SDN wszystkie funkcje kontroli i zarządzania są skonsolidowane w jednym centralnym sterowniku, który umożliwia administratorom łatwe definiowanie i kontrolowanie zachowania sieci. Mimo to może również stworzyć pojedynczy punkt awarii.

    #2. Rozproszony SDN

    W architekturze tego typu funkcje sterowania są rozdzielane między wiele sterowników, co poprawia niezawodność, ale komplikuje zarządzanie siecią.

    #3. Hybrydowy SDN

    Hybrydowy model architektury SDN łączy scentralizowane i rozproszone elementy SDN. Może wykorzystywać scentralizowany kontroler do niektórych funkcji i kontrolery rozproszone do innych, w zależności od potrzeb sieci.

    #4. Nakładka SDN

    Architektury nakładkowe wykorzystują wirtualne technologie sieciowe, takie jak VXLAN lub NVGRE, do tworzenia sieci logicznej na istniejącej sieci fizycznej. Dzięki temu administratorzy mogą tworzyć sieci wirtualne, które można łatwo tworzyć, modyfikować i usuwać.

    #5. Podkład SDN

    Architektura podkładowa wykorzystuje istniejącą infrastrukturę sieciową do wspierania tworzenia sieci wirtualnych, które mogą wykorzystywać technologie takie jak MPLS lub routing segmentowy do tworzenia wirtualnych połączeń między urządzeniami w sieci.

    Zasoby edukacyjne

    Wybór najlepszych zasobów do nauki koncepcji związanych z SDN może być trudny, ponieważ dostępnych jest wiele różnych opcji. Pomocne może być więc wypróbowanie kilku różnych zasobów, aby zobaczyć, który z nich jest dla Ciebie najlepszy.

    # 1. Kurs SDN Crash Praktyczny/Praktyczny

    Jest to kurs oferowany na platformie Udemy. Ten kurs to doskonały sposób na zdobycie praktycznego doświadczenia w programowaniu sieci opartym na SDN i OpenFlow. Obejmuje również różne zaawansowane koncepcje OpenFlow, takie jak tablice liczników (QoS) i tabele grup (system równoważenia obciążenia, Sniffer).

    Gorąco polecamy ten kurs każdemu, kto chce dowiedzieć się więcej o SDN i różnych związanych z nim technologiach. Wystarczy podstawowa wiedza na temat sieci, aby rozpocząć ten kurs.

    #2. SDN: Sieci definiowane programowo

    W tej książce omówiono przede wszystkim kluczowe technologie i protokoły SDN, w tym OpenFlow, OpenStack i ONOS. Zawiera szczegółowe przykłady wykorzystania tych technologii do budowy sieci i zarządzania nimi.

    Zawiera również pomocne wskazówki dotyczące konfigurowania i zarządzania sieciami SDN, w tym rozwiązywania problemów i kwestii bezpieczeństwa.

    #3. Uproszczone SDN i NFV

    Ta książka zawiera obszerny przegląd SDN i NFV, w tym ich zalety, technologie i zastosowania. Zawiera również rzeczywiste przykłady i studia przypadków, które pomagają zilustrować kluczowe punkty i pokazać, w jaki sposób te technologie są wykorzystywane w branży.

    Autorzy wykonali świetną robotę, wyjaśniając kluczowe pojęcia SDN i NFV w jasny i zwięzły sposób, czyniąc książkę przystępną dla czytelników na wszystkich poziomach wiedzy technicznej.

    #4. Sieci definiowane programowo

    Ta książka zawiera szczegółowe wprowadzenie do SDN z punktu widzenia osób wdrażających i korzystających z tej technologii.

    Ta książka jest bardzo pomocna w zrozumieniu całej architektury SDN, nawet dla początkujących. Omówiono również sposób projektowania sieci przy użyciu standardów branżowych dla skalowalnego środowiska.

    #5. SDN i NFV: podstawowe informacje

    Jest to dobrze napisany i wciągający przewodnik, który zapewnia solidne podstawy w SDN i NFV i jest odpowiedni dla czytelników na wszystkich poziomach wiedzy technicznej.

    Najlepszym sposobem poznania koncepcji SDN jest zdobycie praktycznego doświadczenia w pracy z narzędziami i technologiami SDN. Możesz spróbować skonfigurować proste środowisko SDN za pomocą narzędzi, takich jak Mininet i kontroler, taki jak RYU, i poeksperymentować z kontrolowaniem ruchu sieciowego za pomocą oprogramowania.

    Podsumowanie

    SDN jest pomocny w dzisiejszym środowisku cyfrowym, ponieważ sprawia, że ​​sieci są bardziej elastyczne i efektywne.

    W tradycyjnych sieciach płaszczyzna sterowania i płaszczyzna danych są ściśle powiązane, co oznacza, że ​​zmiany w płaszczyźnie sterowania wymagają również zmian w płaszczyźnie danych. Może to sprawić, że zmiana sieci będzie trudna i czasochłonna, zwłaszcza w dużych i złożonych sieciach.

    W przypadku SDN płaszczyzna sterowania jest oddzielona od płaszczyzny danych, co ułatwia programową kontrolę i optymalizację zachowania sieci. Może to być szczególnie przydatne w środowiskach, w których istnieje potrzeba szybkiego i łatwego wprowadzania zmian w sieci, na przykład w środowiskach przetwarzania w chmurze, w których obciążenia mogą być szybko udostępniane i anulowane.

    Mam nadzieję, że ten artykuł okazał się pomocny w poznawaniu sieci SDN i jej architektury.

    Możesz być także zainteresowany poznaniem najlepszych narzędzi do monitorowania sieci bez agentów.