tcp協議的六個標識位


6個標識位:

URG 緊急指針,告訴接收TCP模塊緊要指針域指着緊要數據。

ACK 置1時表示確認號(為合法,為0的時候表示數據段不包含確認信息,確認號被忽略。

PSH 置1時請求的數據段在接收方得到后就可直接送到應用程序,而不必等到緩沖區滿時才傳送。

RST 置1時重建連接。如果接收到RST位時候,通常發生了某些錯誤。

SYN 置1時用來發起一個連接。

FIN 置1時表示發端完成發送任務。用來釋放連接,表明發送方已經沒有數據發送了。

 


其中URG不能和PSH標志位同時使用。

URG為緊急數據標志,如果URG為1,表示本數據包中包含緊急數據。此時緊急數據指針表示的值有效,它表示在緊急數據之后的第一個字節的偏移值(即緊急數據的總長度)。

ACK為確認標志位。如果ACK為1,表示數據包中的確認號有效。

PSH位,表示強迫數據傳輸。

RST標志位用來復位一條連接。當RST=1時,表示出現嚴重錯誤,必須釋放連接,然后再重新建立。

SYN標志位用來建立連接,如果SYN=1而ACK=0,表明它是一個連接請求;如果SYN=1且ACK=1,則表示同意建立一個連接。

FIN為1時,表示數據已經發送完畢,希望釋放連接。

 

不合法的標志位組合。

1、所有標志位都為0。

2、SYN和FIN同時被置1。

3、SYN和RST同時被置1。

4、FIN和RST同時被置1。

5、FIN位被置1,但ACK位沒有被置1。

6、PSH位被置1,但ACK位沒有被置1。

7、URG位被置1,但ACK位沒有被置1。

 

   了解到了TCP標志位的含義,就可以了解TCP的三次握手是怎么進行的了:發送端發送一個SYN=1,ACK=0標志的數據包給接收端,請求進行連接,這 是第一次握手;接收端收到請求並且允許連接的話,就會發送一個SYN=1,ACK=1標志的數據包給發送端,告訴它,可以通訊了,並且讓發送端發送一個確 認數據包,這是第二次握手;最后,發送端發送一個SYN=0,ACK=1的數據包給接收端,告訴它連接已被確認,這就是第三次握手。之后,一個TCP連接 建立,開始通訊。


免責聲明!

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



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