計算機網絡原理_傳輸層__TCP

TCP 是用於在不可靠的因特網上提供可靠的、端到端的字節流通信的協議。

一   TCP服務模型

TCP 提供的服務具有以下主要特徵:

(1)面向連接的傳輸、傳輸數據前需要先建立連接, 數據傳輸完畢要釋放連接。

(2)端到端通信, 不支持廣播通信。

(3)高可靠性,確保傳輸數據的正確性,不出現丟失或亂序。

(4)全雙工方式傳輸。

(5)採用字節流方式,即以字節爲單位傳輸字節序列。如果字節流太長, 將其分段。

(6)提供緊急數據傳送功能,即當有緊急數據需要發送時,發送進程會立即發送,接收方收到後會暫停當前工作,讀取緊急數據並做相應處理。

TCP數據傳輸機制

1. TCP的段結構

源端口 目標端口
序列號
確認號
頭長度 |               |       標誌 窗口
校驗和 緊急數據指針
選項(可變長度)
數據

 

 

 

 

 

 

 

 

因爲TCP是應用於大數據量傳輸的情況,所以需要將長的數據流分段。

TCP地址與IP地址不同,IP地下是字節地址,一個節點可以運行多個應用, TCP的地址是節點的某個應用的地址, 這種應用在計算機內部是進程。 多個進程的數據傳遞通過不同的端口完成, 因此在TCP段結構中,以 “端口” 表示地址的。

  1. 源端口:  16bit,  源節點進程端口
  2. 目標端口: 16bit, 目標節點端口
  3. 序列號:  32bit,  TCP對字節流中的每個字節都編號
  4. 確認號: 32bit
  5. 頭長度:4bit
  6. 標誌:  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(控制) 文件傳輸服務 21
20
TELNET 遠程登錄 23
GOPHER 菜單驅動信息檢索 70
HTTP 超文本傳輸協議 80
SMTP      (發) 簡單郵件傳送協議 25
POP3       (收) 接收郵件(與SMTP對應) 110

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章