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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java锁一次交互二次握手_Java后台开发面试实战(二):TCP三次握手四次挥手

發布時間:2025/3/20 java 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java锁一次交互二次握手_Java后台开发面试实战(二):TCP三次握手四次挥手 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

感謝??途W網友提供的面試經驗!

1. 解釋一下TCP三次握手四次揮手

圖片來源于微信公眾號:碼農求職小助手

答: 嗯(稍作思考)…

三次握手簡單來說,在數據傳輸開始前:

第一次握手:客戶端向服務端發送一段用來連接請求的報文,其中SYN=1,ACK=0。

第二次握手:服務器端接收之后,如果同意連接。則返回一段確認的報文,SYN=1,ACK=1。

第三次握手: 客戶端收到服務端的確認后,還要再次向服務段給出確認,ACK=1。

三次握手完畢后,客戶端與服務器才正式開始傳送數據。

三次握手簡單來說,在數據傳輸開始前:

第一次握手:SYN=1(seq=x)SYN=1表示請求連接,seq=x為隨機選取序號,發送端由CLOSE進入FIN_SENT狀態。

第二次握手:ACK=1(ack=x+1),ACK=1表示確認連接,返回序列號加1是為了讓客戶端確認我接受到的信息是你發送的。SYN=1(seq=y),代表服務端也請求連接,并返回一個自己指定的序列號。服務端由LISTEN進入SYN_RECD狀態。

第三次握手:ACK=1(seq=x+1,ack=y+1)ACK=1表示確認連接;ack=y+1是為了驗證傳輸的準確性,seq=x+1(前面發送的FIN報文段需要消耗一個序號);客戶端由SYN_SENT進入ESTABLISHED階段。服務端收到ACK后進入ESTABLISH階段。

四次握手簡單來說,在數據傳輸結束后:

第一次揮手:客戶端發送一個用來關閉客戶端到服務端的數據傳送的報文。FIN=1。

第二次揮手:服務端收到FIN包后,發送一個確認包給對方,ACK=1。

第三次揮手:服務端發送一個用來關閉服務端到客戶端的數據傳送的報文,FIN=1,ACK=1。

第四次揮手:客戶端收到FIN后,發送一個確認包,ACK=1。之后等待2MSL(MSL最長報文段壽命)后,保證報文段能夠達到B,再進入關閉狀態。

至此,完成四次揮手,客戶端與服務器才正式結束數據傳輸。

四次握手詳細來說,在數據傳輸結束后:

第一次揮手:FIN=1(seq=u)FIN=1表示要求釋放連接;seq=u,u等于前面已經傳送過的數據的最后一個字節的序號加1。客戶端由由ESTABLISHED進入FIN_WAIT_1階段。

第二次揮手:ACK=1(ack=u+1,seq=v)ACK=1表明確認字段才有效;確認號為ack=u+1,seq=v,等于服務端前面已經傳送過的數據的最后一個字節的序號加1。服務端由由ESTABLISHED進入CLOSE_WAIT階段。

第三次揮手:ACK=1,FIN=1(ack=u+1,seq=w)seq=w(半關閉狀態下可能又有數據傳入)。服務端進入LAST_ACKj階段,客戶端進入FIN_WAIT_2狀態,

第四次揮手:ACK=1(ack=w+1,seq=u+1)seq=w+1(確認序號),seq=u+1(前面發送的FIN報文段需要消耗一個序號)。客戶端等待2MSL(MSL最長報文段壽命)后,保證報文段能夠達到B,進入CLOSE狀態。最后服務端收到報文后進入CLOSE之后。

二. 解釋一下SYN、ACK 、FIN 、seq和ack

同步SYN:連接建立時用于同步序號。當SYN=1,ACK=0時表示:這是一個連接請求報文段。若同意連接,則在響應報文段中使得SYN=1,ACK=1。因此,SYN=1表示這是一個連接請求,或連接接受報文。SYN這個標志位只有在TCP建產連接時才會被置1,握手完成后SYN標志位被置0。

確認ACK:占1位,僅當ACK=1時,確認號字段才有效。ACK=0時,確認號無效。

終止FIN:用來釋放一個連接。FIN=1表示:此報文段的發送方的數據已經發送完畢,并要求釋放運輸連接。

序列號seq:占4個字節,用來標記數據段的順序,TCP把連接中發送的所有數據字節都編上一個序號,第一個字節的編號由本地隨機產生;給字節編上序號后,就給每一個報文段指派一個序號;序列號seq就是這個報文段中的第一個字節的數據編號。

確認號ack:占4個字節,期待收到對方下一個報文段的第一個數據字節的序號;序列號表示報文段攜帶數據的第一個字節的編號;而確認號指的是期望接收到下一個字節的編號;因此當前報文段最后一個字節的編號+1即為確認號。

PS:ACK、SYN和FIN這些大寫的單詞表示標志位,其值要么是1,要么是0;ack、seq小寫的單詞表示序號。原文鏈接:link.

三. 為什么是三次握手,可以是兩次嗎?

不可以(非常堅定的語氣)。假如以兩次握手建立連接,服務端在某一時刻突然收到了一個來自被客戶端卡了很久已經丟棄的SYN包,服務端的操作是返回SYN+ACK并且進入工作狀態??蛻舳耸盏椒答伜?#xff0c;無法告訴服務端這是錯誤的SYN的包,會造成資源的浪費。

四. 為什么斷開連接需要四次揮手?

答:因為在客戶端發送給服務端FIN包后,服務端返回的FIN和ACK包是分開發送的。為什么要分開呢?因為客戶端發送給服務端FIN包后,只表示客戶端已經沒有數據要發送了,但是另一個方向上可能還會有數據傳輸進來。所以第二次和第三次揮手分開發送,服務端先給出ACK確認信號,表示已經收到FIN請求,然后當自己也可以結束的時候,再次發送FIN信號。是為了為未傳輸完畢的數據預留時間,所以需要揮手交互需要四次。

五. 為什么 TIME-WAIT 狀態必須等待 2MSL 的時間呢?

為了保證 A 發送的最后一個 ACK 報文段能夠到達 B。 A 發送的最后一個 ACK 報文段有可能丟失,因而使處在 LAST-ACK 狀態的 B 收不到對已發送的 FIN + ACK 報文段的確認。B 會超時重傳這個 FIN+ACK 報文段,而 A 就能在 2MSL 時間內(超時 + 1MSL 傳輸)收到這個重傳的 FIN+ACK 報文段。接著 A 重傳一次確認,重新啟動 2MSL 計時器。最后,A 和 B 都正常進入到 CLOSED 狀態。如果 A 在 TIME-WAIT 狀態不等待一段時間,而是在發送完 ACK 報文段后立即釋放連接,那么就無法收到 B 重傳的 FIN + ACK 報文段,因而也不會再發送一次確認報文段,這樣,B 就無法按照正常步驟進入 CLOSED 狀態。

防止已失效的連接請求報文段出現在本連接中。A 在發送完最后一個 ACK 報文段后,再經過時間 2MSL,就可以使本連接持續的時間內所產生的所有報文段都從網絡中消失。這樣就可以使下一個連接中不會出現這種舊的連接請求報文段。

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的java锁一次交互二次握手_Java后台开发面试实战(二):TCP三次握手四次挥手的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 蜜臀av性久久久久蜜臀aⅴ四虎 | 永久免费不卡在线观看黄网站 | 91传媒视频在线观看 | 亚洲成人av电影网站 | 国内自拍第三页 | 国产一区二区综合 | 色偷偷资源网 | 国产一区二区网 | 成人拍拍视频 | 凹凸视频一区二区 | 好色先生tv官网 | 99久久国产热无码精品免费 | 色噜噜狠狠狠综合曰曰曰88av | 日本最黄网站 | av观看国产 | 婷婷亚洲五月色综合 | 欧美射| 一本一道无码中文字幕精品热 | 自拍一级片 | 青青草华人在线 | 国产精品久久久久久免费 | 天堂a在线 | 青青草这里只有精品 | 欧美精品在线视频 | 国产人妖在线播放 | 日韩欧美黄 | 精品九九在线 | 亚洲国产123 | 美女野外找人搭讪啪啪 | 97久久久| 久草视频观看 | 性欧美长视频 | 国产日产亚洲精品 | 男女在线观看视频 | 成人福利院 | 99成人国产精品视频 | 亚洲一区二区在线 | 看特级黄色片 | 国内一区二区视频 | 一级久久久久久久 | 99久久久 | 爱爱视频网 | 亚洲国产网址 | 欧美整片在线观看 | 天天操天天爱天天干 | 亚洲玖玖爱 | 精品二区视频 | 国产午夜小视频 | 日韩欧美中文字幕在线观看 | 超级碰碰97| 羞羞的软件 | 国产精品一区二区三区免费看 | 国产精品5区| 欧美中文日韩 | 欧美一级特黄视频 | 久久逼逼 | 国产精品精品国产 | 大乳女喂男人吃奶视频 | 精品国产免费观看 | 日本黄在线观看 | 日韩乱码在线 | 久久综合一区二区三区 | 亚洲一级Av无码毛片久久精品 | 亚洲精品91天天久久人人 | 在线观看视频毛片 | 久久久久九九九九 | 久久久久久黄色 | 欧美伦理一区二区三区 | 国产午夜精品一区二区三区视频 | 欧美一级特黄视频 | 国产又大又粗又硬 | 97视频免费在线观看 | 色屁屁ts人妖系列二区 | 麻豆一区二区三区在线观看 | 秋霞欧美在线观看 | 九九精品热| 国产区视频 | 思思99精品视频在线观看 | 亚洲人精品 | 精品久久一区 | 噼里啪啦国语电影 | 国产51视频| 亚洲国产精品久久久久婷蜜芽 | 欧洲成人免费视频 | 国产成人在线播放视频 | 麻豆影视在线免费观看 | 在线观看av免费 | 中文字幕精品视频在线观看 | 青青草成人av | 亚洲午夜av久久乱码 | jzz在线观看 | av片在线观看网站 | 日本天堂一区 | 亚洲国产日韩一区二区 | 性欧美大战久久久久久久 | 国产21区 | 日韩中文字幕免费在线观看 | 完全免费在线视频 | 成人免费毛片嘿嘿连载视频 |