Midas客戶端異常斷開,服務(wù)器端偵測不到
2016-11-27 by:CAE仿真在線 來源:互聯(lián)網(wǎng)
從根源上說,這是由于TCP協(xié)議的問題。TCP協(xié)議的初衷是: 網(wǎng)絡(luò)中斷時,仍能維持通信的能力。美國國防部要求能在遭到核打擊或其它災害的時候,仍然能維持計算機之間可靠的網(wǎng)絡(luò)通知協(xié)議。呵呵,如果客戶端斷開,服務(wù)器就馬上釋放連接。還維持什么?和初衷不符吧。要搞清楚客戶端斷開,為什么服務(wù)器端不能立即偵測到。這個問題,必須要理解三次握手機制。當然服務(wù)器也能偵測到異常斷開,KEEPALIVE的默認時間是2小時喲。詳細的TCP三次握手機制:
客戶端發(fā)送一個帶SYN位的請求,向服務(wù)器表示需要連接,假設(shè)請求序號號為 SYN = 10, ACK=0
服務(wù)器接收到這樣的請求后,查看是否在LISTEN的是指定的端口,不然,就發(fā)送RST=1應(yīng)答,拒絕建立連接。 如果接收連接,那么服務(wù)器發(fā)送確認,SYN為服務(wù)器的一個內(nèi)碼,假設(shè)為100,ACK位則是客戶端的請求序號加1,本例中發(fā)送的數(shù)據(jù)是:SYN=100,ACK=11,用這樣的數(shù)據(jù)發(fā)送給客戶端。
客戶端發(fā)送確認建立連接的消息給服務(wù)器。確認信息的SYN位是服務(wù)器發(fā)送的ACK位,ACK位是服務(wù)器發(fā)送的SYN位加1 。
如果TCP連接第三次握手中,用戶向服務(wù)器發(fā)送了一個SYN后就掉線了(第一步)。服務(wù)器發(fā)出SYN+ACK應(yīng)答報文(第二步)。然后就再也無法收到客戶端的ACK報文的。這種情況下,服務(wù)器就不斷的重試,(再次發(fā)送SYN+ACK給客戶端),直到超時。注意:服務(wù)器是接收到SYN請求就立即與客戶端建立連接,而是先為連接請求分配內(nèi)存空間,建立會話,并放到一個等待隊列中。如果,這個等待的隊列已經(jīng)滿了,那么,服務(wù)器就不在為新的連接分配任何東西,直接丟棄新的請求。這就是服務(wù)器的拒絕服務(wù)了。
開放分享:優(yōu)質(zhì)有限元技術(shù)文章,助你自學成才
相關(guān)標簽搜索:Midas客戶端異常斷開,服務(wù)器端偵測不到 Midas Civil分析 Midas Civil培訓 Midas Civil培訓課程 Midas Civil在線視頻教程 Midas Civil技術(shù)學習教程 Midas Civil軟件教程 Midas Civil資料下載 Midas Civil代做 Midas Civil基礎(chǔ)知識 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓
編輯