TCP

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

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

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

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

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

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

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

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

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

## Гл. таксама 
* Мадэль OSI

## Спасылкі 
* RFC 793  — спецыфікацыя пратакола TCP

Катэгорыя:TCP/IP
Катэгорыя:Сеткавыя пратаколы