tcp三次握手四次揮手大白話理解

三次握手建立連接闡述:
第一次握手:客戶端要和服務端進行通信,首先要告知服務端一聲,遂發出一個SYN=1的連接請求信號,”服務端哥哥,我想給你說說話”。
第二次握手:當服務端接收到客戶端的連接請求,此時要給客戶端一個確認信息,”我知道了(ACK),我這邊已經准備好了,你現在能連嗎(SYN)”。
第三次握手:當客戶端收到了服務端的確認連接信息后,要禮貌的告知一下服務端,“好的,咱們開始聯通吧(ACK)”。
到此整個建立連接的過程已經結束,接下來就是雙方你一句我一句甚至同時交流傳遞信息的過程了。
四次揮手斷開連接闡述:
第一次揮手:雙方交流的差不多了,此時客戶端也已經結尾了,接下來要斷開通信連接,所以告訴服務端“我說完了(FIN)”,此時自身形成等待結束連接的狀態。
第二次揮手:服務端知道客戶端已經沒話說了,服務端此時還有兩句心里話要給客戶端說,“我知道你說完了(ACK),我再給你說兩句,&*……%¥”。
第三次揮手:此時客戶端洗耳恭聽繼續處於等待結束的狀態,服務器端也說完了,自身此時處於等待關閉連接的狀態,並對告訴客戶端,“我說完了,咱們斷了吧(FIN)”。
第四次揮手:客戶端收知道服務端也說完了,也要告訴服務端一聲(ACK),因為連接和斷開要雙方都按下關閉操作才能斷開,客戶端同時又為自己定義一個定時器,因為不知道剛才說的這句話能不能准確到達服務端(網絡不穩定或者其他因素引起的網絡原因),默認時間定為兩個通信的最大時間之和,超出這個時間就默認服務器端已經接收到了自己的確認信息,此時客戶端就關閉自身連接,服務器端一旦接收到客戶端發來的確定通知就立刻關閉服務器端的連接。
到此為止雙方整個通信過程就此終結。這里要聲明一下:斷開鏈接不一定就是客戶端,誰都可以先發起斷開指令,另外客戶端和服務端是沒有固定標准的,誰先發起請求誰就是客戶端。
