網絡擁塞

TCP(Transmission Control Protocol) 三次握手

TCP是主機對主機層的傳輸控制協議,提供可靠的連接服務,採用三次握手確認建立一個連接:

位碼即tcp標誌位,有6種標示:

       SYN(synchronous建立聯機)

        ACK(acknowledgement 確認)

       PSH(push傳送)

       FIN(finish結束)

       RST(reset重置)

      URG(urgent緊急)

      Sequence number(順序號碼)

      Acknowledge number(確認號碼)

第一次握手:建立連接時,客戶端發送syn包(syn=j)到服務器,並進入SYN_SENT狀態,等待服務器確認;SYN:同步序列編號(Synchronize Sequence Numbers)。

第二次握手:服務器收到syn包,必須確認客戶的SYN(ack=j+1),同時自己也發送一個SYN包(seq=k),即SYN+ACK包,此時服務器進入SYN_RECV狀態;

第三次握手:客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ack=k+1),此包發送完畢,客戶端和服務器進入ESTABLISHED(TCP連接成功)狀態,完成三次握手。

 在Wireshark中,捕獲完整的打開https的過程  然後在statistics-->flow graph 看到流程圖。

如下圖所示: 本機的4694端口 與目的主機(Web)的443端口 建立TCP鏈接,並且發送了 Hello報文。

 

 

快速重傳

RFC5681定一個的一個過程。快速重傳不依賴定時器的超時,而是依靠ACK確認包來進行重傳。使用快速重傳相比RTO超時重傳通常可以更高效的修復TCP丟包問題。快速重傳是基於一個前提:即按照RFC5681,當TCP收到一個亂序報文的時候應該立即回覆ACK確認包,而不會延遲ACK(延遲ACK介紹參考之前文章介紹)確認。另外RFC5681還指出如果接收序列號空間存在洞,新接收的報文完全填充了這個洞或者部分填充了這個洞,TCP也應該立即回覆一個ACK確認包以便發送端及時獲取接收端相關的信息。

 

 1.[TCP Out_of_Order] 443-->4719  Ack=1796  
一般來說是網絡擁塞,導致順序包抵達時間不同,延時太長,或者包丟失,需要重新組合數據單元,因爲他們可能是由不同的路徑到達你的電腦上面.

2.[ TCP Retransmisson] Ack=1796  是未收到服務器的重發報文。

然後 [TCP Dup ACK 221#XX] 重複應答  ACK 221 丟失,#後面的是表示第幾(14)次丟失。 
tcp previous segment not captured  意思就是報文沒有捕捉到,出現報文的丟失。 

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