TCP的三次握手

在將TCP之前我們得了解什么是TCP络凿,下面就簡(jiǎn)單的介紹一下TCP荞彼。

TCP是一種計(jì)算機(jī)網(wǎng)絡(luò)協(xié)議冈敛,是一種面向連接的、可靠性鸣皂、基于字節(jié)流的傳輸層通信協(xié)議抓谴。

在互聯(lián)網(wǎng)中我們經(jīng)常會(huì)使用到TCP協(xié)議,就像我們?cè)L問(wèn)一個(gè)網(wǎng)站寞缝,網(wǎng)址域名就得帶上http://或者h(yuǎn)ttps://開(kāi)頭的網(wǎng)址域名(而https也是屬于http協(xié)議的癌压,只不過(guò)https是以安全為目標(biāo)的http通道,即是http下加了SSL第租,因此加密的詳細(xì)內(nèi)容就是SSL措拇。)http協(xié)議是對(duì)應(yīng)于應(yīng)用層,而TCP協(xié)議是對(duì)應(yīng)于傳輸層慎宾,所以http協(xié)議是建立在tcp的基礎(chǔ)上的。為什么說(shuō)是http協(xié)議是簡(jiǎn)歷在tcp的基礎(chǔ)上呢浅悉?因?yàn)榛ヂ?lián)網(wǎng)是由一整套協(xié)議構(gòu)成的趟据,而TCP和http只是其中的兩個(gè)層,有著自己的分工术健。


下面就直接進(jìn)入主題汹碱,TCP的三次握手過(guò)程:

第一步:客戶(hù)端發(fā)送一個(gè)包含SYN標(biāo)識(shí)的TCP報(bào)文,SYN即同步(Synchronize)的意思荞估,SYN報(bào)文會(huì)指明客戶(hù)端的端口號(hào)及TCP連接的初始序列號(hào)咳促。

第二步:服務(wù)器在收到客戶(hù)端的SYN報(bào)文后稚新,會(huì)返回一個(gè)SYN+ACK的報(bào)文,表示客戶(hù)端請(qǐng)求被接收跪腹,同時(shí)褂删,TCP序列號(hào)被加一,ACK即確認(rèn)的意思(Acknowledgment)

第三步:客戶(hù)端在接收服務(wù)端的SYN+ACK報(bào)文后冲茸,也會(huì)返回一個(gè)ACK報(bào)文給服務(wù)端屯阀,同樣,TCP序列號(hào)被加一轴术,TCP連接便建立好了难衰,接下來(lái)便可以進(jìn)行數(shù)據(jù)通信。


以上就是TCP的三次握手的過(guò)程逗栽,那么我們來(lái)思考一下盖袭;

1、TCP的三次握手有什么缺點(diǎn)彼宠?

TCP協(xié)議為實(shí)現(xiàn)可靠傳輸鳄虱,在三次握手的過(guò)程中設(shè)置了一些異常處理機(jī)制。第三步中如果服務(wù)器沒(méi)有收到客戶(hù)端的ACK報(bào)文兵志,服務(wù)端一般會(huì)進(jìn)行重試醇蝴,也就是再次發(fā)送SYN+ACK報(bào)文給客戶(hù)端,并且一直處于SYN_RECV狀態(tài)想罕,將客戶(hù)端加入等待列表悠栓。重發(fā)一般會(huì)進(jìn)行3~5次,大約每隔30秒左右會(huì)輪詢(xún)一遍等待隊(duì)列按价,重試所有客戶(hù)端惭适;另一方面,服務(wù)器在發(fā)出SYN+ACK報(bào)文后楼镐,會(huì)預(yù)分配一部分資源給即將建立的TCP連接癞志,這個(gè)資源在等待重試期間一直保留,更為重要的是框产,服務(wù)器資源有限凄杯,可以維護(hù)的等待列表超過(guò)極限后就不再接收新的SYN報(bào)文,也就是建立新的TCP連接秉宿。

SYN Flood攻擊正是利用了TCP協(xié)議三次握手的過(guò)程來(lái)達(dá)成打擊的目的戒突。攻擊者偽造大量的IP地址給服務(wù)器發(fā)送SYN報(bào)文,但是由于偽造的IP地址不存在描睦,也就不可能在客戶(hù)端得到任何回應(yīng)膊存,服務(wù)端將維護(hù)一個(gè)非常大的半連接等待列表,并且不斷對(duì)這個(gè)列表中的IP地址進(jìn)行遍歷和重試,大量的占用了服務(wù)器資源隔崎。嚴(yán)重的是今艺,由于服務(wù)器資源有限,大量的惡意客戶(hù)端占滿(mǎn)了服務(wù)器的等待隊(duì)列爵卒,導(dǎo)致服務(wù)器不再接受新的SYN請(qǐng)求虚缎,正常用戶(hù)無(wú)法完成三次握手與服務(wù)端通信。

防止SYNFlood攻擊有很多種辦法技潘,例如從防火墻進(jìn)行防御和更多的網(wǎng)絡(luò)安全技術(shù)遥巴,這里就不再做詳細(xì)介紹。

2享幽、為什么TCP要三次握手/為什么是三次握手铲掐?

? 答:三次握手的目的是:為了防止已經(jīng)失效的連接請(qǐng)求報(bào)文段突然又傳到服務(wù)端,因產(chǎn)生錯(cuò)誤值桩。我們也要知道TCP是全雙工的摆霉,也就是說(shuō)客戶(hù)端給服務(wù)端發(fā)送信息的同時(shí),服務(wù)器端也能給客戶(hù)端發(fā)送信息奔坟。就像是兩個(gè)人通電話(huà)携栋,我們就來(lái)模擬一次小張和小明通電話(huà)的過(guò)程:

小張:喂,小明你能聽(tīng)得到我的聲音嗎咳秉?(第一次握手)

(如果信號(hào)正常婉支,小明能聽(tīng)到小張的聲音,那么小明肯定會(huì)告訴小張)

小明:我可以聽(tīng)到你說(shuō)話(huà)澜建,你能聽(tīng)到我說(shuō)話(huà)嗎向挖?(第二次握手)

小張:嘻嘻,我能聽(tīng)到你說(shuō)話(huà)了炕舵,那接下來(lái)我們就來(lái)通電話(huà)吧何之。(第三次握手)

在三次握手后,就能確定兩邊都沒(méi)什么問(wèn)題咽筋,就可以互相通信了溶推,如果是四次握手的話(huà)就會(huì)造成了資源浪費(fèi),如果是兩次握手的話(huà)就會(huì)有一邊不能確定另一邊是否有問(wèn)題奸攻,這就是為什么會(huì)是TCP三次握手蒜危。

請(qǐng)關(guān)注微信公眾號(hào):請(qǐng)快點(diǎn)喜歡我

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市睹耐,隨后出現(xiàn)的幾起案子舰褪,更是在濱河造成了極大的恐慌,老刑警劉巖疏橄,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡捎迫,警方通過(guò)查閱死者的電腦和手機(jī)晃酒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)窄绒,“玉大人贝次,你說(shuō)我怎么就攤上這事≌玫迹” “怎么了蛔翅?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)位谋。 經(jīng)常有香客問(wèn)我山析,道長(zhǎng),這世上最難降的妖魔是什么掏父? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任笋轨,我火速辦了婚禮,結(jié)果婚禮上赊淑,老公的妹妹穿的比我還像新娘爵政。我一直安慰自己,他們只是感情好陶缺,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布钾挟。 她就那樣靜靜地躺著,像睡著了一般饱岸。 火紅的嫁衣襯著肌膚如雪掺出。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,950評(píng)論 1 291
  • 那天伶贰,我揣著相機(jī)與錄音蛛砰,去河邊找鬼。 笑死黍衙,一個(gè)胖子當(dāng)著我的面吹牛泥畅,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播琅翻,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼位仁,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了方椎?” 一聲冷哼從身側(cè)響起聂抢,我...
    開(kāi)封第一講書(shū)人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎棠众,沒(méi)想到半個(gè)月后琳疏,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體有决,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年空盼,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了书幕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡揽趾,死狀恐怖台汇,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情篱瞎,我是刑警寧澤苟呐,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站俐筋,受9級(jí)特大地震影響牵素,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜校哎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一两波、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧闷哆,春花似錦腰奋、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至屈留,卻和暖如春局冰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背灌危。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工康二, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人勇蝙。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓沫勿,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親味混。 傳聞我的和親對(duì)象是個(gè)殘疾皇子产雹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

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

  • 說(shuō)起TCP中最常見(jiàn)最重要的問(wèn)題當(dāng)然就是“三次握手”、“四次分手”了翁锡。在此之前蔓挖,我們先來(lái)預(yù)熱一下TCP的基本知識(shí)。 ...
    Wangheguan閱讀 1,732評(píng)論 0 0
  • 1馆衔、三次握手 (1)三次握手的詳述 首先Client端發(fā)送連接請(qǐng)求報(bào)文瘟判,Server段接受連接后回復(fù)ACK報(bào)文怨绣,并...
    江湖相望知冷暖閱讀 1,889評(píng)論 1 0
  • 計(jì)算機(jī)中的計(jì)算 我們都知道計(jì)算機(jī)由軟件和硬件組成。而真正參與運(yùn)算的核心硬件是處理器荒适,即CPU梨熙。簡(jiǎn)單來(lái)說(shuō),CPU實(shí)際...
    Ly_Never閱讀 1,182評(píng)論 0 1
  • 1. 前幾天梅姑娘問(wèn):二少爺,我們公司有個(gè)男同事树埠,沒(méi)事總跟我聊天糠馆,你說(shuō),他是不是對(duì)我有意思怎憋? 我說(shuō):不一定是對(duì)你有...
    珉二少閱讀 13,297評(píng)論 3 11
  • 人至中年又碌,回首自己走過(guò)的前半生才發(fā)現(xiàn),人生的精彩不在于得到了什么绊袋,而在于你經(jīng)歷了什么毕匀。 上世紀(jì)末,19歲的我癌别,經(jīng)過(guò)...
    丁海鵬閱讀 1,623評(píng)論 1 5