作者:Ganesh Balakrishnan
IBM集團
Ravi Gunturi
英特爾公司
網(wǎng)絡(luò)處理論壇(NPF)提出的MPLS轉(zhuǎn)發(fā)應用級基準規(guī)范實施協(xié)議(IA)是一項公開的業(yè)界規(guī)范,可以測量不同網(wǎng)絡(luò)處理器系統(tǒng)的在MPLS數(shù)據(jù)層的性能。該規(guī)范概括了必要的需求、測試、測試參數(shù)及報告格式,并包含能移植腳本的詳細實現(xiàn)工具,此外,還集成了幾種可使測試結(jié)果偏差降至最低的重要實現(xiàn)方法。
網(wǎng)絡(luò)處理器供應商正試圖聯(lián)合起來,以期獲取最優(yōu)的MPLS轉(zhuǎn)發(fā)性能。幸而網(wǎng)絡(luò)處理論壇新提出的“黑匣子”MPLS基準已經(jīng)最好充分準備,可為設(shè)計人員提供處理器工作于真實環(huán)境下的性能數(shù)據(jù)。
承載商和業(yè)務提供商正在企業(yè)中大力推廣多協(xié)議標記交換(MPLS),因為該協(xié)議有助于提升網(wǎng)絡(luò)傳輸流速率、管理傳輸流量并提供品質(zhì)保證。正是MPLS的廣泛應用使得網(wǎng)絡(luò)設(shè)備生產(chǎn)商和網(wǎng)絡(luò)處理產(chǎn)品供應商迫切希望在眾多基于網(wǎng)絡(luò)處理器的系統(tǒng)(這些系統(tǒng)都要求運行MPLS)中尋求一種既公正又精確刻畫MPLS性能的方法。
網(wǎng)絡(luò)處理論壇(NPF)提出的MPLS轉(zhuǎn)發(fā)應用級基準規(guī)范實施協(xié)議(IA)可以滿足這項需要。這是一項公開的業(yè)界規(guī)范,可以在測量不同網(wǎng)絡(luò)處理器系統(tǒng)的MPLS數(shù)據(jù)平面性能時,利用“黑匣子”方法實現(xiàn)公正性。該規(guī)范專注于描述性能,而非協(xié)議一致性,因而可以概括必要的需求、測試、測試參數(shù)及報告格式,并包含能輕松移植腳本的詳細實現(xiàn)工具。該規(guī)范還集成了幾種可使測試結(jié)果偏差降至最低的重要實現(xiàn)方法。
黑匣子環(huán)繞在處理器子系統(tǒng)四周,這樣就能只對網(wǎng)絡(luò)處理元件上觀測的輸入/輸出特性進行評估。該方法可以成為業(yè)界標準性能基準,并使供應商能根據(jù)自身需要進行設(shè)計選擇。但黑匣子中的所有相關(guān)子系統(tǒng)信息(如硬件列表、總功耗和機械規(guī)格)都必須給出相關(guān)的測試結(jié)果。
該基準專注于測試基本功能的性能,而非協(xié)議一致性;鶞手屑俣嘶镜膮f(xié)議一致性,這意味著供應商不必為了進行NPF基準測試而實現(xiàn)協(xié)議規(guī)范的全部特性。該基準是根據(jù)一致協(xié)商流程開發(fā)的開放式標準,開發(fā)過程中邀請了所有的NPF成員公司提供必要的輸入。全部論壇基準規(guī)范可參見www.npforum.org。
MPLS基準IA本身就是專為網(wǎng)盒(network box)供應商提供的應用級基準,這些供應商將利用網(wǎng)盒提供的網(wǎng)絡(luò)處理應用功能獲取增值數(shù)據(jù)平面功能。由于這是硬件規(guī)范,因而不必限定系統(tǒng)采用的軟件。然而,一旦加載了軟件,那么就必須在整個測試流程中使用該軟件,從而導致無法根據(jù)不同的測試需要更換適當?shù)能浖?
基準概述
MPLS領(lǐng)域包含了3種截然不同的轉(zhuǎn)發(fā)點:入口、轉(zhuǎn)口和出口(如需進一步了解MPLS,可參閱“MPLS raises bar for network speed and management”這篇文章)。
這些MPLS功能域都具有獨特的按不同方式實現(xiàn)的處理任務。因此,為了完整地描述MPLS性能,MPLS基準測試必須獨立涵蓋每個領(lǐng)域。每個功能域都自帶參數(shù)、測試和報告格式。該方法具有很強的包容性,可以充分削弱各成員公司的獨立性,使其無法調(diào)整系統(tǒng)至MPLS規(guī)范限制的某個特定環(huán)節(jié)。
MPLS基準規(guī)范基于現(xiàn)有的RFC2544和NPF互聯(lián)網(wǎng)協(xié)議版本4(IPv4)轉(zhuǎn)發(fā)級基準實現(xiàn)規(guī)范提出的基準方法。測試經(jīng)過調(diào)整,可致力于解決MPLS技術(shù)在測試網(wǎng)絡(luò)處理器系統(tǒng)應用中的某些特定問題。
MPLS IA是性能測試基準,而非MPLS協(xié)議一致性驗證工具。實施協(xié)議只測試了MPLS的一些基本特性,以確定MPLS在網(wǎng)絡(luò)處理系統(tǒng)中的相對性能。MPLS基準規(guī)范并不能詳盡地測試每項可能的特性或參數(shù)。當存在多種可選方案時,這不會對性能產(chǎn)生明顯影響,因而可以選擇一種應用最廣泛的實現(xiàn)方法作為這組功能的性能指標。
例如,REC實現(xiàn)可采用網(wǎng)絡(luò)前綴分類器(prefix classifier)、IP主機地址分類器或5-6元組分類器。之所以選擇最大前綴匹配(LPM)或網(wǎng)絡(luò)前綴分類器作為基準,因為該分類器是目前在MPLS領(lǐng)域應用最廣泛的分類器。
MPLS基準規(guī)范的另一項重要特征是該基準只專注于數(shù)據(jù)平面功能。MPLS控制平面更新并不能極大地作用于系統(tǒng),從而影響數(shù)據(jù)平面轉(zhuǎn)發(fā)性能。因此,控制平面基準測試結(jié)果并不能有效地幫助供應商,所以控制平面性能測試也不包含在該基準中。相反,可以增加額外的測試,使MPLS路由器以其吞吐率測量標記交換路徑(LSP)的最大數(shù)目。該測試對于供應商評估配置在傳輸流工程和流量管理網(wǎng)絡(luò)解決方案中的MPLS路由器非常有效。
測試描述
采用MPLS基準實施規(guī)范測試網(wǎng)絡(luò)處理子系統(tǒng)的第一步是創(chuàng)建能識別待測專用設(shè)備(DUT)的參考設(shè)計 (如圖1所示)。測試設(shè)計可由一個或多個媒體接口和交換接口組成,而且可以包含多個網(wǎng)絡(luò)處理器及任意多個以任意方式聯(lián)接至網(wǎng)絡(luò)處理器的協(xié)處理器。網(wǎng)絡(luò)處理器供應商或客戶可以通過比較不同的網(wǎng)絡(luò)處理器選取速率和媒體類型。
參考設(shè)計必須詳細描述DUT的各個重要組件,包括方框圖、器件列表和其他因素,如機械規(guī)格、媒體和交換接口、端口、處理器和協(xié)處理器描述及內(nèi)存。
MPLS測試設(shè)定使用了數(shù)據(jù)平面網(wǎng)絡(luò)傳輸流生成器。傳輸流生成器必須能以不同的標號值和可變的標號棧發(fā)送并接收MPLS傳輸流。生成器還應能計算發(fā)送和接收的分組數(shù)據(jù)量并測量DUT上的端對端延遲時間。運行NPF MPLS基準還可以利用一套參考實現(xiàn)工具。為了滿足特定的測試配置需求,該實現(xiàn)工具必須綁定用于產(chǎn)生Ipv4傳輸流的Tcl腳本。實現(xiàn)工具的其余部分則不是不可或缺,但可以作為那些希望實現(xiàn)基準的供應商的一個基本切入點。所有的MPLS和Ipv4轉(zhuǎn)發(fā)表均保持在轉(zhuǎn)發(fā)分組數(shù)據(jù)所需的狀態(tài),因此必須在進行測試前加載。
基準測試具有3種基本配置:入口、轉(zhuǎn)口和出口配置,這3種配置分別對應于MPLS域的3種操作情形。核心測試包含轉(zhuǎn)發(fā)數(shù)量、吞吐量、延遲時間和丟包率。MPLS基準規(guī)范中詳細描述了這些測試及其方法并羅列在RFC2544和RFC1242之后。本文只詳細描述了每項測試配置中測試、測試設(shè)定和測試參數(shù)的顯著差異。入口和轉(zhuǎn)口配置還增加了一項可選測試,以測量在該吞吐率下所支持的最大數(shù)目LSP。
轉(zhuǎn)發(fā)速率測量了系統(tǒng)以全線路速率處理分組數(shù)據(jù)時的速率。特定數(shù)目的Ipv4分組數(shù)據(jù)以線路速率發(fā)送至DUT,并根據(jù)接收的幀數(shù)產(chǎn)生一個計數(shù)。
吞吐率測量了DUT在不丟包情形下轉(zhuǎn)發(fā)分組數(shù)據(jù)的最大速率。該測量可通過在DUT的所有媒體接口上以一定速率發(fā)送特定數(shù)目的幀加以實現(xiàn)。
延遲時間表征了分組數(shù)據(jù)延遲在總吞吐率中所占的百分比。測量分組數(shù)據(jù)轉(zhuǎn)發(fā)延遲時間需要引入傳輸流生成器,該生成器不僅能唯一標記并識別測試器發(fā)送和接收的分組數(shù)據(jù),還可記錄分組數(shù)據(jù)發(fā)送和接收的時間。接收和發(fā)送時間時標可用來計算分組數(shù)據(jù)的延遲時間。
基準規(guī)范需要報告90%和100%吞吐率下的延遲時間。之所以選擇這些吞吐率是因為當系統(tǒng)達到極限條件時,轉(zhuǎn)發(fā)速率接近吞吐率,而這時大多數(shù)DUT的延遲時間也將達到最大。
丟包率表征了當傳輸流速率超過吞吐率時丟失的分組數(shù)據(jù)。該測試測量了當吞吐率達到線速率時的丟包率。丟包率測試方式類似于吞吐量測試。
為了便于供應商報告在不影響吞吐量條件下所能進行管理的最大數(shù)據(jù)流數(shù)目,可以增加一項測試,測量吞吐率條件下所能支持的最大標記交換路徑數(shù)目。在執(zhí)行MPLS操作和轉(zhuǎn)發(fā)分組數(shù)據(jù)期間,DUT必須采用至少200條LSP。
該測試可通過在DUT上以吞吐量測試所確定的速率發(fā)送數(shù)據(jù)幀加以實現(xiàn)。下一節(jié)點標記轉(zhuǎn)發(fā)入口(Next Hop Label Forwarding Entry, NHLFE)中的LSP數(shù)目可在全部接口上以統(tǒng)一的固定增量持續(xù)增加,直到數(shù)據(jù)幀不再以吞吐率速度進行發(fā)送。該測試還需要在反復操作之間增加數(shù)據(jù)平面MPLS和IPv4表。因此,添加LSP的方法必須與發(fā)送傳輸流的過程同步,從而保證測試的正常進行。另一方面,該測試無需任何控制和數(shù)據(jù)平面交互。
配置參數(shù)
每項配置均包含一套測試參數(shù)及其結(jié)果,參數(shù)通常包括幀長、路由表、傳輸流模式和標記棧深度及其操作。每項配置還具有一些獨特的設(shè)定參數(shù)。
這里引入了RFC2544幀長的部分內(nèi)容。由于分組數(shù)據(jù)長度被定為最大的分組數(shù)據(jù)長度,因此當數(shù)據(jù)幀進入或離開DUT時,任何相應的鏈接級幀長都不會超過1518字節(jié)。在測試中,這有利于消除分割包對分組數(shù)據(jù)轉(zhuǎn)發(fā)性能的影響。
對MPLS未來發(fā)展的前景預測表明,該技術(shù)可廣泛應用于基于BGP并具3級標號棧深度的VPN。基準的最大標號棧深度可根據(jù)這些前景預測進行選擇,因此必須建立全部IPv4路由表、MPLS轉(zhuǎn)發(fā)表和傳輸流模式,從而在每項配置中盡可能支持3級標號棧深度。然而,并非所有的器件都能支持全部測試,因此供應商必須對不能進行的測試賦以零值。
每項配置的測試設(shè)定都非常相似。適當?shù)腗PLS和IPv4轉(zhuǎn)發(fā)表必須在測試之前進行加載,而且必須加載傳輸流測試器以運行基準腳本并同相應的DUT端口連接以發(fā)送數(shù)據(jù)。此外,測試器還應當測試每項配置指定的傳輸流模式。根據(jù)不同的DUT,端口對和測試設(shè)定也有所不同。
入口配置
入口配置的重要參數(shù)如下所述。
幀長:入口配置將把一個或多個標號壓入分組數(shù)據(jù)標號棧;鶞室(guī)范采用了多種RFC 2544規(guī)定的IPv4分組數(shù)據(jù)長度,范圍從40字節(jié)至1500字節(jié)。鏈路層幀長可利用基于媒體接口的IPv4分組數(shù)據(jù)長度計算得到,并能同時使用固定長度的數(shù)據(jù)流和混合長度的數(shù)據(jù)流;旌蠑(shù)據(jù)流長度根據(jù)對IP分組數(shù)據(jù)長度分布的分析得到。
路由表:入口配置采用的靜態(tài)路由表是Mae West路由表的“快照”,該快照可為所有的標號棧操作執(zhí)行傳輸流測試。整個Mae West快照路由表必須加載到DUT中的分類器入口表中。最大前綴匹配分類器可根據(jù)分組數(shù)據(jù)的目標IPv4地址對分組數(shù)據(jù)進行分類,而目標IPv4地址可從Mae West表快照中獲得?衫媚_本為數(shù)據(jù)傳輸流選擇Mae West表入口。該腳本同眾多的LSP和路由表結(jié)合起來,可以防止對路由數(shù)據(jù)進行任何操作、硬編碼或緩存,從而影響測試結(jié)果。
傳輸流模式:每項配置的傳輸流模式也不盡相同。在入口配置中,測試器必須在端口上產(chǎn)生傳輸流,而傳輸流的目標地址則從Mae West快照路由表隨機提取。所有的傳輸流必須均勻地分布在各端口上,而全部數(shù)據(jù)幀必須只由IPv4數(shù)據(jù)報組成。
標號棧深度、標號棧操作和FEC類型:在入口配置中,輸入分組數(shù)據(jù)的標號棧深度應為0。MPLS轉(zhuǎn)發(fā)操作將壓棧1、2和3級標號。此外,還必須使用IPv4 LPM分類器,該分類器是MPLS轉(zhuǎn)發(fā)管道的重要組成部分,在測量性能時不能從系統(tǒng)中移除。
轉(zhuǎn)口配置
轉(zhuǎn)口配置參數(shù)如下:
幀長:轉(zhuǎn)口測試可以采用與入口測試相同的幀長。由于該幀長也帶有MPLS標號,因此必須減短IPv4數(shù)據(jù)報長度以適應1518字節(jié)的幀長需求。
傳輸流模式:在轉(zhuǎn)口配置中,測試器應能在所有的媒體端口上產(chǎn)生傳輸流,傳輸流標號可隨機從入域標號映射(ILM)分配的標號中獲取。傳輸流應均勻地分布在所有的端口上,這時測試將開始于所有由標號傳輸流組成的數(shù)據(jù)幀,這些傳輸流都具有唯一的標號。傳輸流必須找到在單個標號上進行交換的NHLFE入口。在下一次交互中,傳輸流必須找到交換標號的NHLFE入口并將一個額外標號壓入標號棧中。在最后一次交互中,則將兩個額外標號壓入標號棧。
標號棧深度、標號棧操作和FEC類型:在轉(zhuǎn)口配置中,輸入的分組數(shù)據(jù)標號棧深度應為1。交換和交換壓棧MPLS轉(zhuǎn)發(fā)操作將對輸入的標號棧進行處理。
出口配置
為了進行出口測試,DUT應建立在Penultimate-Hop Pop (PHP)模式下,而大多數(shù)MPLS產(chǎn)品也都采用這種模式進行配置。此外,以這種模式配置DUT還有助于測量MPLS業(yè)務提供點(point-of-presence)操作的性能,而無需采用IPv4地址查詢掩碼以確定下一節(jié)點。如果不支持PHP,那么這些測試的性能將能報告在常規(guī)操作模式中。
幀長:這些測試幀長和路由表與其他測試保持相同。
傳輸流模式:測試器應能在入口端口產(chǎn)生傳輸流,傳輸流標號根據(jù)ILM中的標號隨機獲得。傳輸流應均勻分布在所有的端口上。首個傳輸流模式將發(fā)送具有唯一標號的幀,下一個模式則具有兩個標號,依此類推。
標號棧深度、標號棧生成和FEC類型:在出口配置中,發(fā)送至DUT的分組數(shù)據(jù)根據(jù)標號棧操作的不同,可以具有1、2或3級標號棧深度。單個業(yè)務提供點操作必須在所有的棧標號上完成。
報告和驗證
在每項測試中,測試的特定報告格式均能明確地以MPLS轉(zhuǎn)發(fā)級基準IA開始。需要注意的是,那些無法完成全部測試的系統(tǒng)將被排除在基準之外。對于那些無法完成的測試,這些系統(tǒng)將對測試結(jié)果賦以零值。
除了上述指令,NPF還提供了完整的MPLS轉(zhuǎn)發(fā)應用級基準測試結(jié)果報告模板。該模板包含詳盡的參考設(shè)計示例,如圖2所示的方框圖。該模板還以圖形方式展示了入口、轉(zhuǎn)口和出口傳輸流測試的測試結(jié)果。圖3給出了一個轉(zhuǎn)發(fā)速率圖形描述示例。
希望對其基準測試的性能結(jié)果進行驗證的網(wǎng)絡(luò)處理器生產(chǎn)商必須將其產(chǎn)品提交給獨立的第三方審計和驗證機構(gòu),如Tolly Group。一旦測試完成,NPF將頒發(fā)“NPF認證”標志給生產(chǎn)商,以表明其基準測試完全符合規(guī)定要求。