TCP的三次握手與四次揮手詳細(xì)介紹
TCP的三次握手與四次揮手詳細(xì)介紹
為什么是三次握手?
目的:防止已失效的連接請(qǐng)求又傳到了服務(wù)器端。
場(chǎng)景(A為客戶,B為服務(wù)器):A向B發(fā)送一個(gè)請(qǐng)求連接報(bào)文,但是這個(gè)報(bào)文在網(wǎng)絡(luò)中阻塞了,并沒有傳到B。所以B也無(wú)法向A發(fā)送確認(rèn)報(bào)文,在A的重傳計(jì)時(shí)器到達(dá)之后,A再次向B發(fā)送請(qǐng)求連接報(bào)文,這個(gè)報(bào)文B收到了,并且向A做出應(yīng)答,建立連接,傳輸數(shù)據(jù)。數(shù)據(jù)傳輸完后,關(guān)閉連接。問題來(lái)了,就在B關(guān)閉連接之后,A第一次發(fā)送的請(qǐng)求連接報(bào)文到了(這個(gè)報(bào)文是已經(jīng)失效的),B以為A要再次創(chuàng)建一個(gè)新連接,于是向A發(fā)送確認(rèn)報(bào)文。
如果采用兩次握手的話,此時(shí)連接已經(jīng)建立了。但是A根本沒有向B發(fā)送請(qǐng)求連接報(bào)文,所以A并不會(huì)理會(huì)B的確認(rèn)。B以為此時(shí)連接已經(jīng)建立了,就會(huì)一直等待A向它發(fā)送數(shù)據(jù)。這樣B的資源就白白浪費(fèi)了。
但是采用三次握手就不同了,A不會(huì)因?yàn)锽的確認(rèn)而向B發(fā)送確認(rèn),B收不到A的確認(rèn),就知道B沒有請(qǐng)求連接。B的資源也就不會(huì)浪費(fèi)。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
Unity3D中shader 輪廓描邊效果實(shí)現(xiàn)代碼
這篇文章主要介紹了Unity3D中shader 輪廓描邊效果的相關(guān)資料,需要的朋友可以參考下2017-03-03Scala函數(shù)式編程專題--函數(shù)思想介紹
這篇文章主要介紹了Scala函數(shù)式編程的的相關(guān)資料,文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-06-06詳解windows 環(huán)境下搭建electricSearch+kibana
這篇文章主要介紹了windows 環(huán)境下搭建electricSearch+kibana,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05