路由器測試技術方法大全
路由器需要連線兩個或多個邏輯埠,至少擁有一個物理埠。路由器根據收到的資料包中網路層地址以及路由器內部維護的路由表決定輸出埠以及下一條路由器地址或主機地址,並且重寫鏈路層資料包頭。路由表必須動態維護來反映當前的網路拓撲。路由器通常通過與其他路由器交換路由資訊來完成動態維護路由表。
一、測試的目的和內容
路由器是通過轉發資料包來實現網路互連的裝置,可以支援多種協議例如TCP/IP,SPX/IPX,AppleTalk,可以在多個層次上轉發資料包例如資料鏈路層、網路層、應用層。
路由器需要連線兩個或多個邏輯埠,至少擁有一個物理埠。路由器根據收到的資料包中網路層地址以及路由器內部維護的路由表決定輸出埠以及下一條路由器地址或主機地址,並且重寫鏈路層資料包頭。路由表必須動態維護來反映當前的網路拓撲。路由器通常通過與其他路由器交換路由資訊來完成動態維護路由表。
一路由器分類
當前路由器分類方法各異。各種分類方法有一定的關聯,但是並不完全一致。通常可以按照路由器能力分類、結構分類、網路中位置分類、功能分類和效能分類等方法。在路由器標準制定中主要按照能力分類,按能力分為高階路由器和低端路由器。背板交換能力大於20Gbit/s,吞吐量大於20Mbit/s的路由器稱為高階路由器。交換能力在上述資料以下的路由器成為低端路由器。與此對應,路由器測試規範分為高階路由器測試規範和低端路由器測試規範。
二測試目的及內容
通過測試路由器,可以瞭解到哪些路由器能提供最好的效能、路由器在不同負載下的行為、模型化網路使用路由器的設計引數、路由器能否處理突發流量、路由器的效能限制、路由器能否提供不同服務質量、路由器不同體系結構對功能和效能的影響、路由器的功能特性和效能指標、路由器的使用是否影響網路安全、路由器協議實現的一致性以及路由器可靠性和路由器產品的優勢和劣勢等內容。
低端路由器裝置測試主要包括:常規測試,即電氣安全性測試;環境測試,包括高低溫、溼度測試和高低溫儲存測試;物理介面測試,測試低端路由器可能擁有介面的電氣和物理測性;協議一致性測試,測試協議實現的一致性;效能測試,測試路由器的主要效能;管理測試,主要測試路由器對無大項網管功能的支援。
高階路由器測試主要包括:介面測試,高階路由器可能擁有的介面測試;ATM協議測試,測試ATM協議要求;PPP協議測試,測試PPP協議的一致性;IP協議測試,測試IP協議一致性;路由協議測試,測試路由協議一致性;網管功能測試,驗證測試閘道器功能;效能和QoS測試,測試路由器效能和QoS能力驗證;網路同步測試,測試裝置同步定時能力;可靠性測試,驗證裝置可靠性;供電測試,測試整機功耗等內容;環境測試,包括高低溫、溼度測試和高低溫儲存測試。
上述兩個測試規範由於起草單位以及起草時間不同,組織安排有所不同。除上述測試外,建議在測試中考慮下面所列測試專案。1功能測試:主要來驗證產品是否具備了設計的每一項功能。2穩定性和可靠性測試:一般採取加重負載的辦法來評估和分析裝置在長時間、高負載的情況下的執行能力。3互操作性測試:不同的網路產品之間必須能夠互操作。互操作性測試考察一個網路產品是否能在一個由不同廠家的多種網路產品互連的網路環境中很好地工作,如驗證路由器與Cisco產品的互操作,交換機與Cisco、3Com、Lucent、Intel等的互操作等。
二、測試方法
路由器測試方法通常分為本地測試法、分佈測試法、遠端測試法和協同測試法。由於篇幅限制,本文不介紹其他測試法的特點以及適用範圍,只列出路由器測試中最常用到的遠端測試法。
其中,控制觀察點PCO:通常由兩個先入先出FIFO佇列組成,其功能類似於一對輸入輸出埠,向佇列一端傳送命令,從同一佇列的另一端接收應答訊號;被測實體IUT:Item Under Test;下測試器LT:通過位於被測試實體下層的PCO與被測試層互動的測試系統稱為下層測試系統。
三、測試分類
綜合上文中的測試內容,路由器測試一般可以分成以下幾類:功能測試、效能測試、穩定性可靠性測試、一致性測試、互操作性測試以及網管測試。
一功能測試
路由器功能通常可以劃分為如下方面。
1介面功能:該功能用作將路由器連線到網路。可以分為區域網介面及廣域網介面兩種。區域網介面主要包括乙太網、令牌環、令牌匯流排、FDDI等網路介面。廣域網介面主要包括E1/T1、E3/T3、DS3、通用序列口可轉換成X.21DTE/DCE、V.35DTE/DCE、RS232DTE/DCE、RS449DTE/DCE、EIA530DTE等網路介面。2通訊協議功能:該功能負責處理通訊協議,可以包括TCP/IP、PPP、X.25、幀中繼等協議。3資料包轉發功能:該功能主要負責按照路由表內容在各埠包括邏輯埠間轉發資料包並且改寫鏈路層資料包頭資訊。4路由資訊維護功能:該功能負責執行路由協議,維護路由表。路由協議可包括RIP、OSPF、BGP等協議。5管理控制功能:路由器管理控制功能包括五個功能,SNMP代理功能,Telnet伺服器功能,本地管理、遠端監控和RMON功能。通過多種不同的途徑對路由器進行控制管理,並且允許紀錄日誌。6安全功能:用於完成資料包過濾,地址轉換,訪問控制,資料加密,防火牆,地址分配等功能。
路由器對上述功能並非必要完全實現。但是由於路由器作為網路裝置,存在最小功能集,對最小功能集所規定的功能,路由器必須支援。因為絕大多數功能測試可以由介面測試、效能測試、協議一致性測試和網管測試所函蓋,所以路由器功能測試一般可以只對其他測試無法涵蓋的功能作驗證性測試。路由器功能測試一般採用遠端測試法。
二效能測試
路由器是IP網路的核心裝置,其效能的好壞直接影響IP網網路規模、網路穩定性以及網路可擴充套件性。由於IETF沒有對路由器效能測試作專門規定,一般來說只能按照RFC2544 Benchmarking Methodology for Network Interconnect Devices作測試。但路由器區別於一般簡單的網路互連裝置,在效能測試時還應該加上路由器特有的效能測試。例如路由表容量、路由協議收斂時間等指標。
路由器效能測試應當包括下列指標。
1吞吐量:測試路由器包轉發的能力。通常指路由器在不丟包條件下每秒轉發包的極限,一般可以採用二分法查詢該極限點。2時延:測試路由器在吞吐量範圍內從收到包到轉發出該包的時間間隔。時延測試應當重複20次然後取其平均值。3丟包率:測試路由器在不同負荷下丟棄包占收到包的比例。不同負荷通常指從吞吐量測試到線速線路上傳輸包的最高速率,步長一般使用線速的10%。4背靠背幀數:測試路由器在接收到以最小包間隔傳輸時不丟包條件下所能處理的最大包數。該測試實際考驗路由器快取能力,如果路由器具備線速能力吞吐量=介面媒體線速,則該測試沒有意義。5系統恢復時間:測試路由器在過載後恢復正常工作的時間。測試方法可以採用向路由器埠傳送吞吐量110%和線速間的較小值,持續60秒後將速率下降到50%的時刻到最後一個丟包的時間間隔。如果路由器具備線速能力,則該測試沒有意義。6系統復位:測試路由器從軟體復位或關電重啟到正常工作的時間間隔。正常工作指能以吞吐量轉發資料。
在測試上述RFC2544中規定的指標時應當考慮下列因素。
幀格式:建議按照RFC2544所規定的幀格式測試;幀長:從最小幀長到MTU順序遞增,例如在乙太網上採用64, 128, 256, 512, 1024, 1280, 1518位元組;認證接收幀:排除收到的非測試幀,例如控制幀、路由更新幀等;廣播幀:驗證廣播幀對路由器效能的影響,上述測試後在測試幀中夾雜1%廣播幀再測試;管理幀:驗證管理幀對路由器效能的影響,上述測試後在測試幀中夾雜每秒一個管理幀再測試;路由更新:路由更新即下一跳埠改變對效能的影響;過濾器:在設定過濾器條件下對路由器效能的影響,建議設定25個過濾條件測試;協議地址:測試路由器收到隨機處於256個網路中的地址時對效能的影響;雙向流量:測試路由器埠雙向收發資料對效能的影響;多埠測試:考慮流量全連線分佈或非全連線分佈對效能的影響;多協議測試:考慮路由器同時處理多種協議對效能的影響;混合包長:除測試所建議的遞增包長外,檢查混合包長對路由器效能的影響,RFC2544除要求包含所有測試包長外沒有對混合包長中各包長所佔比例作規定。筆者建議按照實際網路中各包長的分佈測試,例如在沒有特殊應用要求時乙太網介面上可採用60位元組包50%,128位元組包10%,256位元組包15%,512位元組包10%,1500位元組包15%。除上述RFC2544建議的測試項外還建議測試如下內容。
①路由震盪:路由震盪對路由器轉發能力的影響。路由震盪程度即每秒更新路由的數量可以依據網路條件而定。路由更新協議可採用BGP。②路由表容量:測試路由表大小。骨幹網路由器通常執行BGP,路由表包含全球路由。一般來說要求超過10萬條路由,建議通過採用BGP輸入匯出路由計數來測試。③時鐘同步:在包含相應埠例如POS口的路由器上測試內鍾精度以及同步能力。④協議收斂時間:測試路由變化通知到全網所用時間。該指標雖然與路由器單機效能有關,但是一般只能在網路上測試,而且會因配置改變而變化。可以在網路配置完成後通過檢查該指標來衡量全網效能。測試時間應當根據具體專案以及測試目標而定。一般認為測試時間應當介於60秒到300秒之間。另外一般可以根據使用者要求和測試目標作設定選擇。路由器效能測試一般可採用遠端測試法。
三一致性測試
路由器一致性測試通常採用“黑箱”方法,被測試裝置IUT叫做“黑箱”。測試系統通過控制觀察點PCO與被測試裝置介面。
不同的測試事件是通過不同的PCO來控制和觀察的,按照其應答是否遵守規範,即定時關係和資料匹配限制,測試的結果可分為通過、失敗、無結果3種。路由器是一種複雜的網路互連裝置,需要在各個通訊層上實現多種協議。例如相應的介面的物理層和鏈路層協議、IP/ICMP等網際網路層協議、TCP/UDP等傳輸層協議、Telnet/SNMP等應用層協議以及RIP/OSPF/BGP等路由協議。
協議一致性測試應當包含路由器所實現的所有協議。由於該測試內容繁多測試複雜,在測試中可以選擇重要的協議以及所關心的內容測試。由於骨幹網上路有器可能影響全球路由,所以在路由器測試中應特別重視路由協議一致性測試例如OSPF和BGP協議。由於一致性測試只能選擇有限測試例測試,一般無法涵蓋協議所有內容。所以即使通過測試也無法保證裝置完全實現協議所有內容,所以最好的辦法是在現實環境中試執行。路由器一致性測試一般採用分散式測試法或遠端測試法。
四互操作測試
由於通訊協議、路由協議非常複雜且擁有眾多選項,實現同一協議的路由器並不能保證互通互操作。並且因為一致性測試能力有限,即使通過協議一致性測試也未必能保證完全實現協議。所以有必要對裝置進行互操作測試。
互操作測試實際上是將一致性測試中所用的儀表替換成需要與之互通互操作的裝置,選擇一些重要且典型的互連方式配置,觀察兩裝置是否能按照預期正常工作。
五穩定性、可靠性測試
由於大多數路由器需要每天24小時,每週7天連續工作,作為Internet核心裝置的骨幹路由器的穩定性和可靠性尤其重要。所以使用者需要了解露由器的穩定性和可靠性。
路由器的穩定性和可靠性很難測試。一般可以通過兩種途徑的到:1廠家通過關鍵部件的可靠性以及備份程度計算系統可靠性;2使用者或廠家通過大量相同產品使用中的故障率統計產品穩定性和可靠性。當然,使用者也可以通過在一定時間內對試執行結果的要求來在一定程度上保證路由器的可靠性與穩定性。
六網管測試
網管測試一般測試網管軟體對網路以及網路上裝置的管理能力。由於路由器是IP網的核心裝置,所以必須測試路由器對網管的支援度。如果路由器附帶網管軟體,可以通過使用所附帶的網管軟體來檢查網管軟體所實現的配置管理、安全管理、效能管理、計帳管理、故障管理、拓撲管理和檢視管理等功能。如果路由器不附帶網管軟體,則應當測試路由器對SNMP協議實現的一致性以及對MIB實現的程度。由於路由器需要實現的MIB非常多,每個MIB都包含大量內容,很難對MIB實現完全測試。一般可以通過抽測重要的MIB項來檢查路由器對MIB的實現情況。