日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TCP三次握手及关闭时的2MSL分析

發布時間:2024/1/17 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TCP三次握手及关闭时的2MSL分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

TCP/IP三次握手四次揮手,是非常重要的,這個鏈接與關閉過程也是很簡單的,但為什么是三次握手?以及為什么要等待2MSL的狀態?大部分人也許聽到這個問題就蒙了,這篇博客就綜合《TCP/IP詳解:卷一》來分析一下原因:

下面看TCP三次握手四次揮手的原理圖:

1.為什么要三次握手?

? ? ?為了避免已失效的連接報文段又到達可服務器。考慮這樣一個正常的情況:

? ?假設TCP連接是兩次握手。當客戶端發送了一個請求連接的報文時,由于網絡原因這個報文丟失了,那么客戶端一段時間內沒有收到服務器的確認就會再次發送請求連接報文,這次服務器收到了,雙方都建立了連接,然后數據傳輸,最后關閉連接。

? 但是考慮一下,上文中的丟失數據包若沒有丟失,只是在一個網絡節點長時間滯留了,這時雙方都已經關閉了連接,此時服務器又收到了丟掉了的數據包,認為客戶端又要建立連接,因為是兩次握手所以服務器向客戶端發送了確認報文,并變 為 建立連接狀態。

? ?可想而知客戶端并沒有發起連接所以會忽略服務器的確認,這樣就浪費了服務器的資源。

2.為什么要等待2MSL時間?

? ? ??1. ?當客戶端的最后一次確認連接的報文丟失(第四次揮手發送的),服務器會再次發送FIN報文,等待客戶端的確認,客戶端在2MSL內收到服務器重傳的報文再次確認(防止此時客戶端已經關閉)。

? ? ? 2. ?2MSL 的時間可以使所有已失效的報文都消失(防止對新建的連接造成影響),若在不等待2MSL,馬上建立新的連接,那么在關閉連接前發送的失效報文段很可能影響本次連接。

? ?然而,TCP規定處于2MSL狀態的的插口對(客戶端IP/端口和服務器IP和端口)不能再次被使用。?若在2MSL狀態下新建連接可以使用這個插口對,當已失效的數據包再次到達這個新連接,判斷插口一致就會接受這個報文,但實際上這不是新建連接交互的數據,因此不能使用此無效數據包。

總結

以上是生活随笔為你收集整理的TCP三次握手及关闭时的2MSL分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。