W h itep ap er
Transkrypt
W h itep ap er
Whitepaper Platforma EtherWerX Aplikacje P2P - problem zarządzania pasmem w sieciach dostępowych Dokument przedstawia proste rozwiązanie problemu przeciążeń sieciowych powodowanych ruchem P2P (peer-to-peer). Pokazuje jak można zapobiegać przeciążeniom sieci, bez potrzeby identyfikacji ruchu (szersze informacje poniżej) lub limitowania dostępu dla aplikacji P2P. Operatorom oferującym dostęp do Internetu rozwiązanie jakie proponujemy umożliwia jednoczesne podłączenie większej ilości abonentów do posiadanych łącz, obniżenie opóźnień spowodowanych ruchem P2P, a także zmniejszenie zapotrzebowania na pasmo oraz zwiększenie dostępności sieci, a przede wszystkim zwiększenie zadowolenia klientów poprzez poprawienie jakości dostępnych usług. 1. Ruch Peer-to-Peer Aplikacje P2P umożliwiają użytkownikom sieci przesyłanie w krótkim czasie dużej ilości danych. Poprzez wykorzystanie od kilku do nawet kilku tysięcy równoległych połączeń do innych użytkowników P2P, są one zdolne do całkowitego wykorzystania dostępnego w sieci pasma. Każda z aplikacji P2P posiada funkcję wymiany danych z innymi użytkownikami P2P, co powoduje zwiększenie ruchu sieciowego obustronnie – do i z sieci. Dla użytkowników sieci, aplikacje P2P są jednym z głównych powodów założenia przyłącza internetowego. Najczęściej stosują oni P2P do pobierania dużych plików multimedialnych, takich jak pliki muzyczne, teledyski czy filmy. 2. Problemy Peer-to-Peer Ruch P2P jest głównym powodem przeciążeń występujących w sieci Internet. Około 70% całości ruchu internetowego, to ruch P2P. Nawet jeden użytkownik aplikacji P2P jest w stanie zużyć całość dostępnego w danej lokalizacji pasma i spowodować poprzez to duże opóźnienia dla innych użytkowników sieci. Zwiększanie dostępnego dla użytkowników pasma nie jest lekarstwem na pojawiający się problem. Ruch P2P z łatwością jest zdolny zaadaptować się do dostępnej przepustowości sieci. Dodatkowo, pojawiająca się w ruchu P2P duża ilość równoległych połączeń często powoduje przeciążenie urządzeń sieciowych takich jak routery z obsługą usługi NAT, czy też firewall, powodując całkowity brak działania sieci. Efekt działania P2P w takich przypadkach jest podobny do ataków DDoS (Distrbuted Denial of Service) występujących w sieci Internet. 3. Typowe zabezpieczenia P2P Typowym rozwiązaniem problemów związanych z ruchem P2P jest limitowanie pasma dostępnego dla aplikacji P2P. Wymaga to jednak pozytywnego identyfikowania całości ruchu P2P. Jest to osiągalne praktycznie tylko w warstwie aplikacji modelu OSI (OSI Application Layer), czyli w warstwie 7 (OSI Layer7). Przykładowy pakiet jest “otwierany”, a jego zawartość jest porównywana ze znanymi dla systemu aplikacjami P2P. W przypadku pozytywnej identyfikacji połączenie może być zabronione lub limitowana może być ich ilość. Zwykle używane jest w tym celu specjalistyczne oprogramowanie dla identyfikowania ruchu, a istniejący router sieciowy jest użytkowany do jego redukcji. Istnieje wiele problemów wynikających z takiego podejścia do rozwiązania problemu ruchu P2P. Oprogramowanie użytkowane do identyfikacji ruchu musi być często aktualizowane z powodu ciągle pojawiających się nowych wersji oraz odmian aplikacji P2P. Obecnie tylko około 60% całości ruchu sieciowego może zostać zidentyfikowana. Problemem jest sytuacja, gdy ruch jest kodowany lub generowany z użyciem sieci VPN. Wtedy nie istnieje żadna metoda EtherWerX - The Only Solution Whitepaper skutecznej kontroli w warstwie aplikacji tego ruchu. Sprzęt używany do redukcji ruchu musi być bardzo wydajny i kompatybilny z oprogramowaniem identyfikującym, co przekłada się na jego wysoką cenę. Dodatkowo, nie jest jasne czy z prawnego punktu widzenia jest legale sprawdzanie zawartości warstwy aplikacji, czyli faktycznych danych przesyłanych przez użytkownika, czy też działanie takie narusza prawnie zagwarantowaną prywatność jednostki. Istnieje także możliwość określania ruchu P2P na podstawie numeru portu, na którym pracuje dana aplikacja. Takie podejście jest również ograniczone w skuteczności, gdyż nie gwarantuje eliminacji przeciążeń sieciowych. Ze względu na dużą ilość nowych wersji i odmian aplikacji P2P użytkowane przez aplikację porty nie zawsze są wcześniej znane operatorowi, więc nie ma on jak ich kontrolować. Dodatkowo, jeśli ruch na porcie jest całkowicie blokowany aplikacja P2P może to sprawdzić i zmienić numer portu. Aby uniknąć przeskakiwania po portach (ang. port hopping) ruch powinien być ograniczony do małej wartości zamiast całkowitego blokowania. Inną metodą rozwiązywania problemu przeciążeń P2P jest limitowanie pasma dostępnego dla każdego z użytkowników (ang. rate limit). Może to zostać osiągnięte przez zdefiniowanie maksymalnej górnej wartości pasma jaką w stanie jest osiągnąć użytkownik. Wymaga to stosowania właściwych routerów sprzętowych lub innych urządzeń, które jednak przy dużym ruchu oraz przy dużej liczbie użytkowników sieci nie są w stanie wydajnie działać, poprzez co nie zapewniają skutecznej ochrony przed przeciążeniami sieciowymi. Dodatkowo pojawia się problem wartości sumarycznej wszystkich użytkowników, co prosto przedstawić następującym przykładem: Operator posiada łącze główne o prędkości 10mbps, każdy z użytkowników sieci, ma zdefiniowaną maksymalną prędkość pracy o wartości 256kbps. Ogólna liczba użytkowników sieci dostępowej to 200 osób. 200 x 256kbps = 50mbps Z powyższego równania widzimy, że suma prędkości posiadanych przez użytkowników daleko przekracza wydajność łącza zasilającego. W momencie równoległej pracy więcej niż 40 użytkowników pojawiają się problemy związanie z przeciążeniami, szczególnie jeśli większość z użytkowników korzysta z aplikacji P2P. Takie podejście nie dopuszcza elastycznego użycia zasobów sieciowych z powodu statycznego przyznawania pasma. Ogólnie rzecz biorąc potrzeba limitowania przez operatora ruchu P2P stoi w przeciwieństwie do oczekiwań klientów użytkujących P2P. Ten dylemat może zostać rozwiązany tylko przez dynamiczny podział dostępnego dla użytkowników sieci pasma. 4. Zarządzanie pasmem i rozwiązanie problemu P2P Prostym rozwiązaniem problemu przeciążenia P2P jest sprawiedliwa dystrybucja pasma pomiędzy użytkowników. Dzięki temu, przeciążenia są eliminowane bez potrzeby identyfikacji ruchu sieciowego. W momencie, gdy nie ma przeciążenia łącza głównego, każdy z użytkowników dostaje tyle pasma ile potrzebuje dana aplikacja, której używa. W przypadku przeciążenia, pasmo jest dzielone pomiędzy wszystkich aktywnych w danym momencie użytkowników sieci. Doświadczane przez użytkowników opóźnienia sieciowe wzrastają proporcjonalnie do liczby aktywnych użytkowników i użytkowanego przez każdego z nich pasma. Bardziej zaawansowanym rozwiązaniem jest użycie kombinacji zapewnienia dla użytkownika gwarantowanego pasma wraz z jego sprawiedliwym podziałem pomiędzy użytkowników. Bardziej zaawansowane jest rozwiązanie, w którym z jednej strony zapewnia się użytkownikowi gwarantowane pasmo, a z drugiej sprawiedliwie podzieli pasmo pomiędzy użytkowników. Czyli, każdy z użytkowników posiada pewną ilość gwarantowanego pasma. Pozostałe pasmo jest EtherWerX - The Only Solution Whitepaper sprawiedliwie dystrybuowane pomiędzy wszystkich aktywnych użytkowników sieci. Dzięki temu, jeśli zachodzi potrzeba, użytkownik może otrzymać większą ilość gwarantowanego pasma. Z urządzeniem do zarządzania pasmem posiadającym dobrą granulację oraz wysoką wydajność, każdy z użytkowników może być traktowany indywidualnie. Ze względu na ruch P2P konieczna jest kontrola obu kierunków ruchu, wychodzącego z sieci oraz przychodzącego do sieci. Proponowane rozwiązanie może zostać zaimplementowane w sieci za pomocą jednego urządzenia, które znajduje się w miejscu przeciążenia sieci np. jako wsparcie routera brzegowego bądź łącza dosyłowego obsługującego dany segment sieciowy. Urządzenie powinno działać w warstwie 2 modelu OSI (OSI Layer 2), co pozwala na jego transparentne działanie celem zapewnienia lepszego bezpieczeństwa, prostoty implementacji oraz obsługi. Transparentne działanie urządzenia zorientowanego bezpołączeniowo (stateles) jest preferowane w stosunku do urządzeń śledzących połączenia (stateful). Pozwala to uniknąć problemu przekroczenia maksymalnej liczby połączeń obsługiwanych przez dane urządzenia, których aplikacje P2P tylko przy jednym użytkowniku mogą generować do kilkunastu tysięcy. Nie pojawia się też problem ilości nawiązywanych nowych sesji, obsługiwanych w danym momencie czasowym poprzez urządzenie np. firewall czy też VPN switch. 5. EtherWerX i jego rola w sieci W porównaniu do rozwiązań opartych o działanie w warstwach 4 do 7, platforma EtherWerX® działając w warstwie 2 modelu OSI (OSI Layer 2) jest idealnym rozwiązaniem. Dzieje się tak ze względu na jej wydajność, skuteczność oraz dokładność podziału pasma. Dodatkowym i niezaprzeczalnym atutem jest także niski koszt samego urządzenia i jego proste wdrożenie. Zaproponowane rozwiązanie jest w stanie zapobiec wszystkim przeciążeniom sieciowym, niezależnie czy jest znane ich źródło czy też nie.. Platforma EtherWerX® nie potrzebuje do skutecznego działania skomplikowanej konfiguracji, ciągłej aktualizacji oprogramowania, czy też specjalistycznej wiedzy sieciowej. Dzięki temu każda osoba mająca nawet małe doświadczenie z sieciami komputerowymi, po zapoznaniu się z dokumentacją techniczną jest zdolna do przeprowadzenia samodzielnej instalacji wraz z pełną konfiguracją. Platforma EtherWerX® poprzez posiadane cechy umożliwia w przyszłości bezproblemowe wprowadzenie przez operatora w ramach sieci nowych usług, a także poprawę działania dotychczasowych. 6. Miejsce instalacji urządzenia EtherWerX® w sieci Miejscem instalacji urządzenia EtherWerX® są wąskie gardła sieciowe (ang. bottleneck). Jest to miejsce gdzie np. szybka sieć kablowa DOCSIS/CMTS lub sieć ethernet 100mbps styka się z wolnym łączem dostępowym do internetu o prędkości np. 10mbp lub łączem radiowym zasilającym dany segment sieciowy. Miejscem instalacji urządzenia jest przestrzeń pomiędzy siecią a routerem brzegowym obsługującym całość sieci lub pomiędzy urządzeniem radiowym a siecią w danym segmencie. EtherWerX - The Only Solution