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 |