學學習網 手機版

學學習網

學習路徑: 學習首頁 > Internet > 網絡管理 >

協議分析6- TCP協議解碼詳解

設置字體:
----------------------------------
TCP,全稱Transfer Control Protocol,中文名為傳輸控制協議,它工作在OSI的傳輸層,提供面向連接的可靠傳輸服務。
TCP的工作主要是建立連接,然后從應用層程序中接收數據并進行傳輸。TCP采用虛電路連接方式進行工作,在發送數據前它需要在發送方和接收方建立一個連接,數據在發送出去后,發送方會等待接收方給出一個確認性的應答,否則發送方將認為此數據丟失,并重新發送此數據。
下面我們來介紹一下TCP的報頭結構和相關工作原理:

1.TCP報頭

TCP報頭總長最小為20個字節,其報頭結構如下圖(圖1)所示;
  比特0             比特15   比特16             比特31
源端口(16) 目的端口(16)
序列號(32)
確認號(32)
TCP偏移量(4) 保留(6) 標志(6) 窗口(16)
校驗和(16) 緊急(16)
選項(0或32)
數據(可變)
       
 
(圖1 TCP報頭結構)
源端口:指定了發送端的端口
目的端口:指定了接受端的端口號
序號:指明了段在即將傳輸的段序列中的位置
確認號:規定成功收到段的序列號,確認序號包含發送確認的一端所期望收到的下一個序號
TCP偏移量:指定了段頭的長度。段頭的長度取決與段頭選項字段中設置的選項
保留:指定了一個保留字段,以備將來使用
標志:SYN、ACK、PSH、RST、URG、FIN
      SYN: 表示同步
      ACK: 表示確認
      PSH: 表示盡快的將數據送往接收進程
      RST: 表示復位連接
      URG: 表示緊急指針
      FIN: 表示發送方完成數據發送
窗口:指定關于發送端能傳輸的下一段的大小的指令
校驗和:校驗和包含TCP段頭和數據部分,用來校驗段頭和數據部分的可靠性
緊急:指明段中包含緊急信息,只有當U R G標志置1時緊急指針才有效
選項:指定了公認的段大小,時間戳,選項字段的末端,以及指定了選項字段的邊界選項

2.TCP工作原理

  • TCP連接建立:TCP的連接建立過程又稱為TCP三次握手。首先發送方主機向接收方主機發起一個建立連接的同步(SYN)請求;接收方主機在收到這個請求后向送方主機回復一個同步/確認(SYN/ACK)應答;發送方主機收到此包后再向接收方主機發送一個確認(ACK),此時TCP連接成功建立;
  • TCP連接關閉:發送方主機和目的主機建立TCP連接并完成數據傳輸后,會發送一個將結束標記置1的數據包,以關閉這個TCP連接,并同時釋放該連接占用的緩沖區空間;
  • TCP重置:TCP允許在傳輸的過程中突然中斷連接,這稱為TCP重置;
  • TCP數據排序和確認:TCP是一種可靠傳輸的協議,它在傳輸的過程中使用序列號和確認號來跟蹤數據的接收情況;
  • TCP重傳:在TCP的傳輸過程中,如果在重傳超時時間內沒有收到接收方主機對某數據包的確認回復,發送方主機就認為此數據包丟失,并再次發送這個數據包給接收方,這稱為TCP重傳;
  • TCP延遲確認:TCP并不總是在接收到數據后立即對其進行確認,它允許主機在接收數據的同時發送自己的確認信息給對方。
----------------------------------
課程列表
重點難點
贊助鏈接
羽毛球世界排名