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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

三次握手面试题java_java面试题三次握手和四次挥手-嗨客网

發布時間:2025/3/11 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 三次握手面试题java_java面试题三次握手和四次挥手-嗨客网 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目

對 tcp 了解嗎?講講它的三次握手和四次揮手?為什么需要三次握手,為什么需要四次揮手。

答案

三次握手

第一次握手:客戶端向服務器發送連接請求,這個時候報文首部中的同步為 SYN = 1,同時生成一個隨機序列號 seq = x。

第二次握手:TCP 的服務器如果同意連接,就發出確認報文。確認報文是 ACK = 1,SYN = 1,并帶有一個確認號 ack = x +1,同時自己也生成一個序列號 seq = y。

第三次握手:TCP 客戶端進程收到確認后,向服務器給出確認,確認報文是 ACK = 1,ack = y + 1。

四次揮手

第一次揮手:客戶端發送結束請求給服務端,報文有 FIN = 1,其序列號為 seq = u。

第二次揮手:服務端收到客戶端發起的結束請求后返回 ACK = 1 , ack = u +1 ,并且自己生成一個序列號 seq = v。

第三次揮手:服務端向客戶端發送關閉報文,FIN = 1,ack = u + 1, seq = w。

第四次揮手:客戶端收到服務端請求之后發送 ACK 確認, ACK = 1,ack = w + 1,自己生成一個序列號 seq = u + 1。

為什么需要三次握手

在網絡連接中會存在這樣的情況,當第一次發起握手請求的時候,由于網絡原因,在某個網絡節點滯留了,這個連接請求就認為失效了,然后請求到服務端,服務端收到請求后會給客戶端回應。如果沒有三次握手,那么服務端就會一直連著,會浪費資源。

為什么需要四次揮手

當客戶端發起關閉請求的時候,只表示沒有新的數據發送給服務端了,但是不能表示當前的請求中所有的數據全部發送了。當服務端收到請求之后不會立刻關閉連接,會等一段時間,當自己這邊的數據處理完之后,會給客戶端發送關閉請求,告訴客戶端,可以關閉了。

總結

以上是生活随笔為你收集整理的三次握手面试题java_java面试题三次握手和四次挥手-嗨客网的全部內容,希望文章能夠幫你解決所遇到的問題。

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