Warstwa transportowa - Protokoły kontroli przesyłu informacji
Transkrypt
Warstwa transportowa - Protokoły kontroli przesyłu informacji
Warstwa transportowa Model OSI Model TCP/IP Aplikacji Prezentacji zapewnienie poprawnego transportu danych w komunikacji ze zdalnym komputerem ; podział danych na segmenty Aplikacji Sesji Transportowa Transportowa Sieciowa Sieciowa Łącza danych Fizyczna Dostępu do sieci (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Funkcje warstwy transportowej zestawienie logicznego kanału przesyłu informacji między końcowymi systemami komunikacji (end-to-end) SIEĆ IP kontrola przepływu informacji ok, zwalniam wysyłanie zwolnij wysyłanie... nie jestem w stanie przetworzyć tyle informacji na raz... niezawodność przesyłu informacji nie dostałem trzeciego segmentu.. retransmituj (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Prosty, teoretyczny model kontroli przepływu : stop-and-wait prostota ● niski poziom wykorzystania pasma zależny od odległości pomiedzy nadajnikiem a odbiornikiem oraz szybkości transmisji ● niska efektywność w realnych warunkach (błędy transmisji, medium współdzielone, ograniczone bufory nadajnika i odbiornika ● (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Mechanizmy kontroli błędów i retransmisji - “go-back-N” dostałem zbiorcze potwierdzenie za 3 segmenty ponawiam transmisję od 5 segmentu 0 1 2 3 4 5 6 7 5 6 7 wysyłam zbiorcze potwierdzenie za 3 segmenty brakuje poprzedniego segmentu! informuję nadawcę i odrzucam wszystkie nadchodzące segmenty dopóki nie dostanę brakującego... prostota implementacji ● ograniczone wymagania bufora odbiornika ● wysyłam zbiorcze potwierdzenie za 3 segmenty (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Mechanizmy kontroli błędów i retransmisji - “selective ack” (c.d.) 0 dostałem zbiorcze potwierdzenie za 3 segmenty ponawiam transmisję tylko 5 segmentu 1 2 3 4 5 6 7 5 8 9 wysyłam zbiorcze potwierdzenie za 3 segmenty brakuje segmentu nr 5! informuję nadawcę i przyjmuję dalej wszystkie nadchodzące segmenty wysyłam zbiorcze potwierdzenie za 3 segmenty Bardziej wydajne od wersji go-back-N ● minimalizacja ilości retransmisji ●konieczność zwiększenia bufora odbiornika ● komplikacja odbiornika (uporządkowanie otrzymanych ramek) ● komplikacja nadajnika (wysyłanie ramek poza kolejnością) ● (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Mechanizm przesuwnego okna (ang. sliding-window) ostatni wysłane potwierdzony segmenty segment ... 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 ... aktualna szerokość okna maksymalna szerokość okna (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Pola nagłówka protokołu TCP 0 4 8 12 16 20 port źródłowy 24 28 32 port docelowy numer sekwencyjny numer potwierdzający przesunięcie danych zarezerwowane bity sterujące suma kontrolna nagłówka rozmiar okna wskaźnik danych pilnych opcje dopełnienie dane (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Nawiązanie, negocjacja, zamknięcie połączenia w sesji TCP 0 4 8 12 16 20 24 28 32 inne pola... numer sekwencyjny numer potwierdzający przesunięcie danych zarezerwowane bity sterujące rozmiar okna inne pola... 10 11 12 13 14 15 16 URG | ACK | PSH | RST | SYN | FIN INICJUJĘ POŁĄCZENIE: ● wysyłam segment z nastawionym bitem SYN ● nastawiam nr sekwencyjny na X ● określam rozmiar okna na A POTWIERDZAM POŁĄCZENIE: ● wysyłam segment z nastawionym bitem ACK ● nastawiam nr potwierdzający na Y+1 FIN SYN SYN+ACK FIN+ACK (RST) ACK ACK INICJUJĘ POŁĄCZENIE: ● wysyłam segment z nastawionym bitem SYN+ACK nastawiam nr sekwencyjny na Y ● nastawiam nr potwierdzający na X+1 ● określam rozmiar okna na B ● (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Diagram stanów gniazd TCP źródło: htttp://wikipedia.org (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Bity sterujące TCP (c.d.) 0 4 8 12 16 20 24 28 32 inne pola... bity sterujące zarezerwowane przesunięcie danych suma kontrolna nagłówka rozmiar okna wskaźnik danych pilnych inne pola... 10 11 12 13 14 15 16 URG | ACK | PSH | RST | SYN | FIN bez bitu PSH: bufor danych aplikacji z bitem PSH: bufor danych aplikacji wskaźnik do danych pilnych bufor danych aplikacji (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Algorytmy kontroli przepływu w TCP i sterowania wielkości okna wielkość okna TCP Tahoe TCP Westwood wielkość okna W max T) W max f 1( RT ss_thr1 TT R ( f2 ss_thr2 ) ss_thr1 t[s] wielkość okna TCP Reno t[s] wielkość okna TCP Vegas W max W max ss_thr1 f(RTT) ss_thr2 t[s] t[s] (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Logiczne kanały przesyłu informacji między hostami. Mechanizm portów 0 4 8 12 16 20 port źródłowy 24 28 32 port docelowy inne pola... 43214 80 60112 55521 25 22 21655 4667 7778 5222 (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Pola opcji nagłówka TCP 0 4 8 12 16 20 24 28 32 inne pola... opcje dopełnienie inne pola... ● ● ● ● ● ● ● Maksymalny rozmiar segmentu (MSS) Skalowanie rozmiaru okna Wybiórcze potwierdzenia (SACK) Datownik Tranzakcyjny TCP (T/TCP) NOP EOL (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Bezpołączeniowy protokół UDP (User Datagram Protocol) 0 4 8 12 16 20 24 28 port źródłowy port docelowy długość suma kontrolna nagłówka 32 dane (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Podsumowanie – porównanie protokołów TCP i UDP cecha UDP TCP rodzaj protokołu zawodność kolejność odbieranych segmentów fałszerstwo adresu nadawcy szybkość skomplikowanie, wymagania sprzętowe bezpołączeniowy połączeniowy zawodny niezawodny dowolna sekwencyjna możliwe niemożliwe większa mniejsza mniejsze większe (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej