TCP (Transmission Control Protocol) – бұл транспорттық деңгейдің ең кеңінен таратылған түрі. ТСР ең маңызды функциясына бұрыннан қолданылып келе жатқан IP (Internet Protocol) хаттамасымен салыстырғанда, мәліметтерді жоғалтпай жеткізуі болып саналады. Хабарламаны жеткізу үшін процесс – жіберуші мен процесс – алушының арасын алдын – ала жалғайды. Бұл құрылған жалғау дейтаграмманың нақты түрде жетуін қамтамасыз етеді. ТСР хаттамасының бүлінген немесе жоғалған пакеттерді қайталап жіберу мүмкіндігі бар.
Хабарламаның нақты түрде жеткізілуіне белгіленген функциялар өңдеушілерді қосалқы бағдарламалардан және дейтаграмманы басқару амалдарынан босатады. Хаттама жіберуші мен алушы арасында мәліметтер жіберілуін қамтамасыз етеді. ТСР жалғауды қондыруға бағытталған болғандықтан, дейтаграмманы алған адресат жіберушіге алғаедығы туралы хабар беруі керек. Жалпы жіберуші мен алушы арасында виртуальды канал қондырылады, ол жерде олар хабарламамен алмасады және алғандығы туралы хабар жіберіледі.
Мәліметтерді алмасу процесі машина – жіберуші және машина – алушы арасында жалғауды қондыру сұранысынан басталады. Бұл сұраныста арнайы бүтін саны болады, оны біз сокет номері деп атаймыз. Ал жауабына алушы өз сокетінің номерін жібереді. Жіберуші мен алушының сокеттерінің номері жалғауды анықтайды (былай айтқанда, жалғау жіберуші мен алушының IP-адресісіз орындалмайды, бірақ та бұл тек төменгі деңгейлі хаттамаларға қатысты).
ТСР жалғауын қондырғаннан кейін хабарламаның сегменттері жіберіліп бастайды. Жіберушінің төменгі деңгейлі IP-адресінде сегменттер бір немесе бірнеше дейтаграммаларға бөліне бастайды. Желіні өте келе, дейтаграммалар алушыға келіп түседі, содан IP деңгейі олардан қайтадан сегмент жинақтап ТСР береді. ТСР барлық сегменттерді бір хабарламаға жинақтап отырады. ТСР – дан процесс – алушыға хаттамалардың қада жиналатыны туралы хабарлдама жіберіліп отырады.
ТСР машина – алушыда номері бойынша бүкіл сегменттерді бір хабарламаға жинақтайды. Егер қандайда бір хабарлама сегменті жоғалған немесе бүлінген болса, жіберушіге қате кеткен сегменттің номері жіберіледі. Бұндай жағдайда жіберуші сегментті қайта жіберуіне тура келеді. Егер де сегмент дұрыс қабылданған болса, онда алушы анықтаушы – квитанциясын жібереді (ACK - acknowledgement).
Таймер ТСР хаттамасында ең маңызды рольді атқарады. Егер де белгіленген уақыт ішінде анықтаушы – квитанциясы келіп түспеген болса, онда сегмент жоғалтылған болып саналады. Бұндай жағдайда сегментті қайта жіберу процесі орындалады.
Порттар номерлері мен сокеттер ТСР қолоданылатын қосымшасы (процесс) номер порты – санымен анықталады. Бұрыннан әйгілі желі қызметтерінің порттар номерлері 4 кестеде көрсетілген.
1 – кесте. Internet желісінің кеңінен қолданылатын порттар номерлері.
Порт номері Желі қызметі Сипаттау
0 Резервтелген
7 echo Келген хабарламаға жауап - эхо
9 discard Бүкіл келген хабарламалар лақтыру (жою)
11 users Белсенді қолданушылар
13 daytime Күннің уақытын туралы мәліметтерОтклик
19 chargen Символдар генераторы
20 ftp data FTP хаттамалары арқылы мәліметтерді жіберу
21 ftp FTP хаттамасы арқылы басқарушы командаларын жіберу
23 telnet TELNET хаттамасы арқылы портты қосу
25 smtp SMTP почталық хабарламалаырн жіберу хаттамалары
37 time Уақытты қамтитын отклик
42 name Аттар сервері
43 whois Бұл кім
53 domain Домендер аттары серверлері
67 boots Жоғалған серверді енгізу хаттамасы
68 bootc Жоғалған клиентті енгізу хаттамасы
69 tftp TFTP файлдарын жіберудің жеңілдетілген хаттамасы
79 finger FINGER қолданушылары туралы мәліметтер алу хаттамасы
80 http HTTP гипертекстін жіберу хаттамасы
109 pop2 POP2 почталық жәшігінің хаттамасы
110 pop3 POP3 почталық жәшігінің хаттамасы
111 rpc RPC жоғалған процедуралар хаттамасы
156 sqlserv SQL қызметі
161 snmp SNMP басқарушы хаттамасы
TCP хаттамасының хабарландыру форматындағы порт номері астына 16 бит апарылады, сондықтан порттың максималды мүмкіндікті номері 65535 болып табылады. 0 – ден 255 – ке дейінгі порттардың номерлері жүйелік қажеттіліктерге қатаң резервтеген, оларды қолданбалы бағдарламаларда пайдалануға рұқсат етілмейді. 256 – дан 1023 – ке дейінгі аралықта көптеген порттарда желілік қызметтермен пайдаланылады, сондықтан оларды да қолданбалы қажеттіліктерге пайдалануға рұқсат етілмейді. Ереже бойынша TCP/IP негізіндегі бөтен көптеген қолданбалы қосалқы анықтауыштар порт номерлерін 1024 - тен 5000 – ға дейінгі диапазонында пайдаланады. 3000 – нан 5000 – ға дейінгі номерлерді пайдалану ұсынылады, 5000 – нан жоғары номерлері көбінесе қысқа мерзімдік қолданулар үшін пайдаланылады.
TCP – дегі кез – келген байланыс каналдары екі санмен анықталынады – бұл косбинация сокет деп аталады. Осылайша сокет ЭЕМ – де IP-адресімен және TCP – дегі бағдарламалық қамсыздандыру арқылы порт номерімен анықталады. Қосылу кезінде кез – келген машина бір мағынады IP-адресімен анықталады, ал әрбір процесс – портпен анықталады, сондықтан екі процестер арасындағы қосылыстар бір мағынада сокетпен анықталынады. Желідегі үш ЭЕМ арасындағы TCP хаттамасы бойынша қосылыстардың орналасу схемасы 6 – суретте бейнеленген.
Өзара әрекеттесуші ЭЕМ барлық активті порттардың жіберушілерінің және алушыларының кестелерін жүргізеді. Егер екі машиналар аракестелерін жүргізеді. Егер екі машиналар арасында мәліметтер алмасуы жүрсе, онда олардың бірінің порты жіберуші, екіншісі алушы немесе керісінше болып келеді. Егер жіберуші машина бірнеше қосылуларды сұраса, онда олардың әрбірінің өздерінің жіберуші порты болады, ал алушының порты жалпы болуы мүмкін. Бірнеше машина бір уақытта бір алу – порты пайдалануы мүмкін, бұл мультипликсерлеу деп аталады. 6 – суретте екі қосылулардың мультипликсерленуі ЭЕМ3 – те 23 номер порты бойынша орындалады.
Қашанда бірнеше қосылулар орнатылса, онда бірдей порт көздері және алушылары көрсетілген қосылуларға бірнеше машиналар сұраныс жібереді.