Laboratorium Zarządzania Janusz Granat, Wojciech Szymak
Laboratorium Zarządzania Laboratorium Zarządzania obejmuje infrastrukturę do prowadzenia badań eksperymentalnych nad nowoczesnymi rozwiązaniami dotyczącymi zarządzania sieciami teleinformatycznymi.
Problemy badawcze - przykłady 5G AGM (Agile Management Frameworks) Redukcja czynności manualnych przy zarządzaniu sieciami (wspomaganie pracy administratorów sieci) Sieci samoorganizujące się(e.g. Self-organising networks SON, Automated Network Organisation - ANO) SLM (Service Level Management), pomiary jakości usług i infrastruktury sieciowej Powiązanie sieci SDN(Software Network Management) z autonomicznym zarządzaniem zasobami SDN SDN dla chmur obliczeniowych (e.g. Dynamic Graph Query Primitives for SDN-based Cloud Network Management) Analiza danych w czasie rzeczywistym na potrzeby zarządzania 3
Zakres tematyczny eksperymentów Laboratorium zarządzania umożliwia prowadzenie szerokiego zakresu eksperymentów dotyczących między innymi: metod zarządzania dla sieci sterowanych programowo SDN algorytmów i metod zarządzania zasobami metod wymiarowania i optymalizacji w połączeniu z automatyczna konfiguracją zasobów analizy i testowania algorytmów w oparciu o narzędzia symulacyjne badania wydajności różnych kontrolerów SDN i elementów płaszczyzny danych współpracy różnych platform sprzętowych i programowych SDN
Wyposażenie Laboratorium Zarządzania Laboratorium oferuje szeroki zakres urządzeń: przełącznik Bare Metal: 1x QuantaMesh BMS T1048-LB9 przełącznik SDN/OpenFlow: 1x Pica8 P-3297 serwery wirtualizacyjne: platforma sprzętowa: 5x HP ProLiant DL380 Gen9 platforma wirtualizacyjna: Ubuntu Server + KVM serwery wieloprocesorowe z obsługą DPDK (Data Plane Development Kit): platforma sprzętowa: 2x HP ProLiant DL380 Gen9 2x HP Ethernet 10Gb 2-port 560SFP+ Adapter 2x HP Ethernet 1Gb 4-port 366T Adapter 1x HP Ethernet 1Gb 4-port 366FLR Adapter serwer infrastruktury VDI (Virtual Desktop Infrastructure): platforma sprzętowa: Dell PowerEdge R730 platforma wirtualizacyjna: Windows Server 2012 R2 Datacenter / Hyper-V serwery z kartami FPGA: 4x NetFPGA-1G / Xilinx Virtex-II Pro 50 serwer NAS (archiwizacja eksperymentów): QNAP TS-EC1280U terminale VDI: 4x Dell Wyse 7020 Laboratorium Zarządzania - serwerownia
Eksperyment Badanie stabilności i wydajności sieci złożonej z różnych wersji przełącznika programowego Open vswitch w heterogenicznym środowisku sprzętowym złożonym z: węzłów fizycznych SDN: oprogramowanie przełącznika: Open vswitch 2.3.0 węzłów wirtualnych SDN: oprogramowanie przełącznika: Open vswitch 2.5.0 emulowanych sieci SDN: oprogramowanie emulatora: Mininet 2.2.1 oprogramowanie przełącznika: Open vswitch 2.5.0 emulowane urządzenia: przełączniki OpenFlow hosty (serwery / terminale) kontrolera SDN: oprogramowanie kontrolera: Ryu 3.3 http://openvswitch.org/ http://mininet.org/ https://osrg.github.io/ryu/
Płaszczyzna zarządzania całość eksperymentu zarządzana zdalnie z maszyny zarządzającej (lub kontrolera) zdalne tworzenie przełączników na węzłach fizycznych i wirtualnych (ovs-vsctl) zdalne tworzenie całych emulowanych w Mininet sieci (Mininet ITL REST API): tworzenie i parametryzacja węzłów tworzenie i parametryzacja łączy podłączanie węzłów do interfejsów fizycznych uruchamianie i zatrzymywanie emulacji uruchamianie procesów na węzłach
Platforma sprzętowo-programowa Eksperyment zrealizowano na następujących platformach sprzętowych i programowych: węzły fizyczne SDN: platforma sprzętowa: Pica8 P-3297 system operacyjny przełącznika: PicOS 2.7.3 węzły wirtualne SDN: platforma sprzętowa : HP ProLiant DL380 Gen9 wirtualizacja: Ubuntu Server 14.04.1, KVM 2.0.0 system operacyjny przełącznika: Ubuntu Server 16.04.4 sieci emulowane SDN: platforma sprzętowa : HP ProLiant DL380 Gen9 system operacyjny emulatora: Ubuntu Server 16.04.4 kontrolera SDN: platforma sprzętowa : HP ProLiant DL380 Gen9, system operacyjny kontrolera: Ubuntu Server 16.04.4 HP ProLiant DL380 Gen9 Pica8 P-3297
Topologia sieci Fizyczna Logiczna Kontroler SDN (VM) srv21.il (Mininet) sdnsrv11.il Pica8 P-3297 sdnsw10.il srv22.il (Open vswitch VM) srv24.il (Open vswitch VM) srv25.il (Mininet) srv23.il (Mininet)
Tworzenie forwarderów Maszyna zarządzająca Mininet ITL REST API Węzeł emulatora ovs-vsctl Uruchomienie węzła fizycznego na platformie Pica8 P-3297 Uruchomienie węzła wirtualnego na platformie HP ProLiant DL380 Gen9
Forwardowanie ruchu Prosty mechanizm przełączania: implementuje przełącznik uczący się działa w płaszczyźnie sterowania (kontroler SDN) obsługuje pętle w sieci nie obsługuje zmiany topologii zapisuje reguły w forwarderze Przykładowy algorytm: Inicjalizacja (dla każdego przełącznika): // zainicjuj słownik z mapowaniem adresu mac na numer portu mac_to_port[dpid] = {} // zapamiętaj adresy własne przełączników switch_mac[dpid][mac] = port_no akcje po otrzymaniu pakietu: // switch nie zna adresu źródła If eth_src not in mac_to_port[dpid] then // zapamiętaj port z którego przyszedł mac_to_port[dpid] = in_port // pakiet wysłany przez switch wrócił (pętla) if eth_src in switch_mac[dpid]: DROP // add-flow // pakiet od hosta eth_src otrzymano na innym porcie niż za pierwszym razem else if mac_to_port[dpid][eth_src]!= in_port: // switch nie zna jeszcze adresu docelowego // (nie otrzymał nigdy pakietu od hosta, który jest celem // aktualnie przetwarzanego pakietu) if eth_dst not in mac_to_port[dpid]: DROP // add-flow // switch zna adres docelowy if eth_dst in mac_to_port[dpid]: Out_port = mac_to_port[dpid][eth_dst] OUTPUT: out_port // add-flow else: OUTPUT: FLOOD
Podgląd kontrolera
Podgląd ruchu
Wydajność forwardowania reguły przełączania ustawione na forwarderach przed rozpoczęciem testu kontroler nie bierze aktywnego udziału w teście ruch testowy: generowany przez iperf3 wielkość ramki: 1538 bajtów (L1 z IFG) wyłączone mechanizmy offloadingu (TSO, GSO, GRO) szybkość generowania: UDP: 1.005 Gbps (L1) TCP: max różne typy i długości ścieżek: ścieżki między serwerami srv-3x oraz terminalami h-3x nie wychodzą poza Mininet pozostałe przechodzą przez fizyczne łącze 1Gbps Zawartość ramki: ethernet + IPv4 + UDP + data Klient (src) Klient (src) UDP Serwer (dst) [L1 Mbps] srv-34 srv-35 srv-51 srv-52 srv-53 h-11 988 992 990 990 987 h-12 989 994 990 989 990 h-13 990 991 988 988 991 h-14 994 991 991 991 985 h-15 991 993 993 992 989 h-31 1003 1004 998 996 995 h-32 1003 1002 998 988 995 h-33 1001 1000 997 995 996 Zawartość ramki: ethernet + IPv4 + TCP + data TCP Serwer (dst) [L3 Mbps] srv-34 srv-35 srv-51 srv-52 srv-53 h-11 876 874 867 856 891 h-12 865 878 842 853 889 h-13 909 847 802 826 882 h-14 797 769 891 856 849 h-15 791 835 816 856 806 h-31 2038 2420 857 916 898 h-32 1938 2218 884 864 886 h-33 2803 2261 842 873 905
Wydajność forwardowania (action=controller) brak stałych reguły przełączania kontroler bierze aktywny udział w teście każdy pakiet obsługiwany na kontrolerze ruch testowy: generowany przez iperf3 wielkość ramki: 1538 bajtów (L1 z IFG) wyłączone mechanizmy offloadingu (TSO, GSO, GRO) szybkość generowania: UDP: adaptacyjnie TCP: max różne typy i długości ścieżek: ścieżki między serwerami srv-3x oraz terminalami h-3x nie wychodzą poza Mininet pozostałe przechodzą przez fizyczne łącza 1Gbps Zawartość ramki: ethernet + IPv4 + UDP + data Klient (src) Klient (src) UDP Serwer (dst) [L1 Mbps] srv-34 srv-35 srv-51 srv-52 srv-53 h-11 6.57 7.01 8.45 7.81 5.62 h-12 6.56 7.01 8.44 7.82 5.61 h-13 9.52 7.82 6.46 13.02 7.72 h-14 7.74 5.47 7.84 9.79 9.96 h-15 8.04 6.84 8.17 9.86 7.70 h-31 12.02 20.51 12.18 10.21 8.11 h-32 11.96 20.73 8.48 7.58 10.03 h-33 31.36 20.82 6.41 9.99 6.49 Zawartość ramki: ethernet + IPv4 + TCP + data TCP Serwer (dst) [L3 Mbps] srv-34 srv-35 srv-51 srv-52 srv-53 h-11 4.36 0.54 0.75 4.97 3.36 h-12 3.68 0.60 0.74 5.06 3.47 h-13 5.37 4.88 0.65 8.39 4.67 h-14 4.55 0.53 5.11 5.91 6.13 h-15 4.86 0.60 0.76 6.31 4.91 h-31 7.64 12.00 0.97 5.82 4.36 h-32 7.50 12.13 0.74 5.01 5.95 h-33 25.4 12.60 0.60 6.14 4.01
Wydajność forwardowania (action=controller) Uzyskana przepływność dla TCP na różnych typach ścieżek w zależności od długości ścieżki: 30 25 Przepływność [L1 Mbps] 20 15 10 5 Mininet Pica8 Virtual 0 1 2 3 4 5 6 7 Długość ścieżki
Wydajność forwardowania brak stałych reguły przełączania kontroler bierze aktywny udział w teście każdy pakiet obsługiwany na kontrolerze ruch testowy: generowany przez iperf3 zawartość ramki: ethernet + IPv4 + UDP + data wielkość ramki: 1538 bajtów (L1 z IFG) wyłączone mechanizmy offloadingu (TSO, GSO, GRO) szybkość generowania: zgodnie z tabelą predefiniowany flow: h-11 (Mininet) sw-12 (Mininet) sw-11 (Mininet) sw-01 (Pica-8) sw-51 (Mininet) srv-51 (Mininet) (action=controller) Analiza ścieżki przechodzącej przez Pica8 Szybkość generowania (klient) [L1 Mbps] Szybkość odbierania (serwer) [L1 Mbps] Liczba ramek które dotarły Liczba ramek które nie dotarły Procent strat 0,1 0,104 509 0 0,0% 0,2 0,130 632 385 37,9% 0,4 0,268 1305 730 35,9% 0,6 0,374 1822 1230 40,3% 0,8 0,490 2389 1680 41,3% 1,0 0.639 3114 1973 38,8% 2,1 1,525 7436 2738 26,9% 3,1 2,225 10848 4412 28,9% 4,2 3,072 14980 5367 26,4% 5,2 3,845 18751 6683 26,3% 6,3 4,101 19997 10524 34,5% 7,3 5,397 26320 9287 26,1% 8,3 5,871 28628 12066 29,7% 9,4 7,013 34200 11581 25,3% 10,4 7,807 38070 12798 25,2% 11,5 8,373 40833 15121 27,0% 11,7 8,639 42127 14845 26,1% 12,0 8,793 42878 15619 26,7% 12,3 8,571 41796 18222 30,4% 12,5 8,483 41365 19626 32,2% 13,6 7,862 38340 27767 42,0% 14,6 7,475 36453 34753 48,8% 15,6 6,993 34099 42202 55,3% 20,9 5,775 28066 73655 72,4% 52,0 1,133 5524 248115 97,8% 104,2 0,905 4414 503691 99,1% 208,0 0,623 3039 1011177 99,7% 521,6 0,390 1903 2541772 99,9% 1032,0 0,195 952 5034833 ~100,0%
Wydajność forwardowania 50000 45000 40000 35000 (action=controller) Analiza ścieżki przechodzącej przez Pica8 Straty przy forwardowaniu przez kontroler dla ścieżki przechodzącej przez przełącznik Pica8: liczba ramek 30000 25000 20000 15000 10000 5000 0 0,1 1 10 100 1000 Szybkość bitowa generowanego strumienia [L1 Mbps] Ilość liczba ramek które dodarły dotarły Ilośc liczba ramek które nie nie dotarły