溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

TCP滑動窗口消息堆積怎么辦

發(fā)布時間:2021-12-30 14:59:13 來源:億速云 閱讀:141 作者:iii 欄目:云計算

這篇文章主要介紹“TCP滑動窗口消息堆積怎么辦”,在日常操作中,相信很多人在TCP滑動窗口消息堆積怎么辦問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”TCP滑動窗口消息堆積怎么辦”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

線上問題:

客戶端不能推送數(shù)據(jù)到服務(wù)端。

排查:

  • ping ip或者telnet port全是正常的,不奏效。

  • 通過wireshark抓取報文查看,發(fā)現(xiàn)一個奇怪現(xiàn)象是窗口不固定,但是整體趨勢是逐漸減小,直到為0. 服務(wù)端報文如下:


15:41:29.680256 IP 110.89.84.123.1950 > 110.89.84.126.52021: Flags [.], ack 107925, win 38, options [nop,nop,TS val 1604471956 ecr 1606303303], length 0  0x0000:  0022 462c a12f d067 e50f e893 0800 4500  ."F,./.g......E.  0x0010:  0034 a79b 4000 4006 d417 0b0c 547b 0b0c  .4..@.@.....T{..  0x0020:  547e 079e cb35 0c6f 535c 531b 640c 8010  T~...5.oS\S.d...  0x0030:  0026 8383 0000 0101 080a 5fa2 4c94 5fbe  .&........_.L._.  0x0040:  3e47                                     >G15:41:29.719474 IP 110.89.84.123.1950 > 110.89.84.126.52021: Flags [.], ack 112269, win 5, options [nop,nop,TS val 1604471996 ecr 1606303303], length 0  0x0000:  0022 462c a12f d067 e50f e893 0800 4500  ."F,./.g......E.  0x0010:  0034 a79c 4000 4006 d416 0b0c 547b 0b0c  .4..@.@.....T{..  0x0020:  547e 079e cb35 0c6f 535c 531b 7504 8010  T~...5.oS\S.u...  0x0030:  0005 7284 0000 0101 080a 5fa2 4cbc 5fbe  ..r......._.L._.  0x0040:  3e47                                     >G15:41:29.934875 IP 110.89.84.126.52021 > 110.89.84.123.1950: Flags [P.], seq 112269:112909, ack 88, win 115, options [nop,nop,TS val 1606303559 ecr 1604471996], length 640  0x0000:  d067 e50f e893 0022 462c a12f 0800 4500  .g....."F,./..E.  0x0010:  02b4 5a89 4000 4006 1eaa 0b0c 547e 0b0c  ..Z.@.@.....T~..  0x0020:  547b cb35 079e 531b 7504 0c6f 535c 8018  T{.5..S.u..oS\..  0x0030:  0073 c1b7 0000 0101 080a 5fbe 3f47 5fa2  .s........_.?G_.15:41:29.975487 IP 110.89.84.123.1950 > 110.89.84.126.52021: Flags [.], ack 116613, win 10, options [nop,nop,TS val 1604472252 ecr 1606303559], length 0  0x0000:  0022 462c a12f d067 e50f e893 0800 4500  ."F,./.g......E.  0x0010:  0034 a79e 4000 4006 d414 0b0c 547b 0b0c  .4..@.@.....T{..  0x0020:  547e 079e cb35 0c6f 535c 531b 85fc 8010  T~...5.oS\S.....  0x0030:  000a 5f87 0000 0101 080a 5fa2 4dbc 5fbe  .._......._.M._.  0x0040:  3f47                                     ?G15:41:30.191875 IP 110.89.84.126.52021 > 110.89.84.123.1950: Flags [P.], seq 116613:117893, ack 88, win 115, options [nop,nop,TS val 1606303816 ecr 1604472252], length 1280  0x0000:  d067 e50f e893 0022 462c a12f 0800 4500  .g....."F,./..E.  0x0010:  0534 5a8d 4000 4006 1c26 0b0c 547e 0b0c  .4Z.@.@..&..T~..  0x0020:  547b cb35 079e 531b 85fc 0c6f 535c 8018  T{.5..S....oS\..  0x0030:  0073 c437 0000 0101 080a 5fbe 4048 5fa2  .s.7......_.@H_.  0x0040:  4dbc 2037 3435 6634 3361 3238 3334 6534  M..745f43a2834e4  0x0050:  6465 3462 3561 3862 6630 3031 3333 6564  de4b5a8bf00133ed  0x0060:  6462 3401 0d01 0400 0000 5308 0b10 0000  db4.......S.....                                a315:41:30.192523 IP 110.89.84.123.1950 > 110.89.84.126.52021: Flags [.], ack 117893, win 0, options [nop,nop,TS val 1604472469 ecr 1606303816], length 0  0x0000:  0022 462c a12f d067 e50f e893 0800 4500  ."F,./.g......E.  0x0010:  0034 a79f 4000 4006 d413 0b0c 547b 0b0c  .4..@.@.....T{..  0x0020:  547e 079e cb35 0c6f 535c 531b 8afc 8010  T~...5.oS\S.....  0x0030:  0000 58b7 0000 0101 080a 5fa2 4e95 5fbe  ..X......._.N._.  0x0040:  4048                                     @H15:41:30.406872 IP 110.89.84.126.52021 > 110.89.84.123.1950: Flags [.], ack 88, win 115, options [nop,nop,TS val 1606304031 ecr 1604472469], length 0  0x0000:  d067 e50f e893 0022 462c a12f 0800 4500  .g....."F,./..E.  0x0010:  0034 5a8e 4000 4006 2125 0b0c 547e 0b0c  .4Z.@.@.!%..T~..  0x0020:  547b cb35 079e 531b 8afb 0c6f 535c 8010  T{.5..S....oS\..  0x0030:  0073 bf37 0000 0101 080a 5fbe 411f 5fa2  .s.7......_.A._.  0x0040:  4e95                                     N.15:41:30.407143 IP 110.89.84.123.1950 > 110.89.84.126.52021: Flags [.], ack 117893, win 0, options [nop,nop,TS val 1604472683 ecr 1606303816], length 0  0x0000:  0022 462c a12f d067 e50f e893 0800 4500  ."F,./.g......E.  0x0010:  0034 a7a0 4000 4006 d412 0b0c 547b 0b0c  .4..@.@.....T{..  0x0020:  547e 079e cb35 0c6f 535c 531b 8afc 8010  T~...5.oS\S.....  0x0030:  0000 57e1 0000 0101 080a 5fa2 4f6b 5fbe  ..W......._.Ok_.  0x0040:  4048

           

  • 至此服務(wù)端一直回復(fù)服務(wù)端窗口為0,導(dǎo)致客戶端數(shù)據(jù)無法回傳到服務(wù)端。

  • 通過 netstat -ano查看服務(wù)端TCP內(nèi)核的發(fā)送和接受緩沖區(qū),發(fā)現(xiàn)服務(wù)端接受緩沖一定字節(jié),但一直不能發(fā)送。


[root@xdja tomcat]# netstat -antActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address               Foreign Address             Statetcp        0      0 110.89.84.123:14468          110.89.84.33:1950            ESTABLISHEDtcp        0      0 :::1950                     :::*                        LISTENtcp   115005      0 ::ffff:110.89.84.123:1950    ::ffff:110.89.84.126:52021   ESTABLISHED


結(jié)論:

     由此可以判斷,客戶端一直在發(fā)數(shù)據(jù),但是服務(wù)端處理數(shù)據(jù)整體慢于客戶端發(fā)送數(shù)據(jù),導(dǎo)致服務(wù)端數(shù)據(jù)積壓。

解決方案:

   后臺修改成異步處理,如果收到TCP消息,先緩存到業(yè)務(wù)中,然后啟動線程消費。

到此,關(guān)于“TCP滑動窗口消息堆積怎么辦”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

tcp
AI