主頁 > 知識(shí)庫 > TCP關(guān)閉問題詳細(xì)介紹

TCP關(guān)閉問題詳細(xì)介紹

熱門標(biāo)簽:智能手機(jī) 服務(wù)器配置 美圖手機(jī) 網(wǎng)站文章發(fā)布 檢查注冊(cè)表項(xiàng) 鐵路電話系統(tǒng) 銀行業(yè)務(wù) 呼叫中心市場(chǎng)需求

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

意思是tcp建立連接時(shí)需要三次交互來完成,A發(fā)起連接

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

而關(guān)閉tcp連接需要四次交互,A發(fā)起關(guān)閉

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

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

為什么需要2MSL才真正轉(zhuǎn)為CLOSED?是因?yàn)樾枰彌_時(shí)間萬一B丟失ACK重發(fā)FIN的話還可以回復(fù)ACK,還有就是2MSL后“迷失”在網(wǎng)絡(luò)上的包全部失效

大量的 TIME_WAIT 和 CLOSE_WAIT 會(huì)造成服務(wù)器的連接資源被浪費(fèi)甚至占滿后導(dǎo)致服務(wù)器服務(wù)拒絕,怎么解決?

解決TIME_WAIT

net.ipv4.tcp_tw_recycle = 1 #開啟快速回收,默認(rèn)0

net.ipv4.tcp_tw_reuse = 1 #開啟重用,默認(rèn)0

net.ipv4.tcp_fin_timeout = 30 # 減小fin_timeout,默認(rèn)60,單位s

系統(tǒng)參數(shù)的配置可以解決time_wait,但是close_wait就沒那么簡(jiǎn)單了

解決CLOSE_WAIT

一般都是服務(wù)端的代碼問題。

絕大多數(shù)都是客戶端發(fā)起關(guān)閉,這樣可知HTTP服務(wù)器應(yīng)該會(huì)有很多TIME_WAIT,不過當(dāng)http使用keep-alive后服務(wù)端會(huì)主動(dòng)斷連。

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

您可能感興趣的文章:
  • 常用類之TCP連接類-socket編程
  • TCP/IP 中的二進(jìn)制反碼求和算法
  • 基于TCP異步Socket模型的介紹
  • 使用批處理重置TCP_IP協(xié)議
  • TCP Wrappers防火墻介紹與封鎖IP地址的方法
  • tcp socket客戶端和服務(wù)端示例分享
  • TCPIP是什么
  • TCP版backshell的VBS腳本代碼
  • TCP三次握手及原理
  • tcp、udp、ip協(xié)議分析_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

標(biāo)簽:河南 上海 紅河 沈陽 樂山 長(zhǎng)治 滄州 新疆

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《TCP關(guān)閉問題詳細(xì)介紹》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266