Modyfikacja algorytmów retransmisji protokołu TCP.

Podobne dokumenty
Sieci komputerowe Warstwa transportowa

SEGMENT TCP CZ. II. Suma kontrolna (ang. Checksum) liczona dla danych jak i nagłówka, weryfikowana po stronie odbiorczej

O PEWNYCH HEURYSTYKACH DYNAMICZNEGO DOBIERANIA WSPÓŁCZYNNIKÓW WYGŁADZANIA W ALGORYTMACH PROGNOZY

Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji

Podstawowe protokoły transportowe stosowane w sieciach IP cz.2

Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Tom 6 Opis oprogramowania

Klient-Serwer Komunikacja przy pomocy gniazd

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

Psychometria PLAN NAJBLIŻSZYCH WYKŁADÓW. Co wyniki testu mówią nam o samym teście? A. Rzetelność pomiaru testem. TEN SLAJD JUŻ ZNAMY

Transport. część 1: niezawodny transport. Sieci komputerowe. Wykład 6. Marcin Bieńkowski

Rys. 1. Wynik działania programu ping: n = 5, adres cyfrowy. Rys. 1a. Wynik działania programu ping: l = 64 Bajty, adres mnemoniczny

WOJSKOWA AKADEMIA TECHNICZNA

Sieci komputerowe Mechanizmy sterowania przebiegiem sesji TCP w Internecie

Protokoły sieciowe - TCP/IP

3S TeleCloud - Aplikacje Instrukcja użytkowania usługi 3S SMS SYSTEM

Sieci komputerowe. -Sterownie przepływem w WŁD i w WT -WŁD: Sterowanie punkt-punkt p2p -WT: Sterowanie end-end e2e

Laboratorium 6.7.2: Śledzenie pakietów ICMP

Przesyłania danych przez protokół TCP/IP

Praca dyplomowa magisterska

Ekonometria. Modele dynamiczne. Paweł Cibis 27 kwietnia 2006

Metody integracji systemów sterowania z wykorzystaniem standardu OPC

Uniwersalny Konwerter Protokołów

Model OSI. mgr inż. Krzysztof Szałajko

Priorytetyzacja przypadków testowych za pomocą macierzy

Dodatek Solver Teoria Dodatek Solver jest częścią zestawu poleceń czasami zwaną narzędziami analizy typu co-jśli (analiza typu co, jeśli?

Podstawowe protokoły transportowe stosowane w sieciach IP cz.1

PROGNOZOWANIE I SYMULACJE EXCEL 1 AUTOR: MARTYNA MALAK PROGNOZOWANIE I SYMULACJE EXCEL 1 AUTOR: MARTYNA MALAK

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

STATYSTYKA MATEMATYCZNA

Laboratorium Sieci Komputerowych - 2

Szczegółowy program kursu Statystyka z programem Excel (30 godzin lekcyjnych zajęć)

Sieci komputerowe w sterowaniu informacje ogólne, model TCP/IP, protokoły warstwy internetowej i sieciowej

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

K wartość kapitału zaangażowanego w proces produkcji, w tys. jp.

Strojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16

Walidacja metod analitycznych Raport z walidacji

Prognozowanie na podstawie modelu ekonometrycznego

Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.

Prognozowanie popytu. mgr inż. Michał Adamczak

Szczegółowy harmonogram rzeczowy realizacji prac systemu B2B

Losowość w rozproszonym modelu

ZAGADNIENIE TRANSPORTOWE

Laboratorium Systemów SCADA

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Zastosowanie Excela w matematyce

Tom 6 Opis oprogramowania

TCP/IP formaty ramek, datagramów, pakietów...

Sieci Komputerowe Mechanizmy kontroli błędów w sieciach

Laboratorium podstaw telekomunikacji

Wywoływanie procedur zdalnych

Algorytmy klasteryzacji jako metoda dyskretyzacji w algorytmach eksploracji danych. Łukasz Przybyłek, Jakub Niwa Studenckie Koło Naukowe BRAINS

Algorytm. a programowanie -

Programowanie obiektowe

Referencyjny model OSI. 3 listopada 2014 Mirosław Juszczak 37


Sieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

EGZAMIN MATURALNY Z INFORMATYKI CZERWIEC 2011 POZIOM PODSTAWOWY CZĘŚĆ I WYBRANE: Czas pracy: 75 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY

ANALIZA, PROGNOZOWANIE I SYMULACJA WARUNKI ZALICZENIA. AUTOR: mgr inż. MARTYNA KUPCZYK ANALIZA, PROGNOZOWANIE I SYMULACJA WARUNKI ZALICZENIA

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Wywoływanie procedur zdalnych

Porównanie generatorów liczb losowych wykorzystywanych w arkuszach kalkulacyjnych

Analiza sezonowości. Sezonowość może mieć charakter addytywny lub multiplikatywny

Laboratorium technik optymalizacji

3. Modele tendencji czasowej w prognozowaniu

Materiały dodatkowe Krótka charakterystyka protokołu MODBUS

Instrukcja do CERTO STUDENT

Transport. część 3: kontrola przeciążenia. Sieci komputerowe. Wykład 8. Marcin Bieńkowski

Transport. część 3: kontrola przeciążenia. Sieci komputerowe. Wykład 8. Marcin Bieńkowski

Wywoływanie procedur zdalnych

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ NIELINIOWYCH PRZY POMOCY DODATKU SOLVER PROGRAMU MICROSOFT EXCEL. sin x2 (1)

Oferta szkoleniowa Yosi.pl 2012/2013

Sieci komputerowe - Protokoły warstwy transportowej

Podstawy opracowania wyników pomiarów z elementami analizy niepewności pomiarowych

Ruch jednostajnie przyspieszony wyznaczenie przyspieszenia

Aby lepiej zrozumieć działanie adresów przedstawmy uproszczony schemat pakietów IP podróżujących w sieci.

Optymalizacja optymalizacji

Technologie informacyjne (2) Zdzisław Szyjewski

Współpraca modułu Access Point SCALANCE W788-2PRO ze stacjami klienckimi Windows.

Virtual Grid Resource Management System with Virtualization Technology

Analiza autokorelacji

Instrukcja użytkownika programu

Szczegółowy opis przedmiotu umowy. 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów:

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

Excel w zadaniach. Podstawowe operacje

Laboratorium 5: Tablice. Wyszukiwanie binarne

Laboratorum 1 Podstawy pomiaru wielkości elektrycznych Analiza niepewności pomiarowych

LABORATORIUM Z FIZYKI

Funkcje sterownika CellBOX-UxR ModBUS RTU

NAT (Network Address Translation)

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Maciej Piotr Jankowski

w sieciach szerokopasmowych CATV i ISP - Model OSI

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

Sieci komputerowe. Wykład 7: Transport: protokół TCP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Szczegółowy program kursu Statystyka z programem Excel (30 godzin lekcyjnych zajęć)

Transkrypt:

Modyfikacja algorytmów retransmisji protokołu TCP. Student Adam Markowski Promotor dr hab. Michał Grabowski

Cel pracy Celem pracy było przetestowanie i sprawdzenie przydatności modyfikacji klasycznego algorytmu obliczania czasu oczekiwania na potwierdzenie (RTO) w porównaniu z algorytmem klasycznym. Przewidziano wykonanie eksperymentu wstępnego oraz eksperymentu właściwego. Następnie porównując uzyskane wyniki dla algorytmu klasycznego oraz zmodyfikowanego udało się wyciągnąć serię wniosków, które pozwoliły ocenić przydatność zaimplementowanej w środowisku testowym modyfikacji. Kolejnym celem pracy było przybliżenie czytelnikowi problemu optymalizacji algorytmów adaptacyjnych oraz pokazanie jak ważne jest to zagdanienie oraz jak rozwijało się na przestrzeni lat.

Algorytmy klasyczne obliczania czasu oczekiwania na potwierdzenie Protokół TCP został tak skonstruowany, aby dawał pewność połączenia między nadawcą a odbiorcą. Do tego celu wykorzystywany jest mechanizm potwierdzenia z retransmisją. Działa on w ten sposób, że wysyłane przez oprogramowanie warstwy aplikacji bajty są kolejno numerowane. Następnie protokół TCP rozdziela te dane na fragmenty i umieszcza je w segmentach. Segmenty są oznaczane kolejnymi numerami sekwencyjnymi, po to aby odbiorca mógł zestawić odebrane dane w odpowiedniej kolejności. W kolejnym kroku tak przygotowane segmenty są umieszczane w kolejce nadawczej i wysyłane do odbiorcy. W tym momencie także ustawiany jest zegar RTO (Retransmission time out) odliczający czas w dół (do zera). O ile w tym czasie nie dotrze potwierdzenie prawidłowego odebrania segmentu od odbiorcy następuje ponowne wysłanie niepotwierdzonego segmentu do odbiorcy. Czas oczekiwania na potwierdzenie jest zmienny, ponieważ zależy od bieżącego stanu sieci i wyliczany jest w ten sposób, że TCP cały czas sprawdza czas podróży pakietów i z tych właśnie próbek wylicza aktualny czas oczekiwania na potwierdzenie (ang. RTO Retransmission Time Out). Najstarsza wersja protokołu TCP miała zaimplementowany algorytm wyliczania czasu oczekiwania na potwierdzenie oparty o pojedyncze wygładzanie wykładnicze, natomiast kolejna wersja specyfikacji TCP, także uznawana w tej chwili za klasyczną miała już zaimplementowane podwójne wygładzanie wykładnicze i zastosowanie tego nowego algorytmu przyczyniło się do znacznego wzrostu przepływności w sieci.

Algorytm klasyczny obliczania czasu oczekiwania na potwierdzenie Algorytm klasyczny: Różnica = próbka_czasu stare_rtt NOWE RTT = stare_rtt + alfa Różnica ( = (1 - alfa) stare_rtt + alfa próbka_czasu ) Odchylenie = stare_odchylenie + beta ( Różnica - stara_różnica ) Czas_oczekiwania RTO = RTT + eta Odchylenie Współczynniki : alfa - współczynnik wygładzania sterujący tym jak silny jest wpływ wartości nowej próbki czasowej na prognozę RTT oraz jak wpływa na poprzednio obliczone RTT. beta - wartość tego współczynnika ma wpływ na obliczane odchylenie błędu z ostatnich dwóch prognoz RTT. eta - od wartości tego współczynnika zależy wpływ prognozy odchylenia na nowo obliczaną wartość RTO. Heurystyka : 1. Jeżeli poprzednie odchylenie próbki jest w dół (stara_róznica < 0) to przyjmowane odchylenie jest zwiększane (ustalane przez współczynnik beta). 2. Jeżeli poprzednie odchylenie próbki jest w górę (stara_różnica > 0), wartość większa od wartości bezwzględnej aktualnego odchylenia próbki, to przyjmowane odchylenie jest zmniejszane (ustalane przez współczynnik beta). 3. Jeżeli poprzednie odchylenie jest w górę, ale wartość mniejsza od wartości bezwzględnej aktualnego odchylenia próbki, to przyjmowane odchylenie jest zwiększane (ustalane przez współczynnik beta).

Algorytm zmodyfikowany obliczania czasu oczekiwania na potwierdzenie Algorytm zmodyfikowany: W tym przypadku posłużymy się obliczaną dynamicznie wartością współczynnika alfa a będzie ona obliczana na podstawie n ostatnich wartości pobranych z szeregu czasowego. Rozmiar n będzie wartością wejściową algorytmu. Zamienimy zatem dobieranie wartości wejściowej alfa o skali ciągłej na dobieranie wartości wejściowej n o skali dyskretnej. Heurystyka: Im błąd prognozy jest bardziej systematyczny dla szeregu ostatnich wartości n, tym większe oddziaływanie na kolejną liczoną prognozę ma ostatnia przed punktem czasowym następnej obliczanej prognozy, wartość szeregu czasowego. bi prognoza bi Próbka realna (p) t

Laboratorium eksperymentu przechwytywanie ruchu w sieci Laboratorium składa się z : Trzech komputerów z systemem operacyjnym Windows XP Hub Fast Ethernet firmy 3Com Oprogramowanie : Wireshark Iperf (jako klient i serwer) Windump

Laboratorium eksperymentu część analityczna. Część analityczna składa się z : Serwer baz danych MS SQL 2008 Zasadniczy program liczący napisany w środowisku MS Visual Studio 2008 (wariant 1), algorytm zrealizowany w Excelu przy pomocy formuł (wariant 2) Nadzędzie analityczne (Excel 2007)

Wyniki eksperymentu Algorytm klasyczny. Wartości stałe : alfa=0,125; beta=0,5; eta=4 (za książką [2] strona 41) Wyniki testu pokazują bardzo dobrą adaptację algorytmu do zmian zachodzących w sieci (zmiany wartości próbek czasowych) co rozumiemy jako szybką reakcję na te zmiany. Algorytm klasyczny cechuje się przede wszystkim bardzo dobrze zbalansowaną zależnością pomiędzy ilością pojawiających się retransmisji oraz czasem propagacji przesyłanych przez sieć danych, co skutkuje także bardzo dobrą wydajnością. Do cech ujemnych algorytmu klasycznego możemy zaliczyć niższą stabilność połączenia.

Wyniki eksperymentu Algorytmy zmodyfikowany eksperyment 1. Test przeprowadzony przy wartości alfa wyliczanej oraz beta = 0,125 Porównując zachowanie algorytmu zmodyfikowanego z algorytmem klasycznym zauważamy zwiększony o 1,4 x czas propagacji ale także zmniejszoną 4-o krotnie ilość retransmisji spowodowanych osiągnięciem zera przez zegar retransmisji co skutkuje także wyższym poziomem stabilności połączenia.

Algorytm zmodyfikowany Algorytmy zmodyfikowany eksperyment 2. Test przeprowadzony przy wartości alfa wyliczanej oraz beta = 0,25 W tym przypadku czas propagacji w stosunku do algorytmu klasycznego był o 1,28 x dłuższy a ilość retransmisji mniejsza o 2,95 x.

Algorytm zmodyfikowany Algorytmy zmodyfikowany eksperyment 2. Test przeprowadzony przy wartości alfa wyliczanej oraz beta = 0,51 Ostatni z testów jest osiągniętymi wynikami najbardziej zbliżony do algorytmu klasycznego i charakteryzuje się nieznacznie większą ilością retransmisji, nieznacznie dłuższym czasem propagacji wysyłanych danych oraz trochę lepszą stabilnością połączenia w stosunku do algorytmu klasycznego

Zestawienie wyników Nr testu Algorytm Wartość beta Ilość retransmisji Czas propagacji Stabilność połączeni BER a 1 Klasyczny 0,125 2844 44,704 1,15 0,113 1A Eksperyment 1 0,125 706 62,654 1,630 0,02 8 2 Eksperyment 2 0,25 963 57,394 1,494 0,03 8 3 Eksperyment 3 0,51 2892 45,383 1,184 0,115 Gdzie : Ilość retransmisji ilość retransmisji spowodowanych przekroczeniem czasu oczekiwania na potwierdzenie (RTO). Czas propagacji średni czas z sumy czasu oczekiwania na potwierdzenie z całej serii próbek. Stabilność połączenia średnia wartość stosunku czasu oczekiwania na potwierdzenie (RTO) do próbki czasowej dla całego zbioru danych. BER (z ang. Bit terror ratio) stosunek ilości bitów przesłanych z błędami do ogólnej liczby przesłanych bitów w określonym przedziale czasowym.

Algorytm klasyczny Porównanie zachowania algorytmów dla całości próbek czasowych. Algorytm zmodyfikowany eksperyment 3

Wnioski Wyniki uzyskane w toku eksperymentu są bardzo zbliżone do rezultatów jakie otrzymano przy wykorzystaniu algorytmu klasycznego a zależność między wynikami jest praktycznie liniowa. Minusem algorytmu zmodyfikowanego jest jego większa złożoność obliczeniowa co oznacza, że jego implementacja na sprzęcie fizycznym wymagała by zastosowania szybszych procesorów oraz w szczególności większej pamięci operacyjnej (np, w routerach). Według wstępnych obserwacji można przyjąć, że okno entropii powinno zmieniać swój rozmiar w zależności od tego jak stabilnie pracuje sieć. Najprawdopodobniej jego rozmiar powinien być znacznie większy w chwilach stabilnej pracy sieci a zmniejszać się radykalnie (nawet do rozmiaru n=1) w momentach, kiedy pojawiają się zakłócenia, zwiększa się wartość próbek czasowych i zaczynają pojawiać się retransmisje. Dodatkowym elementem, który w przyszłości mógłby wpływać na zachowanie się oraz wydajność algorytmu zmodyfikowanego, jest parametr beta. W toku eksperymentu, będącego treścią tej pracy został on przyjęty jako wartość stała. Trzy kolejne eksperymenty pokazały, że w sytuacji gdy zaczynają się zwiększać wartości próbek czasowych, wartość parametru beta również powinna rosnąć. Takie płynne zwiększanie wartości parametru beta owocowało by w tym przypadku zmniejszeniem się ilości retransmisji spowodowanych błędnie, to znaczy zbyt nisko, ocenionym czasem oczekiwania na potwierdzenie. Natomiast po wyrównaniu się parametrów pracy sieci i osiągnięciu przez nią optymalnych wartości próbek czasowych (oscylujących wokół średniej czasów z przyjętego interwału czasowego) radykalnie poprawił by się wtedy sposób wyliczania czasu oczekiwania na potwierdzenie, co jak wiadomo ma bezpośredni wpływ na ogólną wydajność sieci oraz stabilność jej pracy.