王鵬 薛凌云
中國(guó)移動(dòng)通信集團(tuán)江蘇有限公司
4G數(shù)據(jù)業(yè)務(wù)、VOLTE話音業(yè)務(wù)、互聯(lián)網(wǎng)視頻等業(yè)務(wù)對(duì)時(shí)延要求越來(lái)越高,傳輸系統(tǒng)對(duì)時(shí)延的影響也越來(lái)越凸顯,優(yōu)化和提升傳輸系統(tǒng)時(shí)延是改善業(yè)務(wù)感知的重要手段。
產(chǎn)生原因:
光信號(hào)在光纖中的傳播速度比在真空中慢,一般按照每毫秒200km計(jì)算。
解決方案:
對(duì)于因光纜傳輸距離過(guò)長(zhǎng)引起的時(shí)延問(wèn)題,需在網(wǎng)絡(luò)設(shè)計(jì)時(shí),優(yōu)化光纜路由組織,選取短路徑光纜進(jìn)行信號(hào)傳輸。
1.2.1 處理時(shí)延
產(chǎn)生原因:
(1)路由器、交換機(jī)等網(wǎng)絡(luò)設(shè)備內(nèi)部的處理時(shí)延一般為2 ~ 20us;
(2)小型設(shè)備時(shí)延低,報(bào)文進(jìn)入設(shè)備后經(jīng)過(guò)一次處理發(fā)送出去,如低端千兆交換機(jī)的典型時(shí)延為2~3us;
(3)大型設(shè)備時(shí)延高,報(bào)文需要經(jīng)過(guò)入口板(Ingress card)、交換板(fabric crossbar)、出口板等幾次處理,處理流程更復(fù)雜,典型時(shí)延10~20us;
(4)SDH、DDN等時(shí)分復(fù)用傳輸設(shè)備的處理時(shí)延,一般為n×125us,不同設(shè)備取值不同,典型值是3×125us=375us。
解決方案:
硬件處理時(shí)長(zhǎng)都很小,如果發(fā)現(xiàn)經(jīng)過(guò)每個(gè)硬件時(shí)延過(guò)大,可以通過(guò)替換單板來(lái)解決。
1.2.2 發(fā)送時(shí)延
產(chǎn)生原因:
數(shù)據(jù)移出設(shè)備緩沖區(qū)所花費(fèi)的時(shí)間,與線路帶寬和報(bào)文大小相關(guān),例如:10GE線路上發(fā)送一個(gè)1538Byte的報(bào)文,1538×10/10E9 = 1.538E-6秒,也就是1.5us。如果換成GE線路,則為15us。
解決方案:
如果是由于發(fā)送端存在過(guò)大的時(shí)延,可以換成大帶寬的線路解決。
1.2.3 報(bào)文排隊(duì)時(shí)延
產(chǎn)生原因:
(1)由于線路繁忙,報(bào)文必須在網(wǎng)絡(luò)設(shè)備(路由器、交換機(jī))中排隊(duì)等待;
(2)路由器的緩沖區(qū)大一些,最大排隊(duì)等待時(shí)間也比較大(200ms),以太網(wǎng)交換機(jī)小得多(<1ms);
(3)這個(gè)時(shí)間不是固定的,與網(wǎng)絡(luò)繁忙程度相關(guān)。網(wǎng)絡(luò)負(fù)載比較輕的時(shí)候,不需要排隊(duì),無(wú)排隊(duì)時(shí)延。負(fù)載較重時(shí),排隊(duì)則可能時(shí)延很大(幾十到幾百毫秒);
(4)時(shí)分復(fù)用的SDH網(wǎng)絡(luò)設(shè)備無(wú)排隊(duì)等待時(shí)間。
解決方案:
對(duì)于帶寬不足,存在擁塞使得時(shí)延過(guò)大的情況,可以通過(guò)擴(kuò)容帶寬,或者配置QOS使得對(duì)時(shí)延敏感的報(bào)文優(yōu)先通過(guò)。
產(chǎn)生原因:
(1)重傳時(shí)延
當(dāng)網(wǎng)絡(luò)因?yàn)樨?fù)載太重出現(xiàn)丟包的時(shí)候,TCP協(xié)議發(fā)送端在超過(guò)重傳超時(shí)時(shí)限(RTO,retransmission timeout)還沒(méi)有收到接收端的ACK時(shí),會(huì)重傳丟失的報(bào)文。多數(shù)操作系統(tǒng)的TCP/IP協(xié)議棧的實(shí)現(xiàn)里面RTO的最小值是200ms。
因此,一旦發(fā)生報(bào)文丟失,最少會(huì)引入200ms的時(shí)延。
(2)兩端處理時(shí)延
從網(wǎng)卡收到報(bào)文到發(fā)出中斷之間要一定的時(shí)間(典型值為100us)。最近比較新的網(wǎng)卡芯片會(huì)在收到報(bào)文之后延遲一段時(shí)間再產(chǎn)生中斷,以使一次中斷能夠處理更多報(bào)文,減少中斷保護(hù)和恢復(fù)現(xiàn)場(chǎng)產(chǎn)生的開(kāi)銷。
從中斷服務(wù)程序、運(yùn)行結(jié)束到應(yīng)用程序收到報(bào)文并開(kāi)始處理,任務(wù)切換需要一定時(shí)間(負(fù)載較重的服務(wù)器典型值為1ms左右)。
解決方案:
重傳引起的時(shí)延問(wèn)題比較復(fù)雜,與協(xié)議、操作系統(tǒng)、下載軟件及配置等密切相關(guān),本文以FTP為例進(jìn)行說(shuō)明,詳見(jiàn)下文。
某網(wǎng)絡(luò)在LTE開(kāi)局測(cè)試中,HQ1站點(diǎn)和B 站點(diǎn)的下載和上行速率都沒(méi)有達(dá)標(biāo)。
圖1 FTP問(wèn)題組網(wǎng)示意圖
排查組網(wǎng):兩個(gè)站點(diǎn)經(jīng)過(guò)的公共路徑和設(shè)備都是華為OSN3500和 LAN Switch1。
帶寬配置:在OSN3500EGS4單板上綁定了一個(gè)VC4的帶寬,但上載速率最大只能到28M,下載速率只能到40M左右。排查OSN3500上沒(méi)有誤碼性能記錄,查看RMON流量統(tǒng)計(jì),流量也沒(méi)有明顯超過(guò)帶寬,也沒(méi)有丟包的記錄。客戶要求下載帶寬要到100M。
FTP下載是基于TCP的運(yùn)用,TCP的吞吐率主要受發(fā)送窗口大小、往返時(shí)延RTT、丟包率這三個(gè)因素影響。
Lambda(吞吐量)=n(未決請(qǐng)求的數(shù)量)/t(響應(yīng)時(shí)間),在FTP Server端和PC Client端發(fā)送窗口設(shè)置為最大512KBytes的情況下,要達(dá)到峰值100Mbit/s的吞吐率,RTT時(shí)延最大不得超過(guò)40.5ms(=512×8bit/100Mbit/s)
測(cè)試網(wǎng)絡(luò)時(shí)延,從Lanswitch1 ping站點(diǎn),時(shí)延都是5~6ms左右。從Lanswitch1 ping HQ1,時(shí)延也是在幾個(gè)ms。從Lanswitch2 ping的站點(diǎn)的時(shí)延也是在10ms左右。
但從Lanswitch2通過(guò)EPC(核心網(wǎng)的網(wǎng)元)ping Lanswitch1,時(shí)延達(dá)50ms~150ms,且不穩(wěn)定。很明顯問(wèn)題發(fā)生在EPC網(wǎng)元,排查出問(wèn)題在于核心網(wǎng)的BUG,可通過(guò)更新版本解決。
除了丟包等因素,時(shí)延是影響FTP吞吐率的重要指標(biāo)。在時(shí)延問(wèn)題定位上可以通過(guò)分段ping定位,找出問(wèn)題所在。
某客戶網(wǎng)絡(luò),客戶反饋時(shí)延過(guò)大使得下游終端客戶業(yè)務(wù)受到影響。
(1)梳理業(yè)務(wù)拓?fù)鋱D,在P1與P2路由器之間都是通過(guò)波分OSN8800傳輸,其中BC之間距離長(zhǎng)達(dá)1155km,客戶反饋經(jīng)過(guò)PE1和PE2承載的業(yè)務(wù)時(shí)延過(guò)大,且時(shí)延抖動(dòng)過(guò)大。
(2)時(shí)延過(guò)大,且抖動(dòng)范圍很大,前面分析指明,傳輸?shù)臅r(shí)延主要有光纖傳輸時(shí)延、中間節(jié)點(diǎn)產(chǎn)生的時(shí)延,其中設(shè)備產(chǎn)生的處理和轉(zhuǎn)發(fā)時(shí)延都是微秒級(jí)的,排隊(duì)時(shí)延在于數(shù)據(jù)單板處理中配置QOS,緩存排查的時(shí)延。排查傳輸單板和業(yè)務(wù)配置,單板為TTX的OTU單板,業(yè)務(wù)為簡(jiǎn)單透?jìng)?,沒(méi)有配置QOS和shaping。
圖2 承載網(wǎng)絡(luò)示意圖
(3)路徑時(shí)延指的是從源到宿的時(shí)間,測(cè)量過(guò)程主要是對(duì)開(kāi)銷的處理。時(shí)延測(cè)量是測(cè)量ODUk端到端的雙向時(shí)延,如果路徑上存在ODUk SNCP保護(hù),測(cè)量結(jié)果為當(dāng)前工作路徑時(shí)延。
時(shí)延測(cè)量依賴客戶側(cè)有光信號(hào)輸入。測(cè)量過(guò)程自動(dòng)在源端OTU單板下插PM層的時(shí)延測(cè)量開(kāi)銷字節(jié),中間網(wǎng)元透?jìng)?,宿端環(huán)回開(kāi)銷字節(jié)。在測(cè)量結(jié)束之后自動(dòng)恢復(fù)相關(guān)配置。
圖3 路徑時(shí)延測(cè)量原理圖
(4)P1與P2之間的距離為1155km,單向測(cè)量時(shí)延為6.3ms左右,與理論6ms差不多(加上設(shè)備單板的時(shí)延,更與理論值相符),且多次測(cè)量時(shí)延結(jié)果穩(wěn)定。PE1與P1同站,PE1 ping P1時(shí)延都是在1ms內(nèi); P2同站PE2,PE2 ping P2時(shí)延也是在1ms內(nèi)。但PE1 ping PE2時(shí)延很大,且有明顯抖動(dòng)。
圖4 現(xiàn)網(wǎng)路徑PE1~PE2間E2E路徑時(shí)延ping測(cè)結(jié)果
最后通過(guò)排查定位,發(fā)現(xiàn)PE2路由器某單板芯片損壞,替換單板后問(wèn)題解決。
定界是否是傳輸帶來(lái)的時(shí)延,最好的方法是撇開(kāi)其他設(shè)備測(cè)量傳輸時(shí)延。該例子提供了U2000,可以提供免儀表的測(cè)試方法。
某客戶網(wǎng)絡(luò)某鏈路上報(bào)告警MPLS_TUNNEL_Excess。
(1)連續(xù)3個(gè)CV/FFD周期收到大于5個(gè)正確的CV/FFD報(bào)文時(shí)會(huì)出現(xiàn)MPLS_TUNNEL_Excess告警;
(2)首先使用Tunnel LSP ping測(cè)試Tunnel連通性正常;
(3)檢查Tunnel 源宿端 OAM屬性均為 “自適應(yīng) FFD 3.3ms” ,不存在兩端不一致情況;
(4)檢查源宿端是否有相同源節(jié)點(diǎn)ID和Tunnel ID情況,檢查結(jié)果表明Tunnel配置正常;
(5)以上檢查都正常,但是Tunnel告警不斷上報(bào),表明設(shè)備確實(shí)在3個(gè)FFD周期也就是10ms內(nèi)收到了多于5個(gè)的FFD OAM報(bào)文。懷疑該Tunnel 傳輸?shù)膱?bào)文有流量擁塞或延遲過(guò)大情況;
(6)檢查同路由的Tunnel從未上報(bào)異常告警,經(jīng)過(guò)的站點(diǎn)也無(wú)FLOW_OVER告警;
(7)檢查Tunnel及其承載的PWE3業(yè)務(wù) Qos發(fā)現(xiàn),Tunnel和PWE3都設(shè)置了保證帶寬和峰值帶寬為2M bit/s,與客戶溝通將Tunnel Qos都改為無(wú)限制,發(fā)現(xiàn)MPLS_TUNNEL_Excess告警消除后不再上報(bào);
(8)與客戶核實(shí),該TUNNEL承載的PWE3大客戶業(yè)務(wù)為2M bit/s帶寬,最近由于該業(yè)務(wù)新下掛視頻,帶寬使用率較高。由于該Tunnel只承載一條PWE3,所以做業(yè)務(wù)時(shí)順帶把Tunnel也做了限速。
(1)為驗(yàn)證是Tunnel限速導(dǎo)致的MPLS_TUNNEL_Excess告警上報(bào)。與客戶溝通,在申請(qǐng)時(shí)間對(duì)限速和不限速時(shí)的Tunnel性能進(jìn)行測(cè)試比對(duì);
(2)Tunnel保證帶寬和峰值帶寬限速為2M bit/s時(shí),性能情況為:Tunnel丟包率:0.98%;Tunnel帶寬利用率:65.17%;Tunnel時(shí)延和時(shí)延抖動(dòng)最大值:6.6ms左右。這說(shuō)明該Tunnel在限速時(shí)發(fā)生了擁塞,時(shí)延達(dá)到了2個(gè)FFD周期。這導(dǎo)致有些設(shè)備在3個(gè)FFD周期只收到1個(gè)OAM報(bào)文,但是有些設(shè)備在3個(gè)FFD周期收到大于5個(gè)OAM報(bào)文,從而引起MPLS_TUNNEL_Excess頻繁上報(bào)。
時(shí)延是指一個(gè)報(bào)文或分組從網(wǎng)絡(luò)的一端傳送到另一端所需要的時(shí)間。它包括了發(fā)送時(shí)延、傳播時(shí)延、處理時(shí)延、排隊(duì)時(shí)延(時(shí)延=發(fā)送時(shí)延+傳播時(shí)延+處理時(shí)延+排隊(duì)時(shí)延)。在傳輸距離長(zhǎng)的時(shí)候主要考慮傳輸時(shí)延,在IP業(yè)務(wù)中需要考慮業(yè)務(wù)轉(zhuǎn)發(fā)處理中帶來(lái)的時(shí)延。定界是否為傳輸問(wèn)題的最好辦法是通過(guò)分段ping測(cè)試,傳輸網(wǎng)絡(luò)和網(wǎng)管系統(tǒng)能夠提供免儀表的路徑時(shí)延測(cè)試功能、tunnel路徑和業(yè)務(wù)的TP-Assist測(cè)試時(shí)延功能。在不影響業(yè)務(wù)的情況下測(cè)試傳輸網(wǎng)絡(luò)的時(shí)延,解決好傳輸時(shí)延問(wèn)題,有助于直接改善業(yè)務(wù)性能。