MTU即最大傳輸單元,是一種通信協(xié)議的某一層上面所能通過的最大數(shù)據(jù)包大?。ㄒ宰止?jié)為單位)。因為協(xié)議數(shù)據(jù)單元的包頭和包尾的長度是固定的,MTU越大,則一個協(xié)議數(shù)據(jù)單元承載的有效數(shù)據(jù)就越長,通信效率也越高,而傳送相同的用戶數(shù)據(jù)所需的數(shù)據(jù)包個數(shù)也越低。MTU也不是越大越好,因為MTU越大, 傳送一個數(shù)據(jù)包的延遲也越大;并且MTU越大,數(shù)據(jù)包中bit位發(fā)生錯誤的概率也越大。MTU越大,通信效率越高而傳輸延遲增大,所以要權(quán)衡通信效率和傳輸延遲選擇合適的MTU。筆者單位最近出現(xiàn)的VOD點(diǎn)播卡頓故障,經(jīng)過采用對比和show命令的使用,最終將故障定位在了ONU的MTU值設(shè)置上。接下來就具體介紹一下故障的處理過程。
近日,有同事報修VOD點(diǎn)播卡頓,具體故障現(xiàn)象是用戶觀看點(diǎn)播視頻時,畫面出現(xiàn)馬賽克現(xiàn)象。
得知故障現(xiàn)象后,在展開排查的同時,進(jìn)一步收集故障信息,得知部分點(diǎn)播用戶使用點(diǎn)播服務(wù)出現(xiàn)卡頓、馬賽克等現(xiàn)象。為盡快解決故障,需要尋找一個平衡點(diǎn),即可以比照的參照物。在點(diǎn)播業(yè)務(wù)正式商用之前,為了提供一個良好的點(diǎn)播監(jiān)測平臺,我們對點(diǎn)播業(yè)務(wù)進(jìn)行全天候監(jiān)測,具體的實施方法很簡單,主要涉及到點(diǎn)播平臺關(guān)鍵設(shè)備的網(wǎng)管,具體包括交換機(jī)在線狀態(tài)、主備服務(wù)器服務(wù)狀態(tài)、用戶在線數(shù)量實時統(tǒng)計、故障告警等其他常見參數(shù)。
在對點(diǎn)播平臺網(wǎng)管進(jìn)行梳理,并在數(shù)據(jù)機(jī)房對點(diǎn)播業(yè)務(wù)進(jìn)行了實時觀看后均沒有發(fā)現(xiàn)問題。根據(jù)用戶報障的信息,我們迅速鎖定了就近的數(shù)據(jù)基站,接下來就是要在靠近用戶側(cè)的數(shù)據(jù)基站,對反映點(diǎn)播故障的視頻節(jié)目進(jìn)行查看,沒有發(fā)現(xiàn)視頻卡頓的現(xiàn)象。這樣可以肯定視頻資源是沒有問題的。
既然點(diǎn)播視頻資源和基站測試正常,下一步就需要按照網(wǎng)絡(luò)層次排查下匯聚和接入網(wǎng)絡(luò),即EPON設(shè)備。在排查設(shè)備之前需要了解一下網(wǎng)絡(luò)拓?fù)淝闆r,具體的網(wǎng)絡(luò)拓?fù)淝闆r即BRAS直連OLT,然后使用ONU入戶,實現(xiàn)互聯(lián)網(wǎng)和點(diǎn)播的接入工作。剛才我們介紹到在覆蓋報障用戶的數(shù)據(jù)基站測試點(diǎn)播正常,那么可以排除整個鏈路的帶寬使用情況,即BRAS和OLT,PON口的流量,這樣故障就逐步縮小在了OLT的PON以下。
來到用戶側(cè)進(jìn)行查看,首先排查物理層問題,即網(wǎng)線、高清線等環(huán)節(jié),均沒有發(fā)現(xiàn)問題。嘗試對網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)抓包,通過抓包可以發(fā)現(xiàn)從ONU端口有發(fā)出的報文,但是沒有返回的報文。使用命令show inter onu 1/1/2 system查看該ONU的MTU值是1596,而使用命令show system mtu查看整臺OLT的MTU值是1526,我們嘗試修改ONU的MTU值,配置命令即:
將ONU的MTU值改成和OLT系統(tǒng)相同的值后,再次觀看點(diǎn)播視頻時,視頻卡頓的現(xiàn)象均沒有出現(xiàn)。經(jīng)過長時間觀察,沒有再次出現(xiàn)視頻卡頓的問題,故障得以解決。
通過對視頻資源的對比觀看,并按照網(wǎng)絡(luò)層次進(jìn)行排查,然后通過抓包軟件準(zhǔn)確找到故障原因,最終通過修改ONU的MTU值達(dá)到了解決問題的目的。后期我們對MTU值進(jìn)行了深入的分析得知,本地MTU值大于網(wǎng)絡(luò)MTU值時,本地傳輸?shù)臄?shù)據(jù)包過大導(dǎo)致網(wǎng)絡(luò)會拆包后傳輸,不但產(chǎn)生額外的數(shù)據(jù)包,而且消耗了“拆包、組包”的時間。本地MTU值小于網(wǎng)絡(luò)MTU值時,本地傳輸?shù)臄?shù)據(jù)包可以直接傳輸,但是未能完全利用網(wǎng)絡(luò)給予的數(shù)據(jù)包傳輸尺寸的上限值,傳輸能力未完全發(fā)揮。
這樣我們就知道,所謂合理的設(shè)置MTU值,就是讓本地MTU值與網(wǎng)絡(luò)MTU值一致,既能完整發(fā)揮傳輸性能,又不讓數(shù)據(jù)包拆分。上面就是將ONU和OLT的MTU值都設(shè)置成1526保持一致才達(dá)到解決問題的目的?;氐皆摽頞LT上來,OLT的端口允許報文一次通過(不進(jìn)行分片)的最大字節(jié)數(shù)1526。當(dāng)轉(zhuǎn)發(fā)報文的長度1596超過設(shè)備允許的最大值1526時,設(shè)備將會自動丟棄該報文,所以才出現(xiàn)抓包時的沒有回復(fù)報文的的現(xiàn)象發(fā)生。這也是VOD點(diǎn)播出現(xiàn)馬賽克卡頓的最終原因所在。
針對該故障的出現(xiàn),我們聯(lián)系廠家技術(shù)支持工程師對設(shè)備進(jìn)行整體軟件升級,杜絕該問題的再次出現(xiàn)。