Systemy operacyjne i sieci komputerowe

20
Systemy operacyjne i sieci komputerowe Protokoły warstwy transportowej

description

Systemy operacyjne i sieci komputerowe. Protokoły warstwy transportowej. Protokoły warstwy transportowej. W warstwie transportowej w stosie protokołów TCP/IP może działać protokół połączeniowy TCP, niezawodny lub protokół bezpołączeniowy UDP, zawodny. Protokół TCP. - PowerPoint PPT Presentation

Transcript of Systemy operacyjne i sieci komputerowe

Page 1: Systemy operacyjne i sieci komputerowe

Systemy operacyjne i sieci komputerowe

Protokoły warstwy transportowej

Page 2: Systemy operacyjne i sieci komputerowe

Protokoły warstwy transportowej

W warstwie transportowej w stosie protokołów TCP/IP może działać protokół połączeniowy TCP, niezawodny lub protokół bezpołączeniowy UDP, zawodny.

Page 3: Systemy operacyjne i sieci komputerowe

Protokół TCP • Protokół TCP (Transmission Control Protocol) działa w

warstwie transportowej w trybie połączeniowym. • Korzystanie z trybu połączeniowego umożliwia

zagwarantowanie dostarczenia danych do odbiorcy. • Połączenia TCP są połączeniami wirtualnymi,

rozpoznawanymi po adresach i portach urządzeń docelowych i źródłowych.

• Połączenia takie charakteryzują się możliwościami sterowania przepływem, potwierdzaniem odbioru, zachowywaniem kolejności danych, kontrolą błędów i przeprowadzaniem retransmisji.

• Segmenty TCP składają się z nagłówka i danych.

Page 4: Systemy operacyjne i sieci komputerowe

Budowa nagłówka protokołu TCP

Page 5: Systemy operacyjne i sieci komputerowe

Budowa nagłówka protokołu TCPZawiera on następujące pola:• Numer portu źródłowego i numer portu docelowego – podają

numery portów procesów aplikacyjnych korzystających z usług TCP. Kombinacja tych numerów z adresami sieciowymi określają parę gniazd tworzących połączenie protokołu TCP.

• Numer sekwencyjny SN (ang. Sequensc Number) - zawiera numer sekwencyjny pierwszego bajtu danych w segmencie. Ta wartość określa pozycję segmentu w strumieniu bajtów.

• Numer potwierdzenia ACK (ang. Acknowledgement Number) – zawiera numer sekwencyjny następnego oczekiwanego bajtu po stronie odbiorczej. Jednocześnie jest to potwierdzenie poprawnego odbioru bajtów o numerach sekwencyjnych mniejszych od zawartego w tym polu. Potwierdzenia mówią nadawcy ile bajtów danych zostało już poprawnie odebranych.

Page 6: Systemy operacyjne i sieci komputerowe

Budowa nagłówka protokołu TCP

• Długość nagrania (nagłówka) – zawiera liczbę całkowitą, która określa długość nagłówka segmentu mierzoną w wielokrotnościach 32 bitów.

• Rezerwa – pole to jest pozostawione do wykorzystania w przyszłości.

Page 7: Systemy operacyjne i sieci komputerowe

Budowa nagłówka protokołu TCP• Znaczniki – składają się z sześciu bitów sterujących, które

ustawione na 2 mają następujące znaczenie:₋ UGR – wskazuje na ważność pola wskaźnik pilności,₋ ACK – wskazuje na ważność pola numer potwierdzania,₋ PSH – wskazuje na działanie funkcji wymuszającej wysyłanie

segmentu,₋ RST – wyzerowanie połączenia,₋ SYN – wskazuje, że w polu numer sekwencyjny umieszczony

jest inicjujący numer sekwencyjny INS. Jest on przeznaczony do synchronizacji numerów sekwencyjnych w fazie ustanowienia połączenia.

₋ FIN – wskazuje, że nadawca nie ma nic więcej do nadania – sygnał końca danych.

Page 8: Systemy operacyjne i sieci komputerowe

Budowa nagłówka protokołu TCP

• Okno (ang. Window) – umożliwia przystosowanie transmisji do warunków sieci: większy natłok – mniejsza szybkość transmisji. W to pole urządzenie odbiorcze wpisuje liczbę bajtów danych, które są w stanie przyjąć jego bufory. Jeśli wpisze zero – nadawca musi przerwać nadawanie. Wznowienie transmisji nastąpi wtedy, gdy odbiorca wpisze liczbę większą od zera.

• Suma kontrolna TCP – zawiera 16-bitową liczbę całkowitą służącą do sprawdzenia, czy dane i nagłówek TCP nie zostały naruszone.

Page 9: Systemy operacyjne i sieci komputerowe

Budowa nagłówka protokołu TCP

• Wskaźnik pilności – zaznacza czy przy transmisji danych w segmencie są one pilne.

• Opcje – ma długość zmienną będącą wielokrotnością 8 bitów. Zawiera ono numery opcji – każdy numer zapisany w jednym bajcie. Dla protokołu TCP zdefiniowano trzy opcje:₋ 0 - koniec listy opcji,₋ 1 - brak działania,₋ 2 - maksymalna długo segmentu.

Page 10: Systemy operacyjne i sieci komputerowe

Przebieg transmisji• Ponieważ na komputerze posiadającym jeden adres IP

może jednocześnie działać wiele aplikacji, to do ich identyfikacji wykorzystuje się porty.

• Porty reprezentowane są przez liczby naturalne z zakresu od 0 do 65535. Numery portów od 0 do 1023 są ogólnie znane (well-known port numbers) i zarezerwowane dla usług, np. WWW korzysta z portu 80, a telnet z portu 23.

• Dzięki portom możemy określić, dla jakiej aplikacji jest przeznaczony segment danych (port docelowy) lub z którego portu wysłano dane (port źródłowy).

Page 11: Systemy operacyjne i sieci komputerowe

Przebieg transmisji cd.

• Komunikacja między aplikacjami może się odbywać za pomocą gniazd (socket). Gniazdo to kombinacja adresu IP i numeru portu.

• Gniazdo jednoznacznie określa proces w sieci lub zakończenie logicznego łącza komunikacyjnego między dwiema aplikacjami.

• Jeśli aplikacje uruchomione są na dwóch różnych komputerach, to para odpowiadających im gniazd definiuje połączenie.

• Gniazdo możemy traktować jako kanał komunikacyjny – jeden program wpisuje do niego dane, a drugi je odbiera.

• Serwer otwiera gniazdo i oczekuje na połączenie. Klient łączący się z otwartym gniazdem musi znać sieciowy adres komputera oraz numer portu.

Page 12: Systemy operacyjne i sieci komputerowe

Przebieg transmisji cd.• Każdy przesyłany segment danych jest oznaczany kolejnym

numerem sekwencyjnym. • Przed rozpoczęciem transmisji nadawca i odbiorca wymieniają

między sobą numery sekwencyjne. • Odbiorca wiadomości na podstawie numeru sekwencyjnego ustala

kolejność segmentów oraz sprawdza, czy wszystkie segmenty dotarły do miejsca przeznaczenia.

• Potwierdzenie odebrania segmentu polega na wysłaniu przez odbiorcę numeru kolejnego segmentu, który powinien być przesłany.

• Na przykład jeżeli ostatni poprawnie odebrany segment miał numer 123, to odbiorca wyśle numer potwierdzenia 124 (numer następnego segmentu, który ma być przesłany).

Page 13: Systemy operacyjne i sieci komputerowe

Przebieg transmisji cd.

• Potwierdzenie jest wysyłane po odebraniu pewnej liczby danych określonych w polu szerokość okna.

• Jeżeli w sieci występuje dużo błędów, to wielkość okna jest zmniejszana, aby częściej otrzymywać potwierdzenia i przez to zmniejszyć liczbę segmentów danych wymagających retransmisji.

• Jeżeli liczba błędów się zmniejsza, to rozmiar okna jest powiększany, aby zapewnić większą przepustowość sieci.

Page 14: Systemy operacyjne i sieci komputerowe

Aplikacje wykorzystujące TCP

• WWW, • FTP, • poczta elektroniczna, • telnet.

Page 15: Systemy operacyjne i sieci komputerowe

Protokół UDP

• Protokół UDP (User Datagram Protocol) działa w warstwie transportowej w trybie bezpołączeniowym.

• Protokół ten nie gwarantuje dostarczenia danych do odbiorcy. Jeżeli pakiet nie dotrze do odbiorcy lub dotrze uszkodzony, UDP nie podejmie żadnych działań zmierzających do retransmisji danych, a zapewnienie niezawodności pozostawi warstwie wyższej.

• Nagłówek protokołu UDP jest prostszy niż TCP. Protokół jest wykorzystywany do szybkiego przesyłania danych w niezawodnych sieciach.

Page 16: Systemy operacyjne i sieci komputerowe

Budowa nagłówka protokołu UDP

Page 17: Systemy operacyjne i sieci komputerowe

Pola nagłówka protokołu UDP

• Port źródłowy - identyfikuje port, z którego została wysłana wiadomość, kiedy jest znaczący to wskazuje port wysyłającego procesu i może zostać przyjęty jako port, do którego powinna zostać zwrócona wiadomo zwrotna w przypadku braku innej informacji. Port nadawcy jest polem opcjonalnym. Gdy pole to nie jest używane przyjmuje wartość zero.

• Port docelowy - identyfikuje port odbiorcy i jest polem wymaganym.

Page 18: Systemy operacyjne i sieci komputerowe

Pola nagłówka protokołu UDP

• Długość 16-bitowe – pola specyfikuj długo w bajtach całego datagramu: nagłówek i dane. Minimalna długość to 8 bajtów i jest to długość nagłówka. Wielkość pola ustala teoretyczny limit 65 527 bajtów, dla danych przenoszonych przez pojedynczy datagram UDP.

• Suma kontrolna 16 bitowe – pole, które jest użyte do sprawdzania poprawności nagłówka oraz danych. Pole jest opcjonalne. Ponieważ IP nie wylicza sumy kontrolnej dla danych, sum kontrolna UDP jest jedyną gwarancją, że dane nie zostały uszkodzone.

Page 19: Systemy operacyjne i sieci komputerowe

Aplikacje wykorzystujące UDP

• wideokonferencje• przesyłanie strumieniowe dźwięku• gry sieciowe• komunikatory sieciowe• rozwiązywanie nazw symbolicznych (DNS)• transfer plików (TFTP)• NFS• VolP• RPC

Page 20: Systemy operacyjne i sieci komputerowe

Dzięki temu, że istnieją dwa alternatywne względem siebie protokoły w warstwie transportowej, TCP i UDP, jest możliwy dobór przez aplikacje odpowiedniego dla siebie rozwiązania.