国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

TCP關閉問題詳細介紹

2024-07-21 02:02:54
字體:
來源:轉載
供稿:網友

摘要: 三次握手,四次揮手

意思是tcp建立連接時需要三次交互來完成,A發起連接

A ---  SYN  --> BA <-- SYN + ACK --- B (1)A ---  ACK  --> B

而關閉tcp連接需要四次交互,A發起關閉

A --- FIN --> BA <-- ACK --- B (1)A <-- FIN --- BA --- ACK --> B (2)

這里在(1)時B開始處于CLOSE_WAIT狀態,一直到收到ACK后B才轉為CLOSED ,而A就處于TIME_WAIT狀態,一直到2MSL(Max Segament Lifetime)才轉為CLOSED

為什么需要2MSL才真正轉為CLOSED?是因為需要緩沖時間萬一B丟失ACK重發FIN的話還可以回復ACK,還有就是2MSL后“迷失”在網絡上的包全部失效

大量的 TIME_WAIT 和 CLOSE_WAIT 會造成服務器的連接資源被浪費甚至占滿后導致服務器服務拒絕,怎么解決?

解決TIME_WAIT

net.ipv4.tcp_tw_recycle = 1 #開啟快速回收,默認0net.ipv4.tcp_tw_reuse = 1 #開啟重用,默認0net.ipv4.tcp_fin_timeout = 30 # 減小fin_timeout,默認60,單位s

系統參數的配置可以解決time_wait,但是close_wait就沒那么簡單了

解決CLOSE_WAIT

一般都是服務端的代碼問題。

絕大多數都是客戶端發起關閉,這樣可知HTTP服務器應該會有很多TIME_WAIT,不過當http使用keep-alive后服務端會主動斷連。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乐业县| 西昌市| 大荔县| 东光县| 大新县| 遂溪县| 南通市| 延安市| 东台市| 旌德县| 南投县| 彭水| 汪清县| 台北市| 平凉市| 台中县| 米易县| 宜黄县| 碌曲县| 江城| 神农架林区| 济源市| 建水县| 本溪| 哈尔滨市| 隆安县| 揭西县| 崇阳县| 庐江县| 随州市| 乌海市| 嘉义县| 贵港市| 商丘市| 镇远县| 泸定县| 洛扎县| 新竹市| 峨山| 彩票| 科尔|