您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“TCP的三次握手怎么理解”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
在TCP/IP協(xié)議中,TCP協(xié)議提供可靠的連接服務(wù),采用三次握手建立一個連接。
第一次握手:建立連接時,客戶端發(fā)送syn包(syn=j)到服務(wù)器,并進入SYN_SEND狀態(tài),等待服務(wù)器確認;
第二次握手:服務(wù)器收到syn包,必須確認客戶的SYN(ack=j+1),同時自己也發(fā)送一個SYN包(syn=k),即SYN+ACK包,此時服務(wù)器 進入SYN_RECV狀態(tài);
第三次握手:客戶端收到服務(wù)器的SYN+ACK包,向服務(wù)器發(fā)送確認包ACK(ack=k+1),此包發(fā)送完畢,客戶端和服務(wù)器進入 ESTABLISHED狀態(tài),完成三次握手。
通過這樣的三次握手,客戶端與服務(wù)端建立起可靠的雙工的連接,開始傳送數(shù)據(jù)。
三次握手的最主要目的是保證連接是雙工的,可靠更多的是通過重傳機制來保證的。
但是為什么一定要進行三次握手來保證連接是雙工的呢,一次不行么?兩次不行么?我們舉一個現(xiàn)實生活中兩個人進行語言溝通的例子來模擬三次握手。
老婆讓甲出去打醬油,半路碰到一個朋友乙,甲問了一句:哥們你吃飯了么?
結(jié)果乙?guī)е鷻C聽歌呢,根本沒聽到,沒反應(yīng)。甲心里想:跟你說話也沒個音,不跟你說了,溝通失敗。說明乙接受不到甲傳過來的信息的情況下溝通肯定是失敗的。
如果乙聽到了甲說的話,那么第一次對話成功,接下來進行第二次對話。
乙聽到了甲說的話,但是他是老外,中文不好,不知道甲說的啥意思也不知道怎樣回答,于是隨便回答了一句學過的中文 :我去廁所了。甲一聽立刻笑噴了,“去廁所吃飯”?道不同不相為謀,離你遠點吧,溝通失敗。說明乙無法做出正確應(yīng)答的情況下溝通失敗。
如果乙聽到了甲的話,做出了正確的應(yīng)答,并且還進行了反問:我吃飯了,你呢?那么第二次握手成功。
通過前兩次對話證明了乙能夠聽懂甲說的話,并且能做出正確的應(yīng)答。接下來進行第三次對話。
甲剛和乙打了個招呼,突然老婆喊他,“你個死鬼,打個醬油咋這么半天,看我回家咋收拾你”,甲是個妻管嚴,聽完嚇得二話不說就跑回家了,把乙自己晾那了。乙心想:這什么人啊,得,我也回家吧,溝通失敗。說明甲無法做出應(yīng)答的情況下溝通失敗。
如果甲也做出了正確的應(yīng)答:我也吃了。那么第三次對話成功,兩人已經(jīng)建立起了順暢的溝通渠道,接下來開始持續(xù)的聊天。
通過第二次和第三次的對話證明了甲能夠聽懂乙說的話,并且能做出正確的應(yīng)答。
可見,兩個人進行有效的語言溝通,這三次對話的過程是必須的。
同理對于TCP為什么需要進行三次握手我們可以一樣的理解:
為了保證服務(wù)端能收接受到客戶端的信息并能做出正確的應(yīng)答而進行前兩次(第一次和第二次)握手,為了保證客戶端能夠接收到服務(wù)端的信息并能做出正確的應(yīng)答而進行后兩次(第二次和第三次)握手。
買手機的時候試通話功能的時候:
老機打給新機 : 喂 , 聽到了嗎 ?
新機回復(fù)老機 : 聽到了 , 你聽到了嗎 ?
老機 : 聽到了聽到了 …
驗證通話功能OK !
“TCP的三次握手怎么理解”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。