Klasyfikacja ruchu
Klasyfikacja ruchu to zautomatyzowany proces, który kategoryzuje ruch w sieci komputerowej według różnych parametrów (na przykład na podstawie numeru portu lub protokołu ) na kilka klas ruchu . Każda wynikowa klasa ruchu może być traktowana inaczej w celu zróżnicowania usługi sugerowanej dla generatora danych lub konsumenta.
Typowe zastosowania
Pakiety są klasyfikowane w różny sposób przetwarzane przez program planujący sieć . Po sklasyfikowaniu przepływu ruchu przy użyciu określonego protokołu, do niego i innych przepływów można zastosować z góry ustaloną politykę, aby albo zagwarantować określoną jakość (jak w przypadku VoIP lub strumieniowego przesyłania multimediów), albo zapewnić dostawę z największą starannością. Można to zastosować w punkcie wejściowym (punkt, w którym ruch wchodzi do sieci, zazwyczaj urządzenie brzegowe ) z szczegółowością, która umożliwia mechanizmom zarządzania ruchem rozdzielenie ruchu na poszczególne strumienie i kolejki, nadzorowanie i kształtowanie ich w inny sposób.
Metody klasyfikacji
Klasyfikacji dokonuje się na różne sposoby.
Numery portów
- Szybko
- Niskie zużycie zasobów
- Obsługiwane przez wiele urządzeń sieciowych
- Nie implementuje ładunku warstwy aplikacji, więc nie narusza prywatności użytkowników
- Przydatne tylko dla aplikacji i usług, które używają stałych numerów portów
- Łatwo oszukać zmieniając numer portu w systemie
Głęboka kontrola pakietów
- Sprawdza rzeczywisty ładunek pakietu
- Wykrywa aplikacje i usługi niezależnie od numeru portu, na którym działają
- Powolny
- Wymaga dużej mocy obliczeniowej
- Podpisy muszą być aktualne, ponieważ aplikacje zmieniają się bardzo często
- Szyfrowanie uniemożliwia tę metodę w wielu przypadkach
Dopasowywanie wzorców bitowych danych do wzorców znanych protokołów jest prostą, szeroko stosowaną techniką. Przykładem dopasowania uzgadniania protokołu BitTorrent byłoby sprawdzenie, czy pakiet zaczyna się od znaku 19, po którym następuje 19-bajtowy ciąg „Protokół BitTorrent”.
Kompleksowe porównanie różnych klasyfikatorów ruchu sieciowego, które zależą od Deep Packet Inspection (PACE, OpenDPI, 4 różne konfiguracje filtra L7, NDPI, Libprotoident i Cisco NBAR), przedstawiono w Independent Comparison of Popular DPI Tools for Traffic Classification .
Klasyfikacja statystyczna
- Opiera się na analizie statystycznej atrybutów, takich jak częstotliwości bajtów, rozmiary pakietów i czasy między nadejściami pakietów.
- Bardzo często korzysta z algorytmów uczenia maszynowego, takich jak K-Means, Naive Bayes Filter, C4.5, C5.0, J48, czy Random Forest
- Szybka technika (w porównaniu z klasyfikacją głębokiej inspekcji pakietów )
- Potrafi wykryć klasę jeszcze nieznanych aplikacji
Klasyfikacja ruchu szyfrowanego
W dzisiejszych czasach ruch jest bardziej złożony i bezpieczniejszy, dlatego potrzebujemy metody klasyfikacji ruchu szyfrowanego w inny sposób niż w trybie klasycznym (na podstawie analizy ruchu IP przez sondy w sieci szkieletowej). Sposobem na osiągnięcie tego celu jest użycie deskryptorów ruchu ze śladów połączeń w interfejsie radiowym w celu przeprowadzenia klasyfikacji.
Ten sam problem z klasyfikacją ruchu występuje również w ruchu multimedialnym. Ogólnie udowodniono, że stosowanie metod opartych na sieciach neuronowych, maszynach obsługujących wektory, statystykach i najbliższych sąsiadach to świetny sposób na dokonanie klasyfikacji ruchu, ale w niektórych szczególnych przypadkach niektóre metody są lepsze niż inne, na przykład: sieci neuronowe działają lepiej, gdy weźmie się pod uwagę cały zbiór obserwacji.
Realizacja
Zarówno planista sieciowy Linuksa, jak i Netfilter zawierają logikę do identyfikowania i oznaczania lub klasyfikowania pakietów sieciowych.
Typowe klasy ruchu
Operatorzy często rozróżniają trzy szerokie typy ruchu sieciowego: poufny, najlepszy wysiłek i niepożądany. [ potrzebne źródło ]
Ruch wrażliwy
Ruch wrażliwy to ruch, który operator ma dostarczyć na czas. Obejmuje to VoIP , gry online , wideokonferencje i przeglądanie stron internetowych . Schematy zarządzania ruchem są zazwyczaj dostosowywane w taki sposób, że jakość usług tych wybranych zastosowań jest gwarantowana lub przynajmniej traktowana priorytetowo w stosunku do innych klas ruchu. Można to osiągnąć przez brak kształtowania dla tej klasy ruchu lub poprzez nadanie priorytetu ruchowi wrażliwemu nad innymi klasami.
Najlepszy ruch
Ruch oparty na najlepszych staraniach to wszystkie inne rodzaje ruchu nieszkodliwego. Jest to ruch, który dostawca usług internetowych uważa za niewrażliwy na wskaźniki jakości usług (jitter, utrata pakietów, opóźnienie). Typowym przykładem mogą być peer-to-peer i e-mail . Schematy zarządzania ruchem są na ogół dostosowane do potrzeb, tak aby ruch odbywający się w ramach najlepszych starań otrzymał to, co zostało po ruchu wrażliwym.
Niepożądany ruch
Ta kategoria zasadniczo ogranicza się do dostarczania spamu i ruchu generowanego przez robaki , botnety i inne złośliwe ataki. W niektórych sieciach definicja ta może obejmować taki ruch, jak nielokalny VoIP (na przykład Skype ) lub usługi przesyłania strumieniowego wideo w celu ochrony rynku usług „wewnętrznych” tego samego typu. W takich przypadkach mechanizmy klasyfikacji ruchu identyfikują ten ruch, umożliwiając operatorowi sieci całkowite zablokowanie tego ruchu lub poważne utrudnienie jego działania.
Udostępnianie plików
do udostępniania plików typu „peer-to-peer” są często projektowane w taki sposób, aby wykorzystywały całą dostępną przepustowość, co wpływa na aplikacje wrażliwe na QoS (takie jak gry online ), które wykorzystują stosunkowo niewielką przepustowość. Programy P2P mogą również cierpieć z powodu nieefektywności strategii pobierania, a mianowicie pobierania plików od dowolnego dostępnego peera, niezależnie od kosztu łącza. Aplikacje wykorzystują protokół ICMP i zwykły ruch HTTP do wykrywania serwerów i pobierania katalogów dostępnych plików.
W 2002 r. firma Sandvine Incorporated ustaliła, na podstawie analizy ruchu, że ruch P2P stanowił do 60% ruchu w większości sieci. Pokazuje to, w przeciwieństwie do wcześniejszych badań i prognoz, że P2P stało się głównym nurtem.
Protokoły P2P mogą i często są projektowane w taki sposób, że powstałe pakiety są trudniejsze do zidentyfikowania (aby uniknąć wykrycia przez klasyfikatory ruchu) i mają wystarczającą niezawodność, aby nie były zależne od określonych właściwości QoS w sieci (dostarczanie pakietów w kolejności, jitter , itp. – zwykle osiąga się to poprzez zwiększone buforowanie i niezawodny transport, w wyniku czego użytkownik doświadcza wydłużenia czasu pobierania). Zaszyfrowany BitTorrent protokół opiera się na przykład na zaciemnianiu i losowych rozmiarach pakietów w celu uniknięcia identyfikacji. Ruch udostępniania plików można odpowiednio sklasyfikować jako ruch Best Effort. W godzinach szczytu, gdy wrażliwy ruch jest największy, prędkość pobierania będzie spadać. Ponieważ jednak pobieranie P2P jest często czynnością w tle, ma to niewielki wpływ na wrażenia abonenta, o ile prędkość pobierania wzrasta do pełnego potencjału, gdy wszyscy inni abonenci rozłączają swoje telefony VoIP. Wyjątkiem są usługi P2P VoIP i strumieniowe przesyłanie wideo P2P w czasie rzeczywistym, które wymagają stałego QoS i używają nadmiernego [ potrzebne źródło ] ruchu narzutowego i parzystości, aby wyegzekwować to w miarę możliwości.
Niektóre aplikacje P2P można skonfigurować tak, aby działały jako samoograniczające się źródła , służąc jako urządzenie do kształtowania ruchu skonfigurowane zgodnie ze specyfikacją ruchu użytkownika (w przeciwieństwie do operatora sieci).
Niektórzy dostawcy opowiadają się za zarządzaniem klientami zamiast określonymi protokołami, szczególnie w przypadku dostawców usług internetowych. Zarządzając na klienta (czyli na klienta), jeśli klient zdecyduje się wykorzystać swoją sprawiedliwą część przepustowości dla aplikacji P2P, może to zrobić, ale jeśli ich aplikacja jest nadużyciem, zatyka tylko własną przepustowość i nie może wpływać na przepustowości używanej przez innych klientów.