日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

關于TCP全連接隊列和半連接隊列

 

導讀:在TCP的三次握手中存在著兩個隊列、backlog、tcp_abort_on_overflow等概念知識點。常見的連接服務異常有很多,如Connection refused等問題。通過對這些知識的理解有助于結合一些排查手段有效地解決一些生產上出現的連接服務異常問題。下面將對這些進行討論分析。

一、TCP三次握手

關于TCP全連接隊列和半連接隊列

 

握手過程

  • 第一次:client發送syn到server進行握手
  • 第二次:server收到syn后回復syn+ack給client同時服務端將相關信息放在半連接隊列中。
  • 第三次:client收到syn+ack后回復server一個ack,表示收到了server的syn+ack,server收到client的ack后將更具不同的情況進行不同的處理(這與tcp_abort_on_overflow參數和accept queue全連接隊列是否已滿有關)

三次握手中Socket狀態枚舉

  • LISTEN:偵聽來自遠方TCP端口的連接請求
  • SYN-SENT:在發送連接請求后等待匹配的連接請求
  • SYN-RECEIVED:在收到和發送一個連接請求后等待對連接請求的確認
  • ESTABLISHED:代表一個打開的連接,數據可以傳送給用戶

二、全連接隊列和半連接隊列

關于TCP全連接隊列和半連接隊列

 

在握手階段存在兩個隊列:

  • 全連接隊列(accept queue)
  • 半連接隊列(syns queue)

解析:當第一次握手(client客戶端的SYN到達server服務端時)TCP會在未完成連接隊列中創建一個新項,這一項會一直保留在未完成連接隊列中直到第三次握手(客戶對服務器SYN的ACK)結束為止。如果三次握手全部正常完成,該項則會從未完成連接隊列移到已完成連接隊列的隊尾。當進程調用accept()時,已完成連接隊列中的隊頭項將返回給進程。

三、第三次握手時server具體的處理方式

關于TCP全連接隊列和半連接隊列

 

場景1:當全連接未滿

當server收到client的ack后會先判斷全連接隊列accept queue是否已滿,如果隊列未滿則從半連接隊列拿出相關信息存放入全連接隊列中,之后服務端accept()處理此請求。

場景2:當全連接已滿且tcp_abort_on_overflow = 0

server會扔掉client 發過來的ack。之后隔一段時間server會重發握手第二步的syn+ack包給client,如果客戶端連接一直排隊不上等待超時則會報超時異常。

場景3:全連接已滿且tcp_abort_on_overflow = 1時

server會發送一個reset包給client,表示廢除這個握手過程和這個連接(客戶端會報connection reset by peer異常)

四、關于backlog

backlog表示全連接隊列(已連接未處理隊列)的大小,該值默認為50。

關于TCP全連接隊列和半連接隊列

 

當全連接隊列滿時則會根據tcp_abort_on_overflow的值做出相應的處理方式

//linux查看tcp_abort_on_overflow值
cat /proc/sys/net/ipv4/tcp_abort_on_overflow

 

五、總結

TCP存在兩個隊列(全連接隊列和半連接隊列),第一次握手后TCP會產生的新項并先存放到半連接隊列中。當完成三次握手之后項會移動到全連接隊列里(全連接隊列默認大小backlog值是50)。如果當全連接隊列滿了server則會根據tcp_abort_on_overflow 的值來做對應的處理,,值為0則丟棄當前客戶端的ack,值為1則廢棄當前握手過程與連接。

分享到:
標簽:TCP
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定