[TCP/IP] TCP的報文頭


1.源端口和目的端口:各占2個字節,分別寫入源端口和目的端口;
2.序列號:占4個字節,TCP連接中傳送的字節流中的每個字節都按順序編號。例如,一段報文的序號字段值是 301 ,而攜帶的數據共有100字段,顯然下一個報文段(如果還有的話)的數據序號應該從401開始;
3.確認號:占4個字節,是期望收到對方下一個報文的第一個數據字節的序號。例如,B收到了A發送過來的報文,其序列號字段是501,而數據長度是200字節,這表明B正確的收到了A發送的到序號700為止的數據。因此,B期望收到A的下一個數據序號是701,於是B在發送給A的確認報文段中把確認號置為701;
4.數據偏移報頭長度:占4位,它指出TCP報文的數據距離TCP報文段的起始處有多遠;
5.保留:占6位,保留今后使用,但目前應都位0;
6.標志位
同步SYN,在連接建立時用來同步序號。當SYN=1,ACK=0,表明是連接請求報文,若同意連接,則響應報文中應該使SYN=1,ACK=1;
確認ACK,僅當ACK=1時,確認號字段才有效。TCP規定,在連接建立后所有報文的傳輸都必須把ACK置1;
終止FIN,用來釋放連接。當FIN=1,表明此報文的發送方的數據已經發送完畢,並且要求釋放;
緊急URG,當URG=1,表明緊急指針字段有效。告訴系統此報文段中有緊急數據;
推送PSH,當兩個應用進程進行交互式通信時,有時在一端的應用進程希望在鍵入一個命令后立即就能收到對方的響應,這時候就將PSH=1;
復位RST,當RST=1,表明TCP連接中出現嚴重差錯,必須釋放連接,然后再重新建立連接;
7.窗口大小:占2字節,指的是通知接收方,發送本報文你需要有多大的空間來接受;
8.檢驗和:占2字節,校驗首部和數據這兩部分;
9.緊急指針:占2字節,指出本報文段中的緊急數據的字節數;
10.選項:長度可變,定義一些其他的可選的參數。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM