Jak szybko sieci SDN staną się przestarzałe?

21 Marca 2021

Przy planowaniu rozwoju sieci na kilka, czy nawet kilkanaście, lat do przodu należy zrobić kilka kroków do tyłu i popatrzeć na nasze plany z dystansu. W takich scenariuszach kluczowe znaczenie może mieć czas życia danego przedsięwzięcia. Inaczej mówiąc: musimy zastanowić się jak długo technologie w które dzisiaj inwestujemy będą użyteczne. Czy za 5 lat to co dzisiaj wydaje się być technologią przyszłości będzie już przestarzałe? Co się stanie gdy zmienią się obecne potrzeby biznesu? Jak trudno będzie wdrożyć wydajniejszą platformę sprzętową na obecnej platformie programowej? Te pytania są aktualne także przy planowaniu sieci w filozofii SDN (ang. Software-Defined Networking). Kluczową więc kwestią jest pytanie czy sieci SDN będą starzały się szybciej czy wolniej niż sieci tradycyjne. Aby odpowiedzieć sobie na te zagadnienia powinniśmy wrócić do tego czym są sieci programowalne.

Warto wspomnieć, że Sieci Definiowane Programowo (ang. Software-Defined Networking), to nie jest nazwa konkretnego produktu, grupy produktów czy konkretnej technologii. Przede wszystkim jest to definitywna zmiana podejścia do wytwarzania, zarządzania i kontrolowania funkcjonalności sieci komputerowych. Ta zmiana podejścia otwiera drzwi na wszystkie dobrodziejstwa (i wyzwania) związane z produkcją oprogramowania. W SDN próbujemy nadrobić ponad 20 lat różnic między sieciami komputerowymi a inżynierią oprogramowania poprzez skorzystanie z dobrych praktyk wytwarzania, rozwijania i utrzymywania oprogramowania.

Sieci Definiowane Programowo od komputerowych sieci tradycyjnych różnią się, między innymi, rozdziałem warstwy sterowania (ang. Control Plane) od warstwy danych (ang. Data Plane), co zostało zobrazowane na rysunku 2. Podział ten otworzył drzwi do pełnej programowalności pierwszej z nich i rozwoju wysokopoziomowych API (ang. Application Programming Interface) dla warstwy danych. Takie API warstwy danych umożliwia zarządzanie niskopoziomowymi funkcjonalnościami sprzętu w sposób programowy.

A jak takie podejście wpływa na tempo starzenia się sieci? Dla sieci programowalnych sytuacja jest bardzo podobna jak dla popularnych systemów operacyjnych i aplikacji na nich instalowanych. Podczas gdy początkowo firmy takie jak IBM czy Apple oferowały zamknięte oprogramowanie (również aplikacje użytkownika) na własnym sprzęcie, obecnie możemy niezależnie wybrać platformę sprzętową, system operacyjny oraz programy użytkowe (patrz rys. 1). Dzięki procesom standaryzacji (sprzętu i interfejsów programistycznych) komponenty różnych dostawców można stosować wymiennie. To czego dzisiaj jesteśmy świadkami, w obszarze sieci komputerowych, to ewolucja monolitycznych systemów pojedynczych producentów do zdezagregowanego ekosystemu gdzie sprzęt, systemy operacyjne (kontrolery SDN) i aplikacje sieciowe mogą być rozwijane niezależnie (patrz rys. 2).

Rysunek 1. Ewolucja architektury komputerów.

Rysunek 2. Ewolucja sieci komputerowych

Tak jak w przypadku innych obszarów technologicznych, software ma coraz większe znaczenie. Dzięki SDN, obszar sieci komputerowych jest coraz bardziej podobny do dowolnego innego obszaru, gdzie kluczową rolę odgrywa oprogramowanie. Podczas wytwarzania rozwiązań SDN używamy tych samych procesów, metodologii i podobnych narzędzi co w przypadku tworzenia aplikacji na smartphony, czy tworząc sklep Internetowy. Tak jak w przypadku aplikacji sklepu Internetowego, sieci potrzebują platformy sprzętowej – przełączników/routerów/szyfratorów. Urządzenia przetwarzające pakiety ruchu danych są wysoce wyspecjalizowanymi rozwiązaniami których funkcjonalność jest mocno zależna od konkretnych układów które zawierają. Jednak nawet w tym obszarze powstają programowalne układy przełączające ruch danych z otwartym API (np. API P4 i układy Tofino), czy implementacje funkcji sieciowych w układach FPGA.

Dzięki modularnej architekturze oprogramowania dodawanie nowych funkcjonalności nie wymaga zmiany całego rozwiązania. Konkretne rozwiązanie SDN składa się z setek mniejszych komponentów. Jeśli komponent (sprzętowy lub programowy) zaczyna ograniczać funkcjonalność naszej platformy, możemy go wymienić (lub zmodyfikować) na inny – w sposób ciągły rozwijając platformę. A kiedy nasza sieć SDN stanie się przestarzała? Zapewne jakiś czas po tym, gdy przestaniemy rozwijać oprogramowanie, a sprzęt przestanie spełniać wymogi funkcjonalne i wydajnościowe. Natomiast to co wydaje się być istotne, to fakt, że dobra platforma SDN pozwala na wygodne i sprawne rozszerzenie funkcjonalności i adaptację do coraz nowszych, fizycznych i wirtualnych, elementów sieci.

Opublikowane przez: Piotr Mierzwiński

Inne artykuły_