日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > TCP的三次握手和四次揮手

TCP的三次握手和四次揮手

來源:程序員人生   發布時間:2015-02-26 21:21:56 閱讀次數:2541次


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

是指建立1個TCP連接時,需要客戶端和服務器總共發送3個包。

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

序號(seq):本報文段所發送的數據的第1個字節的序號
確認號(ack):是期望收到對方下1個報文段的第1個數據字節的序號;若確認號為x,則到序號x⑴為止(包括x⑴)的所有數據都已正確收到
確認(ACK):僅當 ACK=1 時,確認號字段才有效,當 ACK=0時,確認號無效;TCP規定:在連接建立后所有傳送的報文都必須把ACK置1
同步(SYN):當 SYN=1 而 ACK=0 時,表明這是1個連接要求報文段,若對方同意建立連接,則應在響應的報文中使用 SYN=1 和 ACK=1 ;SYN=1 就表示這是1個連接要求或連接接受報文。
終止(FIN):用來釋放1個連接。當 FIN=1 時,表明此報文的發送方的數據已發送終了,并要求釋放運輸連接。

TCP規定:
*在連接建立后所有傳送的報文都必須把ACK置1。
*SYN 報文段、FIN 報文段不能攜帶數據,但要消耗掉1個序號。
*ACK 報文段可以攜帶數據,但如果不攜帶數據則不消耗序號。


1個完全的3次握手也就是:要求--應對--再次確認

第1次握手:
客戶端進程向服務器進程發出連接要求報文段,報文段首部中 (初始)序號seq=x,同步SYN=1,這時候客戶端進程進入SYN-SENT(同步已發送)狀態。

第2次握手:
服務器進程收到連接要求報文段后,若同意建立連接,則向客戶端進程發送響應報文段,報文段首部中 同步SYN=1,確認ACK=1,確認號ack=x+1(注:確認號ack=客戶端進程的seq+1),(初始)序號seq=y,這時候服務器進程進入SYN-RCVD(同步收到)狀態。

第3次握手:
客戶端進程收到服務器進程的響應報文段后,還要想服務器進程發出確認報文段,報文段的首部中 同步SYN=0,確認ACK=1,確認號ack=y+1,序號seq=x+1,這時候TCP連接已建立,客戶端進程和服務器進程都進入ESTABLISHED(已建立連接)

完成3次握手,主機A與主機B開始傳送數據

注:序號seq等于前面已傳送過的數據的最后1個字節的序號+1,在第1次握手中,seq=x,SYN=1(占1個序號位,即把 x 這個序號位給占了,所以下1次傳送的序號應當從x+1開始,揮手時的FIN也同理)

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

第1次揮手:
客戶端進程向服務器段進程發出連接釋放報文段,并停止再發送數據,主動關閉TCP連接,報文段首部中 終止FIN=1,序號seq=u,此時客戶端進程進入FIN-WAIT⑴(終止等待1)狀態

第2次揮手:
服務器進程收到客戶端進程的連接釋放報文段后,向客戶端進程發送確認報文段,報文段首部中 確認ACK=1,確認號ack=u+1,序號seq=v,此時服務器進程就進入CLOSE-WAIT(關閉等待)狀態,并通知高層利用進程。
客戶端進程收到服務器進程的確認報文段后,客戶端進程就進入FIN-WAIT⑵(終止等待2)狀態。

第3次揮手:
利用進程通知服務器進程釋放連接后,服務器進程發出連接釋放報文段,報文段首部中 確認ACK=1,FIN=1 ,序號seq=w(在半關閉狀態時服務器進程可能又發送了1些數據),確認號ack=u+1,此時服務器進程進入LAST-ACK(最后肯定)狀態。

第4次揮手:
客戶端進程收到服務器進程的連接釋放報文段后,向服務器進程發送肯定報文段,報文段段首部中 確認ACK=1,序號seq=u+1,確認號ack=w+1,此時客戶端進程進入到TIME-WAIT(時間等待)狀態,等到等待時間過后,2者才都進入到CLOSED(關閉)狀態


*>3次握手的目的:
1 要雙方做好發送數據的準備工作(雙方都知道彼此已準備好)
2 要雙方就初始序列號進行協商和肯定

*>3次握手改成兩次握手會產生死鎖
如果采取兩次握手,有以下情況:A,B兩臺主機,A發送連接要求,B給予確認,則認為連接建立,如果B的確認包在傳輸的進程中丟失,對A而言將1直處于等待B的確認狀態,而B認為建立以成功,可以傳輸數據,B傳給A的數據,A將不予接受,從而B處于等待A的確   認狀態,相互等待造成死鎖。


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

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 成人av在线网站 | www.麻豆| 久久久久网站 | 91视频国产免费 | 国产98色在线 | 日韩 | av成人免费 | 免费的毛片视频 | 亚洲网站在线播放 | 人人澡人人爽 | 国产精品18hdxxxⅹ在线 | 国产欧美一区二区精品久导航 | 久久久午夜精品 | 在线观看黄色av | 在线欧美国产 | 午夜精品一区 | av在线播放一区二区三区 | 久久久精品久久久 | 激情一区二区 | 久草一区 | 二区av| 成人在线观 | 永久91嫩草亚洲精品人人 | 不卡一区二区三区四区 | 日本xxxx裸体xxxx | 精品国产乱码久久久久久蜜臀 | 国产一区二区三区亚洲 | 玖玖国产精品视频 | 国产精品成人一区 | 亚洲天堂影视 | 在线国产区| 99视频在线 | 久久视频精品 | 91精品国产综合久久香蕉最新版 | 福利视频1000 | 69网站在线观看 | 99综合视频 | 久久xxx| www.在线播放| a级毛片大全 | www五月天 | 亚洲综合视频在线 |