咨詢熱線:023-63853373

24小時熱線:13372636650

新聞中心

首頁

產品方案

服務項目

開發案例
新聞資訊
聯系我們

【網絡】TCP3次握手與4次揮手

2020/02/08  來源:樂潮信息

客戶端與服務端的通信中步驟

 

    1建立Tcp連接

        3次握手

    2再進行數據傳輸

    3數據傳輸完成后,斷開連接。

        4次揮手

 

建立Tcp連接

 

1 Client ---> Server:(員工:老板看到我發的消息沒)

 

設置SYN=1,seq=J,并將該數據包和SYN請求信號發送給Server,Client進入syn_sent(發送)狀態,等待Server確認。

 

2Server --->Client :(老板:看到了,你確定下看到我消息沒)

 

接收數據包后,設置SYN=1,ACK=1,ack=J+1 ,seq=K,發送給Client,表示確認收到了Client的請求,Server進入syn_rcvd(已收到)狀態;

 

3 Client---> Server:(員工:我也收到你的回復的,你看下收到我的回復了沒,收到說明我們通信連接成功了)

 

Client:檢查是否 ACK=1 && ack=J+1,如果是則設置ACK=1,ack=K+1,并將數據包發送給Server;

 

Server:檢查ack是否為K+1,ACK是否為1,如果正確則連接建立成功,Client和Server進入established(確認)狀態,三次握手完成,

 

注意

 

半連接

 

在三次握手過程中,Server發送SYN+ACK之后,收到Client的ACK之前的TCP連接稱為半連接(half-open connect)

 

SYN攻擊

 

在三次握手過程中,Server發送SYN-ACK之后,收到Client的ACK之前的TCP連接稱為半連接(half-open connect),此時Server處于SYN_RCVD狀態,當收到ACK后,Server轉入ESTABLISHED狀態。SYN攻擊就是Client在短時間內偽造大量不存在的IP地址,并向Server不斷地發送SYN包,Server回復確認包,并等待Client的確認,由于源地址是不存在的,因此,Server需要不斷重發直至超時,這些偽造的SYN包將長時間占用未連接隊列,導致正常的SYN請求因為隊列滿而被丟棄,從而引起網絡堵塞甚至系統癱瘓。SYN攻擊時一種典型的DDOS攻擊,檢測SYN攻擊的方式非常簡單,即當Server上有大量半連接狀態且源IP地址是隨機的,則可以斷定遭到SYN攻擊了,使用如下命令可以讓之現行:

 

斷開連接:

Client發送一個FIN,用來關閉Client到Server的數據傳送,Client進入FIN_WAIT_1狀態。

 

1 Client---> Server(數據發送完了,關閉連接吧)

 

Client發送一個FIN,表示Client要發送的數據已經發送完成,請求結束連接,Client進入fin_wait_1狀態;

 

2 Server---> Client(收到你的信息,請確定你也收到我的信息)

 

Server收到Client的FIN后,會向Client發送一個ACK,表示收到了Client的FIN請求,確認序號為收到序號(A)+1(即ack=A+1),Server進入close_wait狀態(此時Server可能沒有完成向Client的數據傳輸);

 

3 Server---> Client(收到你的信息,我的信息已發送完畢,請確定收到我的信息)

 

 當Server完成向Client的數據傳輸后,向Client發送一個FIN ,,表示Server已經完成發送,Client可以斷開連接,Server進入last_ack狀態;

 

4 Client---> Server(收到你的信息,我過一定就關閉了,你也關閉吧)

 

 Client:接收到Server的FIN后,Client進入time_wait狀態,并向Server發送一個ACK,確認序號為收到序號(C)+1(ack=C+1)

 

Server:檢查客戶端信息正確,Server進入closed狀態,Client斷開連接,Server關閉連接,四次揮手完成。

注意

 

在time_wait狀態中,如果TCP client端最后一次發送的ACK丟失了,它將重新發送。TIME_WAIT狀態中所需要的時間是依賴于實現方法的。典型的值為30秒、1分鐘和2分鐘。等待之后連接正式關閉,并且所有的資源(包括端口號)都被釋放。

網絡轉載

開發三級分銷系統APP的好處

重慶APP開發樂潮科技認為:三級分銷系統是各路商家的最愛,這句話說的絕對沒毛病。

重慶APP開發多少錢

根據app應用軟件開發的難易程度可以將重慶app開發價格大致分為一下幾類

手機app定制開發要根據用戶市場來

重慶app開發公司樂潮科技認為,隨著移動互聯網技術的不斷發展,手機app開發現在已經

點擊我更換圖片

公司地址:

重慶市渝北區冉家壩時光城寫字樓

聯系方式:

023-63853373

13372636650(24h熱線)

重慶市渝北區冉家壩時光城寫字樓

? 2020 樂潮信息

渝ICP備15006414號-2??????渝公網安備 50011202502110號???