OpenFlow usprawni sieć w data center

Model sieci definiowanej przez oprogramowanie jest sprawniejszy, gdyż "wie", w jakim stanie jest każde połączenie i może zagwarantować dostarczenie pakietów najszybszą trasą.

Za i przeciw

Zalety OpenFlow

- znacznie niższe koszty TCO, w tym redukcja zużycia energii elektrycznej i opłat licencyjnych

- o wiele niższe ryzyko zjawiska vendor lock-in w przyszłości

- niższe opóźnienia, lepsze wykorzystanie sieci

- o wiele łatwiejsze zarządzanie rozległą siecią

- te same lub lepsze współczynniki jakości usług

- duże bezpieczeństwo poszczególnych przełączników

- mniejsza liczba adresów IP niezbędnych do zarządzania siecią

- zmniejszenie niezbędnej przestrzeni w data center

Wady obecnej implementacji OpenFlow

- konieczność instalacji serwerów zarządzających, co przy bardzo małych sieciach generuje zbyt duże koszty

- problemy z koordynacją niezależnych i redundantnych kontrolerów

- brak obsługi niektórych protokołów, na przykład AppleTalk czy IPX/SPX

- konieczność wymiany przełączników sieciowych przy migracji do OpenFlow

Podstawowym elementem aktywnym zapewniającym połączenia w sieci lokalnej w data center jest przełącznik sieciowy. Większość sprzedawanych modeli klasy enterprise/data center jest skonstruowana w ten sposób, że przełączanie pakietów realizują specjalnie zaprojektowane układy scalone ASIC, a wbudowane w przełącznik oprogramowanie zarządza ruchem pakietów w sieci. Każdy przełącznik zbudowany według tych zasad ma specjalizowany układ ASIC i osadzony system operacyjny wraz z narzędziami, które odpowiadają za zarządzanie routingiem, monitoringiem, obsługą VPN. Każdy z przełączników czy routerów stanowi całość funkcjonalną, zatem wszelkie ustawienia odbywają się w obrębie jednego urządzenia lub co najwyżej jego grupy, a każde z nich z osobna zarządza ruchem pakietów.

Konstrukcja ta była dotąd jedynym sposobem uzyskania oczekiwanej wydajności połączeń sieciowych. Bazują na niej praktycznie wszyscy najważniejsi producenci przełączników i routerów na świecie. Badacze z Uniwersytetów Stanford oraz Berkeley opracowali jednak standard nazwany OpenFlow, który umożliwił programowe zarządzanie ruchem w sieci, wykorzystując model sieci definiowanej przez oprogramowanie (Software Defined Networking, w skrócie SDN). Standard ten jest otwarty, rozwijany przez konsorcjum non-profit Open Networking Foundation, którego członkami są: Deutsche Telekom, Facebook, Google, Microsoft, NTT Communications, Verizon oraz Yahoo!, a ściśle współpracuje z nim ponad 70 innych przedsiębiorstw i organizacji. Największą, najbardziej rozległą i najsprawniejszą implementacją standardu na świecie jest sieć firmy Google, wykorzystywana do obsługi głównej gałęzi biznesowej tego potentata internetowego.

Zobacz również:

David Faircloth, wiceprezes działu systemów sieciowych w firmie IBM, mówi: "Głównym założeniem OpenFlow jest oddzielenie dwóch najważniejszych funkcji urządzeń sieciowych: przełączania pakietów i zarządzania. W nowym podejściu kontrola ruchu została przeniesiona z routerów i przełączników na serwery, upraszczając konstrukcję urządzeń. Dzięki temu można osiągnąć większą elastyczność, lepszą sprawność pracy sieci, a także bardziej złożone scenariusze zarządzania. Metoda ta szczególnie dobrze pasuje do środowisk wirtualizowanych".

Najszybsza droga do celu

Podstawową zaletą OpenFlow jest zarządzanie drogą pakietów w sieci. Model tradycyjny zakłada dostarczenie pakietów z węzła A do węzła B, przy czym jeśli połączenie jest niedostępne, zestawiane jest ono inną drogą. Proces zapewnia dostarczenie pakietów do celu, ale nie gwarantuje czasu ani warunków, w których to nastąpi. Model sieci definiowanej przez oprogramowanie jest sprawniejszy, gdyż "wie" o stanie każdego z połączeń i może zagwarantować dostarczenie pakietów najszybszą trasą. Dzięki temu, nawet jeśli część łączy jest obciążona, nadal można zagwarantować dostarczenie danych w zaplanowanym czasie.

Firma Google wykorzystuje te możliwości przy planowaniu dużych migracji danych, przy czym zachowanie sieci SDN można modelować także offline, bez konieczności dostępu do przełączników sieciowych. Sieć wykaże swoje zalety również w wielu innych centrach przetwarzania danych, gdyż w data center występuje duże obciążenie wewnętrznym ruchem "poziomym", czyli w obrębie samego data center (ponad 75% ogółu przesyłanych pakietów) i transmisja jest wrażliwa na opóźnienia. W testach firmy Tolly przełącznik BLADE RackSwitch G8124 zdecydowanie wygrywa z Cisco Nexus 5010, w niektórych pomiarach wykazuje trzykrotnie niższe wartości opóźnienia.

Sieć, która "zrozumie" wirtualizację

Wirtualizacja jest standardową technologią wykorzystywaną w systemach IT, ale za elastycznością dostarczania zasobów serwerowych i przestrzeni danych nadal nie nadążają rozwiązania sieciowe. Maszyny wirtualne hostowane w klastrach często są przenoszone między fizycznymi serwerami, aby optymalnie wykorzystać dostępne zasoby. Razem z maszyną muszą być przeniesione ustawienia sieci, wliczając adres sprzętowy, przypisanie do podsieci VLAN, mapę połączeń na przełącznikach oraz reguły routingu. Przy typowej konfiguracji sieciowej, korzystającej z zarządzania w obrębie przełączników, elementy aktywne muszą się "nauczyć" nowych ustawień, a integracja ze środowiskiem wirtualnym jest skomplikowana technicznie - informacje o zmianach w połączeniach spowodowanych migracją maszyn muszą dotrzeć jednocześnie na wiele urządzeń. Podstawowa funkcjonalność powinna zatem obejmować nadążanie za istniejącą konfiguracją środowiska wirtualnego, ale pełna integracja musi obejmować automatyczne dostarczanie zasobów sieciowych w spójny z sposób. Jest to możliwe dzięki integracji ze środowiskiem wirtualizowanym. David Faircloth wyjaśnia: "Dzięki centralizacji zarządzania ruchem pakietów w sieci integrację ze środowiskiem wirtualizowanym można osiągnąć w modelu OpenFlow o wiele łatwiej niż za pomocą integracji każdego z przełączników oraz routerów z osobna. Rozwiązanie komercyjne w tym zakresie oferuje IBM, jest to RackSwitch o przepustowości 1, 10 i 40 Gbit/s, oferujący IEEE 801.1Qbg (Edge Virtual Bridging) oraz wirtualny przełącznik DVS5000V".

Jeden standard, różni dostawcy

W odróżnieniu od modelu tradycyjnego, w którym każdy producent opracowuje swoje rozwiązania zarządzania ruchem zamykające się w obrębie jednego przełącznika lub grupy urządzeń jednego dostawcy, OpenFlow jest standardem docelowo obsługiwanym przez więcej niż jednego producenta urządzeń sieciowych. "Dzięki opracowanemu interfejsowi, w jednej sieci mogą pracować przełączniki firmy IBM, a także innych dostawców, zgodne z OpenFlow i będą w pełni ze sobą współpracować. Oprogramowanie zarządzające ruchem również może pochodzić od różnych dostawców, podczas wdrożeń produkcyjnych sprawdziliśmy działanie naszych przełączników z kontrolerami Beacon, Big Switch oraz NEC pFlow. Obecnie jest to jedyny standard, który zapewni zarządzanie całym ruchem bez konieczności polegania na zamkniętych rozwiązaniach jednego dostawcy" - mówi David Faircloth. Oprócz IBM przełączniki obsługujące standard OpenFlow wprowadza także HP, oferując nową wersję firmware (obecnie testowana wersja to K.15.05.5001), przy czym opcja ta nie wymaga zakupu dodatkowej licencji.

Sieć Google od dwóch lat działa na OpenFlow

Internetowy gigant wykorzystuje OpenFlow w praktyce. Prezentację na ten temat na konferencji Open Networking Summit wygłosił Urs Holzle, wiceprezes i specjalista do spraw technologii oraz infrastruktury w Google. Wszystkie sieci wewnętrzne Google pracują na specjalnie zaprojektowanym sprzęcie, wykorzystującym jednak powszechnie dostępne układy scalone. Dzięki oddzieleniu przesyłania pakietów od zarządzania ruchem zbędne stały się specjalnie projektowane układy ASIC oraz osadzone mikroprocesory, które są sercem przełączników firm, takich jak Cisco Systems czy Alcatel-Lucent.

Wprowadzenie centralnego zarządzania ruchem w sieci korzystającej z OpenFlow umożliwia znaczną redukcję obciążenia poszczególnych urządzeń, przenosząc zadania zarządzania na standardowy serwer. Jak mówi Urs Holzle, "centralne zarządzanie ruchem działa od 25 do 50 razy szybciej na zwykłej stacji roboczej wyposażonej w 32 rdzenie niż w sieci wielu urządzeń. Podobnie aktualizacja oprogramowania kilku serwerów jest prostsza od wprowadzenia poprawek w sieci setek routerów i przełączników. Tworzenie oprogramowania na potrzeby OpenFlow jest znacznie łatwiejsze w porównaniu do obecnych routerów i przełączników, gdyż można wykorzystać typowe narzędzia deweloperskie, ponadto znikają ograniczenia na ilość pamięci w urządzeniach osadzonych. Dodatkowo jakość powstałego oprogramowania jest znacznie lepsza".

Pierwsze testy OpenFlow przeprowadzono w 2009 r., wykorzystując kod projektu Clean Slate opracowanego na Uniwersytecie Stanforda. Rok później przeprowadzono pilotażowe wdrożenie. Obecnie OpenFlow obsługuje cały ruch sieci łączącej wszystkie globalne centra danych Google, wykorzystując przy tym specjalnie opracowane przełączniki 10 Gbit/s posiadające 128 portów. Układy scalone do tych przełączników są standardowe, pochodzą ze zwykłych ofert rynkowych. W przełącznikach działa jedynie podstawowe oprogramowanie - agent OpenFlow. Obecnie Google pracuje nad przełącznikami obsługującymi ponad 1000 portów po 40 Gbit/s każdy. Od początku technologia ta charakteryzuje się radykalną oszczędnością kosztów w porównaniu do budowanych dotąd przełączników i routerów takich firm jak Cisco Systems.

Chociaż jest jeszcze zbyt wcześnie, by oceniać wszystkie zyski, które niesie ze sobą migracja do OpenFlow, niektóre z nich są już warte odnotowania. Urs Holzle informuje, że "w bliskiej przyszłości sieć Google osiągnie wydajność bardzo bliską 100%" - a to oznacza, że wszystkie magistrale danych będą niemalże w pełni obciążone, przesyłając dane z maksymalną dostępną prędkością. Tradycyjnie zorganizowane sieci uznaje się za optymalnie obciążone, gdy osiągną od 30% do 40% wykorzystania łączy. Implementacja OpenFlow w Google odpowiada więc z grubsza dwukrotnemu zwiększeniu przepustowości wewnętrznych magistrali firmy bez konieczności modernizacji medium.