Protokol riadenia prenosu, známy ako TCP (Transmission Control Protocol), je základným stavebným kameňom moderného internetu. Je súčasťou väčšieho balíka internetových protokolov a spolu s Internetovým protokolom (IP) tvorí populárnu dvojicu často označovanú ako "TCP/IP". Kým IP sa stará o smerovanie paketov medzi zariadeniami, TCP sa stará o to, aby prijímateľ dostal dáta v správnom poradí, bez strát a bez duplicitných blokov. Tento mechanizmus je kľúčový pre aplikácie, ktoré potrebujú spoľahlivosť, ako sú webové prehliadače, poštové programy alebo prenosy súborov.

Hlavné vlastnosti a mechanizmy

TCP je spojovo orientovaný protokol, čo znamená, že pred výmenou dát sa medzi dvoma koncovými bodmi nadviaže logické spojenie pomocou trojstupňového handshaku (SYN, SYN-ACK, ACK). Dáta sa prenášajú vo forme segmentov, ktoré obsahujú poradové čísla a potvrdenia (ACK). Medzi kľúčové mechanizmy patria:

  • Poradie a spoľahlivosť: segmenty sú číslované, prijímateľ potvrdzuje prijaté údaje a vysielateľ obnovuje stratené segmenty podľa potvrdení.
  • Riadenie toku: využíva sa posuvné okno (window), ktoré určuje, koľko dát môže byť odoslaných bez potvrdenia, aby sa nelimitoval prijímací buffer.
  • Riadenie preťaženia: TCP obsahuje algoritmy ako slow start, congestion avoidance, fast retransmit a fast recovery, ktoré upravujú rýchlosť odosielania podľa stavu siete.
  • Oddelenie od aplikácií: aplikácie používajú TCP cez porty, takže jedno zariadenie môže súčasne obsluhovať viacero spojení.

Krátka história a vývoj

Koncepty, ktoré stoja za TCP, vznikli v 70. rokoch 20. storočia v rámci projektu ARPANET. Pôvodný návrh prepojenia spoľahlivého prenosu a smerovania sa neskôr rozdelil na dve vrstvy, čo viedlo k súčasnému modelu TCP nad IP. Špecifikácia TCP bola formalizovaná v rôznych dokumentoch RFC, pričom jedným z kľúčových je RFC 793, ktorý poskytuje základné pravidlá protokolu. Odvtedy prešiel TCP viacerými vylepšeniami vrátane moderných implementácií riadenia preťaženia a zabezpečenia.

Použitie a príklady

TCP sa používa všade tam, kde je potrebná spoľahlivosť a správne poradie bajtov. Typické príklady zahŕňajú prenos webových stránok (HTTP/HTTPS), prenos e-mailov (SMTP, IMAP, POP3), bezdrôtné pripojenia pre vzdialené príkazy (SSH), a prenos súborov (FTP). Aplikácie ako webový prehliadač alebo e-mailový klient bežne využívajú TCP na zabezpečenie konzistentného správania bez ohľadu na podkladovú sieť. TCP poskytuje abstrakciu spoľahlivej dátovej linky aplikáciám, ktoré sa tak nemusia zaoberať stratami paketov alebo ich opätovným zoradením.

Rozdiely a dôležité poznámky

TCP sa často porovnáva s protokolom UDP (User Datagram Protocol). Hlavné rozdiely sú, že TCP je spojovo orientovaný a zabezpečuje spoľahlivosť, zatiaľ čo UDP je bezspojový a neposkytuje zabezpečenie doručenia ani poradia — vhodný pre aplikácie, kde je dôležitá nízka latencia (napr. streamovanie alebo hry). Pri navrhovaní sietí a aplikácií je dôležité zvoliť protokol podľa požiadaviek na spoľahlivosť, latenciu a režijné náklady.

Protokoly ako všeobecný pojem sú základom komunikácie medzi počítačmi; pre všeobecný prehľad o súvisiacich štandardoch sa dajú nájsť referencie k protokolom a ich implementáciám. TCP je pritom jednou z najpoužívanejších techník pre riadenie prenosu údajov a zostáva predmetom aktívneho vývoja a optimalizácií, aby vyhovel rastúcim nárokom moderných sietí a aplikácií, či už vďaka aktualizáciám jadra operačných systémov, novým algoritmom riadenia preťaženia alebo zvýšenej bezpečnosti spočívajúcej v kombinácii s ďalšími štandardmi.

Pre ďalšie technické zdroje a protokoly vrátane informácií o smerovaní a adresovaní je užitočné pozrieť aj všeobecné materiály o internete, ktoré vysvetľujú princípy fungovania internetu a jednotlivých súčastí ekosystému.