logo

Protokoły warstwy transportowej

  • Warstwa transportowa jest reprezentowana przez dwa protokoły: TCP i UDP.
  • Protokół IP w warstwie sieciowej dostarcza datagram z hosta źródłowego do hosta docelowego.
  • Obecnie system operacyjny obsługuje środowiska wieloużytkownikowe i wieloprocesorowe, program wykonawczy nazywany jest procesem. Gdy host wysyła wiadomość do innego hosta, oznacza to, że proces źródłowy wysyła proces do procesu docelowego. Protokoły warstwy transportowej definiują niektóre połączenia z indywidualnymi portami, zwane portami protokołów.
  • Protokół IP to protokół host-host używany do dostarczania pakietu z hosta źródłowego do hosta docelowego, podczas gdy protokoły warstwy transportowej to protokoły port-port, które działają na górze protokołów IP w celu dostarczenia pakietu z hosta źródłowego. portu do usług IP i z usług IP do portu docelowego.
  • Każdy port jest zdefiniowany przez dodatni adres w postaci liczby całkowitej i ma 16 bitów.
Protokoły warstwy transportowej

UDP

  • UDP oznacza Protokół datagramów użytkownika .
  • UDP jest prostym protokołem zapewniającym funkcjonalność transportu niesekwencyjnego.
  • UDP jest protokołem bezpołączeniowym.
  • Ten typ protokołu stosuje się, gdy niezawodność i bezpieczeństwo są mniej ważne niż szybkość i rozmiar.
  • UDP to kompleksowy protokół poziomu transportu, który dodaje adresy na poziomie transportu, kontrolę błędów sumy kontrolnej i informacje o długości do danych z wyższej warstwy.
  • Pakiet wytwarzany przez protokół UDP nazywany jest datagramem użytkownika.

Format datagramu użytkownika

Datagram użytkownika ma 16-bajtowy nagłówek, który pokazano poniżej:

Protokoły warstwy transportowej

Gdzie,

    Adres portu źródłowego:Definiuje adres procesu aplikacji, który dostarczył wiadomość. Adres portu źródłowego składa się z 16 bitów.Adres portu docelowego:Określa adres procesu aplikacyjnego, który otrzyma wiadomość. Adres portu docelowego ma adres 16-bitowy.Długość całkowita:Określa całkowitą długość datagramu użytkownika w bajtach. Jest to pole 16-bitowe.Suma kontrolna:Suma kontrolna to 16-bitowe pole używane do wykrywania błędów.

Wady protokołu UDP

  • UDP zapewnia podstawowe funkcje potrzebne do kompleksowego dostarczenia transmisji.
  • Nie zapewnia żadnych funkcji sekwencjonowania ani zmiany kolejności i nie określa uszkodzonego pakietu podczas zgłaszania błędu.
  • UDP może wykryć, że wystąpił błąd, ale nie określa, który pakiet został utracony, ponieważ nie zawiera identyfikatora ani numeru sekwencyjnego konkretnego segmentu danych.

TCP

  • TCP oznacza protokół kontroli transmisji.
  • Zapewnia aplikacjom pełną obsługę warstwy transportowej.
  • Jest to protokół połączeniowy, co oznacza połączenie ustanowione pomiędzy obydwoma końcami transmisji. W celu utworzenia połączenia protokół TCP generuje obwód wirtualny pomiędzy nadawcą a odbiorcą na czas transmisji.

Funkcje protokołu TCP

    Przesyłanie strumieniowe danych:Protokół TCP przesyła dane w postaci ciągłego strumienia bajtów. TCP grupuje bajty w postaci segmentów TCP, a następnie przekazuje je do warstwy IP w celu przesłania do miejsca docelowego. Sam protokół TCP segmentuje dane i przekazuje je do adresu IP.Niezawodność:TCP przypisuje numer sekwencyjny każdemu przesłanemu bajtowi i oczekuje pozytywnego potwierdzenia od odbierającego protokołu TCP. Jeśli potwierdzenie nie zostanie odebrane w określonym przedziale czasu, dane zostaną ponownie przesłane do miejsca docelowego.
    Odbierający TCP używa numeru sekwencyjnego do ponownego złożenia segmentów, jeśli przyjdą niewłaściwie lub do wyeliminowania zduplikowanych segmentów.Kontrola przepływu:Podczas odbierania protokół TCP wysyła potwierdzenie z powrotem do nadawcy, wskazując liczbę bajtów, jakie może odebrać bez przepełnienia wewnętrznego bufora. Liczba bajtów jest wysyłana w potwierdzeniu ACK w postaci najwyższego numeru sekwencyjnego, jaki może otrzymać bez problemu. Mechanizm ten nazywany jest także mechanizmem okiennym.Multipleksowanie:Multipleksowanie to proces akceptowania danych z różnych aplikacji i przekazywania ich do różnych aplikacji na różnych komputerach. Po stronie odbiorczej dane przekazywane są do właściwej aplikacji. Proces ten nazywany jest demultipleksacją. TCP przesyła pakiet do właściwej aplikacji, korzystając z kanałów logicznych zwanych portami.Połączenia logiczne:Kombinacja gniazd, numerów sekwencyjnych i rozmiarów okien nazywana jest połączeniem logicznym. Każde połączenie jest identyfikowane przez parę gniazd używanych przez procesy wysyłające i odbierające.Pełny dupleks:TCP zapewnia usługę Full Duplex, czyli przepływ danych w obu kierunkach jednocześnie. Aby osiągnąć usługę Full Duplex, każdy TCP powinien mieć bufory wysyłania i odbierania, aby segmenty mogły przepływać w obu kierunkach. TCP jest protokołem zorientowanym na połączenie. Załóżmy, że proces A chce wysłać i odebrać dane z procesu B. Następują następujące kroki:
    • Nawiąż połączenie pomiędzy dwoma TCP.
    • Wymiana danych odbywa się w obu kierunkach.
    • Połączenie zostało zakończone.

Format segmentu TCP

Protokoły warstwy transportowej

Gdzie,

    Adres portu źródłowego:Służy do definiowania adresu aplikacji na komputerze źródłowym. Jest to pole 16-bitowe.Adres portu docelowego:Służy do definiowania adresu aplikacji na komputerze docelowym. Jest to pole 16-bitowe.Numer sekwencji:Strumień danych jest podzielony na dwa lub więcej segmentów TCP. 32-bitowe pole numeru kolejnego reprezentuje pozycję danych w oryginalnym strumieniu danych.Numer potwierdzenia:32-polowy numer potwierdzenia potwierdza dane z innych komunikujących się urządzeń. Jeśli pole ACK ma wartość 1, wówczas określa numer sekwencyjny, jaki oczekuje odbiorca.Długość nagłówka (HLEN):Określa rozmiar nagłówka TCP w słowach 32-bitowych. Minimalny rozmiar nagłówka to 5 słów, a maksymalny rozmiar nagłówka to 15 słów. Dlatego maksymalny rozmiar nagłówka TCP wynosi 60 bajtów, a minimalny rozmiar nagłówka TCP to 20 bajtów.Skryty:Jest to pole sześciobitowe, które jest zarezerwowane do wykorzystania w przyszłości.Bity kontrolne:Każdy bit pola sterującego działa indywidualnie i niezależnie. Bit kontrolny definiuje użycie segmentu lub służy jako kontrola ważności innych pól.

W polu kontrolnym dostępnych jest sześć typów flag:

    URG:Pole URG wskazuje, że dane w segmencie są pilne.POTWIERDZENIE:Gdy pole ACK jest ustawione, sprawdza numer potwierdzenia.PSH:Pole PSH służy do informowania nadawcy, że wymagana jest większa przepustowość, więc jeśli to możliwe, dane muszą być przesyłane z większą przepustowością.RST:Bit resetowania służy do resetowania połączenia TCP, gdy wystąpią jakiekolwiek pomyłki w numerach sekwencji.SYN:Pole SYN służy do synchronizacji numerów sekwencyjnych w trzech typach segmentów: żądanie połączenia, potwierdzenie połączenia (z ustawionym bitem ACK) i potwierdzenie potwierdzenia.KONIEC:Pole FIN służy do informowania odbierającego modułu TCP, że nadawca zakończył wysyłanie danych. Stosowany jest przy zakończeniu połączenia w trzech rodzajach segmentów: żądanie zakończenia, potwierdzenie zakończenia i potwierdzenie potwierdzenia zakończenia.
      Rozmiar okna:Okno to 16-bitowe pole określające rozmiar okna.Suma kontrolna:Suma kontrolna to 16-bitowe pole używane do wykrywania błędów.Pilna wskazówka:Jeśli flaga URG jest ustawiona na 1, to to 16-bitowe pole stanowi przesunięcie w stosunku do numeru kolejnego, wskazując, że jest to ostatni pilny bajt danych.Opcje i dopełnienie:Definiuje opcjonalne pola, które przekazują dodatkowe informacje do odbiorcy.

Różnice pomiędzy TCP i UDP

Podstawa porównania TCP UDP
Definicja TCP ustanawia obwód wirtualny przed przesłaniem danych. UDP przesyła dane bezpośrednio do komputera docelowego bez sprawdzania, czy odbiornik jest gotowy do odbioru, czy nie.
Rodzaj połączenia Jest to protokół zorientowany na połączenie Jest to protokół bezpołączeniowy
Prędkość powolny wysoki
Niezawodność Jest to niezawodny protokół. Jest to protokół niewiarygodny.
Rozmiar nagłówka 20 bajtów 8 bajtów
potwierdzenie Oczekuje na potwierdzenie danych i ma możliwość ponownego wysłania utraconych pakietów. Nie przyjmuje potwierdzenia ani nie retransmituje uszkodzonej ramki.