Nowa architektura bramy sieci szerokopasmowej (BNG) w środowisku wirtualizacji funkcji sieciowych (NFV) i natywnych rozwiązań chmurowych

author-image

Według

Streszczenie

Rosnące zapotrzebowanie konsumentów na większą przepustowość i tańsze usługi doprowadziło do wykorzystania pełnego potencjału ekonomicznego sieci usługodawców. Ponadto dostawcy usług telekomunikacyjnych (CoSP) muszą obsługiwać wiele typów technologii dostępowych (xDSL, PON, FWA i DOCSIS), a jednocześnie lepiej wykorzystać istniejące sieci światłowodowe i świadczyć usługi z większą wydajnością, akceptując zmniejszenie wpływów. Uwzględniając prognozowany 26-procentowy (rok do roku) wzrost ruchu sieciowego związanego z transmisją danych klientów w latach 2017 – 2023,1 przyszłe rozwiązania sieciowe muszą zapewnić transmisję danych zgodnie z prognozowanym skumulowanym rocznym wskaźnikiem wzrostu (CAGR) w sposób efektywny kosztowo i skalowalny.

Aby wyznaczyć nowy standard wydajności, należy wdrożyć najnowszą, najlepszą technologię w sposób całościowy i łatwy w użyciu. W niniejszej publikacji zaproponowano zasady projektowania umożliwiające opracowywanie rozwiązań opartych na procesorach z architekturą Intel® i wirtualizacji funkcji sieciowych (NFV), wyznaczających nowy standard wydajności i automatyzacji sieciowej, przy użyciu następujących zasobów:

  • Zoptymalizowana konfiguracja serwera
  • Model oprogramowania wykonania kompletnego (Run to completion)
  • Inteligentna dystrybucja pakietów wejściowych/wyjściowych i przepływu
  • Niezależne skalowanie płaszczyzn sterowania i użytkownika
  • Hierarchiczna kontrola jakości usług
  • Wdrażanie przy użyciu natywnych chmurowych sieciowych komponentów elementarnych

Stosując te zasady, firma Intel uzyskała przepustowość prawie 661 Gb/s2 przy routingu zgodnym ze specyfikacją RFC2544 (z zerowym wskaźnikiem utraty pakietów) z wirtualną bramą sieci szerokopasmowej (vBNG) uruchomioną na serwerze wyposażonym w skalowalny procesor Intel® Xeon® trzeciej generacji. W niniejszej publikacji omówiono ten projekt i zaproponowano architekturę bramy vBNG umożliwiającą opracowywanie infrastruktury sieciowej i funkcji sieciowych zapewniających lepsze wykorzystanie infrastruktury i uwzględnienie wskaźnika CAGR transmisji danych.

Aby uzupełnić przeniesienie płaszczyzny szerokopasmowej transmisji danych do ekosystemu wirtualnego, w niniejszej publikacji zaproponowano też architekturę wdrażania przy użyciu aparatu Kubernetes (K8s) z funkcjami kontenerów i harmonizowania.

Brama sieci szerokopasmowej (BNG, Broadband Network Gateway)

Brama sieci szerokopasmowej (BNG), zwana też serwerem szerokopasmowego dostępu zdalnego (BRAS), jest punktem agregacji zapewniającym abonentom dostęp do sieci dostawcy usług internetowych (ISP). Dzięki bramie BNG abonenci mogą łączyć się z siecią usługodawcy ISP w celu korzystania z ruchu sieciowego z Internetu lub usług ISP (np. związanych z transmisją stron internetowych, głosu, danych lub wideo).

Brama vBNG jest wirtualną instancją oprogramowania zastępującą z reguły duże, oparte na układach ASIC, jednofunkcyjne urządzenie, zazwyczaj znajdujące się w biurze centralnym lub miejskim punkcie obecności (PoP).

Potok referencyjny aplikacji

Każda generacja technologii Intel® (np. procesorów, kart sieciowych, dysków SSD, układów FPGA i akceleratorów) zapewnia większą wydajność i lepszą obsługę (QoE) użytkowników.

Płaszczyzna sterowania zapewnia uwierzytelnianie abonentów i zarządzanie nimi, łącznie z konfiguracją miesięcznego użycia usługi i płaszczyzny danych, zależnie od profilu abonenta.

Płaszczyzna danych upstream zarządza przepływem ruchu sieciowego z domowych routerów użytkowników do sieci usługodawcy ISP. Zazwyczaj przeciętny rozmiar pakietu sieciowego ruchu upstream jest mniejszy, a natężenie ruchu od pięciu do ośmiu razy większe niż w przypadku ruchu downstream. Użytkownicy aplikacji takich jak Instagram, Snapchat lub Periscope przesyłają duże ilości danych do sieci usługodawców ISP, jednak bez porównania większe użycie transmisji danych odnotowujemy w przypadku użytkowników sieci szerokopasmowych. W ubiegłych latach intensywne generowanie danych i materiałów multimedialnych spowodowało zmniejszenie różnicy użycia przepustowości upstream i downstream.

Etapy przetwarzania ruchu sieciowego upstream

Potok referencyjny Intel® implementuje etapy przetwarzania ruchu sieciowego upstream, przedstawione na rysunku nr 3 i opisane poniżej:

Odbiór (Rx) pakietów: Sterownik trybu sondowania (PMD) zestawu DPDK odbiera serie ramek z portu kontrolera karty sieciowej i wysyła je bezpośrednio do wątku uplink w celu rozpoczęcia przetwarzania pakietów bramy vBNG, opisanego w następnych krokach.

Listy kontroli dostępu: Biblioteka list kontroli dostępu (ACL) zestawu DPDK jest używana do stosowania uporządkowanej listy filtrów (np. masek lub zakresów) do ramki. Stosowane są filtry akceptujące i odrzucające. Wszystkie filtry są ewaluowane dla każdego pakietu.

Klasyfikacja przepływów: Biblioteka klasyfikacji przepływów zestawu DPDK umożliwia identyfikację sesji i klasyfikację pakietów na podstawie wybranych pól (np. 5-krotki).

Klasyfikacja i weryfikacja: Interfejs API klasyfikacji i weryfikacji ruchu sieciowego zestawu DPDK umożliwia oznaczanie dwóch wskaźników i trzech kategorii.

Przepisywanie pola DSCP: Na tym etapie wykonywana jest opcjonalna klasyfikacja typu ruchu sieciowego i ponownie zapisywane jest pole kodu usług zróżnicowanych (DSCP) protokołu IP w celu mapowania strumienia na klasę usługi (CoS) obsługiwaną przez sieć.

Translacja NAT: Opcjonalnie wykonywana jest translacja NAT 44 w celu konwertowania adresów prywatnych na adresy publiczne.

Routing: Hermetyzacja sieci dostępowej jest usuwana z pakietów płaszczyzny danych, a następnie pakiety są kierowane do właściwego interfejsu sieci podstawowej w celu transmisji. Wszelkie elementy hermetyzacji sieci podstawowej (np. MPLS) są stosowane na tym etapie lub w bloku odbioru (Tx) pakietów.

Transmisja (Tx) pakietów: Sterownik PMD zestawu DPDK wysyła serie ramek do portu karty sieciowej.

Płaszczyzna danych downstream obsługuje przepływ ruchu sieciowego i danych z Internetu i sieci usługodawcy ISP do użytkownika. Na tym etapie zarządzany i planowany jest ruch sieciowy skierowany do użytkowników połączonych z bramą BNG. Przetwarzanie ruchu sieciowego downstream obejmuje optymalizację przepustowości i użycia zasobów w celu maksymalizacji jakości obsługi użytkowników (QoE) zależnie od klasy taryfy i priorytetów ruchu sieciowego. Celem usługodawcy ISP jest zapewnienie najlepszych usług dla wszystkich abonentów i maksymalne wykorzystanie infrastruktury sieciowej. Zgodnie z prognozami do 2022 roku globalny ruch protokołu IP związany z przesyłaniem wideo wzrośnie czterokrotnie w porównaniu z 2017 rokiem (wskaźnik CAGR 29 procent),3 i ten trend spowoduje zwiększenie średniego rozmiaru pakietu łącza downstream.

Etapy przetwarzania ruchu sieciowego downstream

Potok referencyjny Intel® implementuje etapy przetwarzania ruchu sieciowego downstream, przedstawione na rysunku nr 4 i opisane poniżej:

Odbiór (Rx) pakietów: Sterownik PMD zestawu DPDK odbiera ramki z portu karty sieciowej i wysyła je bezpośrednio do wątku downlink w celu rozpoczęcia przetwarzania pakietów bramy vBNG, opisanego w kolejnych krokach.

Listy kontroli dostępu (ACL): Biblioteka list kontroli dostępu (ACL) zestawu DPDK jest używana do stosowania uporządkowanej listy filtrów (np. masek lub zakresów) do ramek. Na tym etapie blokowane jest przekazywanie wsteczne.

Translacja NAT: Opcjonalnie wykonywana jest translacja NAT 44 w celu konwertowania adresów publicznych na adresy prywatne.

Zarządzanie ruchem sieciowym: Każdy pakiet jest przekazywany przez blok HQoS (Hierarchical QoS) w celu przypisania najwyższego priorytetu do ważnych pakietów podczas przesyłania ich do sieci dostępowej. Obsługiwany jest skalowalny pięciopoziomowy (port, port podrzędny, potok, klasa ruchu sieciowego i kolejki) system modyfikatorów i harmonogramów ruchu sieciowego, gwarantujących przepustowość dla różnych usług używanych przez abonentów. Każdy potok jest przypisywany do jednego abonenta.

Routing: Hermetyzacja sieci dostępowej jest usuwana z pakietów płaszczyzny danych, a następnie pakiety są kierowane do właściwego interfejsu sieci danych w celu transmisji. Wszelkie elementy hermetyzacji sieci dostępowej (np. VLAN lub PPPoE) są stosowane na tym etapie lub w bloku transmisji (Tx) pakietów.

Transmisja (Tx) pakietów: Sterownik trybu sondowania (PMD) zestawu DPDK wysyła serie klatek do portu karty sieciowej.

Propozycja i uzasadnienie nowej architektury

Aby efektywnie wdrożyć obciążenie robocze bramy BNG na serwerze ogólnego przeznaczenia, należy rozważyć następujące aspekty implementacji i architektury:

Implementacja modelu wykonania kompletnego (Run to Completion)

Jednym z najważniejszych aspektów, które należy rozważyć podczas projektowania bramy BNG opartej na oprogramowaniu, jest zapewnienie skalowalności wydajności zgodnie z wymaganiami opisanymi w niniejszej publikacji. Do bramy BNG należy przypisać minimalną liczbę zasobów wymaganych do obsługi bieżącej liczby aktywnych abonentów w danej porze dnia. Oznacza to, że konieczne jest skalowanie bramy BNG zależnie od bieżącego obciążenia roboczego.

Referencyjny potok bramy BNG Intel® wykorzystuje model wykonania kompletnego (Run to completion) do przetwarzania potoków uplink i downlink. Wszystkie funkcje potoku, wykonywane w odniesieniu do pakietu, są więc uruchamiane na tym samym rdzeniu. Zaletą takiego rozwiązania jest uniknięcie przemieszczania pakietów między rdzeniami, co umożliwia minimalizację wypadków braku pamięci podręcznej i ogólnego opóźnienia. Bezpośrednim rezultatem takiej konfiguracji jest brak możliwości skalowania indywidualnej instancji bramy vBNG poza pojedynczy rdzeń. Aby skalować poza pojedynczy rdzeń, należy utworzyć nową instancję bramy vBNG uruchomioną na innym rdzeniu. Karta sieciowa jest programowana (przy użyciu niestandardowych nagłówków obsługiwanych przez pakiet Comms DDP) na bieżąco w celu kierowania określonych abonentów do poszczególnych nowych indywidualnych instancji bramy vBNG (w sposób omówiony w dalszej części niniejszej publikacji).

Połączenie modelu wykonania kompletnego (Run to completion) z pojedynczą instancją bramy vBNG uruchomioną na pojedynczym rdzeniu eliminuje konieczność stosowania modułu harmonizującego w celu analizy operacji wewnętrznych aplikacji bramy vBNG do skalowania. Moduł harmonizujący może skalować wydajność, zwiększając lub zmniejszając liczbę rdzeni procesorów przypisanych do wdrożenia bramy BNG (pięć procesorów vCPU na instancję z aparatem K8s), co umożliwia liniowe skalowanie na danym serwerze. Moduł harmonizujący może optymalizować wykorzystanie zasobów po uzyskaniu informacji dotyczących liczby abonentów (dla znanego profilu ruchu sieciowego) obsługiwanej przez pojedynczą instancję rdzenia, zależnie od procesora.

Rozdzielenie przetwarzania ruchu sieciowego uplink i downlink

Użycie zasobów procesorów przez potoki uplink i downlink bramy BNG nie jest symetryczne, ponieważ ruch sieciowy downlink zazwyczaj wymaga większej liczby cykli na pakiet ze względu na większe rozmiary pakietów. Aby efektywnie zaplanować bramę BNG, potok referencyny Intel® rozdziela potoki uplink i downlink na dwie instancje kontenerów tworzone i obsługiwane oddzielnie. Ten podział zapewnia większą wszechstronność planowania i użycia zasobów procesorów. Na przykład można przypisać pełny rdzeń sprzętowy (dwa bliźniacze rdzenie wielowątkowe) do potoku downlink, podczas gdy potok uplink może wymagać tylko połowy rdzenia sprzętowego (jeden rdzeń wielowątkowy).

Przypisywanie pojedynczego połączenia wejścia/wyjścia do potoku

Potok referencyjny Intel® powinien być uruchomiony na serwerze płaszczyzny danych bramy BNG, podłączonym do podstawowego przełącznika na poziomie podstawowym, zapewniającego routing ruchu zarówno sieci dostępowej, jak i sieci danych. W takiej konfiguracji przełącznik kieruje ruch sieciowy uplink z portów sieci dostępowej do portów bramy BNG w celu przetwarzania i kieruje pakiety zwracane z potoków uplink bramy BNG do portów sieci danych. Kierunek przepływu jest odwrotny w przypadku ruchu sieciowego downlink. Jak wspomniano, natężenie ruchu sieciowego uplink zwiększa się z upływem czasu, ale nie przekracza jednej ósmej ruchu sieciowego downlink w sieci przewodowej. Brama BNG korzystająca z oddzielnych, dedykowanych portów fizycznych dla połączeń portów sieci dostępowej i sieci danych zazwyczaj nie wykorzystuje więc dostępnej przepustowości wejściowych/wyjściowych portów uplink. Udostępnianie portów fizycznych karty sieciowej dla ruchu sieciowego upstream i downstream umożliwia jednak pełne wykorzystanie przepustowości wejściowej/wyjściowej. W przypadku podziału instancji bramy vBNG na dwie oddzielne aplikacje potoków każda z nich obsługuje tylko ruch sieciowy w jednym kierunku. Cały ruch sieciowy jest kierowany do/od serwera przez prosty przełącznik L2, dlatego poszczególne potoki nie wymagają dedykowanych portów sieci dostępowej i sieci danych. Serwer wymaga tylko pojedynczego połączenia wejściowego/wyjściowego używanego do odbierania ruchu sieciowego z przełącznika i zwracania przetworzonego ruchu do przełącznika w celu przekazania.

Routing abonenckiego ruchu sieciowego do instancji bramy vBNG jest wykonywany przy użyciu dedykowanego połączenia SR-IOV (Single Root Input/Output Virtualization) umożliwiającego wysyłanie przychodzących pakietów do bramy vBNG zależnie od przełącznika SR-IOV (przy użyciu technologii DDP). Wirtualizacja SR-IOV umożliwia podział pojedynczego portu karty sieciowej i udostępnianie go wielu instancjom potoków z indywidualnymi portami wejściowymi/wyjściowymi to znaczy funkcją wirtualną (VF). Ponadto wirtualizacja SR-IOV umożliwia wszechstronne korzystanie ze sprzętowych kart sieciowych, na przykład przez dedykowanie karty wyłącznie dla ruchu sieciowego downlink lub udostępnianie jej zarówno ruchowi sieciowemu uplink, jak i downlink. Gdy karta sieciowa osiąga szybkość 100 gigabitów, można oczekiwać, że ruch sieciowy downlink i uplink będą korzystać z tej samej karty sprzętowej, a te zasady wpływają obecnie na architekturę wdrożenia bramy vBNG.

Równoważenie wejść/wyjść na serwerze

W przypadku serwerów dwugniazdowych połączenia wewnętrzne, takie jak PCH (Platform Controller Hub) i kontrolery SATA, są powszechnie podłączane do procesora CPU 0. Może to powodować nierównomierny rozkład przepustowości wejściowej/wyjściowej magistrali PCIe między procesorami i przypisanie większej przepustowości do procesora CPU 1. Aby zrównoważyć przepustowość, aplikacja Intel® vBNG uruchamia funkcje płaszczyzny sterowania na procesorze CPU 0, a funkcje płaszczyzny danych na procesorze CPU 1.

Gdy brama BNG jest wdrażana na serwerze ogólnego przeznaczenia, należy koniecznie upewnić się, że przepustowość wejściowa/wyjściowa umożliwia pełne wykorzystanie dostępnych zasobów procesorów na platformie (wyższy priorytet mają zasoby procesorów, a nie przepustowość wejściowa/wyjściowa). Technologia CUPS (Control and User Plane Separation)4 dla bramy BNG umożliwia dedykowanie całego serwera do obsługi płaszczyzny danych bramy BNG. Wszystkie operacje związane z przetwarzaniem danych ograniczono do pojedynczego gniazda, aby zapewnić odpowiednią efektywność, dlatego konieczne jest przydzielenie równej przepustowości wejściowej/wyjściowej do każdego gniazda w celu optymalizacji wydajności. Zapewnienie linii 2x16 lub 4x8 magistrali PCIe Gen4 (16 GT/s) dla każdego gniazda oznacza łączną przepustowość wejściową/wyjściową 800 Gb/s na serwer, równomiernie rozdzieloną na dwa gniazda (Dodatek zawiera informacje dotyczące konfiguracji serwera).

Rozdzielanie przepływów przy użyciu karty sieciowej

Jak wspomniano, dla każdej instancji bramy BNG konfigurowana jest liczba procesorów vCPU przetwarzających abonencki ruch sieciowy. Wymagany jest dystrybutor rozdzielający przepływy abonenckie na poszczególne procesory vCPU. Funkcję dystrybutora może pełnić oprogramowanie korzystające z dedykowanych rdzeni, jednak takie rozwiązanie ma kilka wad. Po pierwsze wydajność takiego dystrybutora może być niedostateczna, ponieważ wszystkie przepływy muszą być przetwarzane przez to oprogramowanie. Po drugie dedykowanie jednego lub kilku rdzeni dla dystrybutora powoduje ograniczenie liczby cykli procesorów dostępnych do obsługi rzeczywistego obciążenia roboczego bramy BNG i zmniejszenie liczby abonentów bramy obsługiwanych przez serwer.

Te wady można zniwelować, rozdzielając przepływy w karcie sieciowej na funkcje wirtualne VF SR-IOV lub kolejki sterownika PMD, aby wyeliminować obszar niedostatecznej wydajności oprogramowania, zmniejszyć opóźnienia w systemie oraz odzyskać dla bramy rdzenie i cykle procesorów używane przez dystrybutor.

Przypisywanie pojedynczego połączenia wejścia/wyjścia do potoku

Technologia DCF (Device Config Function)

Karta sieciowa Intel® Ethernet E810 obsługuje dystrybucję przepływów przy użyciu technologii DCF (Device Config Function). Technologia DCF konfiguruje reguły przepływów przy użyciu zaufanej funkcji wirtualnej (VF) umożliwiającej użytkownikom zachowanie funkcji sprzętowej (PF) SR-IOV powiązanej ze sterownikiem Linux do zarządzania i zbierania metryk (rys. 8). Rozdzielając przepływy w karcie sieciowej Intel® Ethernet E810, należy pamiętać, że przepływy są przydzielane do funkcji VF przy użyciu przełącznika SR-IOV i są przydzielane do kolejek przy użyciu technologii FDIR (Flow Director) lub RSS (Receive Side Scaling). We wdrożeniu bramy BNG przepływy są rozdzielane przy użyciu funkcji wirtualnych (VF), dlatego tę metodę omówiono w niniejszej publikacji. Technologie RSS i FDIR omówiono w innych szczegółowych raportach firmy Intel dotyczących telekomunikacji.

Dynamiczna personalizacja urządzeń (DDP)

Oprócz technologii DCF dostępna jest dynamiczna personalizacja urządzeń (DDP)5 umożliwiająca filtrowanie przy użyciu przełącznika SR-IOV według większej liczby typów nagłówka pakietu niż w konfiguracji domyślnej bez konieczności ponownego wczytywania obrazu sieciowej maszyny wirtualnej (NVM) kontrolera Ethernet. W przypadku wdrożenia aplikacji BNG używany jest pakiet dynamicznej personalizacji urządzeń (DDP) dla telekomunikacji (Comms). Po dodaniu tego pakietu kontroler Ethernet może kierować ruch sieciowy na podstawie pól nagłówka protokołu PPPoE do funkcji wirtualnej (VF) odciążenia płaszczyzny sterowania. Profil PPPoE DDP umożliwia karcie sieciowej kierowanie pakietów do określonych funkcji wirtualnych (VF) i kolejek na podstawie unikalnych pól nagłówka protokołu PPPoE (opisanych w następnej sekcji).

Przekazywanie pakietów płaszczyzny sterowania

W przypadku ruchu sieciowego płaszczyzny sterowania, takiego jak konfiguracja sesji protokołu PPPoE lub pakiety sterowania łączami PPPoE, płaszczyzna danych bramy BNG musi identyfikować i przekazywać te pakiety do płaszczyzny sterowania w celu przetwarzania. W tradycyjnej bramie BNG płaszczyzny sterowania i danych znajdują się w tym samym miejscu, a lokalna kolejka oprogramowania jest używana do przenoszenia pakietów między tymi płaszczyznami. Po opracowaniu technologii CUPS płaszczyzna sterowania i odpowiednia płaszczyzna danych zazwyczaj znajdują się w różnych lokalizacjach fizycznych w sieci. W takiej konfiguracji płaszczyzna danych bramy BNG musi przekazywać pakiety sterowania do płaszczyzny sterowania, generując fizyczne łącze przekazujące.

Funkcja HQoS

Funkcja HQoS (Hierarchical QoS) jest implementowana w potoku downlink bramy vBNG. Zapewnia ona zachowanie priorytetów podczas planowania transmisji ruchu sieciowego w potoku sieci dostępowej o ograniczonej przepustowości z sieci podstawowej do abonenta oraz efektywne udostępnianie wszystkim użytkownikom dostępnej przepustowości na danym porcie. Moduł planujący HQoS można implementować w karcie sieciowej, jeżeli taka konfiguracja jest obsługiwana, lub jako funkcję oprogramowania w potoku przetwarzania pakietów przed funkcją transmisji. Jak wspomniano, każdy potok downlink ma pojedyncze połączenie z funkcją wirtualną (VF) dla wejścia/wyjścia. Poniżej opisano trzy modele implementowania funkcji HQoS:

Model wyłącznie programowy

Model wyłącznie programowy implementuje moduł planujący HQoS tylko w oprogramowaniu. Jak przedstawiono na rysunku nr 12, do każdego potoku downlink bramy vBNG przydzielona jest część ogólnej przepustowości portu, a jego ruch sieciowy jest kształtowany zgodnie z tą częścią. Zaletą tej metody jest eliminacja konieczności obsługi sprzętowej i możliwość skalowania instancji modułu planującego HQoS zgodnie z potokami przetwarzania pakietów ruchu sieciowego downlink. Wadą tej metody jest brak możliwości udostępnienia innej instancji bramy vBNG przepustowości, która nie została wykorzystana w danej instancji, co może powodować nieoptymalne użycie przepustowości portów.

Model hybrydowy sprzętowo-programowy

Model hybrydowy jest używany wówczas, gdy zasoby karty sieciowej (np. kolejki lub węzły planowania/kształtowania ruchu sieciowego) są niedostateczne i nie można w pełni zaimplementować modułu planowania HQoS. W tym modelu każda instancja bramy BNG implementuje niektóre poziomy hierarchii planowania/kształtowania w oprogramowaniu, a pozostałe poziomy są implementowane w karcie sieciowej. Podział hierarchii na oprogramowanie i sprzęt jest zależny od liczby zasobów karty sieciowej. Zaletą tego modelu jest możliwość udostępniania innym instancjom bramy BNG przepustowości, która nie została wykorzystana w danej instancji.

Model pełnego odciążenia funkcji HQoS

Model pełnego odciążenia funkcji HQoS wymaga karty sieciowej, która może wykonywać wszystkie operacje związane z przetwarzaniem HQoS dla wszystkich instancji bramy vBNG. Najważniejszą zaletą tego modelu jest odseparowanie procesora od funkcji HQoS i zwolnienie jego cyklów dla innych bloków potoku. Proponowana architektura bramy vBNG obsługuje wszystkie trzy modele, zależnie od wydajności sprzętu.

Harmonizowanie bramy BNG

Architektura bramy vBNG proponowana w tej publikacji nie ogranicza metody wirtualizacji instancji bramy vBNG. Na przykład można używać pełnej wirtualizacji przy użyciu maszyny wirtualnej (VM) lub kontenerów Linux. Gdy brama vBNG składa się z dwóch indywidualnych potoków, lepszym rozwiązaniem jest wdrożenie ich w oddzielnych kontenerach, ponieważ ta opcja wirtualizacji wymaga mniejszej ilości zasobów niż wdrożenie w maszynach wirtualnych. Ponadto kontenery umożliwiają szybsze inicjowanie i odzyskiwanie instancji w konwencji wdrożeń sieciowych z wymaganym wysokim poziomem dostępności. W przypadku wdrożenia instancji bramy vBNG zarówno w aplikacji referencyjnej, jak i niniejszej publikacji, para kontenerów jest uruchamiana przez silnik harmonizujący Kubernetes. W tej sekcji omówiono realizację tego modelu w ogólnej konwencji macierzystej sieciowej funkcji chmurowej (CNF). Dwa najważniejsze czynniki wpływające na projektowanie i wdrażanie bramy vBNG to architektura procesora i natywna sieć chmurowa. W opisanej wcześniej technologii CUPS płaszczyzny sterowania i danych są traktowane jak niezależne jednostki komunikujące się przy użyciu skonfigurowanego interfejsu API. W tej sekcji omówiono przede wszystkim realizację natywnej sieci chmurowej o dużej przepustowości przez bramę vBNG. Inne raporty dotyczące sieci przewodowych Intel® zawierają też odniesienia do następujących konwencji, z którymi muszą być zgodne aplikacje telekomunikacyjne uznawane za funkcje CNF:

  • Wysoka sprawność — funkcja CNF musi wykorzystywać funkcje EPA (Enhanced Platform Awareness) zapewniające małe opóźnienia i dużą przepustowość.
  • Łatwe rozmieszczanie — funkcja CNF musi być przystosowana do wszechstronnego rozmieszczania na dowolnej platformie zgodnej z funkcjami EPA i mieć charakter rodzajowy w odniesieniu do bazowej infrastruktury EPA.
  • Zarządzanie cyklem obsługi — korzystając z kontrolerów obsługujących automatyczną telemetrię, funkcja CNF musi gwarantować skalowanie zasobów przy wzroście obciążeń roboczych i zwalnianie zasobów przy spadku obciążeń roboczych.
  • Wysoka dostępność — funkcja CNF musi zawsze zapewniać wysoki poziom dostępności (HA) dla wymaganego obciążenia roboczego dzięki architekturze komponentów wyjątkowo odpornej na awarie zgodnie z umową dotyczącą dostępności usług przy prawie zerowym wskaźniku przestojów. Funkcja CNF musi też zgodnie ze schematem HA utrzymywać interfejsy umożliwiające szybkie i proste uaktualnianie bez niekorzystnego wpływu na świadczoną usługę.
  • Monitorowanie — funkcja CNF musi udostępniać wszystkie metryki sieciowe i wykonawcze dla obciążeń roboczych za pośrednictwem łatwej w obsłudze platformy umożliwiającej szybkie debugowanie i modyfikowanie sieci.

Wdrożenie płaszczyzny danych

Wdrożenie bramy vBNG jest zgodne z rygorystycznym modelem mikrousług, w którym każdy element wdrożenia aplikacji jest rozdzielony na najmniejsze, elementarne jednostki, których wykonanie nie powoduje ograniczenia wydajności. Pełne wdrożenie płaszczyzny danych (nie płaszczyzny sterowania) składa się z trzech komponentów:

  • Zarządzenie płaszczyzną danych bramy BNG
    • Ten komponent jest interfejsem między płaszczyzną sterowania a płaszczyzną danych w pełnym wdrożeniu CUPS.
    • Zadania tego komponentu:
      • Odbieranie konfiguracji płaszczyzny danych (PFCP Agent)
      • Konfigurowanie i przechowywanie konfiguracji płaszczyzny danych (etcd)
      • Odbieranie danych telemetrycznych od instancji płaszczyzny danych
      • Zarządzanie skalą punktów wdrożenia (PoD)/instancji bramy vBNG
  • Płaszczyzna danych bramy BNG
    • Jak wspomniano zadania tego komponentu są następujące:
      • Punkty wdrożenia (PoD) bramy vBNG przekazujące ruchu sieciowy Uplink i Downlink
      • Agent Telnet etcd (ten agent jest używany przez komponent zarządzania płaszczyzną danych bramy BNG i płaszczyznę danych BNG, ale fizycznie jest wdrożony w płaszczyźnie danych).
  • infrastrukturę
    • ​Ten komponent wykorzystuje procesor aparatu K8s i menedżerów urządzeń do zapewniania wszystkich funkkcji EPA wymaganych zgodnie ze specyfikacją funkcji CNF do dużej wydajności funcjonalnej.
    • Zadania tego komponentu:
      • Kubelet K8s (zarządza stanem kontenera węzła)
      • Menedżer procesorów K8s (zapewnia ekskluzywne procesory vCPU dla kontenerów bramy vBNG)
      • Moduł urządzenia SRIOV (zapewnia funkcje wirtualne SR-IOV na żądanie dla kontenerów bramy vBNG)
      • Menedżer topologii (zapewnia zgodność zasobów otrzymanych od hosta z topologią NUMA)
      • Ujednolicony pakiet przepływów (UFS, Unified Flow Stack) wykorzystujący technologie DCF i DDP do konfigurowania reguł przełącznika SR-IOV umożliwiających skalowanie na podstawie pól nagłówka abonenta)

Wdrożenie płaszczyzny sterowania

Płaszczyzna sterowania we wdrożeniu bramy BNG została opracowana przez firmę BiSDN. Ten komponent wdrożenia bramy BNG jest również jednostką kontenerową zgodną z architekturą mikrousług. W przypadku wdrożenia bramy BNG płaszczyzna sterowania może znajdować się w tym samym klastrze, w którym znajduje się komponent zarządzania płaszczyzną danych (BNGDP) i płaszczyzna danych bramy BNG, lub w oddzielnym zdalnym klastrze zarządzającym wieloma klastrami bramy BNG. W przypadku wdrożenia w tym samym klastrze ten komponent korzysta z interfejsów sieci kontenerowej (CNI) używanych przez pozostałe komponenty bramy BNG (rys. 16). Jeżeli inżynier sieci wymaga umieszczenia płaszczyzny sterowania bramy BNG w klastrze zdalnym, zazwyczaj konfiguruje komponent taki jak kontroler wejściowy K8s w klastrze płaszczyzny danych, aby zapewnić regulację i równoważenie obciążenia związanego z dostępem zewnętrznej płaszczyzny sterowania bramy BNG oraz umożliwić agentowi DPPFCP odbieranie i analizowanie komunikatów.

Omówienie wdrożenia

Łącząc wszystkie omówione komponenty proponowanej architektury, można opracować skalowalne, harmonizowane rozwiązanie BNG zgodne z technologią CUPS, efektywnie wykorzystujące wejścia/wyjścia i zasoby komputerowe serwera wyposażonego w skalowalne procesory Intel®. Takie rozwiązanie ułatwia dostawcom usług telekomunikacyjnych (CoSP) oferowanie coraz większej przepustowości przy niskim koszcie w modelu opisanym na początku niniejszej publikacji. Na rysunku nr 17 przedstawiono ogólny diagram pełnego wdrożenia CUPS oraz wejściowy i wyjściowy ruch sieci szerokopasmowej.

Testy porównawcze6

Pomiary wydajności bloków potoków wyróżnionych niebieskim kolorem wykonano na serwerze dwugniazdowym z włączoną funkcją Intel® HT (Hyper-Threading) oraz wyłączonymi funkcjami Enhanced Intel SpeedStep® i Intel® Turbo Boost. Ten sam profil ruchu sieciowego zastosowano do wszystkich instancji (4000 przepływów, downlink/uplink, rozmiar pakietu 650 bajtów) i wykonano pomiar łącznej przepustowości (downlink+uplik) we wszystkich instancjach. Opcjonalnie bloki wyróżnione szarym kolorem nie były włączone.

Mierzono przepustowość serwera wyposażonego w skalowalne procesory Intel® Xeon® trzeciej generacji 6338N, na którym uruchomiono kontenerowe instancje bramy vBNG. Przepustowość była bardzo efektywnie skalowana przy wdrażaniu od czterech do trzydziestu dwóch instancji bramy vBNG z przyrostem czterech instancji.

Przy wdrożeniu trzydziestu instancji zmierzono przepustowość 661 Gb/s zgodnie z metodologią testową RFC2544 z utratą 0,001% pakietów . Ten wynik uzyskano przy 96 rdzeniach przetwarzających dane (1,5 rdzenia na instancję przy trzydziestu dwóch instancjach). Aplikacja bramy BNG używała wyłącznie lokalnych zasobów gniazda. Potwierdzono powiązanie z wejściami/wyjściami i brak powiązania z procesorami.

Wyniki pomiarów uzyskano w konfiguracji „Docker Only” bez użycia aparatu K8s do skalowania instancji.

Podsumowanie

Przydatność urządzeń sieciowych z wirtualizacją NFV, uruchamianych na serwerach ogólnego przeznaczenia, jest zależna do zdolności do efektywnej kosztowo obsługi nieustannie zwiększającego się natężenia ruchu sieciowego. W tej publikacji omówiono uwarunkowania architektoniczne i wyniki testów porównawczych, potwierdzające duży potencjał przetwarzania pakietów przy użyciu wirtualizacji funkcji sieciowych (NFV). Ponadto dostawcy usług telekomunikacyjnych (CoSP) mogą zapewniać łączność sieciową i nowe usługi z warstwy brzegowej sieci dzięki połączeniu bramy BNG z odpowiednimi rozwiązaniami. Korzyści wynikające z analizy procesu tworzenia i wdrażania wirtualnych funkcji sieciowych:

  1. Wyrażanie wydajności liczbą rdzeni zapewniających prawie liniowe zwiększanie przepustowości dla ruchu sieciowego uplink i downlink zamiast liczby maszyn wirtualnych lub kontenerów
  2. Utworzenie modelu niezależnego od architektury wirtualnych funkcji sieciowych (VNF) (tzn. maszyny wirtualnej lub urządzenia sprzętowego)
  3. Ustalenie deterministycznej ceny modelu bazowego niezależnie do wskaźnika CAGR
  4. Wyższy poziom dostępności sieci dzięki przekształceniu systemów monolitycznych w systemy rozproszone ułatwiające dostawcom usług telekomunikacyjnych (CoSP) zarządzanie domenami usterek, ograniczanie obszarów zagrożenia oraz minimalizację przeciążenia połączeń i przestojów
  5. Utworzenie wielofunkcyjnej infrastruktury warstwy brzegowej sieci obsługującej wirtualizację funkcji sieciowych (NFV) i usługi

Nie można wyrazić wydajności bramy BNG pojedynczym wynikiem pomiarów. Konieczne jest uwzględnienie lokalizacji sieci, zagęszczenia abonentów, przeciętnej przepustowości na abonenta i wskaźnika CAGR ruchu sieciowego w cyklu wdrożenia. Architektura bramy vBNG przedstawiona w niniejszej publikacji umożliwia dostawcom usług telekomunikacyjnych (CoSP) modelowanie przepustowości dla ruchu sieciowego uplink i downlink oraz przewidywalne i niezawodne skalowanie funkcji płaszczyzn sterowania i użytkownika niezależnie na serwerach ogólnego przeznaczenia.

* Wszystkie funkcje wirtualne (VF) są powiązane z modułem igb_uio do użytku aplikacji.
** Podano maksymalny rozmiar ramki w dowolnym punkcie przetwarzania
(np. ruch sieciowy uplink 128 bajtów = 120 bajtów + (2 × 4 bajty tagów dostępu VLAN))

Informacje o produktach i wydajności

1„Cisco Visual Networking Index: Prognozy i trendy; Szczegółowy raport za lata 2017–2022”; 27 lutego 2019; str. https://www.cisco.com/c/en/us/solutions/collateral/service-provider/visual-networking-index-vni/white-paper-c11-741490.html#_Toc484813985
2Testy porównawcze i funkcjonalne (zwane dalej „testami”) umożliwiają ocenę różnych aspektów funkcjonowania procesorów lub systemów. Pojedynczy wynik pomiarów nie zapewnia pełnego opisu funkcjonowania urządzenia takiego jak mikroprocesor lub komputer osobisty, jednak testy są przydatnymi narzędziami umożliwiającymi porównanie komponentów i systemów. Jedyną precyzyjną metodą pomiaru funkcjonowania systemu jest jednak testowanie aplikacji używanych w danym systemie komputerowym. Firma Intel publikuje wyniki testów porównawczych określonych systemów lub komponentów w wybranych konfiguracjach (łącznie z oprogramowaniem) różniących się od konfiguracji komponentów lub systemów użytkowników.
3„Cisco Visual Networking Index: Prognozy i trendy; Szczegółowy raport za lata 2017–2022”; 27 lutego 2019; str. 2
4„Architektura separacji płasczyzn sterowania i użytkownika w bramie BNG”, https://datatracker.ietf.org/doc/draft-wadhwa-rtgwg-bng-cups/
5„Karta sieciowa Intel® Ethernet z serii 800 — dynamiczna personalizacja urządzenia (DDP) dla obciążeń telekomunikacyjnych” https://builders.intel.com/docs/networkbuilders/intel-ethernet-controller-800-series-device-personalization-ddp-for-telecommunications-workloads-technology-guide.pdf
6Testy porównawcze i funkcjonalne (zwane dalej „testami”) umożliwiają ocenę różnych aspektów funkcjonowania procesorów lub systemów. Pojedynczy wynik pomiarów nie zapewnia pełnego opisu funkcjonowania urządzenia takiego jak mikroprocesor lub komputer osobisty, jednak testy są przydatnymi narzędziami umożliwiającymi porównanie komponentów i systemów. Jedyną precyzyjną metodą pomiaru funkcjonowania systemu jest jednak testowanie aplikacji używanych w danym systemie komputerowym. Firma Intel publikuje wyniki testów porównawczych, które zostały uzyskane dla określonych systemów lub komponentów w wybranych konfiguracjach sprzętu i oprogramowania, dlatego nie mają zastosowania do komponentów lub systemów użytkownika w innych konfiguracjach (łącznie z oprogramowaniem). Wydajność różni się w zależności od użytkowania, konfiguracji i innych czynników. Dowiedz się więcej na stronie www.Intel.com/PerformanceIndex. Wyniki są oparte na testach z dni wskazanych w konfiguracjach i mogą nie uwzględniać wszystkich publicznie dostępnych aktualizacji. Szczegóły dotyczące konfiguracji można znaleźć w materiałach dodatkowych. Żaden produkt ani komponent nie jest całkowicie bezpieczny. Rzeczywiste koszty i wyniki mogą się różnić. Technologie firmy Intel mogą wymagać obsługującego je sprzętu, oprogramowania lub aktywacji usług.