tcp 是用於在不可靠的網際網路上提供可靠的、端到端的位元組流通信的協議。
一 tcp服務模型
tcp 提供的服務具有以下主要特徵:
(1)面向連線的傳輸、傳輸資料前需要先建立連線, 資料傳輸完畢要釋放連線。
(2)端到端通訊, 不支援廣播通訊。
(3)高可靠性,確保傳輸資料的正確性,不出現丟失或亂序。
(4)全雙工方式傳輸。
(5)採用位元組流方式,即以位元組為單位傳輸位元組序列。如果位元組流太長, 將其分段。
(6)提供緊急資料傳送功能,即當有緊急資料需要傳送時,傳送程序會立即傳送,接收方收到後會暫停當前工作,讀取緊急資料並做相應處理。
tcp資料傳輸機制
1. tcp的段結構
源埠目標埠
序列號確認號
頭長度 | | 標誌
視窗校驗和
緊急資料指標
選項(可變長度)資料
因為tcp是應用於大資料量傳輸的情況,所以需要將長的資料流分段。
tcp位址與ip位址不同,ip地下是位元組位址,乙個節點可以執行多個應用, tcp的位址是節點的某個應用的位址, 這種應用在計算機內部是程序。 多個程序的資料傳遞通過不同的埠完成, 因此在tcp段結構中,以 「埠」 表示位址的。
源埠: 16bit, 源節點程序埠
目標埠: 16bit, 目標節點埠
序列號: 32bit, tcp對位元組流中的每個位元組都編號
確認號: 32bit
頭長度:4bit
標誌: 6bit, 該欄位包含對其它欄位的說明或對控制功能的標誌。 具體的設定如下:
ack 說明確認欄位中的資料有意義
urg 說明緊急資料指標欄位中的資料有意義
fin 標誌是最後的tcp資料段, fin也稱為"完成"
psh 指出接收方不必等待一定量的資料再向應用提供資料, 而是立即提供該資料段, psh也稱為「推」
rst 在有異常情況發生時,傳送方通知接收方暫時終止連線,釋放與連線有關的緩衝區, 中斷tcp傳輸, rst也稱為"復位"
syn 在建立初始連線時,允許雙方共同確定初始序列號, syn 也稱為"同步"。
7. 視窗: 16bit
8. 校驗和: 16bit
9. 緊急資料指標: 16bit
10. 選項: 可變長度, 選項一般包含兩個內容, 一是在通訊雙方容量相差很大時,必須在初始建立連線時, 確定可接收的段的最大尺寸; 另乙個是在使用高頻寬線路傳輸大型檔案時,允許用 16 bit來代替 32bit的視窗字段
11. 資料: 可變大小, 使用者提供的資料。
2 tcp埠號
埠號可以在0~65535範圍內的埠號。對於這65536個埠號有以下的使用規定
(1) 埠號小於256的定義為常用埠,伺服器一般都是通過常用埠號來識別的,埠號由internet埠號分配機構(internet assigned numbers authority iana) 來管理;
(2) 客戶端通常對所使用的埠號不關心,只面保證該埠號在本機上是唯一的;
(3)大多數 tcp/ip實現給臨時埠分配1024~5000之間的埠號。大於5000的埠號為其它伺服器預留的。
常用的tcp協議所使用的埠
協議名稱
協議內容
使用的埠號
ftp(控制)
檔案傳輸服務
2120
telnet
遠端登入
23gopher
選單驅動資訊檢索
超文字傳輸協議
80smtp (發)
簡單郵件傳送協議
25pop3 (收)
接收郵件(與smtp對應)
110
傳輸層 計算機網路原理(本科)
第一節 傳輸層的基本服務 一 傳輸層功能 為應用程序提供端到端的邏輯通訊服務 主要功能 傳輸層定址 應用層報文分段重組 差錯檢測 程序端到端可靠資料傳輸控制 面向應用層實現復用與分解 端到端流量控制 擁塞控制 二 傳輸層定址與埠 1 用統一的定址方法對應用程序進行標識 埠號 2 ip位址 埠號來唯一...
計算機網路 傳輸層
為什麼要劃分傳輸層?既然網路層已經能把源主機上發出的資料傳送給目的主機,那麼為什麼還需要加上乙個傳輸層呢?這就需要我們理解主機使用者應用層通訊的主體,位於兩台網路主機中真正的資料通訊主體並不是這兩台主機,而是兩台主機中的各種網路應用程序.同一時間一台主機上可能有多個程序同時執行,這時候就需要為應用程...
計算機網路(傳輸層)
網路層提供了主機之間的邏輯通訊,運輸層為運輸在不同主機上的程序之間提供了邏輯通訊。運輸層協議是在端系統中而不是在路由器中實現的。運輸協議能夠提供的服務常常受制於底層網路層協議的服務模型。底層無法提供時延或頻寬保證,運輸層協議也無法提供。但是即使底層網路協議不可靠,運輸協議也可以提供可靠的資料傳輸服務...