Sobes.tech
Junior

Kas yra TCP protokolas?

sobes.tech AI

Atsakymas iš AI

TCP (Transmission Control Protocol) yra perdavimo sluoksnio protokolas TCP/IP protokolų sekoje, užtikrinantis patikimą, ryšiu pagrįstą duomenų srautą tarp programų.

Pagrindinės TCP savybės:

  • Patikimumas: Garantuoja visų duomenų segmentų pristatymą teisinga tvarka, pakartotinai siunčiant prarastus ar sugadintus segmentus. Naudoja patvirtinimus (ACK) ir laikmačius.
  • Ryšio pagrįstumas: Prieš duomenų perdavimą nustatomas loginis ryšys tarp siuntėjo ir gavėjo (trijų etapų rankos paspaudimas). Ryšys palaikomas visos sesijos metu.
  • Srauto valdymas: Reguliuoja duomenų perdavimo greitį, kad siuntėjas neperkrautų gavėjo buferio. Naudoja priėmimo langą.
  • Tinklo apkrovos valdymas: Užkerta kelią tinklo perkrovai, dinamiškai reguliuodamas perdavimo greitį priklausomai nuo tinklo sąlygų. Naudoja algoritmus kaip Slow Start, Congestion Avoidance.
  • Srautinis perdavimas: TCP traktuoja duomenis kaip nuolatinį baitų srautą, o ne kaip atskirus paketus. Garantuoja, kad duomenys bus pristatyti tokiu pačiu tvarkaraščiu, kaip ir buvo išsiųsti.
  • Dupleksinis ryšys: Leidžia perduoti duomenis abiem kryptimis vienu metu po ryšio nustatymo.

TCP taikymas:

  • HTTP/HTTPS (tinklalapio srautas)
  • FTP (failų perdavimas)
  • SMTP (pašto siuntimas)
  • SSH (nuotolinė valdymas)

Palyginimas su UDP:

Savybė TCP UDP
Patikimumas Aukštas (garantuoja pristatymą) Žemas (be garantijos)
Ryšio pagrįstumas Taip (nustatymas ir palaikymas) Ne (perdavimas be nustatymo)
Duomenų tvarka Taip (pristatymas pagal siuntimo tvarką) Ne (galimas pristatymas netvarkoje)
Srauto valdymas Taip Ne
Tinklo apkrovos valdymas Taip Ne
Greitis Žemesnis (dėl papildomų išlaidų) Aukštesnis
Pavyzdžiai HTTP, FTP, SSH, SMTP DNS, DHCP, VoIP, internetiniai žaidimai