Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Protokół Sterowania Transferem Protokoły komunikacyjne Gdańsk 2005 (Transport )

Podobne prezentacje


Prezentacja na temat: "Protokół Sterowania Transferem Protokoły komunikacyjne Gdańsk 2005 (Transport )"— Zapis prezentacji:

1 Protokół Sterowania Transferem Protokoły komunikacyjne Gdańsk 2005 (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 – 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 dzisiajRFC 793 TCP

15 Protokół połączeniowy, dwukierunkowy, zapewniający aplikacji użytkownika niezawodne przesłanie datagramu.połączeniowy 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. Czym jest TCP?

16 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 Czym jest TCP?

17 Połączenie jest identyfikowane przez parę punktów końcowych: Punkt końcowy = (węzeł, port) Czym jest połączenie TCP? 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 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) > 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.

19 Miejsce stosowania funkcjonuje w stosie protokołów TCP/IP działa w warstwie transportowej modelu OSI ISO/OSITCP/IP niektóre protokoły

20 Miejsce stosowania TCP udostępnia swoje usługi warstwie aplikacji TCP korzysta z warstwy Internetu ISO/OSITCP/IP niektóre protokoły

21  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). Miejsce stosowania ISO/OSITCP/IP niektóre protokoły warstwa transportowa

22  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), (…) Miejsce stosowania ISO/OSITCP/IP niektóre protokoły warstwa aplikacji

23 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. Funkcje warstwy transportowej

24 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. Jakie zadania wynikają dla TCP?

25 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 Jakie zadania wynikają dla TCP?

26  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. Miejsce stosowania

27  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. Miejsce stosowania ISO/OSITCP/IP niektóre protokoły warstwa sieciowa zwana warstwą internetową

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.

29 Ramka TCP Port źródłowy Port docelowy Numer sekwencyjny Dane Okno PriorytetSuma kontrolna Numer potwierdzenia WypełnienieOpcje Offset FIN Rezerwacja SYN RST PSH ACK URG

30 Ramka TCP Port źródłowy Port docelowy Numer sekwencyjny Dane Okno PriorytetSuma kontrolna Numer potwierdzenia WypełnienieOpcje Offset FIN Rezerwacja SYN RST PSH ACK URG  p port źródłowy – numer portu źródłowego (port aplikacji na urządzeniu wysyłającym)

31 Ramka TCP Port źródłowy Port docelowy Numer sekwencyjny Dane Okno PriorytetSuma kontrolna Numer potwierdzenia WypełnienieOpcje Offset FIN SYN RST PSH ACK URG  p port docelowy – numer portu docelowego (port aplikacji na urządzeniu odbierającym) Rezerwacja

32 Ramka TCP Port źródłowy Port docelowy Numer sekwencyjny Dane Okno PriorytetSuma kontrolna Numer potwierdzenia WypełnienieOpcje Offset FIN SYN RST PSH ACK URG  n 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. Rezerwacja

33 Ramka TCP Port źródłowy Port docelowy Numer sekwencyjny Dane Okno PriorytetSuma kontrolna Numer potwierdzenia WypełnienieOpcje Dł. nagł FIN SYN RST PSH ACK URG  n 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. Rezerwacja

34 Ramka TCP Port źródłowy Port docelowy Numer sekwencyjny Dane Okno PriorytetSuma kontrolna Numer potwierdzenia WypełnienieOpcje Offset FIN SYN RST PSH ACK URG  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. Rezerwacja

35 Ramka TCP Port źródłowy Port docelowy Numer sekwencyjny Dane Okno PriorytetSuma kontrolna Numer potwierdzenia WypełnienieOpcje Offset FIN SYN RST PSH ACK URG  z zarezerwowane - 6 bitów zarezerwowanych do wykorzystania w przyszłych implementacjach, muszą być ustawione na zero. Rezerwacja

36 Ramka TCP Port źródłowy Port docelowy Numer sekwencyjny Dane Okno PriorytetSuma kontrolna Numer potwierdzenia WypełnienieOpcje Offset FIN SYN RST PSH ACK URG  U URG - ustawiony na "1" oznacza ważność pola "priorytet". Rezerwacja

37 Ramka TCP Port źródłowy Port docelowy Numer sekwencyjny Dane Okno PriorytetSuma kontrolna Numer potwierdzenia WypełnienieOpcje Offset FIN SYN RST PSH ACK URG  A 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 Rezerwacja

38 Ramka TCP Port źródłowy Port docelowy Numer sekwencyjny Dane Okno PriorytetSuma kontrolna Numer potwierdzenia WypełnienieOpcje Offset FIN SYN RST PSH ACK URG  PSH - ustawiony na "1" oznacza wykorzystanie funkcji "push„ czyli wymuszanie przesyłania przy nie dopełnionym buforze wyjściowym Rezerwacja

39 Ramka TCP Port źródłowy Port docelowy Numer sekwencyjny Dane Okno PriorytetSuma kontrolna Numer potwierdzenia WypełnienieOpcje Offset FIN SYN RST PSH ACK URG  RST - ustawiony na "1" oznacza zakończenie połączenia. Rezerwacja

40 Ramka TCP Port źródłowy Port docelowy Numer sekwencyjny Dane Okno PriorytetSuma kontrolna Numer potwierdzenia WypełnienieOpcje Offset FIN SYN RST PSH ACK URG  SYN - ustawiony na "1" powoduje wykonanie synchronizacji numerów sekwencyjnych Rezerwacja

41 Ramka TCP Port źródłowy Port docelowy Numer sekwencyjny Dane Okno PriorytetSuma kontrolna Numer potwierdzenia WypełnienieOpcje Offset FIN SYN RST PSH ACK URG  FIN - ustawiony na "1" oznacza koniec transmisji Rezerwacja

42 Ramka TCP Port źródłowy Port docelowy Numer sekwencyjny Dane Okno PriorytetSuma kontrolna Numer potwierdzenia WypełnienieOpcje Offset FIN SYN RST PSH ACK URG  Okno - liczba informująca nadawcę ile jest w stanie przyjąć danych w jednym segmencie TCP Rezerwacja

43 Ramka TCP Port źródłowy Port docelowy Numer sekwencyjny Dane Okno PriorytetSuma kontrolna Numer potwierdzenia WypełnienieOpcje Offset FIN SYN RST PSH ACK URG  Suma kontrolna - pozwala wykryć uszkodzenia pakietu. Komputer źródłowy oblicza wartość tego pola na podstawie zawartości segmentu. Komputer docelowy przeprowadza identyczne obliczenie. Rezerwacja

44 Ramka TCP Port źródłowy Port docelowy Numer sekwencyjny Dane Okno PriorytetSuma kontrolna Numer potwierdzenia WypełnienieOpcje Offset FIN SYN RST PSH ACK URG  Priorytet - ma znaczenie tylko, jeśli jest ustawiona flaga URG. Specyfikuje ona pozycję ważnych danych w przesyłanym segmencie. Rezerwacja

45 Ramka TCP Port źródłowy Port docelowy Numer sekwencyjny Dane Okno PriorytetSuma kontrolna Numer potwierdzenia WypełnienieOpcje Offset FIN SYN RST PSH ACK URG  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. Rezerwacja

46 Ramka TCP Port źródłowy Port docelowy Numer sekwencyjny Dane Okno PriorytetSuma kontrolna Numer potwierdzenia WypełnienieOpcje Offset FIN SYN RST PSH ACK URG  W Wypełnienie - wolne bity zapełnia się zerami. Rezerwacja

47 Ramka TCP Port źródłowy Port docelowy Numer sekwencyjny Dane Okno PriorytetSuma kontrolna Numer potwierdzenia WypełnienieOpcje Offset FIN SYN RST PSH ACK URG  D Dane – dane informacyjne przesyłane do odległego hosta. Rezerwacja

48 Realizowane funkcje Protokół TCP musi zapewniać: podstawowy transfer danych (basic transfer) wiarygodność transmisji (reliability) kontrolę przepływu (flow control) multipleksowanie (multiplexing) połączenia (connections)

49 Realizowane funkcje podstawowy transfer danych (basic transfer): << powrót „realizowane funkcje”  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.

50 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) (…)

51 Realizowane funkcje wiarygodność transmisji cd…: << powrót „realizowane funkcje”  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.

52 Realizowane funkcje kontrola przepływu (flow control): << powrót „realizowane funkcje”  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.

53 Klient gg: port 1303 Serwer gg: port 443 podgląd z programu NetLimiter. Realizowane funkcje multipleksowanie (multiplexing): << powrót „realizowane funkcje”  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:

54 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.

55 Realizowane funkcje nawiązywanie połączenia: AB SYN „A” chce się połączyć  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,   w tym segmencie jest zawarta informacja, jaki będzie początkowy numer sekwencji przesyłanych danych, >> format przesyłanej ramkih, >> format przesyłanej ramki

56 Realizowane funkcje Port źródłowyPort docelowy Numer sekwencyjny Numer potwierdzenia Okno Priorytet Wypełnienie Dane OpcjeSuma kontrolna Offset Rezerwacja URG,ACK,PSH,RST,SYN,FIN

57 Realizowane funkcje AB ACK + SYN „B” potwierdza, znany numer sekwencyjny  host B odpowiada hostowi A segmentem z ustawionymi bitem potwierdzenia ACK i synchronizacji SYN,  p potwierdzając odbiór segmentu od A i informując go, od jakiego numeru sekwencyjnego będzie odliczał wysłane przez siebie dane,

58 Realizowane funkcje AB :-) połączony z „B”  host A wysyła do hosta B segment potwierdzający odbiór pakietu od hosta B (ACK), zawierający pierwsze przesyłane dane,  p po takiej wymianie segmentów TCP w systemie wie, że zdalny TCP działa i jest gotów do odbioru danych. A ACK :-) połączony z „A”

59 Realizowane funkcje << powrót „realizowane funkcje” AB  dane mogą zostać przesyłane zaraz po nawiązaniu połączenia,  p po zakończeniu transmisji hosty wymieniają trzy segmenty potwierdzające z ustawionym bitem FIN (koniec danych), co powoduje zerwanie połączenia pomiędzy nimi. A SEGMENT TCP z DANYMI POTWIERDZENIE

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

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

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

63 Realizacja Niezawodnego Połączenia Rys. Przedstawienie utraty pakietu w czasie transmisji z potwierdzeniem ACK 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.

64 Szczegóły TCP

65

66 PPP General Frame Format Field Name Size (bytes) Description Flag1 Flag: Indicates the start of a PPP frame. Always has the value “ ” binary (0x7E hexadecimal, or 126 decimal). Address1 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”). Control1 Control: This field is used in HDLC for various control purposes, but in PPP it is set to “ ” (3 decimal). Protocol2 Protocol: Identifies the protocol of the datagram encapsulated in the Information field of the frame. See below for more information on the Protocol field. Informat ion 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. PaddingVariable Padding: In some cases, additional dummy bytes may be added to pad out the size of the PPP frame. FCS2 (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. Flag1 Flag: Indicates the end of a PPP frame. Always has the value “ ” binary (0x7E hexadecimal, or 126 decimal).

67


Pobierz ppt "Protokół Sterowania Transferem Protokoły komunikacyjne Gdańsk 2005 (Transport )"

Podobne prezentacje


Reklamy Google