Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Protokół Sterowania Transferem
Protokoły komunikacyjne TCP Protokół Sterowania Transferem Gdańsk 2005 Transfer Control Protocol (Transport)
2
Usługi niezawodnego dostarczania
Przesyłanie strumieniami Dużą ilość danych przesyłaną przez dwa programy użytkowe (procesy użytkownika) możemy traktować jako strumień bitów, który jest podzielony na 8 –bitowe oktety. Usługa dostarczania strumienia na terminalu docelowym to przekazanie odbiorcy dokładnie tego samego strumienia oktetów, który na swoim terminalu przekazał nadawca.
3
Usługi niezawodnego dostarczania
Łączenie w połączenie wirtualne Ustanowienie przesyłania za pomocą strumienia jest analogiczne do nawiązywania połączenia telefonicznego Proces przesyłania strumienia musi być poprzedzony procedurą: programy użytkowe zarówno wysyłający, jak i odbierający muszą się porozumieć z własnymi systemami operacyjnymi, informując je o potrzebie przesyłania za pomocą strumienia (jeden program telefonuje do drugiego)
4
Usługi niezawodnego dostarczania
Łączenie w połączenie wirtualne Proces przesyłania strumienia musi być poprzedzony procedurą: Moduły oprogramowania protokołów w obu systemach porozumiewają się, wysyłając przez interieć odpowiednie komunikaty, które muszą służyć do sprawdzenia czy transfer został autoryzowany oraz czy obie strony znajdują się w stanie gotowości. Po ustaleniu wszystkich szczegółów moduły protokołów informują programy użytkowe, że połączenia zostało ustanowione i że można rozpocząć przesyłanie.
5
Usługi niezawodnego dostarczania
Łączenie w połączenie wirtualne Podczas komunikowania się w dalszym ciągu oprogramowanie protokołów wymienia informacje, które potwierdzają poprawność otrzymanych danych Jeżeli ta komunikacja zostanie zakłócona oba terminale stwierdzają błąd i informują o nim odpowiednie programy użytkowe. Takie połączenie nazywamy nazywamy wirtualnym, bo chociaż programy użytkowe widzą to połączenia tak jakby istniało fizyczne łącze. Zawodność tego połączenia jest wywołana przez usługę dostarczania strumieniami.
6
Usługi niezawodnego dostarczania
Buforowanie Programy użytkowe przesyłają strumienie danych połączeniami wirtualnymi dzięki przekazywaniu kolejnych oktetów danych do oprogramowania protokołów. Program użytkowy przesyła dane w porcjach, które uważa za stosowne, a które mogą być pojedynczym oktetem. U odbiorcy oprogramowanie protokołów dostarcza oktety ze strumienia danych w takim porządku, w jakim zostały wysłane, udostępniając je odbierającemu programowi użytkowemu.
7
Usługi niezawodnego dostarczania
Buforowanie Oprogramowanie protokołów ma swobodę przy dzieleniu strumienia na pakiety i może to robić niezależnie od tego, jak strumień jest dzielony na porcje przez program użytkowy. W celu zwiększenia efektywności przesyłania przyjmuje się zwykle strategię czekania (buforowania), aż uzbiera się tyle danych ze strumienia, żeby wypełnić datagram o rozsądnej o rozsądnej zanim się go wyśle do intersieci.
8
Usługi niezawodnego dostarczania
Brak strukturalizacji strumienia Usługa przesyłania za pomocą strumieni TCP nie uwzględnia strukturalizacji strumienia danych. Programy użytkowe wykorzystujące usługi przesyłania za pomocą strumieni muszą interpretować zawartość strumienia i jeszcze przed rozpoczęciem połączenia zgadzać się na format strumienia.
9
Usługi niezawodnego dostarczania
Połączenie w pełni dwukierunkowe Połączenia zapewniane przez usługę przesyłania za pomocą strumieni TCP/IP umożliwiają jednoczesne przesyłanie w obu kierunkach Z punktu widzenia programu użytkowego połączenia w pełni dwukierunkowe składa się z dwu niezależnych strumieni danych przesyłanych w przeciwnych kierunkach bez żadnej jawnej interakcji między nimi. Usługa przesyłania za pomocą strumieni pozwala procesowi użytkownika na zatrzymanie przepływu danych w jednym kierunku, bez zakłócenia przepływu w drugim
10
Usługi niezawodnego dostarczania
Połączenie w pełni dwukierunkowe Przy połączeniu w pełni dwukierunkowym oprogramowanie protokołów obsługujących może wysyłać nadawcy informacje kontrolne związane z jednym strumieniem w datagramach niosących dane w kierunku przeciwnym.
11
Realizacja niezawodności połaczenia dostarczania
W jaki sposób oprogramowanie protokołów realizuje niezawodne przesyłanie, skoro podstawowy system komunikacyjny oferuje tylko zawodne dostarczanie pakietów? Większość protokołów oferujących niezawodność używa podstawowej metody znanej jako pozytywne potwierdzanie z retransmisją. Metoda ta wymaga, aby odbiorca komunikował się z nadawcą, wysyłając w mu w momencie otrzymania danych komunikat potwierdzenia (ACK)
12
Realizacja niezawodności połączenia dostarczania
W jaki sposób oprogramowanie protokołów realizuje niezawodne przesyłanie, skoro podstawowy system komunikacyjny oferuje tylko zawodne dostarczanie pakietów? Nadawca zapisuje sobie informacje o każdym wysłanym pakiecie i przed wysłaniem następnego czeka na potwierdzenie Nadawca uruchamia zegar w momencie wysłąnia pakietu i wysyła ten pakiet ponownie, gdy minie odpowiedni czas, a potwierdzenie nie nadejdzie.
13
Realizacja niezawodności połączenia dostarczania
Idea przesuwających się okien Protokół z pozytywnym potwierdzeniem powoduje znaczne marnowanie przepustowości sieci, gdyż przed wysłaniem nowego pakietu wymuszane jest oczekiwanie na potwierdzenie dla pakietu poprzedniego Technika przesuwającego się okna umożliwia nadawcy przesłanie wielu pakietów przed otrzymaniem potwierdzenia. Liczba pakietów niepotwierdzonych w danej chwili jest wyznaczona przez rozmiar okna.
14
TCP TCP – ang. Transfer Control Protocol, czyli Protokół Sterowania Transferem. Podstawowy standard TCP (RFC 793) został zaproponowany w roku 1981 przez Johna Postela i z niewielkimi poprawkami obowiązuje do dzisiaj
15
Czym jest TCP? Protokół połączeniowy, dwukierunkowy, zapewniający aplikacji użytkownika niezawodne przesłanie datagramu. Udostępnia usługę transportową warstwom wyższym i zapewnia współpracę z protokołem IP, uwzględniając aspekty priorytetów i bezpieczeństwa.
16
Czym jest TCP? Protokół:
specyfikuje format danych i potwierdzeń, które terminale wymieniają między sobą, opisuje procedury, których używają terminale w celu upewnienia się, że dane dotarły bez zakłoceń, wyznacza sposób , w jaki oprogramowanie TCP rozróżnia odbiorów na danym terminalu oraz jak komunikujące się terminale radzą sobie z błędami, takimi jak utrata pakietu lub jego zduplikowaniem, określa sposób, w jaki dwa komputery inicjują przesyłanie za pomocą strumienia TCP oraz w jakiej sytuacji zgadzają się na zakończenie
17
Czym jest połączenie TCP?
Połączenie jest identyfikowane przez parę punktów końcowych: Punkt końcowy = (węzeł, port) Połączenie jest realizowane pomiędzy terminalem o adresie: i porcie 1069 Oraz terminalem o adresie I porcie 25 To połązenie jest opisane przez punkty końcowe ( , 1069) oraz ( , 25)
18
Cel stosowania protokołu
> W połączeniu z protokołem IP protokół TCP definiuje sposoby przesyłania podstawowych jednostek informacji (pakietów) między komputerami komunikującymi się przez Internet. niezawodne przekazywanie pakietów końcowa zgodność transmisji (kolejność danych) połączeniowy sposób transmisji (nadawca i odbiorca są w stanie „połączenia” – muszą zatem istnieć procedury wprowadzające tę parę komunikujących się urządzeń w taki stan) TCP protocol
19
TCP Miejsce stosowania funkcjonuje w stosie protokołów TCP/IP
działa w warstwie transportowej modelu OSI ISO/OSI TCP/IP niektóre protokoły TCP protocol
20
TCP Miejsce stosowania TCP udostępnia swoje usługi warstwie aplikacji
TCP korzysta z warstwy Internetu ISO/OSI TCP/IP niektóre protokoły TCP protocol
21
TCP Miejsce stosowania warstwa transportowa
ISO/OSI TCP/IP niektóre protokoły warstwa transportowa dostarcza transferu typu danych „end to end”, wiele aplikacji może być obsługiwanych równolegle, odpowiedzialna jest za niezawodną wymianę informacji, głównym protokołem warstwy transportowej jest TCP, innym protokołem warstwy transportowej jest UDP (inna prezentacja). TCP protocol
22
TCP Miejsce stosowania warstwa aplikacji
ISO/OSI TCP/IP niektóre protokoły warstwa aplikacji dostarczana jest przez program używający TCP/IP do komunikacji, aplikacja jest procesem użytkownika współpracującym z innym procesem na tym samym bądź innym komputerze, przykładem aplikacji są: telnet - standard protokołu komunikacyjnego używanego w sieciach komputerowych do obsługi odległego terminala w architekturze klient-serwer (korzysta z portu 23 protokołu TCP), ssh - bezpieczny telnet (korzysta z portu 22 protokołu TCP), ftp - jest protokołem typu klient-serwer, który umożliwia przesyłanie plików z i na serwer poprzez sieć TCP/IP (port 20 i 21 protokołu TCP), (…) TCP protocol
23
Funkcje warstwy transportowej
zapewnia poprawność przesyłanych danych - w przypadku niepowodzenia transmisji - retransmituje (aż do wyczerpania limitu czasu transmisji) pakiet w zależności od potrzeb realizuje podział wiadomości z warstwy wyższej na mniejsze fragmenty – pakiety (datagramy) szereguje przekazywane wiadomości zgodnie z przyjętymi priorytetami i przydziela im określoną przepływność w przypadku zbyt małej wydajność warstw niższych zapewnia kolejkowanie zgłoszeń (wg priorytetów), a w momencie przepełnienia bufora powoduje zwrot komunikatu do warstwy wyższej i usunięcie nadmiarowych danych.
24
Jakie zadania wynikają dla TCP?
Sterować poprawnością transmisji - zestawianie, nadzór i rozłączenie połączenia: - dostosowanie szybkości transmisji danych do aktualnego obciążenia sieci, - w jak największym stopniu realizować warunki wynegocjowane podczas nawiązywania połączenia, - prawidłowo obsłużyć niespodziewane zakończenie aplikacji, do której zmierza datagram, - w przypadku odrzucenia datagramu, podejmować aż do skutku próbę retransmisji, - bezpiecznie izolować warstwy wyższe od skutków awarii w warstwie IP.
25
Jakie zadania wynikają dla TCP?
ustanowienie i utrzymanie połączenia wirtualnego między dwoma użytkownikami w celu przesyłania danych, sterowania przepływem, przesyłania potwierdzeń oraz kontroli i korekcji błędów wykrywanie błędów na obu końcach połączenia (po stronie nadawcy i odbiorcy). Czemu to służy? Rozwiązanie powyższych problemów ma na celu uniezależnienie warstwy aplikacji od stałego uwzględniania złożonych problemów sterowania poprawnością transmisji
26
TCP Miejsce stosowania
smtp - protokół komunikacyjny opisujący sposób przekazywania poczty elektronicznej w internecie (korzysta z portu 25 protokołu TCP), pop3 - protokół pozwalający na odbiór poczty elektronicznej ze zdalnego serwera do lokalnego komputera (port 110 lub 995), wiele innych… interface pomiędzy aplikacją i warstwą transportową zdefiniowany jest jako numer portu. TCP protocol
27
TCP Miejsce stosowania warstwa sieciowa zwana warstwą internetową
ISO/OSI TCP/IP niektóre protokoły warstwa sieciowa zwana warstwą internetową tworzy obraz sieci „wirtualnej” internetu (tzn. uniezależnia wyższe warstwy od architektury sieci fizycznej), protokół IP jest najważniejszy w tej warstwie, bezpołączeniowy - nie zakłada niezawodności poziomów niższych, nie ma mechanizmów kontroli przepływu informacji, korekty błędów, te funkcje musza być obsługiwane przez wyższe poziomy, zapewnia funkcje rutingową, podstawowa jednostka informacji IP nazywana jest datagramem IP Inne protokoły sieciowe to ICMP, IGMP, ARP i RARP. TCP protocol
28
Nagłówek TCP Cały segment TCP (nagłówek i dane) zawarty jest w datagramie IP. Nagłówek datagramu IP zawiera kilka informacji, m.in. adresy IP. Nagłówek TCP znajduje się za nagłówkiem IP, i zawiera informacje specyficzne dla protokołu TCP. Podział ten umożliwia istnienie innych protokołów niż protokół TCP na poziomie warstwy transportu w modelu OSI. TCP protocol
29
TCP Ramka TCP protocol Port źródłowy Port docelowy Numer sekwencyjny
Numer potwierdzenia Offset Rezerwacja URG ACK PSH RST SYN FIN Okno Suma kontrolna Priorytet Opcje Wypełnienie Dane TCP protocol
30
Ramka TCP port źródłowy – numer portu źródłowego (port aplikacji na urządzeniu wysyłającym) Port źródłowy Port docelowy Numer sekwencyjny Numer potwierdzenia Offset Rezerwacja URG ACK PSH RST SYN FIN Okno Suma kontrolna Priorytet Opcje Wypełnienie Dane TCP protocol
31
Ramka TCP port docelowy – numer portu docelowego (port aplikacji na urządzeniu odbierającym) Port źródłowy Port docelowy Numer sekwencyjny Numer potwierdzenia Offset Rezerwacja URG ACK PSH RST SYN FIN Okno Suma kontrolna Priorytet Opcje Wypełnienie Dane TCP protocol
32
Ramka TCP numer sekwencyjny - liczba 32-bitowa zawierająca numer pierwszego oktetu danych w tym segmencie (gdy nie ustawiony SYN). Jeśli ustawiony SYN - numer sekwencji to ISN (początkowy numer sekwencji), natomiast pierwszy oktet danych to ISN+1. Port źródłowy Port docelowy Numer sekwencyjny Numer potwierdzenia Offset Rezerwacja URG ACK PSH RST SYN FIN Okno Suma kontrolna Priorytet Opcje Wypełnienie Dane TCP protocol
33
Ramka TCP numer potwierdzenia - liczba 32-bitowa, jeśli jest ustawiony bit ACK, to pole to zawiera wartość pierwszego oktetu danych zawartego w następnym oczekiwanym segmencie. Port źródłowy Port docelowy Numer sekwencyjny Numer potwierdzenia Dł. nagł Rezerwacja URG ACK PSH RST SYN FIN Okno Suma kontrolna Priorytet Opcje Wypełnienie Dane TCP protocol
34
Ramka TCP długość nagłówka offset danych - pole 4-bitowe. Zawiera liczbę słów 32-bitowych, które składają się na nagłówek TCP i tym samym informuje gdzie rozpoczynają się dane. Port źródłowy Port docelowy Numer sekwencyjny Numer potwierdzenia Offset Rezerwacja URG ACK PSH RST SYN FIN Okno Suma kontrolna Priorytet Opcje Wypełnienie Dane TCP protocol
35
Ramka TCP zarezerwowane - 6 bitów zarezerwowanych do wykorzystania w przyszłych implementacjach, muszą być ustawione na zero. Port źródłowy Port docelowy Numer sekwencyjny Numer potwierdzenia Offset Rezerwacja URG ACK PSH RST SYN FIN Okno Suma kontrolna Priorytet Opcje Wypełnienie Dane TCP protocol
36
Ramka TCP URG - ustawiony na "1" oznacza ważność pola "priorytet". Port źródłowy Port docelowy Numer sekwencyjny Numer potwierdzenia Offset Rezerwacja URG ACK PSH RST SYN FIN Okno Suma kontrolna Priorytet Opcje Wypełnienie Dane TCP protocol
37
Ramka TCP ACK - ustawiony na "1" oznacza ważność pola "numer potwierdzenia". Segment z ustawionym bitem potwierdzenia (ACK) pełni dwie funkcje: - potwierdza otrzymanie danych, - steruje ich przepływem Port źródłowy Port docelowy Numer sekwencyjny Numer potwierdzenia Offset Rezerwacja URG ACK PSH RST SYN FIN Okno Suma kontrolna Priorytet Opcje Wypełnienie Dane TCP protocol
38
Ramka TCP PSH - ustawiony na "1" oznacza wykorzystanie funkcji "push„ czyli wymuszanie przesyłania przy nie dopełnionym buforze wyjściowym Port źródłowy Port docelowy Numer sekwencyjny Numer potwierdzenia Offset Rezerwacja URG ACK PSH RST SYN FIN Okno Suma kontrolna Priorytet Opcje Wypełnienie Dane TCP protocol
39
Ramka TCP RST - ustawiony na "1" oznacza zakończenie połączenia. Port źródłowy Port docelowy Numer sekwencyjny Numer potwierdzenia Offset Rezerwacja URG ACK PSH RST SYN FIN Okno Suma kontrolna Priorytet Opcje Wypełnienie Dane TCP protocol
40
Ramka TCP SYN - ustawiony na "1" powoduje wykonanie synchronizacji numerów sekwencyjnych Port źródłowy Port docelowy Numer sekwencyjny Numer potwierdzenia Offset Rezerwacja URG ACK PSH RST SYN FIN Okno Suma kontrolna Priorytet Opcje Wypełnienie Dane TCP protocol
41
Ramka TCP FIN - ustawiony na "1" oznacza koniec transmisji Port źródłowy Port docelowy Numer sekwencyjny Numer potwierdzenia Offset Rezerwacja URG ACK PSH RST SYN FIN Okno Suma kontrolna Priorytet Opcje Wypełnienie Dane TCP protocol
42
Ramka TCP Okno - liczba informująca nadawcę ile jest w stanie przyjąć danych w jednym segmencie TCP Port źródłowy Port docelowy Numer sekwencyjny Numer potwierdzenia Offset Rezerwacja URG ACK PSH RST SYN FIN Okno Suma kontrolna Priorytet Opcje Wypełnienie Dane TCP protocol
43
Ramka TCP Suma kontrolna - pozwala wykryć uszkodzenia pakietu. Komputer źródłowy oblicza wartość tego pola na podstawie zawartości segmentu. Komputer docelowy przeprowadza identyczne obliczenie. Port źródłowy Port docelowy Numer sekwencyjny Numer potwierdzenia Offset Rezerwacja URG ACK PSH RST SYN FIN Okno Suma kontrolna Priorytet Opcje Wypełnienie Dane TCP protocol
44
Ramka TCP Priorytet - ma znaczenie tylko, jeśli jest ustawiona flaga URG. Specyfikuje ona pozycję ważnych danych w przesyłanym segmencie. Port źródłowy Port docelowy Numer sekwencyjny Numer potwierdzenia Offset Rezerwacja URG ACK PSH RST SYN FIN Okno Suma kontrolna Priorytet Opcje Wypełnienie Dane TCP protocol
45
Ramka TCP Opcje - lista opcji nie jest ustalona i może się zmieniać, muszą one zajmować wielokrotność 8-bitów. Jeśli zajmują mniej wolne bity zajmuje tzw. wypełnienie. Port źródłowy Port docelowy Numer sekwencyjny Numer potwierdzenia Offset Rezerwacja URG ACK PSH RST SYN FIN Okno Suma kontrolna Priorytet Opcje Wypełnienie Dane TCP protocol
46
TCP Ramka TCP protocol Wypełnienie - wolne bity zapełnia się zerami.
Port źródłowy Port docelowy Numer sekwencyjny Numer potwierdzenia Offset Rezerwacja URG ACK PSH RST SYN FIN Okno Suma kontrolna Priorytet Opcje Wypełnienie Dane TCP protocol
47
Ramka TCP Dane – dane informacyjne przesyłane do odległego hosta. Port źródłowy Port docelowy Numer sekwencyjny Numer potwierdzenia Offset Rezerwacja URG ACK PSH RST SYN FIN Okno Suma kontrolna Priorytet Opcje Wypełnienie Dane TCP protocol
48
TCP Realizowane funkcje Protokół TCP musi zapewniać:
podstawowy transfer danych (basic transfer) wiarygodność transmisji (reliability) kontrolę przepływu (flow control) multipleksowanie (multiplexing) połączenia (connections) TCP protocol
49
TCP Realizowane funkcje podstawowy transfer danych (basic transfer):
przesyłanie ciągów oktetów (tzn. ośmiobitowych porcji danych): kierunek od użytkownika, kierunek do użytkownika, pakowanie oktetów przed wysłaniem w segmenty danych: nagłówek + dane, decyzja protokółu czy dany segment danych należy już wysłać, czy poczekać na większą ilość danych, decyzja protokółu czy dany segment należy wysłać, jeśli tak przekazuje go do niższej warstwy, w tym przypadku do protokołu IP. << powrót „realizowane funkcje” TCP protocol
50
TCP Realizowane funkcje wiarygodność transmisji (reliability):
zapewnienie odzyskania danych: zniszczonych, zgubionych, zduplikowanych, dostarczonych w złej kolejności przydział unikalnego numeru sekwencyjnego każdemu oktetowi: służy do złożenia danych w odpowiedniej kolejności, oraz do wyeliminowania duplikatów potwierdzenie odbioru segmentu przez komputer odbierający: wysłanie sygnału ACK (ang. Acknowledment - potwierdzenie) (…) TCP protocol
51
TCP Realizowane funkcje wiarygodność transmisji cd…:
odebranie potwierdzenia przez komputer wysyłający: brak potwierdzenia w określonym czasie - wysłanie ponowne danych, eliminacja uszkodzonych lub przekłamanych danych: poprzez sumy kontrolne, dane uszkodzone - żądanie ponownej transmisji uszkodzonego segmentu. Cały ten system zapewnia, że błędy transmisji nie mają wpływu na poprawność przesyłanych danych. << powrót „realizowane funkcje” TCP protocol
52
TCP Realizowane funkcje kontrola przepływu (flow control):
sterowanie ilością danych wysyłanych przez komputer źródłowy: ustala komputer otrzymujący dane, przesyłanie tzw. okna: wysyłany z każdym sygnałem potwierdzenia ACK, informuje komputer wysyłający ile oktetów danych może przesłać przed otrzymaniem kolejnego pozwolenia. << powrót „realizowane funkcje” TCP protocol
53
TCP Realizowane funkcje multipleksowanie (multiplexing):
działanie wielu aplikacji korzystających z TCP: możliwe poprzez zbiór dodatkowych adresów (portów), porty przypisane są konkretnym usługom, numer portu określony liczbą 16-bitową, numer portu + adres komputera = gniazdo para gniazd identyfikuje każde połączenie np.: połączenie poprzez gg: Klient gg: port 1303 Serwer gg: port 443 podgląd z programu NetLimiter. << powrót „realizowane funkcje” TCP protocol
54
TCP Realizowane funkcje połączenia (connections):
zainicjowanie połączenia, utrzymywanie informacji statusowych dotyczących każdego przesłanego strumienia danych, informacje te łącznie z gniazdami, numerami sekwencyjnymi, oraz wielkością okien, jest nazywana połączeniem, dwa procesy rozpoczynają pomiędzy sobą wymianę danych po nawiązaniu połączenia, po zakończeniu komunikacji połączenie jest zamykane w celu zwolnienia zasobów. TCP protocol
55
A B TCP Realizowane funkcje nawiązywanie połączenia:
„A” chce się połączyć SYN A B w tym segmencie jest zawarta informacja, jaki będzie początkowy numer sekwencji przesyłanych danych, >> format przesyłanej ramki nawiązujący połączenie host A wysyła do hosta B segment z ustawionym bitem SYN, proces ten informuje hosta B o tym, iż host A chce nawiązać z nim połączenie, TCP protocol
56
TCP Realizowane funkcje protocol Rezerwacja Port źródłowy
Port docelowy 1303 443 Numer sekwencyjny 1145 Numer potwierdzenia 1146 6 0110 000000 1 16 Okno Priorytet Wypełnienie Dane Offset Suma kontrolna URG,ACK,PSH,RST,SYN,FIN Opcje TCP protocol
57
znany numer sekwencyjny
Realizowane funkcje „B” potwierdza, znany numer sekwencyjny ACK + SYN A B host B odpowiada hostowi A segmentem z ustawionymi bitem potwierdzenia ACK i synchronizacji SYN, potwierdzając odbiór segmentu od A i informując go, od jakiego numeru sekwencyjnego będzie odliczał wysłane przez siebie dane, TCP protocol
58
A A B TCP Realizowane funkcje
:-) połączony z „B” :-) połączony z „A” ACK A A B host A wysyła do hosta B segment potwierdzający odbiór pakietu od hosta B (ACK), zawierający pierwsze przesyłane dane, po takiej wymianie segmentów TCP w systemie wie, że zdalny TCP działa i jest gotów do odbioru danych. TCP protocol
59
A A B TCP Realizowane funkcje
SEGMENT TCP z DANYMI POTWIERDZENIE A A B dane mogą zostać przesyłane zaraz po nawiązaniu połączenia, po zakończeniu transmisji hosty wymieniają trzy segmenty potwierdzające z ustawionym bitem FIN (koniec danych), co powoduje zerwanie połączenia pomiędzy nimi. << powrót „realizowane funkcje” TCP protocol
60
Realizacja Niezawodnego Połączenia
Aby zagwarantować, że dane przesyłane z jednej maszyny do drugiej nie są ani tracone, ani duplikowane używa się podstawowej metody znanej jako pozytywne potwierdzanie z retransmisją PAR (Positive Acknowledgment with Retransmission). Rys. Przedstawienie transmisji z potwierdzeniem ACK TCP protocol
61
Realizacja Niezawodnego Połączenia
Metoda ta wymaga, aby odbiorca komunikował się z nadawcą wysyłając mu w momencie otrzymania danych komunikat potwierdzenia (ACK). Nadawca zapisuje sobie informację o każdym wysłanym pakiecie i przed wysłaniem następnego czeka na potwierdzenie. Rys. Przedstawienie transmisji z potwierdzeniem ACK TCP protocol
62
Realizacja Niezawodnego Połączenia
Oprócz tego nadawca uruchamia zegar w momencie wysyłania pakietu i wysyła ten pakiet ponownie, gdy minie odpowiedni czas, a potwierdzenie nie nadejdzie. Rys. Przedstawienie transmisji z potwierdzeniem ACK TCP protocol
63
Realizacja Niezawodnego Połączenia
Po wysłaniu pakietu nadawca włącza zegar. Gdy mija określony czas, w czasie którego powinno nadejść potwierdzenie ACK nadawca przyjmuje, że pakiet został zagubiony i wysyła go ponownie. Rys. Przedstawienie utraty pakietu w czasie transmisji z potwierdzeniem ACK TCP protocol
64
Szczegóły TCP TCP protocol
65
Szczegóły TCP TCP protocol
66
PPP General Frame Format
Field Name Size (bytes) Description Flag 1 Flag: Indicates the start of a PPP frame. Always has the value “ ” binary (0x7E hexadecimal, or 126 decimal). Address Address: In HDLC this is the address of the destination of the frame. But in PPP we are dealing with a direct link between two devices, so this field has no real meaning. It is thus always set to “ ” (0xFF or 255 decimal), which is equivalent to a broadcast (it means “all stations”). Control Control: This field is used in HDLC for various control purposes, but in PPP it is set to “ ” (3 decimal). Protocol 2 Protocol: Identifies the protocol of the datagram encapsulated in the Information field of the frame. See below for more information on the Protocol field. Information Variable Information: Zero or more bytes of payload that contains either data or control information, depending on the frame type. For regular PPP data frames the network-layer datagram is encapsulated here. For control frames, the control information fields are placed here instead. Padding Padding: In some cases, additional dummy bytes may be added to pad out the size of the PPP frame. FCS 2 (or 4) Frame Check Sequence (FCS): A checksum computed over the frame to provide basic protection against errors in transmission. This is a CRC code similar to the one used for other layer two protocol error protection schemes such as the one used in Ethernet. It can be either 16 bits or 32 bits in size (default is 16 bits). The FCS is calculated over the Address, Control, Protocol, Information and Padding fields. Flag: Indicates the end of a PPP frame. Always has the value “ ” binary (0x7E hexadecimal, or 126 decimal). TCP protocol
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.