日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
如何分析LinuxTCP狀態(tài)TIME_WAIT過(guò)多的處理

如何分析Linux TCP狀態(tài)TIME_WAIT過(guò)多的處理,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

成都創(chuàng)新互聯(lián)主要從事成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)福海,十多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):18980820575

首先處理這個(gè)問(wèn)題,我們要知道一些網(wǎng)絡(luò)知識(shí),要知道tcp那些事,比如說(shuō)三次握手,和四次揮手......很多人會(huì)問(wèn),為什么建鏈接要3次握手,斷鏈接需要4次揮手?

首先,是三次握手:

首先Client端發(fā)送連接請(qǐng)求報(bào)文,Server段接受連接后回復(fù)ACK報(bào)文,并為這次連接分配資源。Client端接收到ACK報(bào)文后也向Server段發(fā)生ACK報(bào)文,并分配資源,這樣TCP連接就建立了。

兩者之間可以傳輸數(shù)據(jù)了

再次,下面的斷開(kāi)鏈接:

【注意】中斷連接端可以是Client端,也可以是Server端。

假設(shè)Client端發(fā)起中斷連接請(qǐng)求,也就是發(fā)送FIN報(bào)文。Server端接到FIN報(bào)文后,意思是說(shuō)"我Client端沒(méi)有數(shù)據(jù)要發(fā)給你了",但是如果你還有數(shù)據(jù)沒(méi)有發(fā)送完成,則不必急著關(guān)閉Socket,可以繼續(xù)發(fā)送數(shù)據(jù)。所以你先發(fā)送ACK,"告訴Client端,你的請(qǐng)求我收到了,但是我還沒(méi)準(zhǔn)備好,請(qǐng)繼續(xù)你等我的消息"。這個(gè)時(shí)候Client端就進(jìn)入FIN_WAIT狀態(tài),繼續(xù)等待Server端的FIN報(bào)文。當(dāng)Server端確定數(shù)據(jù)已發(fā)送完成,則向Client端發(fā)送FIN報(bào)文,"告訴Client端,好了,我這邊數(shù)據(jù)發(fā)完了,準(zhǔn)備好關(guān)閉連接了"。Client端收到FIN報(bào)文后,"就知道可以關(guān)閉連接了,但是他還是不相信網(wǎng)絡(luò),怕Server端不知道要關(guān)閉,所以發(fā)送ACK后進(jìn)入TIME_WAIT狀態(tài),如果Server端沒(méi)有收到ACK則可以重傳?!?,Server端收到ACK后,"就知道可以斷開(kāi)連接了"。Client端等待了2MSL后依然沒(méi)有收到回復(fù),則證明Server端已正常關(guān)閉,那好,我Client端也可以關(guān)閉連接了。Ok,TCP連接就這樣關(guān)閉了!

那么可以這么理解,當(dāng)client進(jìn)入time_wait的等待時(shí)間是2個(gè)MSL

讓我們看一下一臺(tái)linux服務(wù)器的網(wǎng)絡(luò)狀態(tài):

# netstat -an | awk '/^tcp/ {++State[$NF]}END{for(key in State)print key "\t" State[key]}'
LAST_ACK 7
LISTEN 9
SYN_RECV 2
CLOSE_WAIT 125
ESTABLISHED 1070
FIN_WAIT1 17
FIN_WAIT2 247
CLOSING 4
TIME_WAIT 25087

對(duì)于網(wǎng)站來(lái)說(shuō),這樣的time_wait略顯偏高, 也就是說(shuō)大量的關(guān)閉操作在等待2個(gè)MSL后結(jié)束,正常我們的tcp 端口是65535個(gè),如果并發(fā)再高一些,可能會(huì)大量的socket不能及時(shí)被釋放,從而導(dǎo)致性能下降,所以我們可以通過(guò)linux內(nèi)核進(jìn)行一些網(wǎng)絡(luò)調(diào)整比如,開(kāi)啟socket重用和快速回收:

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 1024 65000

net.ipv4.tcp_syncookies = 1

表示開(kāi)啟SYN Cookies。當(dāng)出現(xiàn)SYN等待隊(duì)列溢出時(shí),啟用cookies來(lái)處理,可防范少量SYN攻擊,默認(rèn)為0,表示關(guān)閉;

net.ipv4.tcp_tw_reuse = 1

表示開(kāi)啟重用。允許將TIME-WAIT sockets重新用于新的TCP連接,默認(rèn)為0,表示關(guān)閉;

net.ipv4.tcp_tw_recycle = 1

表示開(kāi)啟TCP連接中TIME-WAIT sockets的快速回收,默認(rèn)為0,表示關(guān)閉。

系統(tǒng)tcp_timestamps缺省就是開(kāi)啟的,所以當(dāng)tcp_tw_recycle被開(kāi)啟后,實(shí)際上這種行為就被激活了.如果服務(wù)器身處NAT環(huán)境,安全起見(jiàn),通常要禁止tcp_tw_recycle,至于TIME_WAIT連接過(guò)多的問(wèn)題,可以通過(guò)激活tcp_tw_reuse來(lái)緩解。

net.ipv4.tcp_max_tw_buckets = 5000

表示系統(tǒng)同時(shí)保持TIME_WAIT套接字的最大數(shù)量,如果超過(guò)這個(gè)數(shù)字,TIME_WAIT套接字將立刻被清除并打印警告信息。默認(rèn)為180000,改為 5000。對(duì)于Apache、Nginx等服務(wù)器,上幾行的參數(shù)可以很好地減少TIME_WAIT套接字?jǐn)?shù)量,但是對(duì)于Squid,效果卻不大。此項(xiàng)參數(shù)可以控制TIME_WAIT套接字的最大數(shù)量,避免Squid服務(wù)器被大量的TIME_WAIT套接字拖死。

net.ipv4.tcp_max_syn_backlog = 8192

表示SYN隊(duì)列的長(zhǎng)度,默認(rèn)為1024,加大隊(duì)列長(zhǎng)度為8192,可以容納更多等待連接的網(wǎng)絡(luò)連接數(shù)。

net.ipv4.tcp_keepalive_time = 1200

表示當(dāng)keepalive起用的時(shí)候,TCP發(fā)送keepalive消息的頻度。缺省是2小時(shí),改為20分鐘。

net.ipv4.ip_local_port_range = 1024 65000

表示用于向外連接的端口范圍。缺省情況下很?。?2768到61000,改為1024到65000。

# netstat -an | awk '/^tcp/ {++State[$NF]}END{for(key in State)print key "\t" State[key]}'
LAST_ACK 140
LISTEN 9
SYN_RECV 7
CLOSE_WAIT 2
ESTABLISHED 972
FIN_WAIT1 21
FIN_WAIT2 152
CLOSING 2
TIME_WAIT 682

關(guān)于如何分析Linux TCP狀態(tài)TIME_WAIT過(guò)多的處理問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。


本文標(biāo)題:如何分析LinuxTCP狀態(tài)TIME_WAIT過(guò)多的處理
路徑分享:http://www.dlmjj.cn/article/jodpph.html