路由器是IP網(wǎng)絡(luò)的核心設(shè)備,其性能的好壞直接影響IP網(wǎng)網(wǎng)絡(luò)規(guī)模、網(wǎng)絡(luò)穩(wěn)定性以及網(wǎng)絡(luò)可擴展性。路由器區(qū)別于一般簡單的網(wǎng)絡(luò)互連設(shè)備,在性能測試時還應(yīng)該加上路由器特有的性能測試。路由器在計算機網(wǎng)絡(luò)中有著舉足輕重的地位,是計算機網(wǎng)絡(luò)的橋梁。通過它不僅可以連通不同的網(wǎng)絡(luò),還能選擇數(shù)據(jù)傳送的路徑,并能阻隔非法的訪問。 路由器的配置對初學(xué)者來說,并不是件十分容易的事。
(一)功能測試
路由器功能通?梢詣澐譃槿缦路矫妗
(1)接口功能:該功能用作將路由器連接到網(wǎng)絡(luò)?梢苑譃榫钟蚓W(wǎng)接口及廣域網(wǎng)接口兩種。局域網(wǎng)接口主要包括以太網(wǎng)、令牌環(huán)、令牌總線、FDDI等網(wǎng)絡(luò)接口。廣域網(wǎng)接口主要包括E1/T1、E3/T3、DS3、通用串行口(可轉(zhuǎn)換成X.21DTE/DCE、V.35DTE/DCE、RS232DTE/DCE、RS449DTE/DCE、EIA530DTE)等網(wǎng)絡(luò)接口。(2)通信協(xié)議功能:該功能負(fù)責(zé)處理通信協(xié)議,可以包括TCP/IP、PPP、X.25、幀中繼等協(xié)議。(3)數(shù)據(jù)包轉(zhuǎn)發(fā)功能:該功能主要負(fù)責(zé)按照路由表內(nèi)容在各端口(包括邏輯端口)間轉(zhuǎn)發(fā)數(shù)據(jù)包并且改寫鏈路層數(shù)據(jù)包頭信息。(4)路由信息維護功能:該功能負(fù)責(zé)運行路由協(xié)議,維護路由表。路由協(xié)議可包括RIP、OSPF、BGP等協(xié)議。(5)管理控制功能:路由器管理控制功能包括五個功能,SNMP代理功能,Telnet服務(wù)器功能,本地管理、遠(yuǎn)端監(jiān)控和RMON功能。通過多種不同的途徑對路由器進行控制管理,并且允許紀(jì)錄日志。(6)安全功能:用于完成數(shù)據(jù)包過濾,地址轉(zhuǎn)換,訪問控制,數(shù)據(jù)加密,防火墻,地址分配等功能。
路由器對上述功能并非必要完全實現(xiàn)。但是由于路由器作為網(wǎng)絡(luò)設(shè)備,存在最小功能集,對最小功能集所規(guī)定的功能,路由器必須支持。因為絕大多數(shù)功能測試可以由接口測試、性能測試、協(xié)議一致性測試和網(wǎng)管測試所函蓋,所以路由器功能測試一般可以只對其他測試無法涵蓋的功能作驗證性測試。路由器功能測試一般采用遠(yuǎn)端測試法。
(二)性能測試
路由器是IP網(wǎng)絡(luò)的核心設(shè)備,其性能的好壞直接影響IP網(wǎng)網(wǎng)絡(luò)規(guī)模、網(wǎng)絡(luò)穩(wěn)定性以及網(wǎng)絡(luò)可擴展性。由于IETF沒有對路由器性能測試作專門規(guī)定,一般來說只能按照RFC2544( Benchmarking Methodology for Network Interconnect Devices)作測試。但路由器區(qū)別于一般簡單的網(wǎng)絡(luò)互連設(shè)備,在性能測試時還應(yīng)該加上路由器特有的性能測試。例如路由表容量、路由協(xié)議收斂時間等指標(biāo)。
路由器性能測試應(yīng)當(dāng)包括下列指標(biāo)。
(1)吞吐量:測試路由器包轉(zhuǎn)發(fā)的能力。通常指路由器在不丟包條件下每秒轉(zhuǎn)發(fā)包的極限,一般可以采用二分法查找該極限點。(2)時延:測試路由器在吞吐量范圍內(nèi)從收到包到轉(zhuǎn)發(fā)出該包的時間間隔。時延測試應(yīng)當(dāng)重復(fù)20次然后取其平均值。(3)丟包率:測試路由器在不同負(fù)荷下丟棄包占收到包的比例。不同負(fù)荷通常指從吞吐量測試到線速(線路上傳輸包的最高速率),步長一般使用線速的10%。(4)背靠背幀數(shù):測試路由器在接收到以最小包間隔傳輸時不丟包條件下所能處理的最大包數(shù)。該測試實際考驗路由器緩存能力,如果路由器具備線速能力(吞吐量=接口媒體線速),則該測試沒有意義。(5)系統(tǒng)恢復(fù)時間:測試路由器在過載后恢復(fù)正常工作的時間。測試方法可以采用向路由器端口發(fā)送吞吐量110%和線速間的較小值,持續(xù)60秒后將速率下降到50%的時刻到最后一個丟包的時間間隔。如果路由器具備線速能力,則該測試沒有意義。(6)系統(tǒng)復(fù)位:測試路由器從軟件復(fù)位或關(guān)電重啟到正常工作的時間間隔。正常工作指能以吞吐量轉(zhuǎn)發(fā)數(shù)據(jù)。
在測試上述RFC2544中規(guī)定的指標(biāo)時應(yīng)當(dāng)考慮下列因素。
幀格式:建議按照RFC2544所規(guī)定的幀格式測試;幀長:從最小幀長到MTU順序遞增,例如在以太網(wǎng)上采用64, 128, 256, 512, 1024, 1280, 1518字節(jié);認(rèn)證接收幀:排除收到的非測試幀,例如控制幀、路由更新幀等;廣播幀:驗證廣播幀對路由器性能的影響,上述測試后在測試幀中夾雜1%廣播幀再測試;管理幀:驗證管理幀對路由器性能的影響,上述測試后在測試幀中夾雜每秒一個管理幀再測試;路由更新:路由更新即下一跳端口改變對性能的影響;過濾器:在設(shè)置過濾器條件下對路由器性能的影響,建議設(shè)置25個過濾條件測試;協(xié)議地址:測試路由器收到隨機處于256個網(wǎng)絡(luò)中的地址時對性能的影響;雙向流量:測試路由器端口雙向收發(fā)數(shù)據(jù)對性能的影響;多端口測試:考慮流量全連接分布或非全連接分布對性能的影響;多協(xié)議測試:考慮路由器同時處理多種協(xié)議對性能的影響;混合包長:除測試所建議的遞增包長外,檢查混合包長對路由器性能的影響,RFC2544除要求包含所有測試包長外沒有對混合包長中各包長所占比例作規(guī)定。筆者建議按照實際網(wǎng)絡(luò)中各包長的分布測試,例如在沒有特殊應(yīng)用要求時以太網(wǎng)接口上可采用60字節(jié)包50%,128字節(jié)包10%,256字節(jié)包15%,512字節(jié)包10%,1500字節(jié)包15%。除上述RFC2544建議的測試項外還建議測試如下內(nèi)容。
①路由震蕩:路由震蕩對路由器轉(zhuǎn)發(fā)能力的影響。路由震蕩程度即每秒更新路由的數(shù)量可以依據(jù)網(wǎng)絡(luò)條件而定。路由更新協(xié)議可采用BGP。②路由表容量:測試路由表大小。骨干網(wǎng)路由器通常運行BGP,路由表包含全球路由。一般來說要求超過10萬條路由,建議通過采用BGP輸入導(dǎo)出路由計數(shù)來測試。③時鐘同步:在包含相應(yīng)端口例如POS口的路由器上測試內(nèi)鐘精度以及同步能力。④協(xié)議收斂時間:測試路由變化通知到全網(wǎng)所用時間。該指標(biāo)雖然與路由器單機性能有關(guān),但是一般只能在網(wǎng)絡(luò)上測試,而且會因配置改變而變化?梢栽诰W(wǎng)絡(luò)配置完成后通過檢查該指標(biāo)來衡量全網(wǎng)性能。測試時間應(yīng)當(dāng)根據(jù)具體項目以及測試目標(biāo)而定。一般認(rèn)為測試時間應(yīng)當(dāng)介于60秒到300秒之間。另外一般可以根據(jù)用戶要求和測試目標(biāo)作設(shè)定選擇。路由器性能測試一般可采用遠(yuǎn)端測試法。
(三)一致性測試
路由器一致性測試通常采用“黑箱”方法,被測試設(shè)備IUT叫做“黑箱”。測試系統(tǒng)通過控制觀察點PCO與被測試設(shè)備接口。
不同的測試事件是通過不同的PCO來控制和觀察的,按照其應(yīng)答是否遵守規(guī)范,即定時關(guān)系和數(shù)據(jù)匹配限制,測試的結(jié)果可分為通過、失敗、無結(jié)果3種。路由器是一種復(fù)雜的網(wǎng)絡(luò)互連設(shè)備,需要在各個通信層上實現(xiàn)多種協(xié)議。例如相應(yīng)的接口的物理層和鏈路層協(xié)議、IP/ICMP等互聯(lián)網(wǎng)層協(xié)議、TCP/UDP等傳輸層協(xié)議、Telnet/SNMP等應(yīng)用層協(xié)議以及RIP/OSPF/BGP等路由協(xié)議。
協(xié)議一致性測試應(yīng)當(dāng)包含路由器所實現(xiàn)的所有協(xié)議。由于該測試內(nèi)容繁多測試復(fù)雜,在測試中可以選擇重要的協(xié)議以及所關(guān)心的內(nèi)容測試。由于骨干網(wǎng)上路有器可能影響全球路由,所以在路由器測試中應(yīng)特別重視路由協(xié)議一致性測試?yán)鏞SPF和BGP協(xié)議。由于一致性測試只能選擇有限測試?yán)郎y試,一般無法涵蓋協(xié)議所有內(nèi)容。所以即使通過測試也無法保證設(shè)備完全實現(xiàn)協(xié)議所有內(nèi)容,所以最好的辦法是在現(xiàn)實環(huán)境中試運行。路由器一致性測試一般采用分布式測試法或遠(yuǎn)端測試法。
(四)互操作測試
由于通信協(xié)議、路由協(xié)議非常復(fù)雜且擁有眾多選項,實現(xiàn)同一協(xié)議的路由器并不能保證互通互操作。并且因為一致性測試能力有限,即使通過協(xié)議一致性測試也未必能保證完全實現(xiàn)協(xié)議。所以有必要對設(shè)備進行互操作測試。
互操作測試實際上是將一致性測試中所用的儀表替換成需要與之互通互操作的設(shè)備,選擇一些重要且典型的互連方式配置,觀察兩設(shè)備是否能按照預(yù)期正常工作。
(五)穩(wěn)定性、可靠性測試
由于大多數(shù)路由器需要每天24小時,每周7天連續(xù)工作,作為Internet核心設(shè)備的骨干路由器的穩(wěn)定性和可靠性尤其重要。所以用戶需要了解露由器的穩(wěn)定性和可靠性。
路由器的穩(wěn)定性和可靠性很難測試。一般可以通過兩種途徑的到:(1)廠家通過關(guān)鍵部件的可靠性以及備份程度計算系統(tǒng)可靠性;(2)用戶或廠家通過大量相同產(chǎn)品使用中的故障率統(tǒng)計產(chǎn)品穩(wěn)定性和可靠性。當(dāng)然,用戶也可以通過在一定時間內(nèi)對試運行結(jié)果的要求來在一定程度上保證路由器的可靠性與穩(wěn)定性。
(六)網(wǎng)管測試
網(wǎng)管測試一般測試網(wǎng)管軟件對網(wǎng)絡(luò)以及網(wǎng)絡(luò)上設(shè)備的管理能力。由于路由器是IP網(wǎng)的核心設(shè)備,所以必須測試路由器對網(wǎng)管的支持度。如果路由器附帶網(wǎng)管軟件,可以通過使用所附帶的網(wǎng)管軟件來檢查網(wǎng)管軟件所實現(xiàn)的配置管理、安全管理、性能管理、計帳管理、故障管理、拓?fù)涔芾砗鸵晥D管理等功能。如果路由器不附帶網(wǎng)管軟件,則應(yīng)當(dāng)測試路由器對SNMP協(xié)議實現(xiàn)的一致性以及對MIB實現(xiàn)的程度。由于路由器需要實現(xiàn)的MIB非常多,每個MIB都包含大量內(nèi)容,很難對MIB實現(xiàn)完全測試。一般可以通過抽測重要的MIB項來檢查路由器對MIB的實現(xiàn)情況。