案例背景
 
  某農商總行生產前置機無法從人行生產服務器下載更新數據(約1M),而開發(fā)前置機卻能從開發(fā)服務器上正常下載數據,開發(fā)和生產前置交換機訪問服務器的路徑基本一致。
 
  總行前置機訪問人行服務器的數據走向為:前置機經過總行網絡,訪問到分行網絡,然后由分行網絡轉發(fā)到人行網絡,最后訪問人行服務器。根據故障現象,選擇在分行到總行的核心交換機出口部署科來網絡回溯分析系統(tǒng)進行捕包分析。
 
  案例分析
 
  (一)故障通訊分析
 
  對生產前置機下載更新數據的TCP會話進行解碼分析,發(fā)現前置機發(fā)起請求數據包后,生產服務器馬上響應了3個數據包,其中第一個攜帶60字節(jié)應用數據,第二、三個為1448字節(jié),而客戶端只是對第一個數據包進行了確認。
 

圖 1數據包交易時序圖
 
  當服務器發(fā)出攜帶1030字節(jié)的第四個響應包后,前置機依然是對第一個數據包進行重復確認。根據TCP的重傳機制,可以肯定當前置機收到第四個響應數據包時,并沒有收到第二個1448字節(jié)的數據包,因此服務器對此數據包進行了重傳,但經過多次重傳客戶端依然沒有收到此包。
 
  從對故障會話的數據包交互過程來看,前置機無法收到服務器的第二個響應數據包,導致無法完整更新數據。前置機卻能收到第一個和第四個響應包,從數據包大小來看,這兩個包攜帶的應用層數據較小,而第二個包攜帶的應用層數據為1448字節(jié)。從會話的TCP三次握手數據包來看,生產前置機和服務器協商的MSS值為1460字節(jié),加上數據包頭,數據包的總長度為1500字節(jié)。
 
  由于從數據捕獲點到前置機之間沒有防火墻,不會對包進行過濾,因此懷疑是中間設備的MTU值較小,導致大包數據無法正常傳輸。
 
  (二)開發(fā)前置機通訊分析
 
  對開發(fā)前置機正常通訊數據進行分析,從三次握手過程看到開發(fā)前置機和服務器所協商的MSS值為1380字節(jié)。而后續(xù)的數據傳輸過程中,數據包的載荷數據都只有1368字節(jié),但是這些數據卻能夠正常的發(fā)送到開發(fā)前置機。因此結合前面對生產前置機的故障會話分析,可以肯定中間某個設備的MTU值較小,導致數據包無法分片被丟棄,從而影響生產前置機的正常數據下載。
 
  (三)恢復正常后的會話數據分析
 
  根據所定位的故障原因,再修改生產前置機的MTU值為1300字節(jié)后,數據通訊恢復正常,能夠正常的下載更新數據包。
 
  案例分析結論
 
  總行網絡中某臺網絡設備的MTU值設置較小,導致大包數據無法正常傳輸,從而影響更新數據包的下載。
責任編輯:admin