TCP提供一種面向連接的、可靠的字節(jié)流服務(wù)。
在一個TCP連接中,僅有兩方進(jìn)行彼此通信。廣播和多播不能用于TCP。
TCP數(shù)據(jù)被封裝在一個IP數(shù)據(jù)報中如下圖:

TCP數(shù)據(jù)在IP數(shù)據(jù)報中的封裝
顯示TCP首部的數(shù)據(jù)格式。如果不計任選字段,它通常是20個字節(jié)。

序號用來標(biāo)識從tcp發(fā)端到tcp收端發(fā)送的數(shù)據(jù)字節(jié)流,它表示在這個報文段中的第一個數(shù)據(jù)字節(jié)。如果將字節(jié)流看做在兩個應(yīng)用程序間的單向流動,則tcp序號對每個字節(jié)進(jìn)行計數(shù)。序號是32bit的無符號數(shù),序號到達(dá)2(32)-1后又從0開始。
tcp為應(yīng)用層提供全雙工服務(wù)。這意味著數(shù)據(jù)能在兩個方向上獨立地進(jìn)行傳輸。因此,連接的每一端必須保持每個方向上的傳輸數(shù)據(jù)序號。
首部長度給出首部中的32bit字的數(shù)目。這個字段占4bit,因此tcp最多有60字節(jié)的首部。然而,沒有任選字段,正常的長度是20字節(jié)。
TCP將用戶數(shù)據(jù)打包構(gòu)成報文段;它發(fā)送數(shù)據(jù)后啟動一個定時器;另一端對收到的數(shù)據(jù)進(jìn)行確認(rèn),對失序的數(shù)據(jù)進(jìn)行重新排序,丟棄重復(fù)數(shù)據(jù);TCP提供端到端的流量控制,并計算和驗證一個強(qiáng)制性的端到端檢驗和。
許多流行的應(yīng)用程序如Telnet,Rlogin,FTP和SMTP都使用tcp。