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

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

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