动态

详情 返回 返回

TCP/IP 協議的三次握手和四次揮手 - 动态 详情

TCP/IP 協議是傳輸層的一個面向連接的安全可靠的一個傳輸協議,三次握手的機制是為了保證能建立一個安全可靠的連接

三次握手

那麼第一次握手是由客户端發起,客户端會向服務端發送一個報文,在報文裏面:SYN標誌位置為1,表示發起新的連接。
當服務端收到這個報文之後就知道客户端要和我建立一個新的連接,於是服務端就向客户端發送一個確認消息包,在這個消息包裏面:ack標誌位置為1,表示確認客户端發起的第一次連接請求。
以上兩次握手之後,對於客户端而言:已經明確了我既能給服務端成功發消息,也能成功收到服務端的響應。
但是對於服務端而言:兩次握手是不夠的,因為到目前為止,服務端只知道一件事,客户端發給我的消息我能收到,但是我響應給客户端的消息,客户端能不能收到我是不知道的。
所以,還需要進行第三次握手,第三次握手就是當客户端收到服務端發送的確認響應報文之後,還要繼續去給服務端進行迴應,也是一個ack標誌位置1的確認消息。通過以上三次連接,不管是客户端還是服務端,都知道我既能給對方發送消息,也能收到對方的響應。那麼,這個連接就被安全的建立了。

四次揮手

四次揮手通常也是客户端發起的,客户端會發送一個報文,報文FIN=1,當服務端收到這個報文之後,就知道了客户端想要和我斷開連接
但是此時服務端不一定做好準備,因為當客户端發起斷開連接的報文的時候,服務端有可能還有未發送完的報文消息需要繼續發送,所以此時服務端只能告訴客户端我知道你要和我斷開連接了,但是我這裏可能還沒做好準備,需要等我一下,等會我會告訴你
於是,發完這個消息確認報文之後,稍過片刻之後服務端繼續發送一個斷開連接的報文,FIN=1,表明服務端已經做好斷開連接的準備,那麼,當這個消息發給客户端的時候,客户端同樣需要繼續發送一個消息確認的報文
那麼通過這四次的相互溝通和連接,我就知道了,不管是客户端還是服務端,都已經做好了斷開的準備

以上

Add a new 评论

Some HTML is okay.