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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

TCP为什么需要三次握手和四次挥手

發布時間:2023/12/1 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TCP为什么需要三次握手和四次挥手 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

網上已經有很多解釋了,就不瞎說了,Mark一些鏈接作為自己的學習筆記吧。
學習參考鏈接1
學習參考鏈接2
學習參考鏈接3
學習參考鏈接4

為什么要3次握手
  • 防止已過期的連接請求報文突然又傳送到服務器,因而產生錯誤。

    Client發生一個請求連接報文可能因為網絡延遲等原因,沒有送達到server中。但是當這個client的請求報文送達到server時,如果沒有三次握手的話,server就會直接發數據可client,這樣會導致server資源的浪費。

  • 這個問題的本質是, 信道不可靠。

    信道不可靠,但是通信雙發需要就某個問題達成一致. 而要解決這個問題, 無論你在消息中包含什么信息, 三次通信是理論上的最小值. 所以三次握手不是TCP本身的要求, 而是為了滿足”在不可靠信道上可靠地傳輸信息”這一需求所導致的. 請注意這里的本質需求,信道不可靠, 數據傳輸要可靠. 三次達到了, 那后面你想接著握手也好, 發數據也好, 跟進行可靠信息傳輸的需求就沒關系了. 因此,如果信道是可靠的, 即無論什么時候發出消息, 對方一定能收到, 或者你不關心是否要保證對方收到你的消息, 那就能像UDP那樣直接發送消息就可以了.”。

為什么要4次揮手?
  • 確保數據能夠完成傳輸。

    關閉連接時,當收到對方的FIN報文通知時,它僅僅表示對方沒有數據發送給你了;但未必你所有的數據都全部發送給對方了,所以你可以未必會馬上會關閉SOCKET,也即你可能還需要發送一些數據給對方之后,再發送FIN報文給對方來表示你同意現在可以關閉連接了,所以它這里的ACK報文和FIN報文多數情況下都是分開發送的。

總結

以上是生活随笔為你收集整理的TCP为什么需要三次握手和四次挥手的全部內容,希望文章能夠幫你解決所遇到的問題。

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