Sobes.tech
Junior

Czym jest protokół TCP?

sobes.tech AI

Odpowiedź od AI

TCP (Transmission Control Protocol) jest protokołem warstwy transportowej w stosie protokołów TCP/IP, zapewniającym niezawodną, połączeniową dostawę strumienia bajtów między aplikacjami.

Główne cechy TCP:

  • Niezawodność: Gwarantuje dostarczenie wszystkich segmentów danych w odpowiedniej kolejności, ponownie wysyłając utracone lub uszkodzone segmenty. Używa potwierdzeń (ACK) i timeoutów.
  • Połączeniowość: Przed przesłaniem danych ustanawia się logiczne połączenie między nadawcą a odbiorcą (trójfazowe uzgadnianie). Połączenie jest utrzymywane przez całą sesję.
  • Kontrola przepływu: Reguluje szybkość przesyłania danych, aby nadawca nie przeciążał bufora odbiorcy. Używa okna odbiorczego.
  • Kontrola przeciążenia: Zapobiega przeciążeniu sieci, dynamicznie dostosowując szybkość przesyłania danych w zależności od warunków sieciowych. Używa algorytmów takich jak Slow Start i Congestion Avoidance.
  • Strumieniowa transmisja: TCP traktuje dane jako ciągły strumień bajtów, a nie jako oddzielne pakiety. Gwarantuje, że dane będą dostarczone w tej samej kolejności, w jakiej zostały wysłane.
  • Dwukierunkowa komunikacja: Pozwala na jednoczesne przesyłanie danych w obu kierunkach po ustanowieniu połączenia.

Zastosowania TCP:

  • HTTP/HTTPS (ruch sieciowy)
  • FTP (transfer plików)
  • SMTP (poczta elektroniczna)
  • SSH (zdalne zarządzanie)

Porównanie z UDP:

Cecha TCP UDP
Niezawodność Wysoka (gwarancja dostarczenia) Niska (bez gwarancji)
Połączeniowość Tak (ustanowienie i utrzymanie) Nie (transmisja bez ustanowienia)
Kolejność danych Tak (dostawa w kolejności wysłania) Nie (może dotrzeć w nieuporządkowanej kolejności)
Kontrola przepływu Tak Nie
Kontrola przeciążenia Tak Nie
Prędkość transmisji Niższa (z powodu narzutu) Wyższa
Przykłady HTTP, FTP, SSH, SMTP DNS, DHCP, VoIP, gry online