【文章摘要】某農(nóng)商總行生產(chǎn)前置機(jī)無法從人行生產(chǎn)服務(wù)器下載更新數(shù)據(jù)(約1M),而開發(fā)前置機(jī)卻能從開發(fā)服務(wù)器上正常下載數(shù)據(jù),開發(fā)和生產(chǎn)前置交換機(jī)訪問服務(wù)器的路徑基本一致。根據(jù)故障現(xiàn)象,在分行到總行的核心交換機(jī)出口部署科來網(wǎng)絡(luò)回溯分析系統(tǒng)進(jìn)行捕包分析,發(fā)現(xiàn)總行網(wǎng)絡(luò)中某臺(tái)網(wǎng)絡(luò)設(shè)備的MTU值設(shè)置較小,導(dǎo)致大包數(shù)據(jù)無法正常傳輸,從而影響更新數(shù)據(jù)包的下載。
某農(nóng)商總行生產(chǎn)前置機(jī)無法從人行生產(chǎn)服務(wù)器下載更新數(shù)據(jù)(約1M),而開發(fā)前置機(jī)卻能從開發(fā)服務(wù)器上正常下載數(shù)據(jù),開發(fā)和生產(chǎn)前置交換機(jī)訪問服務(wù)器的路徑基本一致。
總行前置機(jī)訪問人行服務(wù)器的數(shù)據(jù)走向?yàn)椋呵爸脵C(jī)經(jīng)過總行網(wǎng)絡(luò),訪問到分行網(wǎng)絡(luò),然后由分行網(wǎng)絡(luò)轉(zhuǎn)發(fā)到人行網(wǎng)絡(luò),最后訪問人行服務(wù)器。根據(jù)故障現(xiàn)象,選擇在分行到總行的核心交換機(jī)出口部署科來網(wǎng)絡(luò)回溯分析系統(tǒng)進(jìn)行捕包分析。
?。ㄒ唬┕收贤ㄓ嵎治?/p>
對(duì)生產(chǎn)前置機(jī)下載更新數(shù)據(jù)的TCP會(huì)話進(jìn)行解碼分析,發(fā)現(xiàn)前置機(jī)發(fā)起請(qǐng)求數(shù)據(jù)包后,生產(chǎn)服務(wù)器馬上響應(yīng)了3個(gè)數(shù)據(jù)包,其中第一個(gè)攜帶60字節(jié)應(yīng)用數(shù)據(jù),第二、三個(gè)為1448字節(jié),而客戶端只是對(duì)第一個(gè)數(shù)據(jù)包進(jìn)行了確認(rèn)。
當(dāng)服務(wù)器發(fā)出攜帶1030字節(jié)的第四個(gè)響應(yīng)包后,前置機(jī)依然是對(duì)第一個(gè)數(shù)據(jù)包進(jìn)行重復(fù)確認(rèn)。根據(jù)TCP的重傳機(jī)制,可以肯定當(dāng)前置機(jī)收到第四個(gè)響應(yīng)數(shù)據(jù)包時(shí),并沒有收到第二個(gè)1448字節(jié)的數(shù)據(jù)包,因此服務(wù)器對(duì)此數(shù)據(jù)包進(jìn)行了重傳,但經(jīng)過多次重傳客戶端依然沒有收到此包。
從對(duì)故障會(huì)話的數(shù)據(jù)包交互過程來看,前置機(jī)無法收到服務(wù)器的第二個(gè)響應(yīng)數(shù)據(jù)包,導(dǎo)致無法完整更新數(shù)據(jù)。前置機(jī)卻能收到第一個(gè)和第四個(gè)響應(yīng)包,從數(shù)據(jù)包大小來看,這兩個(gè)包攜帶的應(yīng)用層數(shù)據(jù)較小,而第二個(gè)包攜帶的應(yīng)用層數(shù)據(jù)為1448字節(jié)。從會(huì)話的TCP三次握手?jǐn)?shù)據(jù)包來看,生產(chǎn)前置機(jī)和服務(wù)器協(xié)商的MSS值為1460字節(jié),加上數(shù)據(jù)包頭,數(shù)據(jù)包的總長(zhǎng)度為1500字節(jié)。
由于從數(shù)據(jù)捕獲點(diǎn)到前置機(jī)之間沒有防火墻,不會(huì)對(duì)包進(jìn)行過濾,因此懷疑是中間設(shè)備的MTU值較小,導(dǎo)致大包數(shù)據(jù)無法正常傳輸。
(二)開發(fā)前置機(jī)通訊分析
對(duì)開發(fā)前置機(jī)正常通訊數(shù)據(jù)進(jìn)行分析,從三次握手過程看到開發(fā)前置機(jī)和服務(wù)器所協(xié)商的MSS值為1380字節(jié)。而后續(xù)的數(shù)據(jù)傳輸過程中,數(shù)據(jù)包的載荷數(shù)據(jù)都只有1368字節(jié),但是這些數(shù)據(jù)卻能夠正常的發(fā)送到開發(fā)前置機(jī)。因此結(jié)合前面對(duì)生產(chǎn)前置機(jī)的故障會(huì)話分析,可以肯定中間某個(gè)設(shè)備的MTU值較小,導(dǎo)致數(shù)據(jù)包無法分片被丟棄,從而影響生產(chǎn)前置機(jī)的正常數(shù)據(jù)下載。
?。ㄈ┗謴?fù)正常后的會(huì)話數(shù)據(jù)分析
根據(jù)所定位的故障原因,再修改生產(chǎn)前置機(jī)的MTU值為1300字節(jié)后,數(shù)據(jù)通訊恢復(fù)正常,能夠正常的下載更新數(shù)據(jù)包。
分析結(jié)論
總行網(wǎng)絡(luò)中某臺(tái)網(wǎng)絡(luò)設(shè)備的MTU值設(shè)置較小,導(dǎo)致大包數(shù)據(jù)無法正常傳輸,從而影響更新數(shù)據(jù)包的下載。