logo

Co to jest protokół kontroli transmisji (TCP)?

TCP oznacza Protokół kontroli transmisji . Jest to protokół warstwy transportowej, który ułatwia transmisję pakietów od źródła do miejsca docelowego. Jest to protokół zorientowany połączeniowo, co oznacza, że ​​ustanawia połączenie przed rozpoczęciem komunikacji między urządzeniami komputerowymi w sieci. Protokół ten jest używany z protokołem IP, dlatego łącznie określa się je mianem TCP/IP.

Główną funkcjonalnością protokołu TCP jest pobieranie danych z warstwy aplikacji. Następnie dzieli dane na kilka pakietów, nadaje im numerację i na koniec przesyła je do miejsca docelowego. Z drugiej strony protokół TCP ponownie złoży pakiety i prześle je do warstwy aplikacji. Ponieważ wiemy, że TCP jest protokołem zorientowanym na połączenie, połączenie pozostanie nawiązane do czasu zakończenia komunikacji pomiędzy nadawcą a odbiorcą.

co to jest kasa svn

Cechy protokołu TCP

Poniżej przedstawiono cechy protokołu TCP:

    Protokół warstwy transportowej

TCP jest protokołem warstwy transportowej, używanym do przesyłania danych od nadawcy do odbiorcy.

    Niezawodny

TCP jest niezawodnym protokołem, ponieważ opiera się na mechanizmie kontroli przepływu i błędów. Obsługuje także mechanizm potwierdzania, który sprawdza stan i dźwięk dotarcia danych. W mechanizmie potwierdzenia odbiorca wysyła do nadawcy potwierdzenie pozytywne lub negatywne, dzięki czemu nadawca może dowiedzieć się, czy pakiet danych został odebrany, czy też wymaga ponownego wysłania.

    Porządek danych jest zachowany

Protokół ten gwarantuje, że dane dotrą do zamierzonego odbiorcy w tej samej kolejności, w jakiej zostały wysłane. Porządkuje i numeruje każdy segment, dzięki czemu warstwa TCP po stronie docelowej może je ponownie złożyć w oparciu o ich kolejność.

    Zorientowane połączenie

Jest to usługa połączeniowa, co oznacza, że ​​wymiana danych następuje dopiero po nawiązaniu połączenia. Po zakończeniu przesyłania danych połączenie zostanie zakończone.

    Pełny dupleks

Jest to tryb full-duplex, co oznacza, że ​​dane mogą być przesyłane w obu kierunkach jednocześnie.

    Zorientowany na strumień

TCP jest protokołem zorientowanym strumieniowo, ponieważ umożliwia nadawcy wysyłanie danych w postaci strumienia bajtów, a także umożliwia odbiorcy akceptowanie danych w postaci strumienia bajtów. TCP tworzy środowisko, w którym zarówno nadawca, jak i odbiorca są połączeni wyimaginowaną rurą zwaną obwodem wirtualnym. Ten obwód wirtualny przenosi strumień bajtów przez Internet.

Znak ciągu Java

Potrzeba protokołu kontroli transportu

W warstwowej architekturze modelu sieci całe zadanie jest podzielone na mniejsze zadania. Każde zadanie jest przypisane do konkretnej warstwy, która je przetwarza. w Model TCP/IP pięć warstw to warstwa aplikacji, warstwa transportowa, Warstwa sieci , warstwę łącza danych i warstwę fizyczną. Warstwa transportowa odgrywa kluczową rolę w zapewnianiu kompleksowej komunikacji z procesami bezpośrednio aplikacji. Tworzy 65 000 portów, dzięki czemu można uzyskać dostęp do wielu aplikacji w tym samym czasie. Pobiera dane z warstwy wyższej, dzieli je na mniejsze pakiety, a następnie przesyła je do warstwy sieciowej.

TCP

Działanie TCP

W protokole TCP połączenie jest nawiązywane przy użyciu trójstronnego uzgadniania. Klient wysyła segment z numerem sekwencyjnym. Serwer w zamian wysyła swój segment z własnym numerem sekwencyjnym oraz sekwencją potwierdzenia, która jest o jeden większa od numeru sekwencyjnego klienta. Gdy klient otrzyma potwierdzenie swojego segmentu, wysyła potwierdzenie do serwera. W ten sposób nawiązywane jest połączenie pomiędzy klientem a serwerem.

TCP

Zalety protokołu TCP

  • Zapewnia niezawodną usługę połączeniową, co oznacza, że ​​gwarantuje dostawę pakietów danych. Jeśli pakiet danych zostanie utracony w sieci, protokół TCP ponownie wyśle ​​utracone pakiety.
  • Zapewnia mechanizm kontroli przepływu wykorzystujący protokół przesuwanego okna.
  • Zapewnia wykrywanie błędów za pomocą sumy kontrolnej i kontrolę błędów za pomocą protokołu Go Back lub ARP.
  • Eliminuje zatory, korzystając z algorytmu unikania zatorów w sieci, który obejmuje różne schematy, takie jak addytywne zwiększanie/multiplikatywne zmniejszanie (AIMD), powolny start i okno zatorów.

Wada protokołu TCP

Zwiększa to znacznie obciążenie, ponieważ każdy segment otrzymuje swój własny nagłówek TCP, więc fragmentacja przez router zwiększa obciążenie.

Format nagłówka TCP

TCP
    Port źródłowy:Definiuje port aplikacji, która wysyła dane. Zatem to pole zawiera adres portu źródłowego, który ma długość 16 bitów.Port docelowy:Definiuje port aplikacji po stronie odbierającej. Zatem to pole zawiera adres portu docelowego, który ma długość 16 bitów.Numer sekwencji:To pole zawiera numer kolejny bajtów danych w danej sesji.Numer potwierdzenia:Gdy ustawiona jest flaga ACK, zawiera ona kolejny numer kolejny bajtu danych i działa jako potwierdzenie otrzymania wcześniej otrzymanych danych. Na przykład, jeśli odbiorca odbierze numer segmentu „x”, wówczas odpowie „x+1” jako numer potwierdzenia.HLEN:Określa długość nagłówka wskazywaną przez 4-bajtowe słowa w nagłówku. Rozmiar nagłówka mieści się w przedziale od 20 do 60 bajtów. Dlatego wartość tego pola będzie wynosić od 5 do 15.Skryty:Jest to 4-bitowe pole zarezerwowane do wykorzystania w przyszłości i domyślnie wszystkie są ustawione na zero.Flagi
    Istnieje sześć bitów kontrolnych lub flag:
      URG:Stanowi pilną wskazówkę. Jeśli jest ustawiony, dane są przetwarzane w trybie pilnym.POTWIERDZENIE:Jeśli ACK jest ustawione na 0, oznacza to, że pakiet danych nie zawiera potwierdzenia.PSH:Jeśli to pole jest ustawione, żąda od urządzenia odbierającego przesłania danych do aplikacji odbierającej bez ich buforowania.RST:Jeśli jest ustawiony, żąda ponownego uruchomienia połączenia.SYN:Służy do nawiązania połączenia pomiędzy hostami.KONIEC:Służy do zwolnienia połączenia i nie następuje dalsza wymiana danych.
    Rozmiar okna
    Jest to pole 16-bitowe. Zawiera rozmiar danych, jaki może przyjąć odbiorca. Pole to służy do kontroli przepływu pomiędzy nadawcą i odbiorcą, a także określa ilość bufora przydzielonego przez odbiorcę dla segmentu. Wartość tego pola ustalana jest przez odbiorcę.Suma kontrolna
    Jest to pole 16-bitowe. To pole jest opcjonalne w UDP, ale w przypadku protokołu TCP/IP jest obowiązkowe.Pilna wskazówka
    Jest to wskaźnik wskazujący na pilny bajt danych, jeśli flaga URG jest ustawiona na 1. Definiuje wartość, która zostanie dodana do numeru kolejnego, aby uzyskać numer kolejny ostatniego pilnego bajtu.Opcje
    Zapewnia dodatkowe opcje. Pole opcjonalne jest reprezentowane w postaci 32-bitowej. Jeśli to pole zawiera dane mniejsze niż 32-bitowe, wymagane jest uzupełnienie w celu uzyskania pozostałych bitów.