【文章摘要】某農商總行生產前置機無法從人行生產服務器下載更新數據(約1M),而開發前置機卻能從開發服務器上正常下載數據,開發和生產前置交換機訪問服務器的路徑基本一致。根據故障現象,在分行到總行的核心交換機出口部署科來網絡回溯分析系統進行捕包分析,發現總行網絡中某臺網絡設備的MTU值設置較小,導致大包數據無法正常傳輸,從而影響更新數據包的下載。
某農商總行生產前置機無法從人行生產服務器下載更新數據(約1M),而開發前置機卻能從開發服務器上正常下載數據,開發和生產前置交換機訪問服務器的路徑基本一致。
總行前置機訪問人行服務器的數據走向為:前置機經過總行網絡,訪問到分行網絡,然后由分行網絡轉發到人行網絡,最后訪問人行服務器。根據故障現象,選擇在分行到總行的核心交換機出口部署科來網絡回溯分析系統進行捕包分析。
(一)故障通訊分析
對生產前置機下載更新數據的TCP會話進行解碼分析,發現前置機發起請求數據包后,生產服務器馬上響應了3個數據包,其中第一個攜帶60字節應用數據,第二、三個為1448字節,而客戶端只是對第一個數據包進行了確認。
當服務器發出攜帶1030字節的第四個響應包后,前置機依然是對第一個數據包進行重復確認。根據TCP的重傳機制,可以肯定當前置機收到第四個響應數據包時,并沒有收到第二個1448字節的數據包,因此服務器對此數據包進行了重傳,但經過多次重傳客戶端依然沒有收到此包。
從對故障會話的數據包交互過程來看,前置機無法收到服務器的第二個響應數據包,導致無法完整更新數據。前置機卻能收到第一個和第四個響應包,從數據包大小來看,這兩個包攜帶的應用層數據較小,而第二個包攜帶的應用層數據為1448字節。從會話的TCP三次握手數據包來看,生產前置機和服務器協商的MSS值為1460字節,加上數據包頭,數據包的總長度為1500字節。
由于從數據捕獲點到前置機之間沒有防火墻,不會對包進行過濾,因此懷疑是中間設備的MTU值較小,導致大包數據無法正常傳輸。
(二)開發前置機通訊分析
對開發前置機正常通訊數據進行分析,從三次握手過程看到開發前置機和服務器所協商的MSS值為1380字節。而后續的數據傳輸過程中,數據包的載荷數據都只有1368字節,但是這些數據卻能夠正常的發送到開發前置機。因此結合前面對生產前置機的故障會話分析,可以肯定中間某個設備的MTU值較小,導致數據包無法分片被丟棄,從而影響生產前置機的正常數據下載。
(三)恢復正常后的會話數據分析
根據所定位的故障原因,再修改生產前置機的MTU值為1300字節后,數據通訊恢復正常,能夠正常的下載更新數據包。
分析結論
總行網絡中某臺網絡設備的MTU值設置較小,導致大包數據無法正常傳輸,從而影響更新數據包的下載。