M�t giao th�c t�ng giao v�n thư�ng cú nhi�u ch�c n�ng. M�t trong s� �ú là t�o m�t truy�n thụng t� ti�n trỡnh-t�i-ti�n trỡnh (chương trỡnh-t�i-chương trỡnh). �� th�c hi�n �i�u này, TCP s� d�ng c�ng (port). M�t ch�c n�ng khỏc c�a giao th�c t�ng giao v�n là t�o m�t cơch� �i�u khi�n lu�ng và�i�u khi�n l�i� m�c giao v�n. TCP s�d�ng giao th�c c�a s� trư�t �� th�c hi�n �i�u khi�n lu�ng. Nú s� d�ng gúi xỏc nh�n, th�i gian ch�và truy�n l�i�� th�c hi�n�i�u khi�n l�i.
TCP là m�t giao th�c hư�ng k�t n�i. Nú cú trỏch nhi�m thi�t l�p m�t k�t n�i v�i phớa nh�n, chia lu�ng d� li�u thành cỏc �ơn v� cú th� v�n chuy�n, �ỏnh s� chỳng và sau �ú g�i chỳng l�n lư�t.
• Truy�n thụng t�ti�n trỡnh-t�i-ti�n trỡnh
Trư�c khi tỡm hi�u TCP, ��u tiờn chỳng ta ph�i hi�u v� truy�n thụng t� tr�m-t�i- tr�m và truy�n thụng ti�n trỡnh-t�i-ti�n trỡnh, c�ng nhưs�khỏc nhau gi�a chỳng.
IP cú trỏch nhi�m truy�n thụng t� tr�m-t�i-tr�m. Là m�t giao th�c t�ng m�ng, IP ch� cú th� chuy�n phỏt cỏc thụng bỏo t�i mỏy �ớch. Tuy nhiờn, �õy chưa ph�i là m�t chuy�n phỏt hoàn ch�nh. Thụng bỏo c�n�ư�c x�lý b�i �ỳng chương trỡnh �ng d�ng. Trỏch nhi�m chuy�n thụng bỏo t�i chương trỡnh �ng d�ng thớch h�p là ch�c n�ng c�a TCP. • ��a ch�c�ng M�c dự cú m�t s� cỏch �� th�c hi�n truy�n thụng ti�n trỡnh-t�i-ti�n trỡnh, nhưng cỏch thụng d�ng nh�t là th�c hi�n thụng qua mụ hỡnh khỏch-ch� (client-server). M�t ti�n trỡnh trờn mỏy c�c b�, �ư�c g�i là khỏch, c�n m�t d�ch v� t� m�t �ng d�ng trờn tr�m�xa, �ư�c g�i là ch�.
C� hai ti�n trỡnh (khỏch, ch�) cú cựng m�t tờn. Vớ d�, �� l�y th�i gian và ngày thỏng t�m�t mỏy ch� �xa, chỳng ta c�n m�t ti�n trỡnh khỏch Daytime ch�y trờn mỏy c�c b�và m�t ti�n trỡnh ch�Daytime ch�y trờn mỏy �xa.
Cỏc h� �i�u hành hi�n nay h�tr�c�mụi trư�ng �a ngư�i dựng và�a chương trỡnh. M�t mỏy � xa cú th� ch�y nhi�u chương trỡnh �ng d�ng cựng lỳc, gi�ng như nhi�u mỏy c�c b�cú th�ch�y m�t ho�c nhi�u chương trỡnh khỏch cựng lỳc. �� truy�n thụng, chỳng ta c�n xỏc ��nh:
- Tr�m c�c b�, - Ti�n trỡnh c�c b�
- Ti�n trỡnh �xa
Tr�m c�c b� và tr�m � xa �ư�c xỏc ��nh s� d�ng ��a ch� IP. �� xỏc ��nh cỏc ti�n trỡnh, chỳng ta c�n m�t s� hi�u nh�n d�ng th� hai, �ú là s� c�ng. Trong TCP/IP, s�
c�ng là m�t s�nguyờn n�m trong kho�ng t�0��n 65535 (s�2 byte).
Chương trỡnh khỏch t�xỏc ��nh nú b�ng m�t s�c�ng �ư�c ch�n ng�u nhiờn. C�ng này �ư�c g�i là c�ng ng�u nhiờn.
Chương trỡnh ch� c�ng ph�i t� xỏc ��nh b�ng m�t s� c�ng. Tuy nhiờn, c�ng này khụng th� �ư�c ch�n ng�u nhiờn. N�u mỏy ch� � xa ch�y m�t ti�n trỡnh ch� và l�y m�t s� ng�u nhiờn là s� c�ng, thỡ �ng d�ng � mỏy khỏch mu�n truy nh�p và s�d�ng d�ch v�trờn mỏy ch� �ú s�khụng bi�t �ư�c s�c�ng c�n s�d�ng. T�t nhiờn, m�t gi�i phỏp cú th� là g�i m�t gúi ��c bi�t �� yờu c�u s�c�ng c�a m�t �ng d�ng ch� c�th�, tuy nhiờn cỏch này làm t�ng lưu lư�ng m�ng. TCP/IP �ó ch�n cỏch s� d�ng cỏc s�
c�ng thụng d�ng cho cỏc �ng d�ng ch�. M�i ti�n trỡnh khỏch ph�i bi�t s�c�ng c�a ti�n trỡnh ch�tương�ng.
Bõy gi�, chỳng ta �ó bi�t r�ng ��a ch� IP và s� c�ng �úng vai trũ khỏc nhau trong vi�c ch�n �ớch cu�i cựng c�a d� li�u. ��a ch� IP �ớch xỏc ��nh tr�m trong s� nhi�u tr�m khỏc nhau. Sau khi tr�m �ó �ư�c ch�n, s�c�ng xỏc ��nh m�t ti�n trỡnh trờn tr�m c�th� �ú.
Cỏc s�c�ng �ư�c chia thành ba vựng: thụng d�ng,��ng ký và ��ng.
- C�ng thụng d�ng. Cỏc c�ng n�m trong kho�ng t� 0 ��n 1023 là cỏc c�ng thụng d�ng. Nh�ng c�ng này �ư�c gỏn và giỏm sỏt b�i IANA. M�t s� c�ng TCP thụng d�ng �ư�c li�t kờ trong b�ng 3.1.
B�ng 3.1 Cỏc c�ng TCP thụng d�ng.
C�ng Giao th�c Miờu t�
20 FTP, data Giao th�c truy�n t�p (k�t n�i d�li�u) 21 FTP, control Giao th�c truy�n t�p (k�t n�i�i�u khi�n) 23 TELNET Giao th�c��ng nh�p t�xa
25 SMTP Giao th�c truy�n thư �ơn gi�n 53 DNS H�th�ng tờn mi�n
80 HTTP Giao th�c truy�n siờu v�n b�n 110 POP3 Giao th�c nh�n thư �i�n t�
- C�ng ��ng ký. Cỏc c�ng n�m trong kho�ng t� 1024 ��n 49151 khụng do IANA gỏn và �i�u khi�n. Chỳng ch� cú th� �ư�c ��ng ký v�i IANA �� trỏnh trựng l�p.
- C�ng ��ng. Cỏc c�ng n�m trong kho�ng t� 49152 ��n 65535 cú th� �ư�c s�
d�ng b�i m�i ti�n trỡnh. Chỳng cũn �ư�c g�i là cỏc c�ng ng�u nhiờn.
• ��a ch�socket
�� thi�t l�p k�t n�i, TCP c�n hai s�hi�u nh�n d�ng:��a ch� IP và s�c�ng. S�k�t h�p��a ch� IP và s� c�ng �ư�c g�i là ��a ch� socket. �� s�d�ng d�ch v� TCP, chỳng ta c�n m�t c�p ��a ch� socket: ��a ch� socket khỏch và ��a ch� socket ch�. ��a ch�
socket khỏch �� ��nh danh duy nh�t �ng d�ng khỏch. ��a ch� socket ch� �� ��nh danh duy nh�t �ng d�ng ch�. B�n thụng tin này là m�t ph�n c�a tiờu �� IP và tiờu �� TCP. Tiờu �� IP ch�a��a ch� IP; tiờu �� TCP ch�a��a ch�c�ng.
• Cỏc d�ch v�TCP
o D�ch v�d�li�u lu�ng
TCP �ư�c xem nhưm�t d�ch v�lu�ng t�ng giao v�n, ngh�a là TCP g�i ch�p nh�n m�t lu�ng ký t�t�chương trỡnh �ng d�ng g�i, t�o gúi (�ư�c g�i là phõn �o�n) cú kớch thư�c thớch h�p�ư�c trớch ra t�lu�ng d�li�u, và g�i chỳng qua m�ng. TCP phớa nh�n nh�n cỏc phõn �o�n, trớch ph�n d�li�u, s�p x�p th�t�n�u chỳng ��n khụng �ỳng th�
t�, và chuy�n chỳng dư�i d�ng m�t lu�ng ký t�t�i chương trỡnh �ng d�ng nh�n.
�� chuy�n phỏt theo lu�ng, TCP phớa g�i và phớa nh�n s�d�ng cỏc b� ��m. TCP g�i s� d�ng m�t b� ��m g�i �� lưu d� li�u ��n t� chương trỡnh �ng d�ng g�i. TCP nh�n lưu cỏc phõn �o�n nh�n�ư�c�b� ��m nh�n.
o D�ch v�song cụng
TCP cung c�p d�ch v� song cụng, ngh�a là d� li�u cú th� truy�n theo hai hư�ng cựng lỳc. Sau khi hai chương trỡnh �ng d�ng �ư�c k�t n�i v�i nhau, chỳng cú th�g�i và nh�n d�li�u. M�t k�t n�i TCP cú th� mang d�li�u t� �ng d�ng A��n�ng d�ng B cựng lỳc v�i d�li�u t� �ng d�ng B��n�ng d�ng A. Khi gúi �ư�c g�i t�A ��n B, nú cú th� mang thụng tin xỏc nh�n v� cỏc gúi mà A �ó nh�n �ư�c c�a B và ngư�c l�i. Ngh�a là d�li�u cú th� �ư�c g�i kốm xỏc nh�n. T�t nhiờn, n�u m�t phớa khụng cú d�
li�u��g�i, nú cú th�ch�g�i xỏc nh�n mà khụng cú d�li�u.
o D�ch v�tin c�y
TCP là m�t giao th�c giao v�n tin c�y. Nú s� d�ng cơ ch� xỏc nh�n�� ki�m tra s�an toàn và s� ��n c�a d�li�u.