【http】TCP 的三次握手和四次握手


TCP三次握手和四次揮手


通過上面這張圖我們能夠知道幸撕。

在Http工作之前雪侥,Web瀏覽器通過網(wǎng)絡(luò)和Web服務(wù)器建立鏈連接彰亥,該連接是通過Tcp來完成的葱色,該協(xié)議和Ip共同組成了Internet卸伞,即著名的Tcp/Ip協(xié)議族抹镊,Http是比Tcp更高的應(yīng)用層協(xié)議,一般Tcp接口的端口好是80荤傲。

TCP(Transmission Control Protocol)傳輸控制協(xié)議

TCP是主機(jī)對主機(jī)層的傳輸控制協(xié)議垮耳,提供可靠的連接服務(wù),采用三次握手確認(rèn)建立一個(gè)連接:

位碼即tcp標(biāo)志位,有6種標(biāo)示:SYN(建立聯(lián)機(jī))? ACK(確認(rèn))? PSH(傳送)? FIN(結(jié)束)? RST(重置)? ? URG(緊急)? Sequence number(順序號碼)? ? Acknowledge number(確認(rèn)號碼).

二? TCP的三次握手



第一次握手:客戶端發(fā)送了一個(gè)帶有SYN(建立連接)Tcp報(bào)文到服務(wù)器遂黍,這個(gè)三次握手中的開始终佛。表示客戶端想要和服務(wù)端建立連接。

第二次握手:服務(wù)端接收到客戶端的請求雾家,返回客戶端報(bào)文铃彰,這個(gè)報(bào)文帶有SYN(建立連接)ACK(確認(rèn))標(biāo)志,詢問客戶端是否準(zhǔn)備好芯咧。

第三次握手:.客戶端再次響應(yīng)服務(wù)端一個(gè)ACK(確認(rèn))牙捉,表示我已經(jīng)準(zhǔn)備好竹揍。


TCP的四次握手



第一次揮手:TCP發(fā)送一個(gè)FIN(結(jié)束),用來關(guān)閉客戶到服務(wù)端的連接邪铲。

第二次揮手:服務(wù)端收到這個(gè)FIN芬位,他發(fā)回一個(gè)ACK(確認(rèn)),確認(rèn)收到序號為收到序號+1带到,和SYN一樣昧碉,一個(gè)FIN將占用一個(gè)序號。

第三次揮手:服務(wù)端發(fā)送一個(gè)FIN(結(jié)束)到客戶端揽惹,服務(wù)端關(guān)閉客戶端的連接被饿。

第四次揮手:客戶端發(fā)送ACK(確認(rèn))報(bào)文確認(rèn),并將確認(rèn)的序號+1永丝,這樣關(guān)閉完成锹漱。

為什么會采用三次握手箭养,若采用二次握手可以嗎慕嚷?

1. 采用三次握手是為了防止失效的連接請求報(bào)文段突然又傳送到主機(jī)B,因而產(chǎn)生錯(cuò)誤毕泌。失效的連接請求報(bào)文段是指:主機(jī)A發(fā)出的連接請求沒有收到主機(jī)B的確認(rèn)喝检,于是經(jīng)過一段時(shí)間后,主機(jī)A又重新向主機(jī)B發(fā)送連接請求撼泛,且建立成功挠说,順序完成數(shù)據(jù)傳輸。

2. 考慮這樣一種特殊情況愿题,主機(jī)A第一次發(fā)送的連接請求并沒有丟失损俭,而是因?yàn)榫W(wǎng)絡(luò)節(jié)點(diǎn)導(dǎo)致延遲達(dá)到主機(jī)B,主機(jī)B以為是主機(jī)A又發(fā)起的新連接潘酗,于是主機(jī)B同意連接杆兵,并向主機(jī)A發(fā)回確認(rèn),但是此時(shí)主機(jī)A根本不會理會仔夺,主機(jī)B就一直在等待主機(jī)A發(fā)送數(shù)據(jù)琐脏,導(dǎo)致主機(jī)B的資源浪費(fèi)。

為什么建立連接協(xié)議是三次握手缸兔,而關(guān)閉連接卻是四次握手呢日裙?

原因是因?yàn)門CP是全雙工模式,因此每個(gè)方向都需要一個(gè)FIN和ACK惰蜜,當(dāng)一端發(fā)送了FIN包之后昂拂,處于半關(guān)閉狀態(tài),此時(shí)仍然可以接收數(shù)據(jù)包抛猖。在建立連接時(shí)格侯,服務(wù)器可以把SYN和ACK放在一個(gè)包中發(fā)送路克。

但是在斷開連接時(shí),如果一端收到FIN包养交,但此時(shí)仍有數(shù)據(jù)未發(fā)送完精算,此時(shí)就需要先向?qū)Χ嘶貜?fù)FIN包的ACK。等到將剩下的數(shù)據(jù)都發(fā)送完之后碎连,再向?qū)Χ税l(fā)送FIN灰羽,斷開這個(gè)方向的連接。

因此很多時(shí)候FIN和ACK需要在兩個(gè)數(shù)據(jù)包中發(fā)送鱼辙,因此需要四次握手

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末廉嚼,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子倒戏,更是在濱河造成了極大的恐慌怠噪,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件杜跷,死亡現(xiàn)場離奇詭異傍念,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)葛闷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進(jìn)店門憋槐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人淑趾,你說我怎么就攤上這事阳仔。” “怎么了扣泊?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵近范,是天一觀的道長。 經(jīng)常有香客問我延蟹,道長评矩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任等孵,我火速辦了婚禮稚照,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘俯萌。我一直安慰自己果录,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布咐熙。 她就那樣靜靜地躺著弱恒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪棋恼。 梳的紋絲不亂的頭發(fā)上返弹,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天锈玉,我揣著相機(jī)與錄音,去河邊找鬼义起。 笑死拉背,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的默终。 我是一名探鬼主播椅棺,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼齐蔽!你這毒婦竟也來了两疚?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤含滴,失蹤者是張志新(化名)和其女友劉穎诱渤,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谈况,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡勺美,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鸦做。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片励烦。...
    茶點(diǎn)故事閱讀 38,724評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡谓着,死狀恐怖泼诱,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情赊锚,我是刑警寧澤治筒,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站舷蒲,受9級特大地震影響耸袜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜牲平,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一堤框、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧纵柿,春花似錦蜈抓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至渊跋,卻和暖如春腊嗡,著一層夾襖步出監(jiān)牢的瞬間着倾,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工燕少, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留卡者,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓客们,卻偏偏與公主長得像虎眨,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子镶摘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評論 2 350

推薦閱讀更多精彩內(nèi)容