[王素彬 曹維華]
技術(shù)交流
IP路由器轉(zhuǎn)發(fā)容量測試方法探討
[王素彬曹維華]
摘要隨著世界通信產(chǎn)業(yè)的持續(xù)飛速發(fā)展,路由器進入了大容量時代,路由器的轉(zhuǎn)發(fā)容量驗證測試成為了網(wǎng)絡(luò)建設(shè)至關(guān)重要的環(huán)節(jié)。文章根據(jù)路由器的功能定位,提出了從網(wǎng)絡(luò)環(huán)境、業(yè)務(wù)需求和路由承載三個方面進行綜合仿真建模的一種測試方法。這種路由器轉(zhuǎn)發(fā)容量評估方案,可提升測試方法的科學(xué)性與合理性,更真實有效評估路由器設(shè)備的業(yè)務(wù)承載能力。
關(guān)鍵詞:路由器 轉(zhuǎn)發(fā)容量 仿真 測試方法
王素彬
中國電信股份有限公司廣東研究院工程師,從事IP網(wǎng)絡(luò)技術(shù)和下一代互聯(lián)網(wǎng)研究。
曹維華
中國電信股份有限公司廣東研究院高級工程師,主要研究方向為移動互聯(lián)網(wǎng)。
自思科公司1986年正式商用第一臺路由器以來,路由器在網(wǎng)絡(luò)中擔(dān)當(dāng)著舉足輕重的角色,聯(lián)結(jié)各個信息站點(Site)與終端,帶來互聯(lián)網(wǎng)20年的繁榮,使得人類進入信息時代。當(dāng)前世界通信產(chǎn)業(yè)規(guī)模持續(xù)飛速發(fā)展,IP網(wǎng)絡(luò)業(yè)務(wù)與帶寬基本遵循摩爾定律,IP網(wǎng)絡(luò)容量面臨前所未有的壓力。互聯(lián)網(wǎng)流量增長率維持在50%以上,以O(shè)TT視頻、云化服務(wù)為代表的新型互聯(lián)網(wǎng)業(yè)務(wù)進一步加劇網(wǎng)絡(luò)流量增長。與此同時,芯片技術(shù)與高速背板技術(shù)高速發(fā)展,IP大容量設(shè)備及高速端口陸續(xù)面市,單槽400G能力IP網(wǎng)絡(luò)設(shè)備逐漸成為主流,40GE/100GE高速端口替代40G POS成為主要端口類型。
路由器是IP網(wǎng)絡(luò)核心組成部分,其轉(zhuǎn)發(fā)容量是業(yè)務(wù)開展的基礎(chǔ)保障,直接決定IP網(wǎng)絡(luò)業(yè)務(wù)承載能力。因此,對路由器的轉(zhuǎn)發(fā)容量評估測試成為了網(wǎng)絡(luò)建設(shè)至關(guān)重要的環(huán)節(jié)。
從過去的十年來看,IP路由器容量的發(fā)展主要經(jīng)歷了三個階段:
(1)10G/40G帶寬時代:自2002年IEEE802.3標(biāo)準(zhǔn)組織發(fā)布10GE以太網(wǎng)的標(biāo)準(zhǔn)開始,骨干網(wǎng)設(shè)備進入10G帶寬時代。這個時期網(wǎng)絡(luò)設(shè)備還是單機的形態(tài),設(shè)備單槽位達到10G吞吐量,并具備向40G演進的能力。
(2)集群時代:單機形態(tài)由于集成度和端口容量的發(fā)展,已無法滿足網(wǎng)絡(luò)流量的爆炸式增長,由此推動了集群系統(tǒng)的誕生。路由器集群(Multi-Chassis)是設(shè)備技術(shù)發(fā)展的一大里程碑式突破,采用并行分組交換技術(shù)擴展單機交換平面與管理平面,使得多臺路由器能夠協(xié)同工作、并行處理,對外呈現(xiàn)為一臺邏輯路由器。路由器集群打破了單機系統(tǒng)在交換容量的限制,從而可大幅度提升設(shè)備的整機轉(zhuǎn)發(fā)容量。
(3)超大容量時代:隨著芯片和光模塊集成度的進一步提升,設(shè)備容量已經(jīng)進入400G/1T時代,設(shè)備不僅具備單機/集群等多種形態(tài)能力,同時還具備向更大容量演進的能力,以此來滿足容量持續(xù)增長的需求。預(yù)計在2017年會出現(xiàn)2Tbps/槽的產(chǎn)品,單機可達32Tbps容量,是前期400G平臺的5倍。
3.1測試拓?fù)錁?gòu)建
路由器容量測試的出發(fā)點是為了驗證設(shè)備的最大轉(zhuǎn)發(fā)能力,因此標(biāo)準(zhǔn)的測試拓?fù)涫窍蛩袠I(yè)務(wù)端口加載收發(fā)雙向流量,查看路由器是否能順利轉(zhuǎn)發(fā),是否會出現(xiàn)丟包、亂序或延時增大等異?,F(xiàn)象。被測設(shè)備所有的端口都應(yīng)該與測試儀表直接相連,由測試儀表發(fā)送所有端口之間的全網(wǎng)狀測試流量,以評估被測設(shè)備最大轉(zhuǎn)發(fā)容量的測試方法。
IP路由器已經(jīng)進入大容量時代,一臺設(shè)備的業(yè)務(wù)端口可能是幾百上千個;而實驗室通常只有最多幾十個網(wǎng)絡(luò)測試儀表端口。在這種環(huán)境下要測試路由器的整機轉(zhuǎn)發(fā)性能,就只能依靠其它技術(shù)手段來彌補物理資源的不足。實驗室測試,我們通??梢杂蒙咝瘟髁縼韽浹a直連流量的不足。被測設(shè)備可以僅用兩個端口與測試儀直接相連,其余端口使用跳線在設(shè)備上進行環(huán)接,并配合一定的流量轉(zhuǎn)發(fā)策略,使測試流量從與儀表直連的一個端口輸入設(shè)備,從一個端口轉(zhuǎn)發(fā)出去后再由另一個端口輸入設(shè)備,如此反復(fù)多次后由另一個與儀表直連的端口輸出,從而保證被測設(shè)備的所有端口均有業(yè)務(wù)流量輸入和輸出。
蛇形流的構(gòu)建可以通過多種方式實現(xiàn):
①通過配置策略路由,設(shè)定由連接測試儀的端口1進入的流量通過端口2轉(zhuǎn)發(fā),端口2外部跳線連接端口3,由端口3進入的流量通過端口4轉(zhuǎn)發(fā)……直至最后連接測試儀的另一個端口;反向流亦然。
②將被測設(shè)備端口每2個一組劃分到一個單獨的虛擬路由器,虛擬路由器之間通過外部跳線串聯(lián),并啟用靜態(tài)或動態(tài)路由實現(xiàn)蛇形轉(zhuǎn)發(fā)。
③將被測設(shè)備端口每2個一組分配到一個單獨的2層或3層MPLS VPN,不同VPN之間通過外部跳線串接,從而實現(xiàn)蛇形轉(zhuǎn)發(fā)。
3.2 常規(guī)測試方法
常規(guī)測試方法遵循標(biāo)準(zhǔn)的測試方法學(xué)理論,關(guān)注路由器在單純IP轉(zhuǎn)發(fā)環(huán)境下,對單字節(jié)測試流的轉(zhuǎn)發(fā)性能,如采用RFC2544/2889等測試標(biāo)準(zhǔn)考察路由器的吞吐量、時延及丟包。但是現(xiàn)網(wǎng)的運營環(huán)境中路由器是同時承載多種業(yè)務(wù),并且啟用了多種業(yè)務(wù)控制策略的;這些特性通常會增加額外的系統(tǒng)開銷,采用常規(guī)的測試方法無法反映出這部分開銷對設(shè)備性能的影響程度,從而導(dǎo)致不能準(zhǔn)確評估路由器的轉(zhuǎn)發(fā)容量。
下面以路由器100G板卡分別在純IP報文轉(zhuǎn)發(fā)、疊加包過濾防火墻轉(zhuǎn)發(fā)、疊加NAT轉(zhuǎn)發(fā)、疊加QoS轉(zhuǎn)發(fā)及三類業(yè)務(wù)疊加下轉(zhuǎn)發(fā)等五個場景轉(zhuǎn)發(fā)性能測試為例說明業(yè)務(wù)處理對轉(zhuǎn)發(fā)性能的影響,測試數(shù)據(jù)如圖4,設(shè)備在不同場景下小字節(jié)處理能力差異非常大,如在64字節(jié)的轉(zhuǎn)發(fā)性能如下:
圖1 IP路由器容量發(fā)展歷程
圖2 蛇形測試拓?fù)?/p>
①在單純的IP轉(zhuǎn)發(fā)環(huán)境下,路由器的轉(zhuǎn)發(fā)性能為線速的82%左右;
②當(dāng)僅加載包過濾防火墻時,路由器的轉(zhuǎn)發(fā)性能下降到63%左右;
③當(dāng)僅加載NAT或QoS時,路由器的轉(zhuǎn)發(fā)性能進一步下降到28%左右;
④當(dāng)同時加載所有上述業(yè)務(wù)時,路由器的轉(zhuǎn)發(fā)性能下降到10左右。
圖3 不同場景下路由器轉(zhuǎn)發(fā)結(jié)果
3.3 仿真測試方法
IP路由器通常處于大型運營網(wǎng)絡(luò)的核心位置,其主要功能是業(yè)務(wù)流量的匯聚和轉(zhuǎn)發(fā),并根據(jù)業(yè)務(wù)開展策略進行有效的流量調(diào)度和管理。
3.3.1網(wǎng)絡(luò)模型構(gòu)建
在現(xiàn)網(wǎng)實際部署中,路由器主要用于三種網(wǎng)絡(luò)場景:1)國家骨干網(wǎng),主要是用于連接跨省干或大型的城域網(wǎng)絡(luò),作為整個網(wǎng)絡(luò)的核心節(jié)點;2)省干或者城域網(wǎng)絡(luò)的出口節(jié)點,主要用于本省和城域網(wǎng)內(nèi)部業(yè)務(wù)匯聚;3)國際互聯(lián)互通或者國際關(guān)口局節(jié)點,用于和其他國內(nèi)和海外運營商聯(lián)的場景。
3.3.2業(yè)務(wù)模型構(gòu)建
根據(jù)IP路由器所處的網(wǎng)絡(luò)環(huán)境和其承擔(dān)的功能角色,我們基本可以模擬出運營網(wǎng)絡(luò)中路由器所承載的業(yè)務(wù)類型及其策略需求。實驗室可以分三步構(gòu)建路由器的業(yè)務(wù)模型:
圖4 IP路由器網(wǎng)絡(luò)模型
(1)直連業(yè)務(wù)流仿真
測試儀表與被測路由器的部分端口采用背靠背連接方式,仿真經(jīng)過路由器的穿透流量。考慮測試涵蓋范圍的普適性,路由器的每種業(yè)務(wù)板卡至少用2塊跟測試儀表連接,用Backbone的方式跨板跨框打入測試流。流量由IPv4、MPLS、IPv6混合組成,混合比例為45%:30%:20%,使直連業(yè)務(wù)端口的總業(yè)務(wù)壓力為95%。這些流量由被測路由器按路由或標(biāo)簽正常轉(zhuǎn)發(fā)到另一端的測試儀端口,不在被測路由器內(nèi)部繞行。
(2)構(gòu)建蛇形流量
在蛇形流的三種構(gòu)建方式中,為了盡量保證業(yè)務(wù)策略的有效加載,建議采用虛擬路由器的方式。借助VRF和光纖回路,對路由器的每種物理端口類型,用測試儀表的一對物理端口產(chǎn)生的流量在被測設(shè)備的多個端口(跟測試儀直連的端口除外)之間逐個穿透,最終讓路由器上沒有跟儀表直連的所有端口都被加載雙向99%的測試流。流量采用80%:19%的IPv4/IPv6混合業(yè)務(wù)流。
(3)組播業(yè)務(wù)仿真
模擬組播源,用測試儀表的多個端口模擬組播源,發(fā)送占儀表端口容量20%的組播流量;每種端口類型使用4個組播源,共模擬400個IPv4+200個IPv6組播組。所有跟儀表直連的業(yè)務(wù)端口仿真組播用戶,同時接收所有的組播組;此時這些直連端口的接收方向負(fù)載超過100%,出現(xiàn)擁塞。
(4)QoS和業(yè)務(wù)策略仿真
在直連業(yè)務(wù)端口的入方向配置流分類和流標(biāo)記,在出方向配置8個QoS隊列及相應(yīng)調(diào)度的策略和丟包策略(WRR中各隊列的權(quán)重參數(shù),和WRED的WRED最小閾值、最大閾值、丟包概率等參數(shù)可自由設(shè)置,以實現(xiàn)各隊列按優(yōu)先級差異丟包)。優(yōu)先保證MPLS和組播業(yè)務(wù),在各直連端口可檢查各隊列的帶寬和時延保證是否符合預(yù)期。
加載訪問控制策略,按入方向各3600個ACL/物理端口,其中3000條匹配IPv4流量,600條匹配IPv6流量,在所有端口(包括業(yè)務(wù)端口和蛇形流端口)疊加訪問控制策略。接著加載安全策略,在被測試設(shè)備的所有端口啟用IPv4和IPv6的嚴(yán)格URPF功能。檢查此時各類業(yè)務(wù)流是否有丟包、時延、亂序。然后在所有端口(包括業(yè)務(wù)端口和蛇形流端口)上開啟流量采樣功能,使用v9版本,按照1000:1的采樣比,采集端口入方向的所有數(shù)據(jù)包(包括V4、MPLS、V6、組播入出接口 ),并通過管理口將采集信息傳送給采集分析服務(wù)器。最后隨機選取任意一個10GE的業(yè)務(wù)仿真端口進行端口雙向的線速鏡像,再選取一個100GE的端口進行入向10%的限速鏡像,通過抓包觀察鏡像結(jié)果,觀察業(yè)務(wù)仿真結(jié)果。
3.3.3路由模型構(gòu)建
運營網(wǎng)絡(luò)的IP路由器不僅承載了高負(fù)荷的流量轉(zhuǎn)發(fā)壓力,同時也承擔(dān)著大量的路由信息存儲和計算的壓力;通常路由器要同時負(fù)責(zé)域內(nèi)IGP和域間BGP路由信息的通告、計算和優(yōu)化。在進行路由器容量測試時,設(shè)備也應(yīng)該同時加載相應(yīng)的路由壓力。
(1)域內(nèi)路由
域內(nèi)路由仿真:當(dāng)前的主流域內(nèi)路由協(xié)議是ISIS,路由器需要實時維護全網(wǎng)的節(jié)點拓?fù)湫畔?。我們仿真最典型的層次化路由網(wǎng)絡(luò)拓?fù)洌瑢⒛M拓?fù)浞趾诵?、匯接、邊緣三層構(gòu)建。核心層采用全full-mesh結(jié)構(gòu),匯接、邊緣采用雙歸鏈路上聯(lián)結(jié)構(gòu);拓?fù)渲械穆酚删W(wǎng)段先取節(jié)點互連鏈路所在子網(wǎng),不夠的從邊緣層節(jié)點補充子網(wǎng)路由;最終根據(jù)節(jié)點數(shù)量、路由子網(wǎng)數(shù)量、各層節(jié)點比例生成一個層次化仿真拓?fù)?。考慮目前最大的IGP路由網(wǎng)絡(luò)和路由表的增長趨勢,我們用測試儀加載這樣的仿真信息:包含2000個IPv4路由節(jié)點、20000條IPv4路由條目,和500個IPv6路由節(jié)點、3000條ISISv6路由的大型拓?fù)?;同時借助子端口建立數(shù)百個直連路由鄰居以仿真路信息交換過程。
圖5 域內(nèi)路由仿真模型
(2)域間路由
測試儀同時向被測路由器建立多個EBGP和IBGP鄰居,并通告一張仿真Internet路由表。我們主要從路由前綴、子網(wǎng)掩碼和as path三個方面來仿真現(xiàn)網(wǎng)路由表,設(shè)置路由條目數(shù)、通告路由網(wǎng)段地址范圍、路由前綴長度分布比例、嵌套路由網(wǎng)段地址范圍、嵌套路由比例、AS Path取值范圍、AS Path長度取值范圍等相關(guān)參數(shù);根據(jù)現(xiàn)網(wǎng)路由信息的分布規(guī)律設(shè)計算法,保證生成的路由表能完全涵蓋當(dāng)前Internet網(wǎng)絡(luò)的復(fù)雜度。
按照骨干網(wǎng)目前的運營環(huán)境,可以將測試儀劃分8個子接口,與被測路由器建立IBGP鄰居(開啟V4/V6的負(fù)載分擔(dān)),路由器配置為這些鄰居的路由反射器,所有鄰居在一個反射簇中。每個IBGP鄰居向被測路由器宣告4萬條IBGP子網(wǎng)路由;其中每個子接口導(dǎo)入的90%路由條目相同,10%路由條目不相同。另選一個儀表端口劃分成50個子端口,與被測路由器建立50個EBGP直連鄰居,每個鄰居導(dǎo)入8萬條EBGP子網(wǎng)路由,每個子接口也是大部分條目相同。同時以其導(dǎo)入的BGP路由條目為目的地址發(fā)送測試流,以使儀表導(dǎo)入的路由信息真正下載到路由器中,仿真路由查找和計算過程。
轉(zhuǎn)發(fā)容量測試是IP路由器設(shè)備引入的重要評估環(huán)節(jié),是運營商直接判斷設(shè)備是否滿足應(yīng)用要求的第一依據(jù)。本文所探索的業(yè)務(wù)仿真測試方法,為當(dāng)前的大容量IP路由器提供了一種高可信的方案,提升測試的科學(xué)性與合理性。由于互聯(lián)網(wǎng)業(yè)務(wù)變化較快、設(shè)備融合功能更新快,路由器容量測試后續(xù)應(yīng)重點關(guān)注各項需求變化,不斷地完善整體技術(shù)方案。此外,還可疊加上四層仿真流量(如TCP流量),模擬真實的流量(P2P流量、HTTP流量等)注入至被測設(shè)備,更能反映出路由器的能力。
參考文獻
1陳華南等. IP路由器技術(shù)發(fā)展趨勢. 電信科學(xué),2015,04:2015107-1~2015107-4
2康亮等. 4G移動通信終端數(shù)據(jù)吞吐量測試研究.電信科學(xué),2015,06:2015140-1~2015140-6
DOI:10.3969/j.issn.1006-6403.2016.01.014
收稿日期:(2015-12-08)