Konexiora zuzenduta: Inongo daturik bidali aurretik konexioa ezartzea beharrezkoa da. Konexio honen bidez datuak hurrenkera egokian eta paketeak errepikatu gabe helduko dira helburuko aplikaziora
Fidagarria: Helbururi heltzen zaion informazioa modu zuzenean heldu dela bermatzeko prozedurak ezartzen ditu
TCP entitate igorleak (erabiltzaileak) eta hartzaileak datuak segmentuetan (garraio mailako paketea) zatikatzen dituzte eta ondorengo baldintzak bete behar dituzte:
Goiburukoa gutxienez 20 bytez osatuta dago, ondoren datuak datoz. Guztira (datuak + goiburukoa) 64K baino gehiagoko tamaina ezin du eduki, IPdatagramaren formatuak ez bailuke onartuko.
Sare guztiek gehienezko datu tamaina bat (MTU) dute, Kbyte batzuetakoa izaten dela. Segmentuaren tamaina muga honetara egokitzen da. Segmentuak zeharkatu behar duen azpisare baten trama tamaina, segmentuaren tamaina baino txikiagoa bada, bideratzaileek segmentua zatikietan banatzen dute.
Fluxu-kontrola kudeatzeko leiho labainkorreko protokoloa erabiltzen dute TCP entitateek. Protokolo honetan igorleak segmentu bat bidaltzean, kontagailu (erloju) bat martxan jartzen du. Kontagailu honek segmentuaren onespena jasotzeko gehienezko denbora tartea zehazten du. Denbora hau agortuz gero, segmentua berriz igortzen da hartzaileari. Segmentuen zatiak berreraikitzea eta arazoak antzematean segmentua berrigortzea dira garraio-mailaren eginkizunak.
TCP segmentuaren formatua
Berton formatua (errenkada bakoitzak 32 bit du):
0
10
20
30
0
1
2
3
4
5
6
7
8
9
0
1
2
3
3
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
TCP iturburuko portua
TCP helburuko portua
Sekuentzia-zenbakia
Onespen-zenbakia
HLEN
Erreserbatua
Bit-kodeak
Leihoaren tamaina
Kontroleko batura
Presazko portua
Aukerak (baldin badaude)
Betegarri
Datuak
...
Aplikazio jakin batek sortutako datuak segmentu baten edo gehiagotan banatzen direla kontatu dugu. Segmentu hauek, IP datagramaren datu eremuan bidaiatzen dute,hots, kapsulatuta. Fluxu-kontrola kontrola kudeatzeko zenbakitzen dira segmentuak. Berton formatua (errenkada bakoitzak 32 bit du):
Sekuentzia-zenbakia (32 bit). TCP informazioaren korrontearen barruan uneko datuen posizioa adierazten du.
Onespen-zenbakia (32 bit). Eremu honekin aurretik jasotako byteak zuzen jaso direla adierazteko erabiltzen du helburuko makinak.
HLEN (4 bit). Goiburuko luzera adierazten du. 32 bitetako multiploetan adierazita, segmentuaren tamaina. Gutxienekoa 5 (1001 bitarrean) litzateke, 20 bytetako datu gabeko segmentuari dagokiona.
Erreserbatua (6 bit). Etorkizun batean erabiltzeko.
Bit-kodeak (6 bit). Segmentuaren asmoa zehazten dute.
URG. Presazko erakuslearen datuak bilatu eta prozesatu behar dira.
ACK. Onespen-segmentua da, beraz onespen-zenbakia kontuan hartzen da. SYN eta FIN kodeekin konexioaren ezarpena eta askapena adierazten dute. Segmentu berberak noranzko baten datuak bidal ditzake eta komunikazioaren beste noranzkoaren onespenak.
PSH. Buffer osoa betetzen den arte segmentua buferretan ez gordetzeko erakuslea, honela iritsi ahala aplikazioari bidaliko zaio. Push eragiketa.
RST. Uneko konexioa etetea.
SYN. Konexio eskaera. Sekuentzia-zenbakia nondik hasiko den adierazten du. ACK kodearekin batera (ACK=1;SYN=1) konexio-eskaerari onespena ematen zaio.
FIN. Konexio amaitu nahi dela adierazteko, ez baitaude datu gehiagorik bidaltzeko.
Leihoaren tamaina (16 bit). Konexio batentzako helburuko makinak onartuko duen buferren tamaina zehazten du.
Kontroleko batura (24 bit). Uneko segmentuaren erroren kontroleko batura. Iturburuko eta helburuko IPren helbideak ere sartzen dira (sasigoiburua).
Presazko erakuslea (8 bit). Presazko datuak non hasten diren zehazten du.
Aukerak (aldakorrak). Aukera hau zehaztuta badago, onartuko den segmenturen gehienezko tamaina zehazten du.
Betegarri. Eremu honekin segmentua 32 bitetako multiplokoa izatea behartuko litzateke.