Odmiany protokołu TCP

Wielkość: px
Rozpocząć pokaz od strony:

Download "Odmiany protokołu TCP"

Transkrypt

1 SAMODZIELNY ZAKŁAD SIECI KOMPUTEROWYCH Wydział Fizyki Technicznej, Informatyki i Matematyki Stosowanej POLITECHNIKA ŁÓDZKA Łódź ul. Stefanowskiego 18/22 tel./fax. (42) szsk@zsk.p.lodz.pl Paweł Czapnik Odmiany protokołu TCP praca dyplomowa magisterska Promotor: dr inŝ. Michał Morawski Dyplomant: Paweł Czapnik nr albumu Łódź, grudzień

2 Spis treści Spis treści... 2 Wykaz stosowanych skrótów i pojęć... 4 Rozdział Wstęp... 5 Rozdział Cel i zakres pracy Cel pracy Opis rozdziałów... 6 Rozdział Standardowe odmiany protokołu TCP Oryginalna specyfikacja TCP Funkcjonalność TCP Nagłówek segmentu TCP Zestawianie i zamykanie połączeń Mechanizm retransmisji Zarządzanie oknem TCP Tahoe Powolny start (ang. Slow start) Unikanie przeciąŝenia (ang. Congestion Avoidance) Szybka retransmisja (ang. Fast Retransmit) Estymacja czasu RTO Obliczanie RTO na podstawie algorytmu Jacobsona Algorytm Karn a TCP Reno Szybkie odtwarzanie w TCP Reno (ang. Fast Recovery) Rozdział Nowe standardy i propozycje algorytmów kontroli przeciąŝenia NewReno Algorytm szybkiej retransmisji i szybkiego odtwarzania w NewReno Problemy w NewReno TCP SACK Algorytm szybkiego odtwarzania w mechanizmie SACK Potwierdzenia generowane w przód (FACK) Algorytm FACK Procedura szybkiego odtwarzania w FACK TCP Vegas Mechanizm unikania przeciąŝenia Zmodyfikowana procedura powolnego startu Polityka retransmisji Problemy w TCP Vegas TCP Westwood Zasada działania mechanizmu BE (Bandwidth Estimation) Algorytm ustawienia wartości cwnd i ssthresh (algorytm szybszej retransmisji) Wyraźne powiadamianie o przeciąŝeniach (ECN) Rodzina algorytmów binomial Definicja algorytmów binomial Kompatybilność z TCP Algorytmy IIAD i SQRT

3 Protokół kontroli przeciąŝenia w Binomial Rozdział Dostosowanie protokołu TCP do róŝnych środowisk sieci Sieci HighSpeed HighSpeed TCP Odmiany protokołu TCP w sieciach satelitarnych Charakterystyka łącz satelitarnych Standardowe i dodatkowe mechanizmy TCP w sieciach satelitarnych Mechanizmy kontroli przeciąŝenia (ang. Congestion Control) Skalowanie okna (ang. Window scaling) Znacznik czasu (RTTM) Ochrona przed przepełnieniem numeru sekwencyjnego (PAWS) Opóźnianie potwierdzeń (DACK) Właściwe liczenie bajtów (ABC ang. Appropriate Byte Counting) Mobilność w sieciach bezprzewodowych Komunikacyjne sieci komórkowe (ang. Cellular Comunications) Charakterystyka łącz w sieciach komórkowych 2.5G i 3G Usprawnienie protokołu TCP w mobilnych sieciach komórkowych Bezprzewodowy TCP (ang. Wireless Transmission Control Protocol) Mobilne sieci ad-hoc SprzęŜenie zwrotne TCP (TCP-Feedback) Rozdział Symulacje protokołu TCP Cel podjęcia tematu Symulacje protokołu TCP w standardowych sieciach Sposób działania mechanizmów kontroli przeciąŝenia Wpływ czasu transmisji RTT na wydajność TCP Wydajność w zaleŝności od opóźnienia propagacji Wydajność TCP w zaleŝności od opóźnienia w kolejkach Wpływ pojemności bufora odbiorczego na szybkość transmisji Wydajność w przypadku ruchu impulsowego Zastosowanie aktywnego zarządzania kolejkowaniem Bezstronność odmian TCP(ang. Fairness) Interakcje poszczególnych odmian TCP z protokołem TCP Reno Wspólne wystąpienie badanych odmian TCP Bezstronność w przypadku określonej ilości transmisji tej samej odmiany TCP Symulacje wybranych odmian TCP w sieci highspeed Podsumowanie Bibliografia Załączniki

4 Wykaz stosowanych skrótów i pojęć BDP (ang. Bandwidth-Delay Product) iloczyn szerokości pasma i opóźnienia BER (ang. bit-error rate) określa stopień utraty bitów CWND (ang. Congestion Window) wartość okna przeciąŝeniowego DUPACKs powielone segmenty z ustawioną flagą ACK potwierdzenie ACK segment z ustawioną flagą ACK wysyłany przez odbiorcę danych MSS maksymalny rozmiar segmentu nadawca komputer wysyłający dane do odbiorcy odbiorca komputer odbierający dane od nadawcy RED (ang. Random Early Detection) mechanizm aktywnego zarządzania kolejkami polegający na wczesnym losowym odrzucaniu pakietów z kolejki RTO (ang. Retransmission Timeout) maksymalny czas oczekiwania na potwierdzenie danych RTT (ang. Round Trip Time) czas pętli zwrotnej, inaczej czas podróŝy pakietów w obie strony RWND (ang. Recive Window) wartość okna ogłoszeniowego (ogłaszane przez odbiorcę) SACK (ang. Selective Acknowledgement) opcja selektywnego potwierdzenia ssthresh (ang. slow start threshold) wartość progowa powolnego startu TCP (ang. Transport Control Protocol) protokół kontroli transmisji 4

5 Rozdział 1. Wstęp Protokół TCP (ang. Transport Control Protocol) jest niezwykle popularnym protokołem transportowym wykorzystywanym w 90-ciu procentach sieci komunikacyjnych opartych na technologii IP (Internet Protocol) [38]. Ze względu na zawodność protokołu IP, aby aplikacje i usługi internetowe mogły z niego korzystać, potrzebne są inne protokoły zapewniające jakość transmisji danych w sieciach komputerowych nazywane protokołami warstwy transportowej. Takim protokołem jest właśnie wspomniany protokół kontroli transmisji TCP (ang. Transport Control Protocol). Zaprojektowany został w celu zapewnienia niezawodnej warstwy transportowej dla wielu popularnych usług sieci opartych o stos protokołów TCP/IP. Jest strumieniowym protokołem komunikacji zapewniającym wiarygodne połączenie pomiędzy dwoma komputerami. Dzięki stosowaniu sum kontrolnych i numerów sekwencyjnych zapewnia kompletną i uporządkowaną wymianę danych dla aplikacji warstw wyŝszych. Obecnie jest wykorzystywany przez większość popularnych aplikacji internetowych takich jak: poczta elektroniczna, przesyłanie zasobów WWW, przesyłanie plików czy teŝ usługę zdalnego logowania. Jego pierwsza specyfikacja [39] zaimplementowana w 1983 roku w dystrybucji Berkeley UNIX 4.2 BSD, mimo iŝ była jednym z powodów szerokiego przyjęcia protokołu TCP, nie okazała się zbyt udaną, co doprowadziło w 1986 roku do historycznej blokady sieci spowodowanej przeciąŝeniem [26]. Przypadek ten okazał się motorem napędowym do powstania nowych algorytmów kontroli przeciąŝenia, które obecnie są standardem tego protokołu i kolejnych odmian przyczyniających się do wzrostu osiągów, jak i dostosowania go do róŝnych sieci. Jednym z najbardziej interesujących zagadnień związanych z protokołem TCP jest kontrola przeciąŝenia i przepływu. KaŜdego roku pojawiają się nowe opracowania analizujące i proponujące nowe mechanizmy i algorytmy kontroli przeciąŝenia w celu poprawienia wydajności, jak równieŝ adaptacji TCP do róŝnych środowisk sieciowych. Wraz z rosnącymi wymaganiami uŝytkowników zaleŝnych od sieci TCP/IP i obserwowanym trendem bezprzewodowego dostępu do Internetu terminali przenośnych, konieczne jest projektowanie i analizowanie kolejnych wersji protokołu TCP odpowiednich dla nowych środowisk komunikacyjnych. 5

6 Rozdział 2. Cel i zakres pracy 2.1. Cel pracy Celem niniejszej pracy jest przedstawienie roli i zasady działania, jak równieŝ porównanie efektywności poszczególnych odmian protokołu TCP powstałych w odpowiedzi na ciągły wzrost wymagań uŝytkowników, o czym mowa była we wstępie. Ze względu na popularność tego protokołu w sieci Internet i niewielką ilość artykułów w języku polskim warto przedstawić ten temat. Celem części praktycznej jest przeprowadzenie badań symulacyjnych w celu porównania wydajności i bezstronności poszczególnych odmian protokołu TCP w róŝnych konfiguracjach sieci Opis rozdziałów Rozdział 3 przedstawia główne pojęcia związane z działaniem protokołu TCP pozwalające zrozumieć dynamikę jego wydajności i podstawowe mechanizmy kontroli transmisji zawarte w oryginalnej specyfikacji. Zawiera równieŝ kolejne wersje mechanizmów kontroli przeciąŝenia implementowane w protokole TCP, włącznie ze standardem wykorzystywanym w obecnych sieciach. Rozdział 4 opisuje nowe odmiany bądź modyfikacje mechanizmów kontroli przeciąŝeń zaproponowane przez twórców i badaczy protokołu TCP. Rozdział 5 przedstawia adaptację protokołu TCP do róŝnych odmian sieci w celu poprawienia ich wydajności. Rozdział 6 zawiera opis i wyniki przeprowadzonych symulacji poszczególnych odmian protokołu TCP, jak równieŝ porównanie ich efektywności na podstawie tych badań. 6

7 Rozdział 3. Standardowe odmiany protokołu TCP 3.1. Oryginalna specyfikacja TCP Pierwsze wzmianki na temat TCP pochodzą z początku lat 70-tych, gdy niektóre pojęcia (router, warstwy sieciowe) związane z sieciami komputerowymi nie były jeszcze znane bądź oczywiste. Autorami pierwszej oficjalnej specyfikacji TCP byli Vinton Cerf, Yogen Dala i Carl Sunshine [13]. Dopiero w roku 1980 Jon Postel napisał dla Departamentu Obrony Stanów Zjednoczonych (DoD Departament of Defense) kolejną specyfikacje [37], która stała się standardem dla sieci ARPA (Advanced Research Project Agency). Mimo iŝ w latach tych istniało wiele innych odmian protokołów sieciowych, to protokół TCP był juŝ szeroko stosowany ze względu na prostotę i powszechną dostępność specyfikacji oraz kodu źródłowego. Dokument [39] zawiera specyfikacje protokołu TCP bazującą na dziewięciu wcześniejszych edycjach tego protokołu, która w 1983 roku została zaimplementowana w dystrybucji Berkeley UNIX 4.2 BSD Funkcjonalność TCP Głównym celem protokołu TCP jest zapewnienie niezawodnego i bezpiecznego połączenia pomiędzy dwoma procesami. W tym celu zdefiniowane są następujące usługi: Transmisja danych (ang. Basic Data Transfer) moŝliwość transmitowania danych w sposób strumieniowy w trybie pełnodupleksowym. Polega na zestawieniu połączenia pomiędzy dwoma procesami, w którym dane są wysyłane i odbierane w postaci strumienia bajtów (oktetów). Tak naprawdę abstrakcja strumienia jest widoczna dla aplikacji, bo sam protokół TCP gromadzi odpowiednią liczbę (nie więcej niŝ wartość MSS) oktetów danych w segmenty i transmituje przez sieć IP do odbiorcy. Następnie aplikacja w sposób strumieniowy pobiera z odpowiedniego bufora wydobyte z segmentów i uporządkowane bajty danych. Niezawodne przesyłanie (ang. Reliability) kaŝdy pojedynczy bajt musi zostać dostarczony do odbiorcy przez sieć nieuszkodzony, bez powielenia i w odpowiedniej kolejności. Zrealizowane to jest za pomocą numerów sekwencyjnych przypisywanych kaŝdemu segmentowi wysyłanych danych 7

8 i Ŝądania potwierdzenia poprawnego odebrania danych przez odbiorcę. Jeśli potwierdzenie wysłanych danych nie przyjdzie po określonym wcześniej czasie, to nadawca transmituje je ponownie. Numery sekwencyjne są wykorzystywane do wyeliminowania powtórzeń i złoŝenia segmentów w uporządkowaną całość. Kontrola przepływu (ang. Flow Control) odbiorca danych posiada przywilej do sterowania ilością wysyłanych przez nadawcę danych. Za pomocą pola Rozmiar okna odbiorcy w nagłówku TCP (Rys. 3.1), odbiorca wysyła w kaŝdym potwierdzeniu (ACK) pozwolenie na wysłanie określonej liczby bajtów, która jest odzwierciedleniem wolnego miejsca w buforze odbiorcy. Funkcjonalność ta nie zabezpiecza jednak przed przepełnieniem się buforów urządzeń pośredniczących np. routerów. Połączenia (ang. Connections) zanim dwie aplikacje zaczną przesyłać dane, konieczna jest wymiana informacji potrzebnych do powyŝszych mechanizmów zwana połączeniem. Wiele połączeń (ang. Multiplexing) umoŝliwia zestawienie równocześnie kilku połączeń TCP z jednego komputera. KaŜdy proces aplikacji identyfikuje połączenie na podstawie unikalnych numerów portu komputera. Unikalnym identyfikatorem połączenia TCP są dwie pary wartości (jedna dla kaŝdej ze stron połączenia) określające adres i numer portu komputera. Pierwszeństwo i bezpieczeństwo (ang. Precedence and Security) umoŝliwia oznaczenie przez uŝytkownika waŝnych danych, które powinny być dostarczone w pierwszej kolejności Nagłówek segmentu TCP Budowę segmentu TCP przedstawia Rys. 3.1 (nagłówek TCP został rozszerzony, co zostało opisane w podrozdziale 4.6). Składa się on z nagłówka zasadniczego o długości 20 bajtów i danych o róŝnej długości. Podstawowy nagłówek moŝe być rozszerzony o pole opcji. 8

9 Port źródłowy U Przesunięcie Zarezerwowane R danych G Suma kontrolna A C K Numer sekwencyjny Numer potwierdzenia P S H R S T S Y N F I N Port docelowy Rozmiar okna odbiorcy Wskaźnik waŝności Opcje (róŝna długość) Dopełnienie Dane (róŝna długość) Rys Budowa nagłówka TCP Opis pól nagłówka: Port źródłowy (ang. Source Port) (16 bitów). Określa numer portu źródłowego. Port docelowy (ang. Destination Port) (16 bitów). Określa numer portu docelowego. Numer sekwencyjny (ang. Sequence Number) (32 bity). Określa numer sekwencyjny pierwszego bajta danych zawartych w tym segmencie. Wyjątek stanowi segment z flagą SYN, dla którego wartość tego pola jest ISN+1, gdzie ISN (ang. Initial Sequence Number) jest początkową wartością numeru sekwencyjnego generowaną podczas zestawiania połączenia. Generator ISN zapewnia unikalną wartość dla wszystkich instancji połączenia. Numer potwierdzenia (ang. Acknowledgment Number) (32 bity). Pole to słuŝy do potwierdzania odebranych danych przez odbiorcę. Jeśli wartość flagi ACK jest ustawiona, to wartość tego pola zawiera numer sekwencyjny bajtu, którego spodziewa się odbiorca. Przesunięcie danych (ang. Data Offset) (4 bity). Określa liczbę 32-bitowych słów zajmowanych przez nagłówek segmentu danych. W przypadku standardowego nagłówka bez opcji wartość tego pola wynosi 5. Zarezerwowane (ang. Reserved) (6 bitów). Zarezerwowane na przyszłe potrzeby. Flagi (ang. Flags) (6 bitów): URG Wskaźnik waŝności zawiera dane. 9

10 ACK Pole z numerem potwierdzenia zawiera dane. PSH Oznacza operację wypchnięcia danych. RST Przerwanie połączenia. SYN Rozpoczęcie nowego połączenia. FIN Ostatni segment od nadawcy. Rozmiar okna odbiorcy (ang. Window) (16 bitów). Wykorzystywane przez nadawcę do kontroli przepływu. Określa liczbę bajtów, jaką nadawca moŝe zaakceptować (wolne miejsce w buforze). Suma kontrolna (ang. Checksum) (16 bitów). Zabezpiecza segment przed uszkodzeniem. Suma kontrolna liczona jest na podstawie nagłówka, danych w segmencie i 96-bitowego pseudonagłówka składającego się z adresu źródłowego i docelowego oraz długości segmentu TCP (nagłówek + dane aplikacji) [39]. Wskaźnik waŝności (ang. Urgent Pointer) (16 bitów). Pole to jest interpretowane tylko w przypadku ustawienia flagi URG. Zawiera numer sekwencyjny bajtu występującego po waŝnych danych, które są przetwarzane w pierwszej kolejności przez aplikację. Opcje (ang. Options) (zmienna długość). Występują po nagłówku standardowym i zajmują wielokrotność 8-bitowych oktetów. Mogą występować jako pojedynczy oktet określający rodzaj opcji lub dwa oktety określające rodzaj i rozmiar pola danych opcji (łącznie z tymi dwoma bajtami). Całkowity rozmiar listy opcji nie moŝe przekraczać moŝliwości pola określającego długość nagłówka (64 bajty). Rodzaje opcji, jakie musi implementować protokół TCP przedstawia Rys Rodzaj (w bitach) Długość (w oktetach) Zawartość Koniec listy Brak operacji MSS Rys Podstawowe opcje nagłówka standardu TCP [39] Opcja MSS: Maksymalny rozmiar segmentu (MSS - ang. Maximum Segment Size) (16 bitów) określa maksymalny rozmiar przesyłanych danych zawartych w jednym segmencie (ilość bajtów danych bez nagłówka). Opcja MSS ustawiana jest podczas 10

11 zestawiania połączenia przez stronę rozpoczynającą połączenie (tylko w segmencie SYN) w celu wynegocjowania maksymalnej ilości danych, która będzie mogła być wysłana w jednym segmencie. Dopełnienie (ang. Paddding) (zmienna długość). Wykorzystywane w celu dopełnienia długości nagłówka do wielokrotności 32-bitowych słów. Pole to jest wypełniane zerami Zestawianie i zamykanie połączeń Ze względu na to, Ŝe funkcjonalność TCP opiera się na połączeniach, protokół ten musi implementować dwie procedury zestawiającą i zamykającą połączenie pomiędzy dwoma punktami końcowymi. Procedura trójstronnego uzgodnienia (ang. three-way handshake) słuŝy do zestawiania połączenia. W normalnym przypadku jak na Rys. 3.3, procedura ta jest inicjalizowana przez jednego z uŝytkowników TCP. Mogą równieŝ wystąpić przypadki równoczesnego zainicjowania tej procedury przez dwa komputery chcące nawiązać połączenie w tym samym czasie (Rys. 3.4). Sekwencja zdarzeń dla trójstronnego uzgodnienia inicjowanego przez komputer A na przykładzie Rys. 3.3: 1. Nadawca A wysyła segment z ustawionym znacznikiem SYN z przykładowym startowym numerem sekwencyjnym SeqNo = 100 (jest to unikalna wartość 32-bitowa wygenerowana dla tego połączenia po stronie nadawcy). 2. Odbiorca B wysyła segment z ustawionymi znacznikami SYN i ACK oraz przykładowym numerem sekwencyjnym SeqNo =200 (jest to unikalna wartość 32-bitowa wygenerowana dla tego połączenia po stronie odbiorcy) oznacza, Ŝe odbiorca będzie uŝywał numerów sekwencyjnych zaczynając od 200. Numer potwierdzenia AckNo =101 oznacza, Ŝe odbiorca otrzymał poprawne dane do numeru sekwencyjnego 100 i oczekuje na dane z numerem 101. Startowe numery sekwencyjne TCP A i TCP B nie są w Ŝaden sposób związane. 3. Nadawca A wysyła pusty segment z ustawionym znacznikiem ACK i numerem sekwencyjnym AckNo = 201 potwierdzając w ten sposób odebranie danych od TCP B z numerem sekwencyjnym równym 200. W tym momencie połączenie jest poprawnie zestawione i komputery A i B mogą wymieniać między sobą dane. 11

12 TCP A TCP B SYN, SeqNo=100 SYN, ACK, SeqNo = 200 AckNo = 101 ACK, AckNo = 201 Rys Przykład trójstronnego zestawienia połączenia Równoczesne zainicjowanie procedury zestawienia połączenia przez obydwa końce TCP przedstawia Rys TCP A TCP B TCP A TCP B SYN, SeqNo=100 SYN, SeqNo=300 SYN, ACK, SeqNo = 300 AckNo = 101 SYN, ACK, SeqNo = 100 AckNo = 301 SYN, ACK, SeqNo = 101 AckNo = 301 Rys Równoczesne inicjalizowanie połączenia przez A i B Innym moŝliwym przypadkiem jest wystąpienie powielonych segmentów SYN. Reakcją na tego typu segmenty jest wysłanie segmentu z ustawionym bitem flagi RST oznaczającym przerwanie połączenia. Odbiorca po otrzymaniu segmentu RST przechodzi do stanu nasłuchiwania (ang. Listen), jeśli wcześniej nie był w stanie połączenia (ang. non-synchronized state), w przeciwnym wypadku połączenie zostaje przerwane. 12

13 Półotwarte połączenia (ang. Half-Open Connections) występują w przypadku, gdy jedna ze stron połączenia TCP zostanie przerwana lub zakończona bez powiadomienia drugiej strony. Po wykryciu takiej sytuacji połączenie jest przerywane. Procedura zamknięcia połączenia jest wywoływana w momencie, gdy nie ma więcej danych do wysłania. MoŜliwe są trzy przypadki wywołania tej procedury: 1. Wywołanie przez lokalnego uŝytkownika 2. Zainicjalizowanie przez zdalnego uŝytkownika za pomocą flagi FIN. 3. Wywołanie równocześnie przez obie strony połączenia. Proces zamknięcia połączenia przebiega w czterech etapach (Rys. 3.5): 1. UŜytkownik TCP A wysyła segment z flagą FIN oznaczający chęć zakończenia połączenia. Przechodzi do stanu FIN-WAIT-1, w którym moŝe jedynie odbierać dane. 2. UŜytkownik TCP B wysyła potwierdzenie odebrania FIN, ale nie musi od razu wysyłać segmentu FIN, gdyŝ moŝe nie być gotowy na zakończenie transmisji danych. Po wysłaniu samego potwierdzenia ACK moŝe nadal wysyłać dane. 3. Gdy uŝytkownik B jest gotowy do zamknięcia połączenia wysyła segment FIN i przechodzi do stanu LAST-ACK. 4. UŜytkownik A potwierdza odebranie segmentu FIN i w ten sposób połączenie jest zakończone po obu stronach. TCP A TCP B FIN, ACK SeqNo = 100 AckNo = 300 ACK, SeqNo = 300 AckNo = 101 FIN, ACK SeqNo = 300 AckNo = 101 ACK, SeqNo = 101 AckNo = 301 Rys Zakończenie połączenia TCP 13

14 Mechanizm retransmisji Mechanizm retransmisji zapewnia niezawodność przesyłania danych. PoniewaŜ segmenty mogą zostać zgubione, konieczna jest ich retransmisja. Jeśli potwierdzenie danego segmentu nie przyjdzie po limicie czasu retransmisji RTO (ang. Retransmission Timeout) dla tego segmentu, to nadawca musi ponownie wysłać dane. Zegar retransmisji (ang. retransmission timer) jest implementowany dla kaŝdego połączenia i jest ostatecznym mechanizmem do wykrywania strat w transmisji segmentów. Jeśli osiągnie wartość zero to segment jest wysyłany ponownie. Uruchamiany jest z nową wartością RTO gdy: 1. Segment jest wysyłany a zegar nie jest uruchomiony. 2. Przychodzi potwierdzenie umoŝliwiające wysłanie nowych danych. 3. Segment jest transmitowany ponownie. Zatrzymanie zegara jest tylko w momencie otrzymania potwierdzenia dla wszystkich wysłanych segmentów. Ustawienie odpowiedniej wartości RTO jest kluczowe dla dobrej wydajności protokołu TCP. Problem pojawia się w sieciach o zmiennym opóźnieniu. Ustawienie zbyt małej wartości moŝe przyczynić się do niepotrzebnych retransmisji, zaś duŝe wartości czasu RTO przyczyniają się do zwiększenia opóźnień. Specyfikacja [39] z powodu duŝej zmienności opóźnień w sieci zaleca dynamiczne ustalanie wartości RTO. Czas pętli zwrotnej RTT (ang. Round Trip Time) jest to czas, jaki upłynął od momentu wysłania segmentu do otrzymania potwierdzenia obejmującego ten segment. Nie musi to być potwierdzenie dotyczące numeru tego segmentu, moŝe to być potwierdzenie otrzymania segmentu o numerze wyŝszym obejmujące równieŝ niepotwierdzone do tej pory segmenty o niŝszych numerach. Po obliczeniu próbki czasu RTT strona nadająca utrzymuje dla kaŝdego połączenia TCP oszacowaną wartość RTT (SRTT ang. Smoothed Round Trip Time) obliczoną przy wykorzystaniu filtru dolnoprzepustowego (3.1): SRTTt + 1 = α SRTTt + (1 α) RTT (3.1) gdzie: α jest stałym współczynnikiem wygładzenia zalecanym 0.8 [39], co oznacza, Ŝe większą wagę ma oszacowana wartość SRTT z poprzedniego okresu niŝ ostatnio 14

15 zmierzona wartość RTT. Taka wartość α zabezpiecza przed gwałtownymi odchyleniami szacowanej wartości SRTT. Wartość RTO jest obliczana ze wzoru: [ UBound, max[ LBound, ( SRTT ) ] RTO = min β (3.2) gdzie: UBound górna granica RTO (zalecana 1 min), LBound dolna granica RTO (zalecana 1 s), β - współczynnik odchylenia opóźnienia (zalecany 2) Zarządzanie oknem Kontrola przepływu (ang. flow control) zabezpieczająca odbiorcę przed zbyt duŝą ilością danych otrzymywanych od nadawcy, opiera się na rozmiarze okna odbiorcy wysyłanym w kaŝdym segmencie potwierdzającym odebranie danych. Rozmiar ten oznacza zakres numerów sekwencyjnych, jaki moŝe przyjąć bufor zadeklarowany przez odbiorcę na początku połączenia. Po kaŝdym odebraniu danych odbiorca dynamicznie aktualizuje rozmiar okna w zaleŝności od wolnego miejsca w buforze danych. Procedura zarządzania oknem ma duŝy wpływ na wydajność połączenia. Ogłoszenie małego rozmiaru okna ogranicza transmisje danych do wysyłania duŝej ilości segmentów o małym rozmiarze, włączając w to opóźnienia związane z czasem RTT. [39] wprowadza kilka moŝliwości implementacyjnych w tej procedurze: 1. Opóźnianie modyfikacji rozmiaru okna przez odbiorcę do momentu, gdy wolne miejsce w buforze nie przekroczy pewnego progu (moŝe to być od 20 do 40 procent całego zadeklarowanego miejsca). 2. Czekanie przez nadawcę na dostatecznie duŝy rozmiar okna. Wyjątkiem jest tylko sygnalizowanie wypchnięcia danych (ustawiony znacznik push), gdzie dane muszą zostać wysłane nawet, jeśli ich rozmiar jest niewielki. 3. Ze względu na to, Ŝe potwierdzenia ACK nie powinny być opóźniane i powielane, odbiorca moŝe wysłać potwierdzenie odebrania segmentu, ale bez odświeŝania wartości rozmiaru okna, a następnie wysłać inne potwierdzenie, gdy zwolni się większa ilość wolnego miejsca w buforze. 15

16 4. Próba łączenia małych przydziałów okna w większe od momentu, gdy mechanizm zarządzania prowadzi do duŝej ilości małych przydziałów TCP Tahoe Starsze odmiany działały tak, Ŝe rozpoczynały połączenie wysyłając pakiety do sieci na tyle, na ile pozwalał im na to rozmiar okna zadeklarowany przez odbiorcę. Wszystko było dobrze, jeśli komunikujące się urządzenia znajdowały się w jednej sieci bez znacznych opóźnień bądź urządzeń pośredniczących, które w wyniku kolejkowania mogą gubić pakiety. Powodem takiego pogorszenia wydajności sieci jest brak mechanizmów kontroli punktów pośrednich, niebiorących udziału w wymianie informacji transportowych [26]. Odpowiedzią było zaimplementowanie w 1988 roku w wersji UNIX 4.3 BSD podstawowych mechanizmów kontroli przeciąŝenia (ang. Congestion Control), zwanych jako TCP Tahoe [43]. Początkowa wersja tych mechanizmów, określana mianem Old Tahoe, zawierała tylko dwa mechanizmy: powolnego startu i unikania przeciąŝeń Powolny start (ang. Slow start) Wprowadza on nowe okno dla nadawcy, zwane oknem przeciąŝeniowym (CWND ang. Congestion Window). Podczas zestawiania nowego połączenia z komputerem znajdującym się w innej sieci, wartość okna cwnd jest ustawiana na 1 segment, którego rozmiar jest zadeklarowany przez drugą stronę połączenia bądź domyślnie jest ustawiany na 536 lub 512 bajtów. Następnie w trakcie wysyłania danych rozmiar okna jest zwiększany o jeden segment po kaŝdym otrzymanym potwierdzeniu ACK. Nadawca moŝe transmitować pakiety bez oczekiwania na ich potwierdzenie pod warunkiem, Ŝe liczba niepotwierdzonych segmentów nie przekracza wartości okna przeciąŝeniowego cwnd i wartości okna ogłoszeniowego rwnd. Pierwsza z nich bazuje na ocenie stanu sieci przez nadawcę, druga zaś jest związana z dostępnym buforem odbiorcy. Mechanizm ten działa tak, Ŝe nadawca zaczyna od wysłania jednego segmentu i czeka na jego potwierdzenie. Kiedy otrzyma potwierdzenie odebrania wysłanego wcześniej segmentu, zwiększa wartość cwnd o jeden i następnie moŝe wysłać jednocześnie dwa segmenty bez konieczności oczekiwania na potwierdzenie. Jak widać na Rys. 3.6, prowadzi to do wykładniczego wzrostu rozmiaru okna względem czasu RTT i algorytm ten nie jest wcale powolny. NaleŜy równieŝ zauwaŝyć, Ŝe wartość cwnd moŝe ulec podwojeniu po 16

17 czasie RTT, ale nie musi, co jest wynikiem potwierdzania dwóch poprawnych segmentów za pomocą jednego potwierdzenia ACK (Rys. 3.7). Nadawca Odbiorca cwnd = 1 1 segment cwnd = 2 2 segmeny cwnd = 4 4 segmenty cwnd = 8 Rys Procedura powolnego startu w przypadku potwierdzania wszystkich pakietów Nadawca Odbiorca cwnd = 1 1 segment cwnd = 2 2 segmeny cwnd = 3 3 segmenty cwnd = 5 Rys Procedura powolnego startu w przypadku wysyłania potwierdzenia co drugi segment 17

18 Unikanie przeciąŝenia (ang. Congestion Avoidance) Mechanizm ten jest implementowany łącznie z powolnym startem w celu zatrzymania wykładniczego wzrostu okna i badania przepustowości sieci od pewnego momentu w sposób liniowy. Algorytm ten zakłada, Ŝe prawdopodobieństwo zgubienia pakietu z powodu jego uszkodzenia jest mniejsze niŝ 1%, co znaczy, Ŝe większość zagubionych pakietów sygnalizuje przeciąŝenie w sieci. Następstwem zaginięcia pakietu moŝe być: 1. Wyczerpanie się czasu oczekiwania na potwierdzenie RTO. 2. Powielające się odpowiedzi ACK Ŝądające zagubionego segmentu. Implementacja tego mechanizmu wymaga dodania zmiennej ssthresh przechowującej próg dla powolnego startu (ang. slow start threshold). Do zwolnienia transmisji danych przez nadawcę algorytm ten jest w fazie powolnego startu do momentu osiągnięcia odpowiedniej wartości okna cwnd. Zasada działania algorytmu: 1. Zainicjowanie wartości cwnd na 1 segment i wartości ssthresh na bajtów. 2. Nadawca nie wysyła nigdy więcej segmentów bez potwierdzenia niŝ wartość okna przeciąŝeniowego cwnd i okna ogłoszeniowego rwnd. 3. Jeśli wystąpi zator w sieci zasygnalizowany przez wyczerpanie się czasu RTO lub powielające się potwierdzenia ACK, to do zmiennej ssthresh zapisana jest połowa wartości aktualnego rozmiaru okna cwnd wyraŝona w bajtach (ale nie mniej niŝ 2 segmenty), a wartość cwnd jest 1 i wykonuje się algorytm powolnego startu. 4. Jeśli wartość rozmiaru okna przekroczy próg ssthresh, wykonuje się algorytm unikania przeciąŝenia, w którym cwnd zwiększane jest o 1/cwnd po kaŝdym otrzymanym potwierdzeniu ACK. Wzrost okna w czasie RTT moŝe być w tym przypadku, co najwyŝej o jeden segment, czyli ma charakter z grubsza liniowy względem czasu RTT (Rys. 3.8). 18

19 Unikanie przeciąŝenia 11 Wartość okna przeciąŝeniowego [segmenty] Powolny start Próg powolnego startu (ssthresh) Czas [RTT] Rys Procedura unikania przeciąŝenia Szybka retransmisja (ang. Fast Retransmit) Podobnie jak poprzedni mechanizm unikania przeciąŝenia, algorytm szybkiej retransmisji wykorzystujący powielane potwierdzenia (Rys. 3.9) jako sygnał do retransmisji nie był zaimplementowany w starszej wersji zwanej Old Tahoe. Działa w ten sposób, Ŝe zakłada moŝliwość wystąpienia, co najwyŝej dwóch zduplikowanych ACK, co moŝe być przyczyną zmiany kolejności dostarczenia segmentów. Jeśli natomiast występują 3 zduplikowane potwierdzenia ACK po kolei lub więcej, to jest to silny sygnał, Ŝe pakiet zaginął i ponownie transmituje zgubiony segment bez czekania na upłynięcie czasu RTO. W dodatku TCP podczas retransmisji zgubionego pakietu przechodzi do fazy powolnego 19

20 startu (cwnd = 1), zmieniając wartość progową ssthresh na połowę wartości okna przeciąŝeniowego cwnd z chwili wystąpienia retransmisji. Algorytm ten pod Ŝadnym względem nie wypiera mechanizmu zegara retransmisji, który aktywny jest dla małych rozmiarów okna przeciąŝeniowego, gdy niewystarczająca liczba segmentów nie moŝe spowodować szybkiej retransmisji. Taką sytuację przedstawia przykładowy Rys Nadawca Odbiorca cwnd = 2 SeqNo=4 SeqNo=5 AckNo=5 AckNo=6 cwnd = 4 cwnd = 1 SeqNo=6 SeqNo=7 SeqNo=8 SeqNo=9 DAckNo=6 DAckNo=6 DAckNo=6 SeqNo=6 3 powielone potwierdzenia Rys Procedura szybkiej retransmisji po odebraniu zduplikowanych odpowiedzi 20

21 cwnd = 3 Nadawca AckNo=6 SeqNo=6 SeqNo=7 SeqNo=8 Odbiorca RTO DAckNo=6 DAckNo=6 2 powielone potwierdzenia cwnd = 1 SeqNo=6 Rys Retransmisja spowodowana upłynięciem czasu RTO Estymacja czasu RTO Obliczanie RTO na podstawie algorytmu Jacobsona Algorytm Jacobsona [36], wykorzystywany przez tę wersję protokołu TCP do szacowania czasu retransmisji RTO, róŝni się od pierwszej specyfikacji tym, Ŝe większą wagę ma wartość odchylenia czasu RTT od wcześniejszej przechowywanej niŝ sama wartość średnia czasu RTT. W oryginale RTO obliczane było na podstawie tylko szacowanej wartości SRTT przechowywanej dla połączenia i aktualnie zmierzonej. Do implementacji tego algorytmu przechowywane są dwie zmienne na podstawie, których liczona jest wartość czasu RTO: SRTT wygładzona średnia wartość RTT i RTTVar średnie odchylenie od wartości RTT. 21

22 Sam algorytm przebiega następująco: 1. Początkowo, gdy nie ma jeszcze szacowanej wartości RTT: RTO = 3s (3.3) 2. Po pierwszym obliczeniu RTT: SRTT = RTT (3.4) RTTVar = RTT / 2 (3.5) 3. Po kolejnym obliczeniu RTT: SRTT ( α ) SRTT + αrtt = 1 (3.6) ( β ) RTTVar + SRTT RTT RTTVar = 1 β (3.7) gdzie: α = 1/8, β = 1/4 są współczynnikami estymacji. 4. Wartość RTO jest obliczana na podstawie powyŝszych obliczeń: RTO = SRTT + 4RTTVar (3.8) Algorytm Karn a Do wyznaczania próbki RTT wykorzystywany jest algorytm Karn a [29] opisujący problem niejednoznaczności transmisji (Rys. 3.11). Określa sposób wyznaczenia czasu RTT w przypadku, gdy segment jest transmitowany ponownie. Podczas normalnej transmisji (bez retransmitowania segmentów) wartość próbki RTT musi być mierzona, co najmniej raz podczas kaŝdego interwału RTT. Wyjątkiem jest retransmisja jednego z segmentów transmitowanego okna, która moŝe zakłócić poprawne zmierzenie wartości RTT dla tego okna. Nadawca po odebraniu potwierdzenia dla retransmitowanego pakietu nie moŝe określić, który segment (wysłany czy retransmitowany) spowodował wygenerowanie tego potwierdzenia. W takim przypadku wartość zegara retransmisji RTO nie moŝe być zmieniona na podstawie ostatniej próbki RTT. Dodatkowo, jeśli wyczerpie się czas RTO następna jego wartość jest ustalana na podstawie wyraŝenia: RTO n+ 1 = min( 2RTOn,60)s (3.9) Algorytm ten powoduje gwałtowny wzrost wartości RTO (ang. exponential backoff), w którym wartość zegara retransmisji RTO przyjmuje maksymalną wartość określoną w oryginalnej specyfikacji. 22

23 SeqNo = 100 RTT? SeqNo = 100 RTT? AckNo = 101 Rys Niejednoznaczność transmisji Rysunek przedstawia problem związany z wyznaczeniem czasu RTT dla pakietu, który został ponownie wysłany przez nadawcę podczas retransmisji. Odbiorca pakietu ACK nie ma pewności, czy został on wygenerowany na skutek poprawnego odebrania segmentu retransmitowanego, czy teŝ oryginalnego segmentu, który dotarł poza kolejnością. W takim przypadku wartość RTO obliczana jest na podstawie algorytmu Karn a TCP Reno Wersję protokołu TCP Reno po raz pierwszy zaimplementowano w 1990 roku w dystrybucji Unix a 4.3 BSD Reno. RóŜni się przede wszystkim tym, Ŝe dodaje mechanizm szybkiego odtwarzania utraconych pakietów (ang. Fast Recovery) po wystąpieniu szybkiej retransmisji opisanej w przypadku protokołu TCP Tahoe ( 3.2.3) Szybkie odtwarzanie w TCP Reno (ang. Fast Recovery) Mechanizm szybkiego odtwarzania utraconych pakietów [4] działa w ten sposób, Ŝe jeśli zaginięcie pakietu jest sygnalizowane przez zegar retransmisji, to jest to oznaka przeciąŝenia sieci i konieczne jest wywołanie algorytmu powolnego startu z rozmiarem okna ustawionym na jeden segment. Jeśli natomiast występuje szybka retransmisja po utracie pakietu, to jest prawdopodobne, Ŝe zaginął tylko jeden segment i wystarczy wykonanie procedury szybkiego odtwarzania. W takim przypadku wartość progu ssthresh jest uaktualniana do wartości połowy okna przeciąŝeniowego, ale nie mniej niŝ dwa rozmiary MSS. Retransmitowany jest utracony segment a wartość okna cwnd jest 23

24 ustawiana na (ssthresh + 3MSS) ze względu na fakt, Ŝe trzy pakiety zostały poprawnie dostarczone (Rys. 3.12). W celu rejestrowania ilości utraconych pakietów wartość okna jest zwiększana o jeden segment po kaŝdym dodatkowym zduplikowanym potwierdzeniu. Procedura szybkiego odtwarzania kończy się, gdy nadawca otrzyma potwierdzenie odebrania segmentu, który ją spowodował. Po wyjściu wartość okna cwnd jest ustawiana zgodnie z ssthresh i wykonywana jest faza unikania przeciąŝenia. Nadawca Odbiorca AckNo=6 cwnd = 4 SeqNo=6 cwnd = 2+3 ssthresh = 2 cwnd = 2 SeqNo=7 SeqNo=8 SeqNo=9 DAckNo=6 DAckNo=6 DAckNo=6 SeqNo=6 AckNo=10 SeqNo=10 SeqNo=11 3 powielone potwierdzenia faza szybkiego odtwarzania Rys Procedura szybkiego odtwarzania w TCP Reno Wadą tak zaimplementowanego mechanizmu szybkiego odtwarzania jest to, Ŝe kończy on swoje działanie po otrzymaniu częściowego potwierdzenia, a nie czeka na potwierdzenie wszystkich wysłanych segmentów, co przedstawia Rys Problem pojawia się, gdy uszkodzeniu ulegnie większa ilość segmentów z jednego okna danych. W takim przypadku retransmitowany jest tylko pierwszy uszkodzony segment i wartość cwnd jest redukowana o połowę, a następnie po częściowym potwierdzeniu (potwierdzenie pewnej liczby segmentów wraz z tym, który wywołał szybkie odtwarzanie) algorytm ten 24

25 przerywa pracę. Po kilkakrotnym wywołaniu się procedury szybkiego odtwarzania, wartość okna cwnd moŝe okazać się zbyt mała, aby spowodować szybką retransmisje i konieczne jest czekanie na upłynięcie czasu retransmisji. Następstwem jest ponowne wywołanie wolnego startu, który znacznie obniŝa wydajność protokołu TCP. Nadawca Odbiorca cwnd = 6 AckNo=6 SeqNo=6 SeqNo=7 SeqNo=8 SeqNo=9 SeqNo=10 SeqNo=11 cwnd = 3+3 cwnd = 7 cwnd = 3 DAckNo=6 DAckNo=6 DAckNo=6 DAckNo=6 SeqNo=6 AckNo=7 3 powielone potwierdzenia faza szybkiego odtwarzania oczekiwanie na czas RTO cwnd = 1 SeqNo=7 powolny start Rys Problem w procedurze szybkiego odtwarzania dla większej ilości zgubionych segmentów 25

26 Rozdział 4. Nowe standardy i propozycje algorytmów kontroli przeciąŝenia 4.1. NewReno Modyfikacja algorytmu szybkiego odtwarzania opisana w [19] nazwana NewReno, ma na celu wyeliminowanie negatywnych cech wpływających na szybkość transmisji. RóŜni się on przede wszystkim tym, Ŝe moŝliwe jest retransmitowanie więcej niŝ jeden uszkodzonych segmentów w ramach pojedynczego okna danych. Dzięki temu nie ma niepotrzebnych opóźnień związanych z zegarem retransmisji i redukcji rozmiaru okna przeciąŝeniowego. Wersja ta jest zalecana w przypadku nieuŝywania mechanizmu selektywnego potwierdzenia opisanego w podrozdziale Algorytm szybkiej retransmisji i szybkiego odtwarzania w NewReno Zaczyna się po odebraniu 3 zduplikowanych potwierdzeń ACK a kończy się po upłynięciu czasu retransmisji RTO lub po otrzymaniu potwierdzenia wszystkich danych łącznie z tymi, które były juŝ wysłane przed rozpoczęciem procedury szybkiego odtwarzania. 1. Po odebraniu 3 powielonych segmentów ACK, jeśli nadawca nie jest w trybie szybkiego odtwarzania, ustawia wartość ssthresh zgodnie z: ssthresh = max( FlightSize / 2,2 MSS) (4.1) gdzie: FlightSize oznacza liczbę wysłanych danych ale nie potwierdzonych, a MSS jest rozmiarem maksymalnego segmentu jaki moŝe być wysłany przez sieć. Dodatkowo w zmiennej recover zapisywany jest najwyŝszy numer sekwencyjny, jaki został wysłany. 2. Uszkodzony segment jest transmitowany ponownie a wartość okna przeciąŝeniowego jest sztucznie zwiększana (ang. inflates) o ilość segmentów, które opuściły sieć i są buforowane po stronie odbiorcy. cwnd = ssthresh + 3MSS (4.2) 26

27 Nadawca Odbiorca AckNo=6 cwnd = 6 SeqNo=6 SeqNo=7 SeqNo=8 SeqNo=9 SeqNo=10 SeqNo=11 recover = 11 cwnd = 3+3 cwnd = 6 +1 cwnd = 7 DAckNo=6 DAckNo=6 DAckNo=6 DAckNo=6 SeqNo=6 SeqNo=12 AckNo=7 SeqNo=7 SeqNo=13 3 powielone potwierdzenia Segmenty retransmitowane AckNo < recover faza szybkiego odtwarzania cwnd = 3 AckNo=14 SeqNo=14 SeqNo=15 SeqNo=16 AckNo > recover faza unikania przeciąŝenia Rys Przykład działania zmodyfikowanej procedury szybkiego odtwarzania w NewReno 3. Dla kaŝdego dodatkowego zduplikowanego segmentu ACK wartość okna cwnd jest równieŝ zwiększana o jeden segment. 4. Transmitowane są nowe segmenty, jeśli pozwala na to rozmiar okna cwnd i rwnd (ogłaszane przez odbiorcę). 27

28 5. Po otrzymaniu segmentu ACK dla nowych danych moŝe on oznaczać dwa przypadki: a. Potwierdzenie ACK dotyczy wszystkich wysłanych danych, włącznie z numerem sekwencyjnym zapisanym w zmiennej recover. Wartość okna jest redukowana do wartości ssthresh (z punktu 1) i procedura szybkiej retransmisji kończy się. b. Potwierdzenie ACK dotyczy części danych. W takim przypadku rozmiar okna jest redukowany o wartość odpowiadającą nowej ilości potwierdzonych danych i dodatkowo zwiększany o jeden segment. Jeśli nowa wartość okna na to pozwala, wysyłany jest pierwszy niepotwierdzony segment danych i ponownie wykonuje się procedura szybkiego odtwarzania zaczynając od punktu 3. Dodatkowo, jeśli jest to pierwsze częściowe potwierdzenie, resetowany jest zegar retransmisji Problemy w NewReno W związku z powyŝszym algorytmem szybkiego odtwarzania utraconych segmentów powstało kilka moŝliwości odpowiedzi na częściowe potwierdzenie [19]. Pierwszym nasuwającym się problemem jest to, kiedy resetować zegar retransmisji w przypadku częściowego potwierdzania danych. Ponowne uruchamianie zegara tylko po pierwszym potwierdzeniu części danych moŝe doprowadzić do fazy powolnego startu w przypadku duŝej utraty segmentów w ramach jednego okna danych. Ta wersja została nazwana niecierpliwym wariantem NewReno (ang. Impatient variant of NewReno). Problem ten przedstawiony jest na Rys. 4.2, na którym przedstawiona jest moŝliwość wyczerpania się czasu retransmisji zanim zakończy się procedura szybkiego odtwarzania. 28

29 Nadawca Odbiorca AckNo=6 cwnd = 6 SeqNo=6 SeqNo=7 SeqNo=8 SeqNo=9 SeqNo=10 SeqNo=11 cwnd = 3+3 DAckNo=6 DAckNo=6 DAckNo=6 SeqNo=6 3 powielone potwierdzenia segmenty retransmitowane recover = 11 cwnd = 6 AckNo=7 SeqNo=7 AckNo=8 resetetowanie zegara faza szybkiego odtwarzania RTO cwnd = 6 SeqNo=8 cwnd = 1 SeqNo=8 koniec czasu RTO faza powolnego startu Rys Przykład wyczerpania się czasu retransmisji podczas procedury szybkiego odtwarzania w wariancie NewReno z resetowaniem zegara tylko po pierwszym częściowym potwierdzeniu. Innym moŝliwym wariantem jest resetowanie zegara po kaŝdym częściowym potwierdzeniu. Ze względu na to, Ŝe w kaŝdym interwale RTT moŝe być retransmitowany co najwyŝej jeden segment, taki wariant NewReno został określony jako wolny ale stały (ang. Slow-but-Steady). 29

30 Drugim problemem jest ilość wysyłanych pakietów po częściowym potwierdzeniu. W przypadku wysyłania więcej niŝ jednego segmentu po częściowym potwierdzeniu, moŝna znacznie zmniejszyć czas procedury odtwarzania, ale kosztem niepotrzebnej retransmisji. Rys. 4.3 przedstawia zbędne retransmisje dwóch segmentów. Ze względu na fakt, Ŝe zgubione segmenty nie są kolejno po sobie, w przypadku retransmitowania dwóch segmentów po kaŝdym częściowym potwierdzeniu, jeden z nich jest niepotrzebny. Nadawca Odbiorca AckNo=6 cwnd = 6 SeqNo=6 SeqNo=7 SeqNo=8 SeqNo=9 SeqNo=10 SeqNo=11 cwnd = 3+3 DAckNo=6 DAckNo=6 DAckNo=6 SeqNo=6 SeqNo=7 3 powielone potwierdzenia niepotrzebnie retransmitowane segmenty recover = 11 cwnd = 5 AckNo=8 SeqNo=8 faza szybkiego odtwarzania SeqNo=9 AckNo=12 cwnd = 3 SeqNo=12 faza unikania przeciąŝenia Rys Przykład nadmiernej retransmisji w procedurze szybkiego odtwarzania w wariancie NewReno z dwoma segmentami wysyłanymi po kaŝdym częściowym potwierdzeniu 30

31 Problem związany z nadmiernym wywołaniem szybkiej retransmisji nie jest tak powaŝny jak w przypadku TCP Reno, gdyŝ powyŝszy algorytm szybkiego odtwarzania nie jest przerywany po kaŝdej retransmisji pojedynczego segmentu. Ponowne wywołanie się szybkiej retransmisji moŝe nastąpić tylko w przypadku wyczerpania się czasu retransmisji RTO. Problem ten jest rozwiązany w modyfikacji zwanej bugfix [19], która uŝywa nowej zmiennej send_high do przechowywania najwyŝszego numeru sekwencyjnego wysłanego do momentu wyczerpania się czasu RTO. Po odebraniu 3 zduplikowanych potwierdzeń, które nie obejmują danych włącznie z numerem sekwencyjnym zawartym w send_high, nie jest wykonywana Ŝadna czynność (Rys. 4.4). Nadawca Odbiorca SeqNo=7 SeqNo=8 SeqNo=9 RTO send_high = 9 cwnd = 1 AckNo=6 SeqNo=6 koniec czasu RTO faza powolnego startu po wyczerpaniu się czasu RTO cwnd = 2 DAckNo=6 DAckNo=6 DAckNo=6 AckNo=7 SeqNo=7 SeqNo=8 3 powielone potwierdzenia (zignorowane) send_high > DAckNo Rys Mechanizm unikania nadmiernej retransmisji w wariancie bugfix protokołu TCP NewReno 31

32 4.2. TCP SACK Modyfikacja selektywne potwierdzanie (SACK ang. Selective ACK) wykorzystuje te same mechanizmy kontroli przeciąŝenia co TCP Reno, jeśli chodzi o regulację okna cwnd. Główną róŝnicą jest sposób zachowania się algorytmu w przypadku utraty większej ilości pakietów naleŝących do jednego okna danych. Dzięki implementacji dodatkowych opcji w nagłówku TCP [32], odbiorca ma moŝliwość poinformowania nadawcy o tym, które segmenty zostały poprawnie odebrane, a których brakuje. Wykorzystując te informacje nadawca moŝe retransmitować jedynie brakujące segmenty bez konieczności oczekiwania na upłynięcie czasu retransmisji. Standard [32] definiuje dwie opcje uŝywane przez mechanizm SACK: 1. Opcja SACK-permitted wysyłana jest tylko raz w segmencie SYN podczas zestawiania połączenia i słuŝy do poinformowania odbiorcy o moŝliwości uŝywania opcji SACK. Ma stałą długość wynoszącą 2 bajty. 2. Opcja SACK wysyłana jest przez odbiorcę danych w przypadku odebrania bloku danych (w postaci segmentu) poza kolejnością. Zawiera listę poprawnie odebranych bloków danych oczekujących w kolejce odbiorcy, z których kaŝdy reprezentuje ciąg sąsiadujących danych w przestrzeni sekwencyjnej i jest odizolowany od innych. KaŜdy blok jest definiowany przez dwie 32-bitowe liczby całkowite i zawiera maksymalną liczbę przylegających danych. Lewa krawędź bloku (ang. Left Edge) zawiera pierwszy numer sekwencyjny danych, a prawa krawędź bloku (ang. Right Edge) określa numer sekwencyjny zaraz po ostatnim z bloku i jest to dana, którą nadawca musi retransmitować. Opcja zawierająca n bloków zajmuje 8n+2 bajtów, więc 40 bajtów przeznaczonych na wszystkie opcje w nagłówku TCP pozwala na określenie maksymalnie 4 bloków danych. W przypadku połączenia opcji np. ze znacznikiem czasu (ang. Timestamp) mechanizmu RTTM ilość moŝliwych bloków ogranicza się do Algorytm szybkiego odtwarzania w mechanizmie SACK Mechanizm SACK (podobnie jak TCP Reno) po odebraniu trzech zduplikowanych pakietów przechodzi do trybu szybkiego odtwarzania utraconych pakietów (Rys. 4.5). Nadawca retransmituje brakujący segment i zmniejsza wartość okna przeciąŝeniowego o połowę. Istotną róŝnicą jest to, Ŝe przechowywana jest dodatkowa zmienna pipe, której wartość odpowiada liczbie pakietów spoza sekwencji przekazywanej przez sieć [17]. 32

33 Nadawca AckNo=6 Odbiorca cwnd = 8 SeqNo=6 SeqNo=7 SeqNo=8 SeqNo=9 SeqNo=10 SeqNo=11 SeqNo=12 SeqNo=13 cwnd = 4 highdata = 13 pipe = 8-3 pipe = 5-3 pipe = pipe = 4-2 pipe = DAckNo=6 DAckNo=6 DAckNo=6 DAckNo=6 DAckNo=6 DAckNo=6 SeqNo=6 SeqNo=7 SAckNo=12 SeqNo=12 SeqNo=13 3 powielone potwierdzenia częściowe potwierdzenie cwnd - pipe = 2 recover faza szybkiego odtwarzania cwnd - pipe = 2 recover SAckNo=14 SeqNo=14 SAckNo > highdata recover SeqNo=15 SeqNo=16 faza unikania przeciąŝenia Rys Przykład działania procedury szybkiego odtwarzania w protokole TCP SACK 33

34 Nadawca wysyła nowe lub retransmituje pakiety tylko w przypadku, gdy wartość pipe jest mniejsza od cwnd. Wartość pipe jest zwiększana o jeden po wysłaniu nowego lub retransmitowanego pakietu, a zmniejszana o jeden po odebraniu zduplikowanego pakietu z opcją SACK informującą o odebraniu nowych danych [17]. Są to potwierdzenia wygenerowane po odebraniu nowych segmentów, ale niepotwierdzające większej ilości łącznie zatwierdzonych danych przechowywanych w zmiennej highack [9]. W przypadku odebrania częściowego potwierdzenia (potwierdzenie zawierające numer sekwencyjny większy niŝ przechowywany w zmiennej highack), wartość pipe jest zmniejszana o dwa rozmiary segmentów ze względu na fakt, Ŝe dwa segmenty opuściły sieć (oryginalny i retransmitowany). Wszystkie odebrane bloki danych poza sekwencją są przechowywane przez nadawcę w odpowiedniej strukturze, która w przypadku retransmisji pozwala mu określić następny z listy brakujących segmentów [9]. Jeśli nie ma brakujących segmentów bądź okno odbiorcy jest odpowiednio duŝe, wysyłane są nowe segmenty danych. Procedura szybkiego odtwarzania kończy się, gdy nadawca otrzyma skumulowane potwierdzenie dla numeru sekwencyjnego przechowywanego w zmiennej highdata, która przechowuje maksymalny numer segmentu wysłany przed przejściem do tej procedury [9]. W przypadku, gdy retransmitowany pakiet zaginie, jest to wykrywane przez procedury związane z upłynięciem czasu retransmisji i segment taki jest retransmitowany ponownie, po czym wykonywana jest procedura powolnego startu Potwierdzenia generowane w przód (FACK) Mechanizm potwierdzeń generowanych w przód (FACK ang. Forward Acknowledgment) bazuje na podstawowych algorytmach kontroli przeciąŝenia [33], wykorzystując równieŝ do swojej pracy dodatkową opcję SACK opisywaną w poprzednim paragrafie. Podobnie jak mechanizm selektywnych potwierdzeń zapewnia efektywniejsze działanie procedury odtwarzania pakietów w przypadku wielokrotnych ich strat w jednym oknie danych. Głównym celem jest wykorzystanie informacji z opcji TCP SACK do bardziej precyzyjnej kontroli wtłaczania danych do sieci podczas wykonywania się fazy szybkiej retransmisji i odtwarzania. Sama nazwa zaś, wynika z tego, Ŝe algorytm rejestruje najwyŝszą wartość numeru sekwencyjnego poprawnie odebranych danych. 34

35 Algorytm FACK W przeciwieństwie do TCP Reno i SACK, które próbowały oszacować ilość zaległych danych na podstawie otrzymanych powielonych potwierdzeń ACK, mechanizm ten wykorzystuje dodatkowe informacje dostarczone przez opcje SACK do wyraźnego obliczenia całkowitej ilości zaległych danych. Dodatkowo wprowadza dwie zmienne opisujące stan transmisji. Pierwsza z nich, snd.fack odzwierciedla poprawnie odebrany segment o najwyŝszym numerze sekwencyjnym. Jej wartość uaktualniana jest na podstawie numeru potwierdzenia snd.una (Rys. 4.6) w nagłówku TCP (w przypadku normalnego potwierdzenia) oraz informacji zawartych w opcji SACK (w przypadku potwierdzenia z opcją SACK). Druga zmienna, retran_data odzwierciedla ilość zaległych retransmitowanych danych w sieci i jest obliczana podczas procedury szybkiego odtwarzania. Za kaŝdym razem, gdy segment jest retransmitowany, jej wartość jest zwiększana o rozmiar tego segmentu (MSS), a zmniejszana po stwierdzeniu, Ŝe dany segment opuścił sieć. Dzięki tym wartościom nadawca moŝe oszacować ilość zaległych danych pozostających w sieci awnd w następujący sposób: awnd = snd. nxt snd. fack + retran _ data (4.3) gdzie: snd.nxt wysłany segment danych o najwyŝszym numerze sekwencyjnym. snd.una snd.nxt dane wysłane dane wysłane ale niepotwierdzone dane niewysłane Rys Widok sekwencji nadawcy Wartość snd.una na Rys. 4.6 określa najmniejszy numer sekwencyjny segmentu wysłanego ale niepotwierdzonego. 35

36 Procedura szybkiego odtwarzania w FACK Wywołanie szybkiej retransmisji w TCP Reno odbywa się na podstawie odebrania zduplikowanych potwierdzeń, co powoduje niepotrzebne opóźnienia w przypadku zaginięcia kilku segmentów. W wersji FACK dodatkowym mechanizmem przyspieszającym jest stan kolejki retransmisji po stronie nadawcy danych. Jeśli róŝnica pomiędzy segmentem spoza sekwencji snd.fack a numerem sekwencyjnym snd.una potwierdzonego segmentu naleŝącego do ciągłej struktury jest większa niŝ 3, nie ma konieczności oczekiwania na zduplikowane potwierdzenia: if ((snd.fack snd.una) > (3MSS) (dupacks == 3)) { /* szybka retransmisja */ } W przypadku zaginięcia tylko jednego segmentu obydwa warunki będą spełnione po takim samym czasie, jaki potrzebny jest do wywołania szybkiego odtwarzania w wersji TCP Reno. Zysk w postaci krótszego oczekiwania na retransmisję widoczny jest dopiero w przypadku wielokrotnych zaginięć. W fazie szybkiego odtwarzania wartość snd.fack odświeŝana jest na podstawie informacji zawartych w blokach SACK i rozpoczyna się zliczanie zaległych retransmitowanych danych. Wszystko to słuŝy do właściwego szacowania ilości danych pozostających w sieci a niepotwierdzonych jeszcze przez odbiorcę, o czym mowa była podczas opisywania algorytmu FACK. Wartość zaległych danych (awnd) jest tak dobierana, aby mieściła się w jednym segmencie okna cwnd. Sama wartość okna cwnd podczas trwania szybkiego odtwarzania nie zmienia się. Zakończenie procedury odtwarzania następuje w momencie, gdy wartość numeru potwierdzenia (snd.una) wyrówna się bądź przekroczy najwyŝszy numerem sekwencyjny (snd.nxt) wysłanego segmentu w okresie poprzedzającym wykrycie pierwszego braku w transmitowanych segmentach. Jest to równowaŝne z potwierdzeniem przez odbiorcę wszystkich zaległych danych. Po wyjściu z tej procedury wykonywany jest liniowy wzrost okna cwnd zgodnie z procedurą unikania przeciąŝenia. Dodatkowo przerwanie jest wymuszone przez zegar retransmisji po wykryciu ponownego zaginięcia retransmitowanego pakietu. 36

Sieci komputerowe Mechanizmy sterowania przebiegiem sesji TCP w Internecie

Sieci komputerowe Mechanizmy sterowania przebiegiem sesji TCP w Internecie Sieci komputerowe Mechanizmy sterowania przebiegiem sesji TCP w Internecie Józef Woźniak Katedra Teleinformatyki Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej Opracowano na

Bardziej szczegółowo

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

SEGMENT TCP CZ. II. Suma kontrolna (ang. Checksum) liczona dla danych jak i nagłówka, weryfikowana po stronie odbiorczej SEGMENT TCP CZ. I Numer portu źródłowego (ang. Source port), przeznaczenia (ang. Destination port) identyfikują aplikacje wysyłającą odbierającą dane, te dwie wielkości wraz adresami IP źródła i przeznaczenia

Bardziej szczegółowo

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

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ PROTOKÓŁ STEROWANIA TRANSMISJĄ WSTĘP DO SIECI INTERNET Kraków, dn. 19 grudnia 2016 r. O CZYM JEST TEN WYKŁAD Protokół Sterowania Transmisją Transmission Control

Bardziej szczegółowo

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

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ PROTOKOŁY TCP I UDP WSTĘP DO SIECI INTERNET Kraków, dn. 12 grudnia 2016 r. PLAN TCP: cechy protokołu schemat nagłówka znane numery portów UDP: cechy protokołu

Bardziej szczegółowo

Sieci komputerowe Warstwa transportowa

Sieci komputerowe Warstwa transportowa Sieci komputerowe Warstwa transportowa 2012-05-24 Sieci komputerowe Warstwa transportowa dr inż. Maciej Piechowiak 1 Wprowadzenie umożliwia jednoczesną komunikację poprzez sieć wielu aplikacjom uruchomionym

Bardziej szczegółowo

Sieci komputerowe - Protokoły warstwy transportowej

Sieci komputerowe - Protokoły warstwy transportowej Piotr Kowalski KAiTI - Protokoły warstwy transportowej Plan i problematyka wykładu 1. Funkcje warstwy transportowej i wspólne cechy typowych protokołów tej warstwy 2. Protokół UDP Ogólna charakterystyka,

Bardziej szczegółowo

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

TCP/IP formaty ramek, datagramów, pakietów... SIECI KOMPUTEROWE DATAGRAM IP Protokół IP jest przeznaczony do sieci z komutacją pakietów. Pakiet jest nazywany przez IP datagramem. Każdy datagram jest podstawową, samodzielną jednostką przesyłaną w sieci

Bardziej szczegółowo

Przesyłania danych przez protokół TCP/IP

Przesyłania danych przez protokół TCP/IP Przesyłania danych przez protokół TCP/IP PAKIETY Protokół TCP/IP transmituje dane przez sieć, dzieląc je na mniejsze porcje, zwane pakietami. Pakiety są często określane różnymi terminami, w zależności

Bardziej szczegółowo

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

Transport. część 1: niezawodny transport. Sieci komputerowe. Wykład 6. Marcin Bieńkowski Transport część 1: niezawodny transport Sieci komputerowe Wykład 6 Marcin Bieńkowski Protokoły w Internecie warstwa aplikacji HTTP SMTP DNS NTP warstwa transportowa TCP UDP warstwa sieciowa IP warstwa

Bardziej szczegółowo

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

Podstawowe protokoły transportowe stosowane w sieciach IP cz.2 Laboratorium Technologie Sieciowe Podstawowe protokoły transportowe stosowane w sieciach IP cz.2 Wprowadzenie Ćwiczenie przedstawia praktyczną stronę następujących zagadnień: połączeniowy i bezpołączeniowy

Bardziej szczegółowo

Protokoły sieciowe - TCP/IP

Protokoły sieciowe - TCP/IP Protokoły sieciowe Protokoły sieciowe - TCP/IP TCP/IP TCP/IP (Transmission Control Protocol / Internet Protocol) działa na sprzęcie rożnych producentów może współpracować z rożnymi protokołami warstwy

Bardziej szczegółowo

Sieci Komputerowe Protokół TCP

Sieci Komputerowe Protokół TCP Sieci Komputerowe Protokół TCP Transmission Control Protocol dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Zagadnienia Protokół TCP Transmisja

Bardziej szczegółowo

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

Podstawowe protokoły transportowe stosowane w sieciach IP cz.1 Laboratorium Technologie Sieciowe Podstawowe protokoły transportowe stosowane w sieciach IP cz.1 Wprowadzenie Ćwiczenie przedstawia praktyczną stronę następujących zagadnień: połączeniowy i bezpołączeniowy

Bardziej szczegółowo

Modyfikacja algorytmów retransmisji protokołu TCP.

Modyfikacja algorytmów retransmisji protokołu TCP. 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

Bardziej szczegółowo

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

Aby lepiej zrozumieć działanie adresów przedstawmy uproszczony schemat pakietów IP podróżujących w sieci. Struktura komunikatów sieciowych Każdy pakiet posiada nagłówki kolejnych protokołów oraz dane w których mogą być zagnieżdżone nagłówki oraz dane protokołów wyższego poziomu. Każdy protokół ma inne zadanie

Bardziej szczegółowo

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 Transport część 3: kontrola przeciążenia Sieci komputerowe Wykład 8 Marcin Bieńkowski Protokoły w Internecie warstwa aplikacji HTTP SMTP DNS NTP warstwa transportowa TCP UDP warstwa sieciowa IP warstwa

Bardziej szczegółowo

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 Transport część 3: kontrola przeciążenia Sieci komputerowe Wykład 8 Marcin Bieńkowski Protokoły w Internecie warstwa aplikacji HTTP SMTP DNS NTP warstwa transportowa TCP UDP warstwa sieciowa IP warstwa

Bardziej szczegółowo

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

Rys. 1. Wynik działania programu ping: n = 5, adres cyfrowy. Rys. 1a. Wynik działania programu ping: l = 64 Bajty, adres mnemoniczny 41 Rodzaje testów i pomiarów aktywnych ZAGADNIENIA - Jak przeprowadzać pomiary aktywne w sieci? - Jak zmierzyć jakość usług sieciowych? - Kto ustanawia standardy dotyczące jakości usług sieciowych? - Jakie

Bardziej szczegółowo

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 Transport część 3: kontrola przeciążenia Sieci komputerowe Wykład 8 Marcin Bieńkowski Protokoły w Internecie warstwa aplikacji HTTP warstwa transportowa SMTP TCP warstwa sieciowa warstwa łącza danych warstwa

Bardziej szczegółowo

BADANIE SPRAWNOŚCI PROTOKOŁU TCP

BADANIE SPRAWNOŚCI PROTOKOŁU TCP LABORATORIUM SIECI TELEINFORMATYCZNYCH BADANIE SPRAWNOŚCI PROTOKOŁU TCP POLITECHNIKA WARSZAWSKA INSTYTUT TELEKOMUNIKACJI Warszawa, 2006 Spis treści 1 WSTĘP... 3 2 PROTOKÓŁ TCP... 3 2.1 FORMAT SEGMENTU

Bardziej szczegółowo

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

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ INTERNET PROTOCOL (IP) INTERNET CONTROL MESSAGE PROTOCOL (ICMP) WSTĘP DO SIECI INTERNET Kraków, dn. 7 listopada 2016 r. PLAN IPv4: schemat nagłówka ICMP: informacje

Bardziej szczegółowo

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

Sieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe Wykład 5: Warstwa transportowa: TCP i UDP Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe (II UWr) Wykład 5 1 / 22 Warstwa transportowa Cechy charakterystyczne:

Bardziej szczegółowo

PROTOKOŁY WARSTWY TRANSPORTOWEJ

PROTOKOŁY WARSTWY TRANSPORTOWEJ PROTOKOŁY WARSTWY TRANSPORTOWEJ Na bazie protokołu internetowego (IP) zbudowane są dwa protokoły warstwy transportowej: UDP (User Datagram Protocol) - protokół bezpołączeniowy, zawodny; TCP (Transmission

Bardziej szczegółowo

Sieci komputerowe - Wstęp do intersieci, protokół IPv4

Sieci komputerowe - Wstęp do intersieci, protokół IPv4 Piotr Kowalski KAiTI Internet a internet - Wstęp do intersieci, protokół IPv Plan wykładu Informacje ogólne 1. Ogólne informacje na temat sieci Internet i protokołu IP (ang. Internet Protocol) w wersji.

Bardziej szczegółowo

Optymalizacja parametrów konfiguracyjnych protokołu TCP

Optymalizacja parametrów konfiguracyjnych protokołu TCP Rok akademicki 2013/2014 Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych Instytut Informatyki PRACA DYPLOMOWA INŻYNIERSKA Marek Piotr Bajor Optymalizacja parametrów konfiguracyjnych

Bardziej szczegółowo

Warstwa transportowa

Warstwa transportowa Sieci komputerowe Podsumowanie DHCP Serwer DHCP moŝe przyznawać adresy IP według adresu MAC klienta waŝne dla stacji wymagającego stałego IP np. ze względu na rejestrację w DNS Klient moŝe pominąć komunikat

Bardziej szczegółowo

Warstwa transportowa. mgr inż. Krzysztof Szałajko

Warstwa transportowa. mgr inż. Krzysztof Szałajko Warstwa transportowa mgr inż. Krzysztof Szałajko Modele odniesienia 7 Aplikacji 6 Prezentacji 5 Sesji 4 Transportowa 3 Sieciowa 2 Łącza danych 1 Fizyczna Aplikacji Transportowa Internetowa Dostępu do sieci

Bardziej szczegółowo

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Akademickie Centrum Informatyki PS. Wydział Informatyki PS Akademickie Centrum Informatyki PS Wydział Informatyki PS Akademickie Centrum Informatyki Wydział Informatyki P.S. Warstwy transmisyjne Protokoły sieciowe Krzysztof Bogusławski tel. 449 41 82 kbogu@man.szczecin.pl

Bardziej szczegółowo

Konfiguracja sieci, podstawy protokołów IP, TCP, UDP, rodzaje transmisji w sieciach teleinformatycznych

Konfiguracja sieci, podstawy protokołów IP, TCP, UDP, rodzaje transmisji w sieciach teleinformatycznych Konfiguracja sieci, podstawy protokołów IP, TCP, UDP, rodzaje transmisji w sieciach teleinformatycznych dr inż. Jerzy Domżał Akademia Górniczo-Hutnicza w Krakowie, Katedra Telekomunikacji 10 października

Bardziej szczegółowo

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

Sieci komputerowe w sterowaniu informacje ogólne, model TCP/IP, protokoły warstwy internetowej i sieciowej ieci komputerowe w sterowaniu informacje ogólne, model TCP/IP, protokoły warstwy internetowej i sieciowej 1969 ARPANET sieć eksperymentalna oparta na wymianie pakietów danych: - stabilna, - niezawodna,

Bardziej szczegółowo

Uproszczony opis obsługi ruchu w węźle IP. Trasa routingu. Warunek:

Uproszczony opis obsługi ruchu w węźle IP. Trasa routingu. Warunek: Uproszczony opis obsługi ruchu w węźle IP Poniższa procedura jest dokonywana dla każdego pakietu IP pojawiającego się w węźle z osobna. W routingu IP nie wyróżniamy połączeń. Te pojawiają się warstwę wyżej

Bardziej szczegółowo

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

Sieci komputerowe. Wykład 7: Transport: protokół TCP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe Wykład 7: Transport: protokół TCP Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe (II UWr) Wykład 7 1 / 23 W poprzednim odcinku Niezawodny transport Algorytmy

Bardziej szczegółowo

Opis protokołu RPC. Grzegorz Maj nr indeksu:

Opis protokołu RPC. Grzegorz Maj nr indeksu: Opis protokołu RPC Grzegorz Maj nr indeksu: 236095 1 Streszczenie Niniejszy dokument opisuje specyfikację protokołu RQP (Remote Queues Protocol). W jego skład wchodzą: opis celów protokołu; opis założeń

Bardziej szczegółowo

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

Sieci Komputerowe Mechanizmy kontroli błędów w sieciach Sieci Komputerowe Mechanizmy kontroli błędów w sieciach dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Zagadnienia Zasady kontroli błędów

Bardziej szczegółowo

Transmisja bezpołączeniowa i połączeniowa

Transmisja bezpołączeniowa i połączeniowa Transmisja bezpołączeniowa i połączeniowa Mikołaj Leszczuk 2010-12-27 1 Spis treści wykładu Komunikacja bezpołączeniowa Komunikacja połączeniowa Protokół UDP Protokół TCP Literatura 2010-12-27 2 Komunikacja

Bardziej szczegółowo

Sieci komputerowe - warstwa transportowa

Sieci komputerowe - warstwa transportowa Sieci komputerowe - warstwa transportowa mgr inż. Rafał Watza Katedra Telekomunikacji AGH Al. Mickiewicza 30, 30-059 Kraków, Polska tel. +48 12 6174034, fax +48 12 6342372 e-mail: watza@kt.agh.edu.pl Wprowadzenie

Bardziej szczegółowo

MODEL WARSTWOWY PROTOKOŁY TCP/IP

MODEL WARSTWOWY PROTOKOŁY TCP/IP MODEL WARSTWOWY PROTOKOŁY TCP/IP TCP/IP (ang. Transmission Control Protocol/Internet Protocol) protokół kontroli transmisji. Pakiet najbardziej rozpowszechnionych protokołów komunikacyjnych współczesnych

Bardziej szczegółowo

Model ISO/OSI opis Laboratorium Numer 7

Model ISO/OSI opis Laboratorium Numer 7 Model ISO/OSI opis Laboratorium Numer 7 Model OSI/ISO to sposób realizacji otwartych połączeń systemów komputerowych. Rys. Przepływ danych w modelu OSI/ISO między warstwami. [2] Open System Interconection

Bardziej szczegółowo

pasja-informatyki.pl

pasja-informatyki.pl pasja-informatyki.pl Sieci komputerowe Protokoły warstwy transportowej TCP i UDP Damian Stelmach Zadania warstwy transportowej 2018 Spis treści Zadania warstwy transportowej... 3 Protokół TCP... 7 Nagłówek

Bardziej szczegółowo

Zarządzanie ruchem w sieci IP. Komunikat ICMP. Internet Control Message Protocol DSRG DSRG. DSRG Warstwa sieciowa DSRG. Protokół sterujący

Zarządzanie ruchem w sieci IP. Komunikat ICMP. Internet Control Message Protocol DSRG DSRG. DSRG Warstwa sieciowa DSRG. Protokół sterujący Zarządzanie w sieci Protokół Internet Control Message Protocol Protokół sterujący informacje o błędach np. przeznaczenie nieosiągalne, informacje sterujące np. przekierunkowanie, informacje pomocnicze

Bardziej szczegółowo

BADANIE SPRAWNOŚCI PROTOKOŁU TCP

BADANIE SPRAWNOŚCI PROTOKOŁU TCP LABORATORIUM SIECI WIELO-USŁUGOWE BADANIE SPRAWNOŚCI PROTOKOŁU TCP POLITECHNIKA WARSZAWSKA INSTYTUT TELEKOMUNIKACJI Warszawa, 2015 Spis treści 1 WSTĘP... 3 2 PROTOKÓŁ TCP... 3 2.1 FORMAT SEGMENTU TCP...

Bardziej szczegółowo

Protokół IP. III warstwa modelu OSI (sieciowa) Pakowanie i adresowanie przesyłanych danych RFC 791 Pakiet składa się z:

Protokół IP. III warstwa modelu OSI (sieciowa) Pakowanie i adresowanie przesyłanych danych RFC 791 Pakiet składa się z: Protokoły Protokół IP III warstwa modelu OSI (sieciowa) Pakowanie i adresowanie przesyłanych danych RFC 791 Pakiet składa się z: Adresu źródłowego Adresu docelowego W sieciach opartych o Ethernet protokół

Bardziej szczegółowo

Zarządzanie infrastrukturą sieciową Modele funkcjonowania sieci

Zarządzanie infrastrukturą sieciową Modele funkcjonowania sieci W miarę rozwoju sieci komputerowych pojawiały się różne rozwiązania organizujące elementy w sieć komputerową. W celu zapewnienia kompatybilności rozwiązań różnych producentów oraz opartych na różnych platformach

Bardziej szczegółowo

Warstwa sieciowa. Model OSI Model TCP/IP. Aplikacji. Aplikacji. Prezentacji. Sesji. Transportowa. Transportowa

Warstwa sieciowa. Model OSI Model TCP/IP. Aplikacji. Aplikacji. Prezentacji. Sesji. Transportowa. Transportowa Warstwa sieciowa Model OSI Model TCP/IP Aplikacji Prezentacji Aplikacji podjęcie decyzji o trasowaniu (rutingu) na podstawie znanej, lokalnej topologii sieci ; - podział danych na pakiety Sesji Transportowa

Bardziej szczegółowo

Katedra Inżynierii Komputerowej Politechnika Częstochowska. Zastosowania protokołu ICMP Laboratorium podstaw sieci komputerowych

Katedra Inżynierii Komputerowej Politechnika Częstochowska. Zastosowania protokołu ICMP Laboratorium podstaw sieci komputerowych Katedra Inżynierii Komputerowej Politechnika Częstochowska Zastosowania protokołu ICMP Laboratorium podstaw sieci komputerowych Cel ćwiczenia Zastosowania protokołu ICMP Celem dwiczenia jest zapoznanie

Bardziej szczegółowo

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Akademickie Centrum Informatyki PS. Wydział Informatyki PS Akademickie Centrum Informatyki PS Wydział Informatyki PS Akademickie Centrum Informatyki Wydział Informatyki P.S. Warstwy transmisyjne Protokoły sieciowe Krzysztof Bogusławski tel. 449 41 82 kbogu@man.szczecin.pl

Bardziej szczegółowo

Sieci komputerowe. Protokoły warstwy transportowej. Wydział Inżynierii Metali i Informatyki Przemysłowej. dr inż. Andrzej Opaliński. www.agh.edu.

Sieci komputerowe. Protokoły warstwy transportowej. Wydział Inżynierii Metali i Informatyki Przemysłowej. dr inż. Andrzej Opaliński. www.agh.edu. Sieci komputerowe Protokoły warstwy transportowej Wydział Inżynierii Metali i Informatyki Przemysłowej dr inż. Andrzej Opaliński Plan wykładu Wprowadzenie opis warstwy transportowej Protokoły spoza stosu

Bardziej szczegółowo

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

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej Politechnika Łódzka Instytut Systemów Inżynierii Elektrycznej Laboratorium komputerowych systemów pomiarowych Ćwiczenie 7 Wykorzystanie protokołu TCP do komunikacji w komputerowym systemie pomiarowym 1.

Bardziej szczegółowo

Zarządzanie przepływem

Zarządzanie przepływem Zarządzanie przepływem Marek Kozłowski Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska Warszawa, 2014/2015 Plan wykładu 1 Protokół DiffServ 2 Multiprotocol Label Switching 3 Zarządzanie

Bardziej szczegółowo

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

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark Topologia Cele Część 1: Zapisanie informacji dotyczących konfiguracji IP komputerów Część 2: Użycie programu Wireshark do przechwycenia

Bardziej szczegółowo

ARP Address Resolution Protocol (RFC 826)

ARP Address Resolution Protocol (RFC 826) 1 ARP Address Resolution Protocol (RFC 826) aby wysyłać dane tak po sieci lokalnej, jak i pomiędzy różnymi sieciami lokalnymi konieczny jest komplet czterech adresów: adres IP nadawcy i odbiorcy oraz adres

Bardziej szczegółowo

Adam Domański. Instytut Informatyki Politechnika Śląska

Adam Domański. Instytut Informatyki Politechnika Śląska Wpływ mechanizmów protokołu TCP oraz algorytmów kolejkowania na transmisję danych w sieci Internet Influence of the TCP mechanisms and queue management on Internet transmission Adam Domański Instytut Informatyki

Bardziej szczegółowo

Zestaw ten opiera się na pakietach co oznacza, że dane podczas wysyłania są dzielone na niewielkie porcje. Wojciech Śleziak

Zestaw ten opiera się na pakietach co oznacza, że dane podczas wysyłania są dzielone na niewielkie porcje. Wojciech Śleziak Protokół TCP/IP Protokół TCP/IP (Transmission Control Protokol/Internet Protokol) to zestaw trzech protokołów: IP (Internet Protokol), TCP (Transmission Control Protokol), UDP (Universal Datagram Protokol).

Bardziej szczegółowo

Wykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe

Wykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe N, Wykład 4: Protokoły TCP/UDP i usługi sieciowe 1 Adres aplikacji: numer portu Protokoły w. łącza danych (np. Ethernet) oraz w. sieciowej (IP) pozwalają tylko na zaadresowanie komputera (interfejsu sieciowego),

Bardziej szczegółowo

Specyfikacja protokołu zdalnych kolejek RQP Krzysztof Choromański 19 kwietnia, 2008

Specyfikacja protokołu zdalnych kolejek RQP Krzysztof Choromański 19 kwietnia, 2008 Specyfikacja protokołu zdalnych kolejek RQP Krzysztof Choromański kc219408@students.mimuw.edu.pl 19 kwietnia, 2008 Spis treści: 1. Cele. 2. ZałoŜenia. 3. Format komunikatów. 3.1 Komunikaty wymieniane w

Bardziej szczegółowo

Scenariusz lekcji Opracowanie: mgr Bożena Marchlińska NKJO w Ciechanowie Czas trwania jednostki lekcyjnej: 90 min.

Scenariusz lekcji Opracowanie: mgr Bożena Marchlińska NKJO w Ciechanowie Czas trwania jednostki lekcyjnej: 90 min. Scenariusz lekcji Opracowanie: mgr Bożena Marchlińska NKJO w Ciechanowie Czas trwania jednostki lekcyjnej: 90 min. Temat lekcji: Adresy IP. Konfiguracja stacji roboczych. Część I. Cele lekcji: wyjaśnienie

Bardziej szczegółowo

Protokół TCP (RFC 793)

Protokół TCP (RFC 793) LAN 1 Protokół TCP (RFC 793) dotyczy komunikacji pojedynczej (unicastowej) pomiędzy dwoma punktami, każdy z adresem IP i numerem portu połączenie TCP jest dwustronne i dane mogą płynąć w każdą stronę niezależnie

Bardziej szczegółowo

Adresy w sieciach komputerowych

Adresy w sieciach komputerowych Adresy w sieciach komputerowych 1. Siedmio warstwowy model ISO-OSI (ang. Open System Interconnection Reference Model) 7. Warstwa aplikacji 6. Warstwa prezentacji 5. Warstwa sesji 4. Warstwa transportowa

Bardziej szczegółowo

Enkapsulacja RARP DANE TYP PREAMBUŁA SFD ADRES DOCELOWY ADRES ŹRÓDŁOWY TYP SUMA KONTROLNA 2 B 2 B 1 B 1 B 2 B N B N B N B N B Typ: 0x0835 Ramka RARP T

Enkapsulacja RARP DANE TYP PREAMBUŁA SFD ADRES DOCELOWY ADRES ŹRÓDŁOWY TYP SUMA KONTROLNA 2 B 2 B 1 B 1 B 2 B N B N B N B N B Typ: 0x0835 Ramka RARP T Skąd dostać adres? Metody uzyskiwania adresów IP Część sieciowa Jeśli nie jesteśmy dołączeni do Internetu wyssany z palca. W przeciwnym przypadku numer sieci dostajemy od NIC organizacji międzynarodowej

Bardziej szczegółowo

Zdalna obsługa transcievera. H A M R A D I O D E L U X E R e m o t e S e r v e r C o n f i g u r a t i o n

Zdalna obsługa transcievera. H A M R A D I O D E L U X E R e m o t e S e r v e r C o n f i g u r a t i o n Zdalna obsługa transcievera H A M R A D I O D E L U X E R e m o t e S e r v e r C o n f i g u r a t i o n Do poprawnej pracy zdalnego dostępu do radiostacji, niezbędne jest działające oprogramowanie Ham

Bardziej szczegółowo

Aby pobrać program FotoSender naleŝy na stronę www.fotokoda.pl lub www.kodakwgalerii.astral.pl i kliknąć na link Program do wysyłki zdjęć Internetem.

Aby pobrać program FotoSender naleŝy na stronę www.fotokoda.pl lub www.kodakwgalerii.astral.pl i kliknąć na link Program do wysyłki zdjęć Internetem. FotoSender 1. Pobranie i instalacja programu Aby pobrać program FotoSender naleŝy na stronę www.fotokoda.pl lub www.kodakwgalerii.astral.pl i kliknąć na link Program do wysyłki zdjęć Internetem. Rozpocznie

Bardziej szczegółowo

Selektywne powtarzanie (SP)

Selektywne powtarzanie (SP) Selektywne powtarzanie (SP) odbiorca selektywnie potwierdza poprawnie odebrane pakiety buforuje pakiety, gdy potrzeba, w celu uporządkowania przed przekazaniem warstwie wyższej nadawca retransmituje tylko

Bardziej szczegółowo

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ ADRESACJA W SIECIACH IP. WSTĘP DO SIECI INTERNET Kraków, dn. 24 października 2016r.

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ ADRESACJA W SIECIACH IP. WSTĘP DO SIECI INTERNET Kraków, dn. 24 października 2016r. DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ ADRESACJA W SIECIACH IP WSTĘP DO SIECI INTERNET Kraków, dn. 24 października 2016r. PLAN Reprezentacja liczb w systemach cyfrowych Protokół IPv4 Adresacja w sieciach

Bardziej szczegółowo

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Akademia Techniczno-Humanistyczna w Bielsku-Białej Akademia Techniczno-Humanistyczna w Bielsku-Białej Wydział Budowy Maszyn i Informatyki Laboratorium z sieci komputerowych Ćwiczenie numer: 5 Temat ćwiczenia: Badanie protokołów rodziny TCP/IP 1. Wstęp

Bardziej szczegółowo

5. Model komunikujących się procesów, komunikaty

5. Model komunikujących się procesów, komunikaty Jędrzej Ułasiewicz str. 1 5. Model komunikujących się procesów, komunikaty Obecnie stosuje się następujące modele przetwarzania: Model procesów i komunikatów Model procesów komunikujących się poprzez pamięć

Bardziej szczegółowo

Laboratorium 6.7.2: Śledzenie pakietów ICMP

Laboratorium 6.7.2: Śledzenie pakietów ICMP Topologia sieci Tabela adresacji Urządzenie Interfejs Adres IP Maska podsieci Domyślna brama R1-ISP R2-Central Serwer Eagle S0/0/0 10.10.10.6 255.255.255.252 Nie dotyczy Fa0/0 192.168.254.253 255.255.255.0

Bardziej szczegółowo

Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas)

Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas) Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas) Protokół komunikacyjny zapewniający niezawodność przesyłania danych w sieci IP Gwarantuje: Przyporządkowanie danych do konkretnego połączenia Dotarcie danych

Bardziej szczegółowo

Sieci komputerowe wykłady Protokoły TCP i UDP. Adresowanie komunikatów. Adresowanie komunikatów c.d. Porty protokołów. Porty protokołów c.d.

Sieci komputerowe wykłady Protokoły TCP i UDP. Adresowanie komunikatów. Adresowanie komunikatów c.d. Porty protokołów. Porty protokołów c.d. Sieci komputerowe wykłady 10-11 Protokoły TCP i UDP rok ak. 2004/2005 Agata Półrola Katedra Informatyki Stosowanej UŁ polrola@math.uni.lodz.pl http://www.math.uni.lodz.pl/~polrola Adresowanie komunikatów

Bardziej szczegółowo

Model sieci OSI, protokoły sieciowe, adresy IP

Model sieci OSI, protokoły sieciowe, adresy IP Model sieci OSI, protokoły sieciowe, adresy IP Podstawę działania internetu stanowi zestaw protokołów komunikacyjnych TCP/IP. Wiele z używanych obecnie protokołów zostało opartych na czterowarstwowym modelu

Bardziej szczegółowo

BeamYourScreen Bezpieczeństwo

BeamYourScreen Bezpieczeństwo BeamYourScreen Bezpieczeństwo Spis treści Informacje Ogólne 3 Bezpieczeństwo Treści 3 Bezpieczeństwo Interfejsu UŜytkownika 3 Bezpieczeństwo Infrastruktury 3 Opis 4 Aplikacja 4 Kompatybilność z Firewallami

Bardziej szczegółowo

Programowanie współbieżne Wykład 2. Iwona Kochańska

Programowanie współbieżne Wykład 2. Iwona Kochańska Programowanie współbieżne Wykład 2 Iwona Kochańska Miary skalowalności algorytmu równoległego Przyspieszenie Stały rozmiar danych N T(1) - czas obliczeń dla najlepszego algorytmu sekwencyjnego T(p) - czas

Bardziej szczegółowo

Instrukcja Instalacji

Instrukcja Instalacji Generator Wniosków Płatniczych dla Programu Operacyjnego Kapitał Ludzki Instrukcja Instalacji Aplikacja współfinansowana ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Spis treści

Bardziej szczegółowo

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji.

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji. 1 Moduł Modbus TCP Moduł Modbus TCP daje użytkownikowi Systemu Vision możliwość zapisu oraz odczytu rejestrów urządzeń, które obsługują protokół Modbus TCP. Zapewnia on odwzorowanie rejestrów urządzeń

Bardziej szczegółowo

Klient-Serwer Komunikacja przy pomocy gniazd

Klient-Serwer Komunikacja przy pomocy gniazd II Klient-Serwer Komunikacja przy pomocy gniazd Gniazda pozwalają na efektywną wymianę danych pomiędzy procesami w systemie rozproszonym. Proces klienta Proces serwera gniazdko gniazdko protokół transportu

Bardziej szczegółowo

Komunikacja Master-Slave w protokole PROFIBUS DP pomiędzy S7-300/S7-400

Komunikacja Master-Slave w protokole PROFIBUS DP pomiędzy S7-300/S7-400 PoniŜszy dokument zawiera opis konfiguracji programu STEP7 dla sterowników S7 300/S7 400, w celu stworzenia komunikacji Master Slave z wykorzystaniem sieci PROFIBUS DP pomiędzy sterownikami S7 300 i S7

Bardziej szczegółowo

TCP/IP. Warstwa łącza danych. mgr inż. Krzysztof Szałajko

TCP/IP. Warstwa łącza danych. mgr inż. Krzysztof Szałajko TCP/IP Warstwa łącza danych mgr inż. Krzysztof Szałajko Modele odniesienia 7 Aplikacji 6 Prezentacji 5 Sesji 4 Transportowa 3 Sieciowa 2 Łącza danych 1 Fizyczna Aplikacji Transportowa Internetowa Dostępu

Bardziej szczegółowo

Protokół wymiany sentencji, wersja 1

Protokół wymiany sentencji, wersja 1 Protokół wymiany sentencji, wersja 1 Sieci komputerowe 2011@ MIM UW Osowski Marcin 28 kwietnia 2011 1 Streszczenie Dokument ten opisuje protokół przesyłania sentencji w modelu klientserwer. W założeniu

Bardziej szczegółowo

Spis treści. 1 Moduł Modbus TCP 4

Spis treści. 1 Moduł Modbus TCP 4 Spis treści 1 Moduł Modbus TCP 4 1.1 Konfigurowanie Modułu Modbus TCP................. 4 1.1.1 Lista elementów Modułu Modbus TCP............ 4 1.1.2 Konfiguracja Modułu Modbus TCP.............. 5 1.1.3

Bardziej szczegółowo

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol) Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol) W latach 1973-78 Agencja DARPA i Stanford University opracowały dwa wzajemnie uzupełniające się protokoły: połączeniowy TCP

Bardziej szczegółowo

Kalipso wywiady środowiskowe

Kalipso wywiady środowiskowe Kalipso wywiady środowiskowe Instrukcja obsługi INFO-R Spółka Jawna - 2017 43-430 Pogórze, ul. Baziowa 29, tel. (33) 479 93 29, (33) 479 93 89 fax: (33) 853 04 06 e-mail: admin@ops.strefa.pl Spis treści:

Bardziej szczegółowo

TRX API opis funkcji interfejsu

TRX API opis funkcji interfejsu TRX Krzysztof Kryński Cyfrowe rejestratory rozmów seria KSRC TRX API opis funkcji interfejsu Kwiecień 2013 Copyright TRX TRX ul. Garibaldiego 4 04-078 Warszawa Tel. 22 871 33 33 Fax 22 871 57 30 www.trx.com.pl

Bardziej szczegółowo

Czym jest EDGE? Opracowanie: Paweł Rabinek Bydgoszcz, styczeń 2007 http://blog.xradar.net

Czym jest EDGE? Opracowanie: Paweł Rabinek Bydgoszcz, styczeń 2007 http://blog.xradar.net Czym jest EDGE? Opracowanie: Paweł Rabinek Bydgoszcz, styczeń 2007 http://blog.xradar.net Wstęp. Aby zrozumieć istotę EDGE, niezbędne jest zapoznanie się z technologią GPRS. General Packet Radio Service

Bardziej szczegółowo

MODEL OSI A INTERNET

MODEL OSI A INTERNET MODEL OSI A INTERNET W Internecie przyjęto bardziej uproszczony model sieci. W modelu tym nacisk kładzie się na warstwy sieciową i transportową. Pozostałe warstwy łączone są w dwie warstwy - warstwę dostępu

Bardziej szczegółowo

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Akademickie Centrum Informatyki PS. Wydział Informatyki PS kademickie Centrum Informatyki PS Wydział Informatyki PS Wydział Informatyki Sieci komputerowe i Telekomunikacyjne Transmisja w protokole IP Krzysztof ogusławski tel. 4 333 950 kbogu@man.szczecin.pl 1.

Bardziej szczegółowo

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Akademia Techniczno-Humanistyczna w Bielsku-Białej Akademia Techniczno-Humanistyczna w Bielsku-Białej Wydział Budowy Maszyn i Informatyki Laboratorium z sieci komputerowych Ćwiczenie numer: 9 Temat ćwiczenia: Aplikacje klient-serwer. 1. Wstęp teoretyczny.

Bardziej szczegółowo

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów Adresowanie obiektów Bit - stan pojedynczego sygnału - wejście lub wyjście dyskretne, bit pamięci Bajt - 8 bitów - wartość od -128 do +127 Słowo - 16 bitów - wartość od -32768 do 32767 -wejście lub wyjście

Bardziej szczegółowo

1 Moduł Inteligentnego Głośnika

1 Moduł Inteligentnego Głośnika 1 Moduł Inteligentnego Głośnika Moduł Inteligentnego Głośnika zapewnia obsługę urządzenia fizycznego odtwarzającego komunikaty dźwiękowe. Dzięki niemu możliwa jest konfiguracja tego elementu Systemu oraz

Bardziej szczegółowo

Transport. część 2: protokół TCP. Sieci komputerowe. Wykład 6. Marcin Bieńkowski

Transport. część 2: protokół TCP. Sieci komputerowe. Wykład 6. Marcin Bieńkowski Transport część 2: protokół TCP Sieci komputerowe Wykład 6 Marcin Bieńkowski Protokoły w Internecie warstwa aplikacji HTTP warstwa transportowa SMTP TCP warstwa sieciowa warstwa łącza danych warstwa fizyczna

Bardziej szczegółowo

Transport. część 2: protokół TCP. Sieci komputerowe. Wykład 6. Marcin Bieńkowski

Transport. część 2: protokół TCP. Sieci komputerowe. Wykład 6. Marcin Bieńkowski Transport część 2: protokół TCP Sieci komputerowe Wykład 6 Marcin Bieńkowski Protokoły w Internecie warstwa aplikacji HTTP SMTP DNS NTP warstwa transportowa TCP UDP warstwa sieciowa IP warstwa łącza danych

Bardziej szczegółowo

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Akademia Techniczno-Humanistyczna w Bielsku-Białej Akademia Techniczno-Humanistyczna w Bielsku-Białej Wydział Budowy Maszyn i Informatyki Laboratorium z sieci komputerowych Ćwiczenie numer: 1 Temat ćwiczenia: Adresacja w sieciach komputerowych podstawowe

Bardziej szczegółowo

Skąd dostać adres? Metody uzyskiwania adresów IP. Statycznie RARP. Część sieciowa. Część hosta

Skąd dostać adres? Metody uzyskiwania adresów IP. Statycznie RARP. Część sieciowa. Część hosta Sieci komputerowe 1 Sieci komputerowe 2 Skąd dostać adres? Metody uzyskiwania adresów IP Część sieciowa Jeśli nie jesteśmy dołączeni do Internetu wyssany z palca. W przeciwnym przypadku numer sieci dostajemy

Bardziej szczegółowo

1 Moduł Inteligentnego Głośnika 3

1 Moduł Inteligentnego Głośnika 3 Spis treści 1 Moduł Inteligentnego Głośnika 3 1.1 Konfigurowanie Modułu Inteligentnego Głośnika........... 3 1.1.1 Lista elementów Modułu Inteligentnego Głośnika....... 3 1.1.2 Konfigurowanie elementu

Bardziej szczegółowo

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1.

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1. Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1 PAMIĘCI SZEREGOWE EEPROM Ćwiczenie 3 Opracował: dr inŝ.

Bardziej szczegółowo

Podstawy obsługi aplikacji Generator Wniosków Płatniczych

Podstawy obsługi aplikacji Generator Wniosków Płatniczych Podstawy obsługi aplikacji Generator Wniosków Płatniczych 1. Instalacja programu Program naleŝy pobrać ze strony www.simik.gov.pl. Instalację naleŝy wykonań z konta posiadającego uprawnienia administratora

Bardziej szczegółowo

Bezpieczeństwo w M875

Bezpieczeństwo w M875 Bezpieczeństwo w M875 1. Reguły zapory sieciowej Funkcje bezpieczeństwa modułu M875 zawierają Stateful Firewall. Jest to metoda filtrowania i sprawdzania pakietów, która polega na analizie nagłówków pakietów

Bardziej szczegółowo

Uniwersytet Mikołaja Kopernika w Toruniu. Profilowanie ruchu sieciowego w systemie GNU/Linux

Uniwersytet Mikołaja Kopernika w Toruniu. Profilowanie ruchu sieciowego w systemie GNU/Linux Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Michał Ferliński Nr albumu: 187386 Praca magisterska na kierunku Informatyka

Bardziej szczegółowo

Współpraca z platformą Emp@tia. dokumentacja techniczna

Współpraca z platformą Emp@tia. dokumentacja techniczna Współpraca z platformą Emp@tia dokumentacja techniczna INFO-R Spółka Jawna - 2013 43-430 Pogórze, ul. Baziowa 29, tel. (33) 479 93 29, (33) 479 93 89 fax (33) 853 04 06 e-mail: admin@ops.strefa.pl Strona1

Bardziej szczegółowo

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

Referencyjny model OSI. 3 listopada 2014 Mirosław Juszczak 37 Referencyjny model OSI 3 listopada 2014 Mirosław Juszczak 37 Referencyjny model OSI Międzynarodowa Organizacja Normalizacyjna ISO (International Organization for Standarization) opracowała model referencyjny

Bardziej szczegółowo

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel etrader Pekao Podręcznik użytkownika Strumieniowanie Excel Spis treści 1. Opis okna... 3 2. Otwieranie okna... 3 3. Zawartość okna... 4 3.1. Definiowanie listy instrumentów... 4 3.2. Modyfikacja lub usunięcie

Bardziej szczegółowo

Sieci komputerowe. Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP

Sieci komputerowe. Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP Sieci komputerowe Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP Zadania warstwy transportu Zapewnienie niezawodności Dostarczanie danych do odpowiedniej aplikacji w warstwie aplikacji (multipleksacja)

Bardziej szczegółowo