**TCP** (англ.: Transmission Control Protocol — «пратакол кіравання перадачай») — адзін з асноўных сеткавых пратаколаў, з’яўляецца часткай транспартнага ўзроўню стэка TCP/IP. Пратакол TCP забяспечвае надзейную, упарадкаваную і правераную на памылкі дастаўку патоку байтаў паміж хастамі ў сетцы, звязанай па пратаколе IP. Большасць функцыяналу Інтэрнета (напрыклад вэб-старонкі або электронная пошта) абапіраецца на TCP.

TCP адкрывае злучэнне паміж кліентам і серверам перад адпраўкай даных. Сервер павінен праслухоўваць запыты на злучэнне ад кліентаў, перш чым злучэнне будзе ўстаноўлена. Каардынацыя злучэння, паўторная перадача даных і выяўленне памылак павялічваюць надзейнасць, але патрабуюць больш часу. Праграмы, якім не патрабуецца надзейная перадача даных, могуць замест TCP выкарыстоўваць пратакол UDP.

Гісторыя
--------

У маі 1974 года Вінтан Серф і Роберт Кан апісалі міжсеткавы пратакол для сумеснага выкарыстання рэсурсаў паміж вузламі сеткі з камутацыяй пакетаў. Спецыфікацыя пратакола RFC 675 была напісана Вінтанам Серфам, Ёгенам Далалам і Карлам Саншайнам і апублікавана ў снежні 1974 года. Яна змяшчае першае пацверджанае выкарыстанне тэрміна *Інтэрнэт*.

Цэнтральным кампанентам прапанаванай мадэлі была так званая *праграма кіравання перадачай* (англ.: Transmission Control Program). Пазней маналітная праграма кіравання перадачай была падзелена на *пратакол кіравання перадачай* (TCP) і *міжсеткавы пратакол* (IP). Гэта прывяло да стварэння сеткавай мадэлі, якая стала вядомай як мадэль *TCP/IP*, таксама яе называлі мадэллю DOD (англ.: Department of Defense — Міністэрства абароны) і мадэллю ARPANET.

У 2004 годзе Вінтан Серф і Роберт Кан атрымалі прэмію Цьюрынга за сваю працу над TCP/IP.

Функцыянал
----------

Пратакол TCP забяспечвае сувязь на узроўні паміж прыкладной праграмай і пратаколам IP. Прыкладная праграма не павінна ведаць канкрэтныя механізмы адпраўкі даных на іншы хост, напрыклад, фрагментацыю IP для падзелу даных на меншыя элементы, якія можна перадаць у асяроддзі перадачы. На транспартным узроўні TCP апрацоўвае ўсе дэталі перадачы і прадстаўляе абстракцыю сеткавага злучэння, звычайна праз інтэрфейс сокета.

Пакеты ў сетцы IP могуць быць страчаны, атрыманы некалькі разоў або дастаўлены ў іншым парадку, напрыклад з-за перагружанасці сеткі. TCP выяўляе гэтыя праблемы, запытвае паўторную перадачу страчаных даных і упарадкоўвае даныя. Калі даныя ўсё ж не атрымаецца даставіць, крыніца будзе апавешчана аб збоі. Пасля таго, як пратакол TCP на старане адрасата збірае паслядоўнасць пераданых даных, ён перадае іх праграме-адрасату. Такім чынам, TCP дадае абстракцыю паміж праграмай і сеткай.

TCP шырока выкарыстоўваецца многімі праграмамі ў Інтэрнеце, уключаючы праграмы для прагляду вэб-старонак (праз пратакол HTTP), электроннай пошты (праз пратаколы SMTP, IMAP, POP), для перадачы файлаў (FTP), дыстанцыйнага кіравання (SSH) і перадачы струменевага медыя.

TCP аптымізаваны для дакладнай дастаўкі і можа выклікаць адносна вялікія затрымкі падчас чакання паведамленняў або паўторнай перадачы страчаных паведамленняў. Такім чынам, ён не вельмі падыходзіць для праграм у рэжыме рэальнага часу, такіх як галасавая сувязь праз IP. Для такіх праграм звычайна рэкамендуюцца іншыя пратаколы, якія выкарыстоўваюць пратакол UDP.

Гл. таксама
-----------

* Мадэль OSI

Зноскі
------

1. ↑  Vinton G. Cerf; Robert E. Kahn (May 1974). "*A Protocol for Packet Network Intercommunication*" (PDF). *IEEE Transactions on Communications*. **22** (5): 637–648. doi:10.1109/tcom.1974.1092259. Архівавана з арыгінала (PDF) March 4, 2016.
2. ↑  Robert E Kahn – A.M. Turing Award Laureate **(нявызн.)**. *amturing.acm.org*. Архівавана з першакрыніцы 13 ліпеня 2019. Праверана 13 ліпеня 2019.
3. ↑  Vinton Cerf – A.M. Turing Award Laureate **(нявызн.)**. *amturing.acm.org*. Архівавана з першакрыніцы 11 кастрычніка 2021. Праверана 13 ліпеня 2019.

Спасылкі
--------

* RFC 793  (англ.) — спецыфікацыя пратакола TCP

| ⛭Асноўныя пратаколы TCP/IP паводле ўзроўняў мадэлі OSI |
| --- |
| Фізічны | 
* Ethernet
* RS-232
* EIA-422
* RS-449
* RS-485

 |
| Канальны | 
* Ethernet
* PPPoE
* PPP
* L2F
* 802.11 Wi-Fi
* 802.16 WiMax
* Token ring
* ARCNET
* FDDI
* HDLC
* SLIP
* ATM
* DTM
* X.25
* Frame relay
* SMDS
* STP

 |
| Сеткавы | 
* IPv4
* IPv6
* IPsec
* ICMP
* IGMP
* ARP
* RARP
* RIP2
* OSPF

 |
| Транспартны | 
* TCP
* UDP
* SCTP
* DCCP
* RUDP
* RTP
* GRE

 |
| Сеансавы | 
* ADSP
* H.245
* iSNS
* NetBIOS
* PAP
* RPC
* L2TP
* PPTP
* RTCP
* SMPP
* SCP
* ZIP
* SDP

 |
| Уяўленні | 
* XDR
* SSL
* TLS

 |
| Прыкладны | 
* BGP
* HTTP
* HTTPS
* DHCP
* IRC
* SNMP
* DNS
* DNSSEC
* NNTP
* XMPP
* SIP
* IPP
* NTP
* SNTP
* Электронная пошта
	+ SMTP
	+ POP3
	+ IMAP4
* Перадача выяў
	+ FTP
	+ TFTP
	+ SFTP
* Аддалены доступ
	+ rlogin
	+ Telnet
	+ SSH
	+ RDP

 |
| Іншыя прыкладныя | 
* OSCAR
* CDDB
* Multicast FTP
* Multisource FTP
* BitTorrent
* Gnutella
* Skype

 |

|  |  |
| --- | --- |
| ⚙️   Слоўнікі і энцыклапедыі | Вялікая нарвежская · Treccani |
| Нарматыўны кантроль | Microsoft: 33588617 |