HOME 首頁
SERVICE 服務產(chǎn)品
XINMEITI 新媒體代運營
CASE 服務案例
NEWS 熱點資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    TCP連接(tcp連接三次握手)

    發(fā)布時間:2023-03-19 10:40:32     稿源: 創(chuàng)意嶺    閱讀: 102        問大家

    大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于TCP連接的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。

    開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等

    只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準,寫出的就越詳細,有微信小程序端、在線網(wǎng)頁版、PC客戶端

    官網(wǎng):https://ai.de1919.com

    本文目錄:

    TCP連接(tcp連接三次握手)

    一、如何使用 TCP 連接進行通信

    首先是建立可靠的數(shù)據(jù)管道

    TCP 為 HTTP 提供了一條可靠的比特傳輸管道,從 TCP 連接一端填入的字節(jié)會從另一端以原有的順序、正確地傳輸。

    然后在管道中傳輸 TCP 流

    TCP 的數(shù)據(jù)是通過名為 IP 分組的小數(shù)據(jù)塊來發(fā)送的。

    HTTP 在傳輸一條報文時,會以流的形式將報文數(shù)據(jù)的內(nèi)容通過一條打開的 TCP 連接按序傳輸,TCP 收到數(shù)據(jù)后,會將數(shù)據(jù)流砍成被稱為段的小數(shù)據(jù)塊,并將段封裝在 IP 分組中,通過網(wǎng)絡進行傳輸。

    最后關(guān)閉 TCP 連接

    在客戶端和服務器端之間完成傳輸交互后,請求發(fā)起方,比如瀏覽器會關(guān)閉該 TCP 連接。

    二、tcp長連接保持多久

    tcp長連接保持兩個小時。根據(jù)查詢相關(guān)公開信息顯示,tcp長連接在接通之后,會在一定的時間內(nèi)保持連接,默認時間為兩個小時。兩個小時之后,如果服務器沒有收到一個響應,它就會判定客戶主機已經(jīng)關(guān)閉,tcp會終止連接。

    三、TCP的連接建立——三報文握手

    三報文握手(three way handshake)以前都稱為三次握手,其實這是一次握手過程中交換中交換了三個報文,而并不是進行了三次握手。handshake使用的是單數(shù)并不是復數(shù),表明只是一次握手。

    1.SYN_SENT

    SYN_SENT表示請求連接,當你要訪問其它的計算機的服務時首先要發(fā)個 同步信號 給該端口,此時狀態(tài)為SYN_SENT,如果連接成功了就變?yōu)?ESTABLISHED ,此時SYN_SENT狀態(tài)非常短暫。

    2.ACK

    ACK (Acknowledgement)即是確認字符,在數(shù)據(jù)通信中,接收站發(fā)給發(fā)送站的一種傳輸類 控制字符 。表示發(fā)來的數(shù)據(jù)已確認接收無誤。

    3.SYN_RCVD(同步收到)

    4.ESTAB_LISHED(已建立連接)

    5.傳輸控制模塊TCB

    傳輸控制模塊TCB(Transmission Control Block)存儲了每一個連接中的一些重要信息。

    一開始,B的PCP服務器進程先創(chuàng)建 傳輸控制模塊TCB ,準備接受客戶進程的連接請求。然后服務器進程就處于 LISTEN (收聽)狀態(tài),等待客戶的連接請求。

    1.SYN=1,seq=x

    A的TCP客戶進程也是首先創(chuàng)建 傳輸控制模塊TCB ,然后,在打算建立TCP連接時,向B發(fā)出請求報文段,這時首部中的同步位 SYN=1 ,同時選擇一個初始序號 seq=x 。即 SYN=1,seq=x 。TCP規(guī)定,SYN報文段(即SYN=1的報文段)不能攜帶數(shù)據(jù),但要 消耗一個序號 。這時,TCP客戶進程進入 SYN_SENT (同步已發(fā)送)狀態(tài)。

    2.SYN=1,ACK=1,seq=y,ack=x+1

    B收到連接請求報文段后,如同意建立連接,則向A發(fā)送確認。在確認報文段中應把SYN位和ACK位都置1,確認號是 ack=x+1 ,同時也為自己選擇一個初始號 seq=y 。即 SYN=1,ACK=1,seq=y,ack=x+1

    請注意:這個報文段也不能攜帶數(shù)據(jù),但同時 要消耗一個序號 。這時TCP服務器進程進入 SYN_RCVD (同步收到)狀態(tài)。

    3.ACK=1,seq=x+1,ack=y+1

    TCP客戶進程收到B的確認后,還要向B給出確認。確認報文段的ACK置1,確認號 ack=y+1 ,而自己的序號 seq=x+1 。即 ACK=1,seq=x+1,ack=y+1 TCP的標準規(guī)定,ACK報文段可以攜帶數(shù)據(jù)。但 如果不攜帶數(shù)據(jù)則不消耗序號 ,在這中情況下,下一個數(shù)據(jù)報文段仍然是 seq=x+1 。這時。TCP連接已經(jīng)建立,A進入 ESTAB_LISHED (已建立連接)狀態(tài)。

    4 .當B收到A的確認后,也進入 ESTAB_LISHED 狀態(tài)。

    四、理解tcp鏈接

    一般都說TCP 是長連接 ,但這個連接是 真實存在的嗎。不是的。

    這個連接只是操作系統(tǒng)維護的一個狀態(tài)機。通過兩臺計算機直接通過報文交互來改變這個狀態(tài)值。并不是正真的有真實的鏈路存在。

    每次兩臺機器直接的通信 中間通過的節(jié)點可能都是不一樣的,是動態(tài)選擇的。

    所以 ,

    服務器端 TCP 連接的數(shù)量 受到內(nèi)存大小的影響,每建立一個連接都要分配一塊內(nèi)存區(qū)域來維護這個‘連接’。

    以上就是關(guān)于TCP連接相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。


    推薦閱讀:

    itchat文件傳輸助手(文件傳輸助手app)

    scratch怎么復制(scratch怎么復制代碼)

    替代itchat(替代效應)

    廣東溫泉小鎮(zhèn)民宿景觀設計(廣東溫泉小鎮(zhèn)民宿景觀設計理念)

    日照喜來登酒店景觀設計(日照喜來登酒店照片)