多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > 互聯(lián)網(wǎng) > TCP的三次握手和四次揮手

TCP的三次握手和四次揮手

來(lái)源:程序員人生   發(fā)布時(shí)間:2015-02-26 21:21:56 閱讀次數(shù):2536次


TCP3次握手:
---------------------------------

是指建立1個(gè)TCP連接時(shí),需要客戶端和服務(wù)器總共發(fā)送3個(gè)包。

3次握手的目的是連接服務(wù)器指定端口,建立TCP連接,并同步連接雙方的序列號(hào)和確認(rèn)號(hào)并交換 TCP 窗口大小信息,在socket編程中,客戶端履行connect()時(shí)。將觸發(fā)3次握手。

序號(hào)(seq):本報(bào)文段所發(fā)送的數(shù)據(jù)的第1個(gè)字節(jié)的序號(hào)
確認(rèn)號(hào)(ack):是期望收到對(duì)方下1個(gè)報(bào)文段的第1個(gè)數(shù)據(jù)字節(jié)的序號(hào);若確認(rèn)號(hào)為x,則到序號(hào)x⑴為止(包括x⑴)的所有數(shù)據(jù)都已正確收到
確認(rèn)(ACK):僅當(dāng) ACK=1 時(shí),確認(rèn)號(hào)字段才有效,當(dāng) ACK=0時(shí),確認(rèn)號(hào)無(wú)效;TCP規(guī)定:在連接建立后所有傳送的報(bào)文都必須把ACK置1
同步(SYN):當(dāng) SYN=1 而 ACK=0 時(shí),表明這是1個(gè)連接要求報(bào)文段,若對(duì)方同意建立連接,則應(yīng)在響應(yīng)的報(bào)文中使用 SYN=1 和 ACK=1 ;SYN=1 就表示這是1個(gè)連接要求或連接接受報(bào)文。
終止(FIN):用來(lái)釋放1個(gè)連接。當(dāng) FIN=1 時(shí),表明此報(bào)文的發(fā)送方的數(shù)據(jù)已發(fā)送終了,并要求釋放運(yùn)輸連接。

TCP規(guī)定:
*在連接建立后所有傳送的報(bào)文都必須把ACK置1。
*SYN 報(bào)文段、FIN 報(bào)文段不能攜帶數(shù)據(jù),但要消耗掉1個(gè)序號(hào)。
*ACK 報(bào)文段可以攜帶數(shù)據(jù),但如果不攜帶數(shù)據(jù)則不消耗序號(hào)。


1個(gè)完全的3次握手也就是:要求--應(yīng)對(duì)--再次確認(rèn)

第1次握手:
客戶端進(jìn)程向服務(wù)器進(jìn)程發(fā)出連接要求報(bào)文段,報(bào)文段首部中 (初始)序號(hào)seq=x,同步SYN=1,這時(shí)候客戶端進(jìn)程進(jìn)入SYN-SENT(同步已發(fā)送)狀態(tài)。

第2次握手:
服務(wù)器進(jìn)程收到連接要求報(bào)文段后,若同意建立連接,則向客戶端進(jìn)程發(fā)送響應(yīng)報(bào)文段,報(bào)文段首部中 同步SYN=1,確認(rèn)ACK=1,確認(rèn)號(hào)ack=x+1(注:確認(rèn)號(hào)ack=客戶端進(jìn)程的seq+1),(初始)序號(hào)seq=y,這時(shí)候服務(wù)器進(jìn)程進(jìn)入SYN-RCVD(同步收到)狀態(tài)。

第3次握手:
客戶端進(jìn)程收到服務(wù)器進(jìn)程的響應(yīng)報(bào)文段后,還要想服務(wù)器進(jìn)程發(fā)出確認(rèn)報(bào)文段,報(bào)文段的首部中 同步SYN=0,確認(rèn)ACK=1,確認(rèn)號(hào)ack=y+1,序號(hào)seq=x+1,這時(shí)候TCP連接已建立,客戶端進(jìn)程和服務(wù)器進(jìn)程都進(jìn)入ESTABLISHED(已建立連接)

完成3次握手,主機(jī)A與主機(jī)B開始傳送數(shù)據(jù)

注:序號(hào)seq等于前面已傳送過(guò)的數(shù)據(jù)的最后1個(gè)字節(jié)的序號(hào)+1,在第1次握手中,seq=x,SYN=1(占1個(gè)序號(hào)位,即把 x 這個(gè)序號(hào)位給占了,所以下1次傳送的序號(hào)應(yīng)當(dāng)從x+1開始,揮手時(shí)的FIN也同理)

---------------------------------
TCP 4次揮手
---------------------------------
TCP的連接的撤除需要發(fā)送4個(gè)包,因此稱為4次揮手(four-way handshake)。客戶端或服務(wù)器都可主動(dòng)發(fā)起揮手動(dòng)作,在socket編程中,任何1方履行close()操作便可產(chǎn)生揮手操作

第1次揮手:
客戶端進(jìn)程向服務(wù)器段進(jìn)程發(fā)出連接釋放報(bào)文段,并停止再發(fā)送數(shù)據(jù),主動(dòng)關(guān)閉TCP連接,報(bào)文段首部中 終止FIN=1,序號(hào)seq=u,此時(shí)客戶端進(jìn)程進(jìn)入FIN-WAIT⑴(終止等待1)狀態(tài)

第2次揮手:
服務(wù)器進(jìn)程收到客戶端進(jìn)程的連接釋放報(bào)文段后,向客戶端進(jìn)程發(fā)送確認(rèn)報(bào)文段,報(bào)文段首部中 確認(rèn)ACK=1,確認(rèn)號(hào)ack=u+1,序號(hào)seq=v,此時(shí)服務(wù)器進(jìn)程就進(jìn)入CLOSE-WAIT(關(guān)閉等待)狀態(tài),并通知高層利用進(jìn)程。
客戶端進(jìn)程收到服務(wù)器進(jìn)程的確認(rèn)報(bào)文段后,客戶端進(jìn)程就進(jìn)入FIN-WAIT⑵(終止等待2)狀態(tài)。

第3次揮手:
利用進(jìn)程通知服務(wù)器進(jìn)程釋放連接后,服務(wù)器進(jìn)程發(fā)出連接釋放報(bào)文段,報(bào)文段首部中 確認(rèn)ACK=1,F(xiàn)IN=1 ,序號(hào)seq=w(在半關(guān)閉狀態(tài)時(shí)服務(wù)器進(jìn)程可能又發(fā)送了1些數(shù)據(jù)),確認(rèn)號(hào)ack=u+1,此時(shí)服務(wù)器進(jìn)程進(jìn)入LAST-ACK(最后肯定)狀態(tài)。

第4次揮手:
客戶端進(jìn)程收到服務(wù)器進(jìn)程的連接釋放報(bào)文段后,向服務(wù)器進(jìn)程發(fā)送肯定報(bào)文段,報(bào)文段段首部中 確認(rèn)ACK=1,序號(hào)seq=u+1,確認(rèn)號(hào)ack=w+1,此時(shí)客戶端進(jìn)程進(jìn)入到TIME-WAIT(時(shí)間等待)狀態(tài),等到等待時(shí)間過(guò)后,2者才都進(jìn)入到CLOSED(關(guān)閉)狀態(tài)


*>3次握手的目的:
1 要雙方做好發(fā)送數(shù)據(jù)的準(zhǔn)備工作(雙方都知道彼此已準(zhǔn)備好)
2 要雙方就初始序列號(hào)進(jìn)行協(xié)商和肯定

*>3次握手改成兩次握手會(huì)產(chǎn)生死鎖
如果采取兩次握手,有以下情況:A,B兩臺(tái)主機(jī),A發(fā)送連接要求,B給予確認(rèn),則認(rèn)為連接建立,如果B的確認(rèn)包在傳輸?shù)倪M(jìn)程中丟失,對(duì)A而言將1直處于等待B的確認(rèn)狀態(tài),而B認(rèn)為建立以成功,可以傳輸數(shù)據(jù),B傳給A的數(shù)據(jù),A將不予接受,從而B處于等待A的確   認(rèn)狀態(tài),相互等待造成死鎖。


*>SYN攻擊
在3次握手進(jìn)程中,服務(wù)器發(fā)送SYN-ACK以后,收到客戶真?zhèn)€ACK之前的TCP連接稱為半連接(half-open connect).此時(shí)服務(wù)器處于SYN-RCVD狀態(tài).當(dāng)收到ACK后,服務(wù)器轉(zhuǎn)入ESTABLISHED狀態(tài).
SYN攻擊就是 攻擊客戶端 在短時(shí)間內(nèi)捏造大量不存在的IP地址,向服務(wù)器不斷地發(fā)送syn包,服務(wù)器回復(fù)確認(rèn)包,并等待客戶的確認(rèn),由于源地址是不存在的,服務(wù)器需要不斷的重發(fā)直至超時(shí),這些捏造的SYN包將長(zhǎng)時(shí)間占用未連接隊(duì)列,正常的SYN要求被拋棄,目標(biāo)系統(tǒng)運(yùn)行緩慢,嚴(yán)重者引發(fā)網(wǎng)絡(luò)梗塞乃至系統(tǒng)癱瘓。
SYN攻擊是1個(gè)典型的DDOS攻擊。檢測(cè)SYN攻擊非常的方便,當(dāng)你在服務(wù)器上看到大量的半連接狀態(tài)時(shí),特別是源IP地址是隨機(jī)的,基本上可以判定這是1次SYN攻擊.在Linux下可以以下命令檢測(cè)是不是被Syn攻擊
netstat -n -p TCP | grep SYN_RECV
1般較新的TCP/IP協(xié)議棧都對(duì)這1進(jìn)程進(jìn)行修正來(lái)防范SYN攻擊,修改tcp協(xié)議實(shí)現(xiàn)。主要方法有SynAttackProtect保護(hù)機(jī)制、SYN cookies技術(shù)、增加最大半連接和縮短超時(shí)時(shí)間等.但是不能完全防范syn攻擊

生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 精品国产福利片在线观看 | 欧美性高清另类videosex | 日本一本高清v免费视频 | 国产亚洲精品精品国产亚洲综合 | 亚洲 校园 欧美 动漫 制服 | 叼嘿视频免费看 | 国产福利专区 | 免费看黄网站大全 | 另类ts人妖一区二区三区 | 曰本一区| 婷婷在线观看视频 | 高清视频一区 | 中文字幕国产在线 | 欧美丝袜高跟鞋一区二区 | 日本欧美久久久久免费播放网 | 国产亚洲一区二区三区在线观看 | 亚洲欧美色一区二区三区 | 欧美经典剧情系列h版在线观看 | 精品福利网 | 日本一区精品久久久久影院 | 伊人午夜| 番号网在线 | 欧美性xxxx极品高清 | 亚洲永久免费视频 | 亚洲日b| 欧美一级爆毛片 | 欧美成人性h版 | 在线成h人视频网站免费观看 | 国产国拍亚洲精品av | 最近高清中文在线字幕在线观看 | 一级毛片a女人刺激视频免费 | 国产精品免费观看 | 亚洲欧美国产另类视频 | 亚洲欧美日韩国产色另类 | 亚洲一区二区视频 | 欧美日韩精品一区二区三区四区 | 亚洲第一黄色网 | 国产精品国产三级国产无毒 | 国产观看精品一区二区三区 | 精品无人乱码一区二区三区 | 亚洲精品成人图区 |