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