Badanie zachowania łącza w warunkach wysycenia granicznego

Transkrypt

Badanie zachowania łącza w warunkach wysycenia granicznego
BADANIE ZACHOWANIA ŁĄCZA W WARUNKACH WYSYCENIA
GRANICZNEGO
Bartosz Michno
Politechnika Rzeszowska, [email protected]
Streszczenie – Celem pracy było zobrazowanie obciążenia łącza między
dwoma komputerami podłączonymi do routera. Narzędziem obrazującym
obciążenie i responsywność łącza było polecenie ping, wbudowane w
systemy z rodziny Windows.
Słowa kluczowe: wysycanie łącz, ping, obciążanie, ruch TCP, generowanie
1 UŻYTE NARZĘDZIA
Dwa komputery klasy PC z systemami Windows XP, Juniper SRX210HB z systemem
JunOS, JPerf 2.0.2 – oparty na Javie program generujący sztuczny ruch TCP lub UDP.
2 TOPOLOGIA
Rys. 1. Topologia
3 PRZEBIEG BADANIA
Jeden z komputerów, pełniący rolę serwera JPerf, nasłuchiwał na podanym adresie i
porcie TCP. Drugi z komputerów, działający jako klient JPerf, wysyłał sztucznie
generowany ruch do serwera JPerf znajdującego się na drugim interfejsie routera
Juniper. W międzyczasie dwa komputery pingowały się wzajemnie. Poprzez
porównywanie czasów odpowiedzi w milisekundach, można było zauważyć spadek lub
wzrost obciążenia interfejsów routera JunOS.
Testowanie polegało na zmianie parametrów TCP w programie JPerf: TCP Window Size
(rozmiar okna TCP) i Parallel Streams (równoległe strumienie). Duży rozmiar okna
pozwala na przesłanie większej ilości danych bez potwierdzenia (ACK), co poprawia
wydajność protokołu TCP/IP podczas przesyłania dużej ilości danych między nadawcą i
odbiorcą [1]. Zmniejszenie rozmiaru okna powinno więc zwiększyć liczbę przesyłanych
ACK, co skutkuje gorszą wydajnością łącza – nadmiarowy ruch jest wtedy znaczny.
Zwiększanie liczby strumieni to dodawanie kolejnych niezależnych sesji TCP
obciążających łącze. W tej pracy liczby strumieni wynoszą odpowiednio 1, 2, 5, 10, 20,
50 oraz 100. Wybrane rozmiary okien TCP to odpowiednio 64 KB (domyślny w JPerf),
28 KB, 14 KB oraz 1 KB. Badanie poleceniem ping odbywało się ze zmienionym
buforem wysyłania (domyślny w Windows to 32 KB) na dwie wartości: 1024 KB oraz
32768 KB. Większy bufor wysyłania pingu to zwiększenie ruchu na łączu i większe
wykorzystanie zasobów urządzenia sieciowego oraz hosta, które muszą takie zapytanie
przetworzyć i ewentualnie odpowiedzieć.
a)
Rozmiar buforu wysyłania – 1024 KB
Pola zaznaczone kolorem oliwkowym to czasy, które pojawiały się mniej więcej
zamiennie, stąd zostały uśrednione.
Poniżej znajdują się wykresy przedstawiające na osi rzędnych odpowiedź w
milisekundach w stosunku do liczby strumieni TCP generowanych przez klienta JPerf
(oś odciętych).
Użyte oznaczenia:
RBW – rozmiar buforu odpowiedzi (ping)
TCP_RO – rozmiar okna TCP
Rys. 2. Wykres dla pierwszej części
Czasy dążą logarytmicznie do granicy 30 ms. Naturalnie każdy dodatkowy strumień
TCP powoduje wzrost czasu odpowiedzi pakietów ICMP. Wraz ze zmniejszaniem się
rozmiaru okna TCP czas odpowiedzi przeważnie wzrasta (większy narzut w ruchu TCP
powoduje większe wykorzystanie przepustowości łącza i zasobów urządzenia Juniper).
b)
Rozmiar buforu wysyłania – 32768 KB
Pola zaznaczone kolorem purpurowym to sytuacje, gdzie dla większości lub dla
wszystkich pakietów upłynął limit czasu żądania (ICMP Time Exceeded). W przypadku
braku jakiejkolwiek odpowiedzi czas został przyjęty jako większy od 90 ms –
domyślnej wartości czasu oczekiwania na odpowiedź ping.
Rys. 3. Wykres dla drugiej części
W porównaniu do mniejszego RBW z poprzedniego podpunktu, czasy odpowiedzi już
na wstępie są dużo większe. Większy pakiet ICMP musi zostać przesłany przez łącze i
przetworzony przez urządzenia sieciowe i hosty, co jest wyraźnie dłuższe. W tym
przypadku granica, do której dążą czasy odpowiedzi jest większa niż w poprzednim
przypadku i wynosi około 35 ms. Dla dużej liczby strumieni łącze jest obciążone w taki
sposób, że pingowany host przestaje odpowiadać. Dla mniejszego okna TCP czasy
odpowiedzi są wyraźnie większe niż dla okna o rozmiarze domyślnym.
4 PODSUMOWANIE
W badaniu sprawdzano obciążanie łącz komputerów poprzez mierzenie czasów
odpowiedzi urządzenia między nimi za pomocą komunikacji ICMP. Potencjalna osoba
atakująca, generując jeden lub więcej strumieni TCP może spowolnić albo całkowicie
zablokować połączenie internetowe komputera ofiary.
5 LITERATURA
[1] http://technet.microsoft.com/pl-pl/library/cc785859%28v=ws.10%29.aspx
[2] http://www.juniper.net/us/en/products-services/security/srx-series/#literature