Pomiary i analiza ruchu sieciowego. Wirtualizacja Sieci, NFV. PCE. Sieci Sterowane Programowo Grzegorz Rzym
Agenda» Pomiar ruchu w sieciach» Analiza ruchu» Wirtualizacja sieci» NFV» PCE a SDN
Pomiar ruchu
Zastosowanie pomiarów» Biling» Inżynieria ruchu» Monitorowanie QoS Dostarczanie metryk, negocjowanych także w SLA Mapowanie QoS/QoE» Planowanie sieci» Wykrywanie ataków (dostarczanie informacji o nietypowych sytuacjach/zachowania użytkowników sieci)
Kto dokonuje pomiarów?» Użytkownicy Monitorowanie wydajności aplikacji Monitorowanie wydajności end-to-end» Operatorzy QoS oraz SLA Biling Projektowanie sieci oraz ich aktualizacje (upgrade) Zajętość łączy, błędy i straty pakietów, opóźnienia SLA» Producenci sprzętu Sprawdzanie/ulepszanie urządzeń» Naukowcy Aby lepiej zrozumieć fenomen działania sieci
Tryb Typy pomiarów» Tryb pomiaru: aktywny oraz pasywny» Lokalizacja pomiaru: pojedynczy punkt oraz wielopunktowa obserwacja Aktywny + w jednym punkcie Pasywny + w jednym punkcie Aktywny + w wielu punktach Pasywny + w wielu punktach Lokalizacja
Tryb: Pomiary pasywne» Brak wpływu na działanie sieci» Ogromna ilość danych do analizy Sampling Kompresja danych» Metody zbierania danych Kopiowanie pakietów Pasywny podsłuchiwanie Przejście przez dedykowane urządzenie
Cele pasywnych pomiarów» Chrakteryzowanie procesów pojawiania się Pakietów, przepływów, aplikacji, użytkowników» Monitorowanie stanu sieci» Tworzenie profili ruchowych» Ogólne pomiary Wykorzystanie zasobów, trendy, itp. Zliczanie użytkowników, dystrybucja protokołów, itp.
Tryb: Pomiary aktywne» Potrzeba wstrzykiwania ruchu do sieci -> może prowadzić do przeciążeń» Pomiary: Przepustowości, opóźnień, strat, itp.» Metody End-to-end Hop-by-hop Link-by-link
Cele aktywnych pomiarów» Obecny (chwilowy stan sieci) Estymacja dostępnej przepustowości Chwilowe starty pakietów Opóźnienia w sieci Obecny status ruting (tras)» Pomiary SLA
Lokalizacja: Pomiary w jednym punkcie sieci» Umożliwiają analizę: Zawartości wielkości przepływności RTT Zliczanie zdarzeń, IAT» Analiza zawartości pakietów pozwana na identyfikowanie Protokołów Aplikacji
Lokalizacja: Pomiary wielopunktowe» Pomiary w dwóch lub większej liczbie punktów umożliwiają analizę: Opóźnień Matryc ruchu Z uwzględnieniem kierunku ruchu Rutingu (tras) Synchronizację zegarów
Zagrożenia» Wrażliwość danych Pola nagłówka IP identyfikują użytkownika sieci, numer portu -> wykorzystywana aplikacja Dane zawarte w ładunku (payloadzie) wiadomości» Problemy z prywatnością Klucze, hasła, wiedza o istniejących połączeniach» Możliwość podsłuchiwania I niekiedy nakaz (regulacje prawne zależne od państwa)
Ochrona prywatności» Zbieranie i przechowywanie wyłącznie potrzebnych danych» Anonimizacja adresów IP Losowe adresy -> utrata informacji o topologii Zastępowanie najniższego bajtu -> ochrona pojedynczych użytkowników, pozostawienie informacji o rutingu Zastępowanie podsieci i pojedynczych hostów -> zachowanie informacji o topologi» Szyfrowanie ruchu (przez użytkownika) IPsec, TLS, SSH
Pomiary oparte na pakietach i przepływach
» ZA Pomiary oparte na pakietach Możliwość dokładnej analizy, np. tylko nagłówki lub DPI Możliwość utworzenia przepływów z zarejestrowanych pakietów Nie potrzeba dodatkowych zasobów obliczeniowych w sprzęcie do tworzenia przepływów» PRZECIW DPI Ogromne zasoby na przechowywanie danych Problemy z przesłaniem zebranych danych
» ZA Pomiary oparte na przepływach Redukcja danych do analizy Unikanie problemów z legalnością pomiarów (nie zawsze)» PRZECIW Tylko zgrubne informacje Konieczne dodatkowe zasoby obliczeniowe na tworzenie przepływów Zależą od implementacji dostarczonej przez producentów (pytanie: jak budowany jest przepływ? )
NetFlow
Historia pomiarów opartych na przepływach 1991 RFC1272 1996 Cisco NetFlow patent 1999 RFC2721 2002 Cisco NetFlow v5 2004 Cisco NetFlow v9 2013 IPFIX (RFC7011) 1990-1993 Internet Accounting WG 1996-200 Real-time Traffic Flow Measurement WG 2004-2015 IP Flow Information Export WG
NetFlow 10Gbps 10Gbps (backup) Internet 10Gbps 10Gbps 10Gbps 10Gbps (main) NetFlow collector 10Gbps NetFlow exporter Analyzer Storage
Metodologia pomiarów NetFlow» Łańcuch danych: Ruter NF Kolektor Analizator danych» Rekordy NetFlow eksportowane w segmentach UDP (zwykle port 2055, 9555, 9995, 9025 lub 9026)» Kolektor NetFlow nasłuchuje na tym samym porcie UDP (np. demon nfcapd)» Dane rotowane są zwykle w oknach 5 minutowych
NetFlow przykładowe dane Parametr NetFlow Przykładowa wartość Date flow start 2015-05-14 11:53:12.924 Duration 299.992 Protocol UDP Src IP Addr:Port 149.156.124.2:52567 Dst IP Addr:Port 90.39.136.36:61597 Flags ToS 0 Packets 1533 Bytes 131479 pps 5 bps 3506 Bpp 85 Flows 1
SNMP vs NetFlow
NetFlow/IPFIX» Liczniki i raporty per-przepływ» Brak synchronizacji raportów» Brak raportów na żądanie» Dwa liczniki: flow-active-timeount (np. 15s na rysunku) flow-inactive-timeout (20s na rysunku) Flow X Flow Y Flow Z 15 s 15 s 15 s 20 s 20 s 20 s Reports received t t+10 t+20 t+30 t+40 t+50 t
Flow X» Brak raportów per-przepływ» Raporty per-interfejs/per-kolejka SNMP» Możliwość synchronizacji raportów» Raporty na żądanie 30 s» W poniższym przykładzie: żądanie i odpowiedź co 30s W odpowiedzi statystyki ruchowe z odpowiedniego interfejsu zbierane co 30s 30 s Flow Y Flow Z t t t+10 t+20 t+30 t+40 t+50
Analiza ruchu
Co może być wynikiem pomiarów?» Zdarzenie Liczba zaobserwowanych pakietów» Rozmiar lub inna policzalna cecha zdarzenia Rozmiar pakietu, czas trwania przepływu» Odstępy/częstotliwość występowania zdarzeń czas pomiędzy nadejściem kolejnych pakietów
Próbkowanie ruchu» Próbkowanie (sampling) pozwala na spojrzenie na całość zdarzenia wykorzystując zredukowany rozmiar danych» Przykłady metod próbkowania: Próbkowanie ze stałym prawdopodobieństwem p Niezależne próbkowanie: próbkowanie każdego pakietu niezależnie z prawdopodobieństwem 1/p Okresowe próbkowanie: Próbkowanie każdego 1/p-tego pakietu z prawdopodobieństwem 1
Kiedy implementować próbkowanie?» Zbyt dużo danych do analizy Ograniczenia obliczeniowe» Gdy szybko potrzeba otrzymać wyniki analizy» Analizowanie rzadkich zdarzeń» Zrzuty danych z sieci same są jej próbką!» Ważne pytanie: Czy implementowana metoda (samo próbkowanie) pozwala na obserwację fenomenu, który ma być analizowany?
Wstępna obróbka danych (I)» Normalizacja danych W celu umożliwienia porównywania danych pomiędzy dwoma lub większej liczbie zbiorów pomiarów Redukcja różnic w pomiarach (odchylenia)» Czyszczenie danych Uwaga: czyszczenie z szumu czy z uprzednio niezaobserwowanego zjawiska
Wstępna obróbka danych (II)» Integracja pomiarów Dane pochodzące z różnych źródeł, ta sama koncepcja, wartości wyrażone w różny sposób Spójność pomiarów» Redukcja rozmiaru danych wejściowych Wybór reprezentacji danych oryginalnych (np. sampling)
Podstawowe statystyki: kwantyle» Kwantyle wprowadzają podział danych Kwartyl -> 4 grupy Decyl -> 10 grup Percentyl -> 100 grup Zakresy pomiędzy kwantylami (np. przedział pomiędzy 2-gim a 3-cim kwartylem)
Podstawowe statystyki: średnia» Średnia arytmetyczna najczęściej wykorzystywana Obciążona przez wartości skrajne danych» Mediana Brak wpływu wartości skrajnych pomiaru
Podstawowe statystyki: wariancja» Wariancja jest miarą zmienności bezwzględnej Zależy od wartości i skali pomiarów Odchylenie standardowe jest pierwiastkiem kwadratowym wariancji» Współczynnik zmienności Względna miara zróżnicowania rozkładu cechy, zależy od średniej arytmetycznej» Odchylenie średnie Statystyka opisowa, średnia arytmetyczna z odchyleń Dobra, intuicyjna miara zmienności
Statystyki wyższych rzędów» Skośność Statystyka 3-go rzędu Miara asymetrii» Kurtoza Statystyka 4-go rzędu Miara łącznej wagi ogona w stosunku do reszty dystrybucji
Przykłady
*Sandvine, Global Internet Phenomena Report: September 2015 Globalne trendy raport Sandvine (I)
*Sandvine, Global Internet Phenomena Report: September 2015 Globalne trendy raport Sandvine (II)
AGH - NetFlow» Dane z NetFlow zbierane są w oknach 5 min (288 plików/dzień, około 5GB)» Detekcja anomalii wykonywana jest on-line» Przetwarzanie danych off-line z zarejestrowanych danych» Około 14000 użytkoników (4000 pracowników + 10000 studentów)
NetFlow AGH przykład
NetFlow AGH przykład
NetFlow AGH przykład
NetFlow: przykładowe wyniki 3.5 x 104 Flows 3 2.5 2 dropbox facebook gmail twitter youtube 2.5 x 109 Bytes 2 1.5 dropbox facebook gmail twitter youtube 1.5 1 1 0.5 0.5 0 04:00 08:00 12:00 16:00 20:00 0 04:00 08:00 12:00 16:00 20:00 5 x 106 Packets 4.5 4 3.5 3 dropbox facebook gmail twitter youtube 2.5 2 1.5 1 0.5 0 04:00 08:00 12:00 16:00 20:00
Statystyki NetFlow (kampus AGH) 2013 2015 May 12 May 13 May 14 Jan 11 Jan 12 Jan 13 #Flows [mega] 189 231 231 226 268 269 #Packets [giga] 19 19 17 21 24 23 Data size [GB] 11657 13709 13327 16226 18865 18266» Dodatkowo: Avg throughput: 16,8Gbps Avg pps: 2,3Mpps Avg Bpp (bytes per packet): 856
» Dla 24h: Statystyki NetFlow (kampus AGH) Liczba wszystkich przepływów: 226237622 (226M) Rozmiar wymienionych danych: 14,4TB Liczba wszystkich pakietów: 16,9G
Wirtualizacja sieci
Czym jest wirtualizacja? Wirtualizacja szerokie pojęcie odnoszące się do abstrakcji zasobów w różnych aspektach informatyki Wirtualizacja to technika pozwalająca na uruchomienie wielu wirtualnych środowisk na jednej fizycznej maszynie. Przykład mówi więcej niż definicja: Pamięć wirtualna, RAID, Wirtualne napędy CD-ROM, itp.
48/12 Rodzaje wirtualizacji» Wirtualizacja na poziomie systemu operacyjnego Gospodarz i gość korzystają z tego samego jądra systemu» Parawirtualizacja Zmodyfikowany system gościa, współpracujący z systemem gospodarza minimalizując użycie uprzywilejowanych instrukcji» Pełna wirtualizacja Wirtualizowany system ma wrażenie, że działa na prawdziwym sprzęcie
Sieć wirtualna» Abstrakcja sieci Zbiór logicznych zasobów sieciowych Oddzielenie się od fizycznych zasobów» Izolacja zasobów zapewniona dzięki: Przestrzeniom nazw brak zagrożenia konfliktu adresów Wydajności sieć wirtualna jest bardziej przewidywalna dla użytkowników Zarządzaniu naśladowanie wykorzystania niezwirtualizaowanej sieci Bezpieczeństwu brak wpływu ruchu użytkowników jednej sieci wirtualnej na ruch innych» Niezależność i elastyczność konfiguracji» Łatwość w lokowaniu i zarządzaniu nowymi usługami
Cykl życia elementu sieci wirtualnej unbind re-bind (migrate) create bind to interfaces run destroy Instantiated Located Running Terminated stop destroy» Ruter» Przełącznik» Brama» Zapora ogniowa» Load-balancer V
Obiekty sieci wirtualnej» Wirtualizacja urządzeń Wirtualizacja fizycznych urządzeń (węzłów) sieci Data Plane Control Plane Management Plane» Wirtualizacja ścieżki danych Wirtualizacja ścieżek komunikacji pomiędzy punktami dostępu w sieci Wirtualizacja łączy vswitch Data Path vrouter
Zalety wirtualizacji sieci» Lepsze wykorzystanie zasobów Współdzielenie infrastruktury Redukcja kosztów» Skalowalność Prostota w rozszerzaniu przydzielonych zasobów na żądanie Możliwość dynamicznych zmian» Automatyzacja Automatyczne tworzenie usług Usługi mogą być zarządzane razem z resztą infrastruktury IT» Niezawodność Automatyczne przekierowywanie pakietów na redundantne zasoby Łatwość w odtwarzaniu zasobów (np. po jakiejś katastrofie)» Bezpieczeństwo Izolacja zasobów
Sposoby współdzielenia zasobów
Współdzielenie infrastruktury Zamiast budowy oddzielnej sieci dla każdej usługi buduje się wspólną sieć dla wszystkich
VLAN» Podział przełącznika na wiele logicznych instancji» Wirtualizacja implementowana przez protokół (nagłówek 802.1Q)» Zasoby obliczeniowe sprzętu współdzielone przez wirtualne przełączniki» Przepustowość łącza współdzielona pomiędzy VLANami Wirtualizacja urządzenia Wirtualizacja łącza
DWDM DWDM Dense Wavelength Division Multiplexing» Wirtualizacja łącza Warstwa fizyczna Każde logiczne łącze jest reprezentowane przez odpowiednią długość fali ( kolor ) Motywowane możliwościami zwiększenia przepustowości pojedynczego włókna światłowodowego Połączenia tylko punkt-punkt
DWDM» Wirtualizacja węzła Każda lambda może być obsługiwana niezależnie od innych ROADM logiczna reprezentacja zbioru wirtualnych optycznych przełączników Pojedynczy wirtualny przełącznik obsługuje przełączanie jednej lambdy
VRF VRF Virtual Routing and Forwarding» Wirtualizacja węzła Podział rutera na logiczne instancje Pamięć (miejsce przechowywania tablic rutingu i przełącznia) jest współdzielona Interfejsy przypinane są do odpowiednich VRFów Każdy VRF posiada własną tablicę rutingu i przełącznia Brak wirtualizacji na poziomie zarządzania Wpólne CLI Jeden plik konfiguracyjny
VRF Wirtualizacja łącza Potrzeba wykorzystania innych technologi sieciowych do współdzielania łączy pomiędzy wieloma VRFami Można wykorzystać: VLAN MPLS GRE IP-in-IP
Rozwiązania nakładkowe
Tunelowanie» Tunel to połączenie zwykle łamiące trasowanie wyznaczone przez protokoły rutingu» Węzły pośredniczące zwykle nie widzą enkapsulacji (tylko dane, uwaga: MPLS)» Enkapsulowane ramki mogą być szyfrowane (SSL/TLS, IPsec)
Tunelowanie Przykłady enkapsulacji IP in IP Ethernet in IP (VXLAN) Ethernet in IP (GRE) IP in MPLS
Sieci nakładkowe» Wirtualna sieć budowana jest na szczycie istniejącej fizycznej sieci (sieci podkładkowej)» Węzły brzegowe sieci fizycznej stają się węzłami sieci nakładkowej» Tunele pomiędzy węzłami brzegowymi stają się logicznymi łączami sieci nakładkowej» Wiele wirtualnych sieci może współistnieć niezależnie dzieląc te same zasoby fizyczne
Sieci nakładkowe w rozwiązaniach biznesowych» VPN (Virtual Private Network): L2 VPN oraz L3 VPN Rozszerzają sieć prywatną na sieć publiczną (Internet)» Wykorzystują tunelowanie oparte na technice IP/MPLS» Zapewniają pewien poziom bezpieczeństwa
L2 VPN» MPLS-baser L2 VPN (point-to-point) Sieć MPLS dostawcy emuluje kabel łączący dwie lokacje» VPLS (point-to-multipoint) Sieć MPLS dostawcy emuluje przełącznik łączący wiele lokacji
L3 VPN» IP over GRE Możliwość tworzenia wielu tuneli GRE równocześnie» MPLS-based L3 VPN Sieć MPLS dostawcy emuluje ruter łączący wiele lokalizacji
Sieci nakładowe w chmurach obliczeniowych» VXLAN (Virtual Extensible LAN) Ethernet over IP 16 milionów logicznych sieci (sieci L2) VNID (VxLAN segment identifier): 24 bity Domena brodcastowa L2 tunelowana przez sieć IP 50 bajtów narzutu (jumbo frames) Maszyny wirtualne nie są świadome wykorzystania VXLAN
Podejście programowe
Przekazywanie ramek i pakietów w podejściu programowym» Wydajność przełącznika Linuxowego 2013: Open vswitch i Linux bridge: 1 Gbps 2014: Open vswitch i Linux bridge: 13 Gbps 2015: 6WINTAGE Open vswitch: 195 Gbps Nowoczesny przełącznik sprzętowy: 960Gbps W trakcie testów chipów ASIC: 3.2 Tbps» Karty sieciowe serwerów: 2x1/10GbE (przyszłość: 25/50/100GbE)» Wirtualny przełącznik i VMs na jednym serwerze (współdzelenie zasobów) Jeśli przełącznik nie jest w stanie przekazać całego ruchu, to za dużo VM jest umieszczonych na jednym serwerze -> powinno się dokonać migracji maszyn
Linux bridge» Programowa implementacja przełącznika sieciowego» Pozwala na łączenie fizycznych i wirtualnych interfejsów» Działa w przestrzeni jądra systemu» Widoczny jako logiczne urządzenie sieciowe w systemie Linux
Linux bridge konfiguracja Debian # Instalacja apt-get install bridge-utils # Tworzenie przełącznika brctl addbr br0 # Dodawanie interfejsów do przełącznika brctl addif br0 interface eth0 eth1 # Uruchamianie przełącznika ifconfig br0 up # Listowanie przełączników brctl show
Wirtualne interfejsy: Linux TAP/TUN» TUN i TAP są wirtualnymi interfejsami działającymi w przestrzeni jądra systemu TAP symuluje urządzenie na poziomie warstwy 2, operuje na ramkach TUN symuluje urządzenie warstwy 3, operuje na pakietach IP» TAP wykorzystywane są przez nadzorców wirtualizacji (KVM, XEN) do tworzenia wirtualnych interfejsów wewnątrz maszyn
Łącze programowe: Linux veth» Czysto programowe połączenie» Łączy dwa interfejsy sieciowe (para wirtualnych interfejsów)» Ramka wysłana na jeden interfejs jest otrzymywana na drugim z pary
Wirtualny przełącznik» Wirtualny przełącznik to oprogramowanie dostarczające funkcji przełączania pomiędzy wirtualnymi maszynami» Wirtualny przełącznik często jest częścią nadzorcy wirtualizacji (hypervisior)» Zapełnia kompleksowe usługi sieciowe dla maszyn wirtualnych: Wydzielona sieć NAT bridge mostowanie z rzeczywistą kartą sieciową Przykład: VMWare
Przykład: Open vswitch» Open Source (licencja Apache 2.0)» Alternatywa dla przełącznika linuxowego (bridge-utils) Zdecydowanie więcej funkcji Przekazywanie na podstawie Ethernetu, VLAN, IP, UDP, TCP OpenFlow Tunelowanie (GRE, VXLAN, LISP, IPsec) Często wykorzystywany w produkcyjnych środowiskach Domyślne rozwiązanie w dla OpenStack i OpenNebula» Projektowany z myślą o środowiskach wirtualizacyjnych» Dostępny także na Windows, FreeBSD, POSIX, systemy wbudowane
Inne przełączniki programowe» Implementowane przez producentów rozwiązań wirtualizacyjnych VMware vswitch Microsoft Hyper-V switch» Implementowane przez producentów sprzętu Juniper OpenContrail vrouter Cisco Application Virtual Switch Nec ProgrammableFlow Virtual Switch
Ruter programowy» Linux Tablice rutingu w przestrzeni jądra systemu Dokonuje trasowania pakietów Ręczna konfiguracja np. ip route Programowalne przez NETLINK socket Płaszczyzna sterowania umieszczona w przestrzeniu użytkownika obsługuje protokoły rutingu (RIP, OSPF, BGP, itd.) Rozwiązania otwarte: Quagga, XORP
Rutery wirtualne» Cały programowy ruter umieszczony na maszynie wirtualnej Obsługuje zarówno pakiety danych jak i wiadomości wymieniane przez protokoły rutingu Mogą posiadać dodatkowe funkcjonalności Firewall, switch, VPN, itd.» Maszyny wirtualne dostarczane przez producentów sprzętu (konfiguracja i sposób działania jak w przypadku sprzętowych rozwiązań) Brocade VyOS vrouter (dawniej Vyatta) Juniper vmx Cisco XRv
Inne wirtualne elementy sieci» Firewall Juniper vsrc Cisco ASAv» Load-ballancer KEMP Virtual Load Balancer Radaware VADI Barracude Load Balancer ADC» WAN accelerator Cirtix Access Gateway VPX
NFV
ETSI NFV
ETSI MANO» Management and organization (MANO)» Framework dla zarządzania i orkiestracji wszystkich zasobów w DC (obliczeniowych, dyskowych, VM)
ETSI MANO» 3 funkcjonalne bloki: NFV Orchestrator wprowadzanie nowych usług sieciowych (Network Services, NS) i wirtualnych funkcji sieciowych (VNF), zarządzanie cyklem życia NS; globalne zarządzanie zasobami; walidacja i autoryzacja dostępu do infrastruktury wirtualnych funkcji sieciowych (Network Functions Virtualization Infrastructure, NFVI) VNF Manager zarządzanie cyklem życia instancji VNF; koordynacja, adaptacja konfiguracji oraz raportowanie zdarzeń pomiędzy NFVI i NMS Virtualized Infrastructure Manager (VIM) kontroluje i zarządza zasobami NFVI, przestrzenią dyskową i zasobami sieciowymi
NFV Network Function Virtualization Funkcje sieciowe (Network Functions): Ruting Firewalling Load balancing NAT Access Gateway WAN acceleration QoE monitoring DPI Broadband Remote Accessing (BRAS) Session Coarder Controlling Network Functions in NFV: Dostarczane przez maszyny wirtualne Tworzone na żądanie
NFV vs. podejście klasyczne Podejście klasyczne NVF
NVF: zalety i wady Zalety» Elastyczność w dynamicznym tworzeniu nowych usług w różnych lokalizacjach Prosta skalowalność Większe zróżnicowanie usług pod danego użytkownika» Znacznie bardziej innowacyjny cykl tworzenia Wykorzystanie narzędzi i metodologii znanych z rozwiązań programowalnych Wady» Większe opóżnienia» Obecnie raczej niemożliwe wdrożenie w sieciach rdzeniowych» Wciąż rozwiązania sprzętowe są znacznie szybsze» Pytanie: kiedy rozwiązania programowalne będą na równi wydajne, aby móc zastąpić dedykowany sprzęt?» Czy na pewno będą tańsze?» Czy będą w stanie obsługiwać wymagające (sieciowo zadania)?
Dziękuję za uwagę!