Sieci SDN – tymczasowy trend czy rewolucja?

1 komentarz | , autor: Damian Michalak

PODAJ TO
Pracujesz jako sieciowiec więc na pewno obiło się o Twoje uszy pojęcie „SDN”. Nie? Pozwól zatem, że przybliżę nieco ten temat. SDN to skrót od „Software Defined Networking” co tłumaczymy na język polski jako „Sieci Definiowane Programowo”. W ogólnym ujęciu jest to architektura sieciowa, która w ciągu ostatnich lat znajduje coraz większe zainteresowanie w branży sieciowej. Wskazuje na to nie tylko mnogość wykładów i prelekcji wygłaszanych na różnego rodzaju branżowych konferencjach. Istotne są również kroki podejmowane przez największych producentów sprzętu sieciowego (między innymi Cisco, Juniper i Nokia (do niedawna Alcatel-Lucent)) w celu popularyzacji tego rozwiązania i uczynienia z niego produktu, który przyniesie im zyski.

Przyczyny wzrostu popularności

Pomimo, że architektura SDN rozwijana jest od roku 1995 to dopiero w ostatnich latach zyskała ona na znaczeniu i co za tym idzie – na popularności. Stało się to dzięki rozpowszechnieniu urządzeń i aplikacji mobilnych, rozwojowi wirtualizacji serwerów oraz powstaniu serwisów działających w oparciu o chmury obliczeniowe. Ważnym czynnikiem okazał się również ogólny wzrost zapotrzebowania klientów na sieci oferujące większy stopień elastyczności i będące łatwiejszymi w zarządzaniu. Ponadto dzisiejsze aplikacje mają często duże wymagania w kwestii łatwego dostosowywania się do szybko zmieniających się warunków biznesowych. Wszystkie wspomniane czynniki spowodowały, że w chwili obecnej sieci definiowane programowo stały się rozwiązaniem, które każdy większy gracz na rynku sieciowym stara się umieścić w swoim portfolio.

Zasada działania sieci SDN

Architektura ta oddziela od siebie funkcje kontrolne i transmisyjne sieci. Dzięki temu w sieci znajdują się urządzenia których jedynym zadaniem jest szybkie przełączanie ruchu między poszczególnymi portami. Natomiast wszelkie funkcje kontrolne sieci, czyli wszystkie zmiany konfiguracyjne oraz np. decyzje dotyczące routingu realizowane są w sterowniku SDN. Efektem takiego rozwiązania jest możliwość bezpośredniego programowania urządzeń sieciowych oraz oddzielenie działania aplikacji i serwisów sieciowych od infrastruktury fizycznej. Technologia ta swoją koncepcją przypomina rozwiązanie stosowane w korporacyjnych sieciach bezprzewodowych gdzie stosuje się centralnie zarządzalny kontroler:

Architektura WLAN z wykorzystaniem kontrolera, źródło: CWNA Official Study Guide

Podstawowym elementem wykorzystywanym przy budowaniu rozwiązań opartych o architekturę SDN jest protokół OpenFlow. Protokół ten umożliwia dostęp do funkcji transmisyjnych urządzeń sieciowych i manipulowanie nimi. Jest to główne narzędzie komunikacji pomiędzy sterownikiem SDN a urządzeniami sieciowymi. Zcentralizowanie funkcji sterujących pozwala na łatwe zarządzanie infrastrukturą sieciową. Dzięki temu możliwa jest np. dynamiczna zmiana routingu dla konkretnej aplikacji – w sposób programowy. Administrator definiuje strumienie przepływu danych i ma bezpośredni wpływ na polityki bezpieczeństwa przypisane do poszczególnych strumieni. Do zarządzania strumieniami danych może on używać gotowych programów udostępnionych na sterowniku SDN. Możliwe jest również tworzenie tego typu aplikacji samodzielnie. Daje to duże możliwości dostosowywania działania sieci do potrzeb firmy. Właśnie z tej cechy sieci SDN wzięły swoją nazwę. Ostatnią wartą wspomnienia cechą jest uniezależnienie działania sieci od konkretnych dostawców sprzętu sieciowego oraz ich własnych protokołów sieciowych. Poniżej przedstawiono ogólny zarys architektury SDN:

Architektura SDN, źródło: opracowanie własne

Pierwszym elementem architektury jest warstwa aplikacji, na rzecz której sieć świadczyć będzie usługi. Aplikacje te mają udostępniony interfejs do komunikowania się ze sterownikiem sieciowym, na którego poziomie mogą dokonywać manipulacji strumieniami danych (ich przepływem, zabezpieczeniami itd.). Sterownik z kolei za pomocą protokołu OpenFlow steruje zachowaniem urządzeń sieciowych znajdujących się w warstwie infrastruktury. Odbywa się to poprzez zmianę zawartości tabel przepływów, znajdujących się w przełącznikach.

Czym jest tabela przepływów?

Tabela przepływów określa czynności, jakie powinien podejmować przełącznik po otrzymaniu segmentu o określonych w tabeli cechach. Każdy rekord w tabeli składa się z dziesięciu pól. Kolejność pól w danym rekordzie przedstawiono w poniższej tabeli:

Flowtable, źródło: opracowanie własne

Pierwsze osiem pól służy do identyfikacji otrzymanych segmentów, na których powinny zostać wykonane działania. Przykładowo może to być rekord, który będzie wykonywał pewne działania na wszystkich segmentach otrzymywanych przez przełącznik na porcie 1 i posiadających docelowy adres IP 10.40.48.20. Dziewiąte pole rekordu służy do określenia działań, jakie przełącznik ma wykonać na zidentyfikowanych segmentach. Może to być np. zmiana źródłowego adresu IP lub wysłanie segmentu wskazanym portem. Ostatnie pole rekordu to priorytet, będący wartością liczbową. Pole to wykorzystywane jest, gdy otrzymany segment pasuje do więcej niż jednego rekordu w tabeli przepływów. W takiej sytuacji decyzja o tym jaka akcja powinna zostać podjęta, rozstrzygana jest na podstawie priorytetu.

Tabele przepływów mogą także określać, jakie czynności powinien podjąć przełącznik w przypadku otrzymania segmentu, który nie będzie dopasowany do któregokolwiek rekordu w tabeli przepływów. Każdy przełącznik może wykorzystywać wiele tabel przepływów. W takim przypadku tabele te ustawione są w określonej przez administratora kolejności. Działania związane z poszczególnymi tabelami tworzą ciąg następujących po sobie faz przetwarzania danego segmentu. Manipulowanie zawartością tabel przepływów odbywa się za pomocą protokołu OpenFlow.

Zastosowanie i rozwój architektury SDN

Architektura SDN rozwiązuje jeden z najpoważniejszych problemów dzisiejszych sieci komputerowych. Sieci konwencjonalne są mało podatne na zmiany
i rekonfigurację, a więc niedostosowane do wymogów dzisiejszych aplikacji potrzebujących elastyczności sieci. Przykładem są w tym wypadku np. serwisy wykorzystujące geolokalizację użytkownika podczas udzielania mu dostępu do zasobów sieciowych. Jest on przekierowywany do odpowiedniego centrum danych na podstawie miejsca, w którym się znajduje. Innym przykładem może być zyskujący ostatnio na popularności trend BYOD wymagający zarówno elastyczności jak i bezpieczeństwa sieci.

Rozwojem architektury SDN zajmuje się ONF. Jest to organizacja skupiająca się na promowaniu, adaptacji do istniejących rozwiązań i wdrażaniu tego paradygmatu. Realizowane jest to poprzez definiowanie otwartych standardów tego typu sieci. Celem działalności tej organizacji jest sprawienie by SDN stał się w przyszłości rozwiązaniem komercyjnym, równie popularnym, co stosowane dziś rozwiązania konwencjonalne. Właśnie ta organizacja odpowiada między innymi za stworzenie i ustandaryzowanie protokołu OpenFlow. Jest to jedyny otwarty standard definiujący sposób komunikacji pomiędzy płaszczyzną kontrolną i transmisyjną sieci w architekturze SDN. Powstały również pierwsze autorskie implementacje architektury SDN, między innymi platforma Cisco One czy Alcatel-Lucent NSP.

Wnioski

A więc tymczasowy trend czy rewolucja? Cóż, moim zdaniem prawda jak zwykle znajduje się pośrodku. Uważam, że paradygmat SDN to ewolucja znanych nam sieci konwencjonalnych. Ewolucja, o której bardzo wiele się dziś mówi. Z mojej perpektywy SDN w dużej, korporacyjnej sieci produkcyjnej jest trochę jak potwór z Loch Ness – wywołuje duże emocje, ale nikt go nie widział. Dopuszczam jednak do siebie myśl, że zapewne jeszcze zbyt mało w życiu zobaczyłem.

A może Ty posiadasz jakieś doświadczenia z sieciami definiowanymi programowo? Co sądzisz o tym rozwiązaniu? Zostaw komentarz, z radością zapoznam się z Twoją opinią!

SPODOBAŁ CI SIĘ TEN BLOG?
Dołącz do moich subskrybentów, a nie przegapisz kolejnych ciekawych artykułów!

Nie ujawnię nikomu Twojego adresu. Zero spamu.
Damian MichalakSieci SDN – tymczasowy trend czy rewolucja?
  • cmsgeosigmapl

    Jako ciekawostkę powiem, że w Polsce jest firma, która produkuje aplikacje na kontroler HPE VAN SDN Controller. Ich aplikacja zarządza siecią z przełącznikami OpenFlow. Mieliśmy w firmie prezentacje i testy tej aplikacji – całkiem fajnie to działa – no i polskie 😉