logo

Čo je Transmission Control Protocol (TCP)?

TCP znamená Protokol riadenia prenosu . Ide o protokol transportnej vrstvy, ktorý uľahčuje prenos paketov zo zdroja do cieľa. Ide o protokol orientovaný na spojenie, čo znamená, že vytvára spojenie pred komunikáciou, ku ktorej dochádza medzi výpočtovými zariadeniami v sieti. Tento protokol sa používa s protokolom IP, takže spolu sa označujú ako TCP/IP.

Hlavnou funkcionalitou TCP je prevzatie údajov z aplikačnej vrstvy. Potom rozdelí dáta do niekoľkých paketov, očísluje tieto pakety a nakoniec tieto pakety odošle do cieľa. TCP na druhej strane znova zostaví pakety a odošle ich do aplikačnej vrstvy. Keďže vieme, že TCP je protokol orientovaný na spojenie, spojenie zostane nadviazané, kým sa nedokončí komunikácia medzi odosielateľom a príjemcom.

funkcie java8

Vlastnosti protokolu TCP

Nasledujú vlastnosti protokolu TCP:

    Protokol transportnej vrstvy

TCP je protokol transportnej vrstvy, pretože sa používa na prenos údajov od odosielateľa k príjemcovi.

    Spoľahlivý

TCP je spoľahlivý protokol, pretože sleduje mechanizmus kontroly toku a chýb. Podporuje tiež potvrdzovací mechanizmus, ktorý kontroluje stav a zvukový príchod dát. V potvrdzovacom mechanizme príjemca posiela buď pozitívne alebo negatívne potvrdenie odosielateľovi, aby sa odosielateľ mohol dozvedieť, či bol dátový paket prijatý alebo či je potrebné ho znova odoslať.

    Poradie údajov je zachované

Tento protokol zaisťuje, že údaje sa dostanú k určenému prijímaču v rovnakom poradí, v akom sa odosielajú. Usporiada a očísluje každý segment, aby ich vrstva TCP na cieľovej strane mohla znovu zostaviť na základe ich poradia.

    Orientovaný na spojenie

Ide o službu orientovanú na spojenie, čo znamená, že k výmene dát dochádza až po nadviazaní spojenia. Po dokončení prenosu údajov sa spojenie ukončí.

    Plný duplex

Ide o full-duplex znamená, že dáta sa môžu prenášať oboma smermi súčasne.

    Orientovaný na prúd

TCP je protokol orientovaný na prúd, pretože umožňuje odosielateľovi odosielať údaje vo forme prúdu bajtov a tiež umožňuje prijímaču prijímať údaje vo forme prúdu bajtov. TCP vytvára prostredie, v ktorom sú odosielateľ aj prijímač prepojené imaginárnou trubicou známou ako virtuálny okruh. Tento virtuálny okruh prenáša prúd bajtov cez internet.

Need for Transport Control Protocol

Vo vrstvenej architektúre sieťového modelu je celá úloha rozdelená na menšie úlohy. Každá úloha je priradená určitej vrstve, ktorá úlohu spracováva. V TCP/IP model , päť vrstiev je aplikačná vrstva , transportná vrstva , sieťová vrstva , vrstva dátového spojenia a fyzická vrstva. Transportná vrstva má rozhodujúcu úlohu pri poskytovaní end-to-end komunikácie priamo aplikačným procesom. Vytvára 65 000 portov, takže je možné pristupovať k viacerým aplikáciám súčasne. Preberá dáta z hornej vrstvy, rozdeľuje dáta do menších paketov a potom ich prenáša do sieťovej vrstvy.

TCP

Fungovanie TCP

V TCP sa spojenie vytvorí pomocou trojstranného handshakingu. Klient odošle segment s jeho poradovým číslom. Server na oplátku odošle svoj segment s vlastným poradovým číslom, ako aj s potvrdzovacou sekvenciou, ktorá je o jedno viac ako poradové číslo klienta. Keď klient dostane potvrdenie o svojom segmente, odošle potvrdenie na server. Týmto spôsobom sa vytvorí spojenie medzi klientom a serverom.

homogénna zmes
TCP

Výhody TCP

  • Poskytuje spoľahlivú službu orientovanú na spojenie, čo znamená, že zaručuje doručovanie dátových paketov. Ak sa dátový paket stratí v sieti, TCP znova odošle stratené pakety.
  • Poskytuje mechanizmus riadenia toku pomocou protokolu posuvného okna.
  • Poskytuje detekciu chýb pomocou kontrolného súčtu a kontrolu chýb pomocou protokolu Go Back alebo ARP.
  • Eliminuje preťaženie pomocou algoritmu na zamedzenie preťaženia siete, ktorý zahŕňa rôzne schémy, ako napríklad aditívne zvýšenie/multiplikatívne zníženie (AIMD), pomalý štart a okno preťaženia.

Nevýhoda TCP

Zvyšuje veľké množstvo réžie, pretože každý segment dostane svoju vlastnú hlavičku TCP, takže fragmentácia smerovačom zvyšuje réžiu.

Formát hlavičky TCP

TCP
    Zdrojový port:Definuje port aplikácie, ktorá odosiela dáta. Toto pole teda obsahuje adresu zdrojového portu, ktorá je 16 bitov.Cieľový prístav:Definuje port aplikácie na prijímacej strane. Toto pole teda obsahuje adresu cieľového portu, ktorá je 16 bitov.Poradové číslo:Toto pole obsahuje poradové číslo dátových bajtov v konkrétnej relácii.Číslo potvrdenia:Keď je nastavený príznak ACK, potom toto obsahuje ďalšie poradové číslo dátového bajtu a funguje ako potvrdenie pre predchádzajúce prijaté dáta. Napríklad, ak prijímač prijme číslo segmentu „x“, potom odpovie „x+1“ ako číslo potvrdenia.HLEN:Špecifikuje dĺžku hlavičky označenú 4-bajtovými slovami v hlavičke. Veľkosť hlavičky je od 20 do 60 bajtov. Preto by hodnota tohto poľa bola medzi 5 a 15.Rezervované:Je to 4-bitové pole vyhradené pre budúce použitie a štandardne sú všetky nastavené na nulu.Vlajky
    Existuje šesť riadiacich bitov alebo príznakov:
      URG:Predstavuje naliehavý ukazovateľ. Ak je nastavený, údaje sa spracujú urgentne.ACK:Ak je ACK nastavené na 0, znamená to, že dátový paket neobsahuje potvrdenie.PSH:Ak je toto pole nastavené, požiada prijímajúce zariadenie, aby poslalo údaje do prijímajúcej aplikácie bez ich ukladania do vyrovnávacej pamäte.RST:Ak je nastavený, požaduje reštartovanie pripojenia.SYN:Používa sa na vytvorenie spojenia medzi hostiteľmi.KONIEC:Používa sa na uvoľnenie spojenia a nedôjde k ďalšej výmene údajov.
    Veľkosť okna
    Ide o 16-bitové pole. Obsahuje veľkosť údajov, ktoré môže prijímač prijať. Toto pole sa používa na riadenie toku medzi odosielateľom a prijímačom a tiež určuje množstvo vyrovnávacej pamäte pridelenej prijímačom pre segment. Hodnotu tohto poľa určuje prijímač.Kontrolný súčet
    Ide o 16-bitové pole. Toto pole je v UDP voliteľné, ale v prípade TCP/IP je toto pole povinné.Naliehavý ukazovateľ
    Je to ukazovateľ, ktorý ukazuje na bajt urgentných údajov, ak je príznak URG nastavený na 1. Definuje hodnotu, ktorá sa pripočíta k poradovému číslu, aby sa získalo poradové číslo posledného urgentného bajtu.možnosti
    Poskytuje ďalšie možnosti. Voliteľné pole je zobrazené v 32-bitoch. Ak toto pole obsahuje údaje menšie ako 32 bitov, na získanie zostávajúcich bitov je potrebné vyplnenie.