TCP埠狀態說明ESTABLISHED、TIME_WAIT、 CLOSE_WAIT
一. 首先說下tcp埠的幾種狀態:
1、LISTENING狀態
FTP服務啟動後首先處於偵聽(LISTENING)狀態。
2、ESTABLISHED狀態
ESTABLISHED的意思是建立連線。表示兩臺機器正在通訊。
ESTABLISHED的意思是建立連線。表示兩臺機器正在通訊。
3、CLOSE_WAIT
對方主動關閉連線或者網路異常導致連線中斷,這時我方的狀態會變成CLOSE_WAIT 此時我方要呼叫close()來使得連線正確關閉
4、TIME_WAIT
我方主動呼叫close()斷開連線,收到對方確認後狀態變為TIME_WAIT。TCP協議規定TIME_WAIT狀態會一直持續2MSL(即兩倍的分 段最大生存期),以此來確保舊的連線狀態不會對新連線產生影響。處於TIME_WAIT狀態的連線佔用的資源不會被核心釋放,所以作為伺服器,在可能的情 況下,儘量不要主動斷開連線,以減少TIME_WAIT狀態造成的資源浪費。
目前有一種避免TIME_WAIT資源浪費的方法,就是關閉socket的LINGER選項。但這種做法是TCP協議不推薦使用的,在某些情況下這個操作可能會帶來錯誤。
5、SYN_SENT狀態
SYN_SENT狀態表示請求連線,當你要訪問其它的計算機的服務時首先要發個同步訊號給該埠,此時狀態為SYN_SENT,如果連線成功了就變為 ESTABLISHED,此時SYN_SENT狀態非常短暫。但如果發現SYN_SENT非常多且在向不同的機器發出,那你的機器可能中了衝擊波或震盪波 之類的病毒了。這類病毒為了感染別的計算機,它就要掃描別的計算機,在掃描的過程中對每個要掃描的計算機都要發出了同步請求,這也是出現許多 SYN_SENT的原因。
二、如發現系統存在大量TIME_WAIT狀態的連線,通過調整核心引數解決,
vim /etc/sysctl.conf
編輯檔案,加入以下內容:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
然後執行 /sbin/sysctl -p 讓引數生效。
time_wait的設計,是基於tcp的四次揮手,上面改的那些核心引數的修改並非一勞永逸,可以參考:系統調優,你所不知道的TIME_WAIT和CLOSE_WAIT
本文轉自 jiu~ 部落格園部落格,原文連結:http://www.cnblogs.com/jiu0821/p/8119363.html,如需轉載請自行聯絡原作者
相關文章
- TCP連線的TIME_WAIT和CLOSE_WAIT 狀態解說TCPAI
- TCP連線狀態和time_waitTCPAI
- TCP TIME_WAIT狀態最佳化TCPAI
- TCP連線時動態埠的相關問題說明TCP
- tcp 埠的time_wait 問題TCPAI
- ORACLE 帳戶 狀態說明Oracle
- TCP狀態遷移,CLOSE_WAIT & FIN_WAIT2 的問題TCPAI
- PHP 有限狀態機使用說明PHP
- HTTP 常見狀態碼說明HTTP
- 埠號說明
- zookeeper埠說明
- 常用埠說明
- 為什麼tcp的TIME_WAIT狀態要維持2MSLTCPAI
- Galera Cluster for MySQL監控狀態說明MySql
- 在 TIME_WAIT 狀態的 TCP 連線,收到 SYN 後會發生什麼?AITCP
- linux上大量tcp埠處於TIME_WAIT的問題LinuxTCPAI
- 16、重做日誌檔案的狀態及重做日誌組的狀態說明
- 第三篇:關於TIME_WAIT狀態AI
- 隨筆:MySQL 查詢事務狀態欄位說明MySql
- 伺服器埠狀態伺服器
- 理解 TCP(四):狀態流轉TCP
- 網路基礎問題整理:為什麼TCP四次揮手最後需要TIME_WAIT狀態?TCPAI
- adb 埠自定義及原理說明
- mysql_real_connect 埠號說明MySql
- 【演算法】狀態之美,TCP/IP狀態轉換探索演算法TCP
- 上層網路裝置斷線,ubuntu下tcp established 狀態連線總是等待15分鐘才關閉,為什麼?UbuntuTCP
- Elasticsearch 叢集和索引健康狀態及常見錯誤說明Elasticsearch索引
- 生成樹埠狀態與收斂
- linux檢查埠狀態命令Linux
- LINUX netstat連線狀態解析及TCP狀態轉換LinuxTCP
- Linux檢視埠使用狀態、關閉埠方法Linux
- Linux下用netstat檢視網路狀態、埠狀態Linux
- 統計TCP連線數和狀態TCP
- TCP連線狀態異常記錄TCP
- TCP-UDP網路除錯助手使用說明TCPUDP除錯
- 系統調優,你所不知道的TIME_WAIT和CLOSE_WAITAI
- 檢視一個通訊埠狀態
- python基礎學習-埠介紹說明Python