1. 程式人生 > >計算機網絡(三),TCP報文段詳解

計算機網絡(三),TCP報文段詳解

ber 緊急指針 span align 有序性 目標 緊急 ima cal

目錄

1.TCP(Transmission Control Protocol傳輸控制協議)作用

2.TCP報文段詳解

三、TCP報文段詳解

1.TCPTransmission Control Protocol傳輸控制協議)作用

1)面向連接的、可靠地、基於字節流的傳輸層通信協議

2)將應用層的數據流分割成報文段並發送給目標節點的TCP

3)數據包都有序號,對方收到則發送ACK確認,未收到則重傳

4)使用校驗和來檢驗數據在傳輸過程中是否有誤

2.TCP報文段詳解

技術分享圖片

1.源端口(Source Port-兩個字節

2.目的端口(Destination port-兩個字節

  TCP報頭中的源端口號和目的端口號同

IP數據報中的源IP與目的IP唯一確定一條TCP連接。

3.順序序號(Sequence Number-四個字節

4.確認序號(Acknowledgement Number-四個字節

  順序序號和確認序號是TCP可靠傳輸的關鍵部分。序號是本報文段發送的數據組的第一個字節的序號。在TCP傳送的流中,每一個字節一個序號。一個報文段的序號為300,此報文段數據部分共有100字節,則下一個報文段的序號為400。所以序號確保了TCP傳輸的有序性。確認號,即ACK,指明下一個期待收到的字節序號,表明該序號之前的所有數據已經正確無誤的收到。確認號只有當ACK標誌為1時才有效。比如建立連接時,SYN報文的ACK標誌位為

0

5.偏移

6.保留

7.標誌位(TCP Flags

(1)URG:緊急指針標誌,為1時表示緊急指針有效,為0則忽略緊急指針。

(2)ACK:確認序號標誌,為1時表示確認號有效,為0表示報文中不含確認信息,忽略確認號字段

(3)PSHpush標誌,為1表示是帶有push標誌的數據,指示接收方在接收到該報文段以後,應盡快將這個報文段交給應用程序,而不是在緩沖區排隊。

(4)RST:重置連接標誌,用於重置由於主機崩潰或其他原因而出現錯誤的連接。或者用於拒絕非法的報文段和拒絕連接請求。

(5)SYN:同步序號,用於建立連接過程,在連接請求中,SYN=1ACK=0表示該數據段沒有使用捎帶的確認域,而連接應答捎帶一個確認,即

SYN=1ACK=1

(6)FINfinish標誌,用於釋放連接,為1時表示發送方已經沒有數據發送了,即關閉本方數據流。

8.窗口字段:滑動窗口大小,用來告知發送端接受端的緩存大小,以此控制發送端發送數據的速率,從而達到流量控制

9.檢驗和:奇偶校驗,此校驗和是對整個的 TCP 報文段,包括 TCP 頭部和 TCP 數據,以 16 位字進行計算所得

10.緊急指針:只有當 URG 標誌置 1 時緊急指針才有效。緊急指針是一個正的偏移量,和順序號字段中的值相加表示緊急數據最後一個字節的序號。 TCP 的緊急方式是發送端向另一端發送緊急數據的一種方式。

11.可選和填充部分:長度可變,定義其他的一些可選參數

12.數據部分:可以存在,也可以不存在

前十部分是TCP報文段頭部一共20字節

計算機網絡(三),TCP報文段詳解