專利名稱:一種測試路由器數據通路魯棒性的方法和系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及路由器測試領域,更具體地說,涉及一種測試路由器數據通路魯棒性 的方法和系統(tǒng)。
背景技術:
圖1以考察路由器的LAN To WAN數據通路魯棒性為例,示出了對路由器的LAN To WAN數據通路魯棒性進行測試的一般拓撲。由于芯片方案相同或者多個芯片方案能力 相當,通常路由器的LAN(局域網,Local Area Network)接口和WAN((廣域網,Wide Area Network)接口支持的速率模式是相同的,例如均為千兆以太網。通常的做法是,LAN接口連 接具有千兆以太網卡的測試PC,WAN接口同樣連接具有千兆以太網卡的測試PC,然后使用 發(fā)包工具從一端測試PC向另一端的測試PC持續(xù)長時間產生大小為吞吐量(Throughput) 的測試流量。根據RFC觀89的定義,吞吐量是網絡設備在丟包率為零的情況下轉發(fā)能力的 最大值。因此,上述方法是在所測試路由器所能支持的最大無丟包轉發(fā)流量下進行的。通 過長時間以相同的速率讓收包接口和發(fā)包接口轉發(fā)大量的包,從而說明該數據通路的魯棒 性。一般的判斷標準是測試結束后所測試路由器各方面的功能是否均正常;整個測試過 程中的轉發(fā)流量水平能否達到預期值。然而,現有技術存在的問題是,僅僅考察了資源充足的情況下各種設備驅動的收 發(fā)包處理邏輯的魯棒性,而路由器產品因其應用場景和產品定位不同,通常存儲資源和芯 片處理能力都是有一定的不同的上限。路由器的受限資源包括處理器和存儲介質。其中處 理器的處理能力決定了該款產品支持的外圍接口及其速率和功能,而存儲器通常包括ROM 和RAM。其中ROM中存放系統(tǒng)引導程序和嵌入式系統(tǒng)的代碼,RAM用于為嵌入式系統(tǒng)啟動 和運行過程中所需的存儲空間分配內存。而路由器作為一種存儲轉發(fā)式的網絡設備,在數 據包通過數據通路的過程中,需要申請相應的存儲空間對其進行緩存,處理并轉發(fā)完成后 其占用的空間才會被釋放。而嵌入式系統(tǒng)空載運行起來之后RAM中空余的存儲空間通常都 是非常有限的。在現有的技術方案中,收包接口和發(fā)包接口的速率模式是相互匹配的,雖然 CPU有處理時延,但是收發(fā)包接口均在平衡的狀態(tài)下動態(tài)的緩存和轉發(fā)包,基本上不會出現 收發(fā)包隊列緩存大量數據包而占用大量內存,新的數據包申請內存進行存儲時訪問失敗的 情況。而不管是無線介質還是有線介質,其物理層數據轉發(fā)的最高速率通常相差不大,因此 在使用相互匹配的速率進行測試的過程中,不管在進行有線到無線或者無線到有線的數據 轉發(fā)測試,通常無法測試到其中一端收包隊列(堆棧)和發(fā)包隊列(堆棧)為滿而存儲資 源不可繼續(xù)訪問的邊界情況,為設備的魯棒性留下了測試的盲點。路由器屬于典型的資源 受限型嵌入式系統(tǒng),設備驅動在開發(fā)的過程中,通常僅從收發(fā)邏輯上進行設計和驗證,而難 以驗證各種異常情況下是否會出現問題。由于測試過程中未能涵蓋軟件處理的各種分支邏 輯,導致按照現有測試方案對所測試的路由器進行嚴格的長時間穩(wěn)定性測試后雖然測試結 果正常,但用戶在實際使用環(huán)境中還存在較多的系統(tǒng)死機、功能異常等的穩(wěn)定性問題。
發(fā)明內容
本發(fā)明要解決的技術問題在于,針對現有技術的上述無法對異常邊界情況下的魯 棒性進行測試的缺陷,提供一種測試路由器數據通路魯棒性的方法和系統(tǒng)。本發(fā)明解決其技術問題所采用的技術方案是構造一種測試路由器數據通路魯棒 性的方法,包括配置路由器的第一接口、第二接口、與所述第一接口連接的第一配測裝置、與所述 第二接口連接的第二配測裝置,使得所述第一配測裝置能夠訪問所述第二配測裝置;設置所述第一配測裝置工作在第一帶寬,所述第二配測裝置工作在第二帶寬,其 中第一帶寬遠大于第二帶寬;由所述第一配測裝置向所述第一接口持續(xù)發(fā)送時長為T的測試流量,由第二配測 裝置通過所述第二接口接收所述測試流量;檢測所述路由器的工作狀態(tài)是否正常并得出檢測結果。在本發(fā)明所述的測試路由器數據通路魯棒性的方法中,所述第一接口為LAN接 口,所述第二接口為WAN接口或WLAN接口 ;或 所述第一接口為WAN接口,所述第二接口為LAN接口或WLAN接口;或所述第一接口為WLAN接口,所述第二接口為LAN接口或WAN接口。在本發(fā)明所述的測試路由器數據通路魯棒性的方法中,檢測所述路由器的工作狀 態(tài)是否正常并得出檢測結果包括監(jiān)控所述路由器的內存使用情況。在本發(fā)明所述的測試路由器數據通路魯棒性的方法中,檢測所述路由器的工作狀 態(tài)是否正常并得出檢測結果包括測試所述路由器的第一接口并觀察其響應。在本發(fā)明所述的測試路由器數據通路魯棒性的方法中,檢測所述路由器的工作狀 態(tài)是否正常并得出檢測結果包括訪問所述路由器的管理頁面并觀察其響應。在本發(fā)明所述的測試路由器數據通路魯棒性的方法中,檢測所述路由器的工作狀 態(tài)是否正常并得出檢測結果包括檢測測試流量發(fā)送完成后所述路由器的使用情況。本發(fā)明還提供一種測試路由器數據通路魯棒性的系統(tǒng),所述路由器具有第一接 口、第二接口,包括配置模塊,用于配置路由器的第一接口、第二接口、與所述第一接口連接的第一配 測裝置、與所述第二接口連接的第二配測裝置,使得所述第一配測裝置能夠訪問所述第二 配測裝置;帶寬設置模塊,用于設置所述第一配測裝置工作在第一帶寬,所述第二配測裝置 工作在第二帶寬,其中第一帶寬遠大于第二帶寬;第一配測裝置,用于向所述第一接口持續(xù)發(fā)送時長為T的測試流量;第二配測裝置,用于通過所述第二接口接收所述測試流量;檢測單元,用于檢測所述路由器的工作狀態(tài)是否正常并得出檢測結果。在本發(fā)明所述的測試路由器數據通路魯棒性的系統(tǒng)中,所述第一接口為LAN接 口,所述第二接口為WAN接口或WLAN接口 ;或所述第一接口為WAN接口,所述第二接口為LAN接口或WLAN接口;或所述第一接口為WLAN接口,所述第二接口為LAN接口或WAN接口。本發(fā)明的有益效果是,通過配置路由器的兩個待測接口以及與兩個待測接口分別連接的兩個配測裝置,保證兩個接口之間的連通性,然后將作為路由器的收包接口的對應 配測裝置設置在高帶寬速率上,將作為路由器的發(fā)包接口對應的配測裝置設置在低帶寬速 率上,且保證高帶寬速率遠遠高于低帶寬速率,使得發(fā)送隊列(堆棧)和接收隊列(堆棧) 將處于滿的狀態(tài)。從而達到了驗證在資源不足情況下,軟件收發(fā)包的分支處理邏輯是否存在缺陷的 效果??梢栽谳^短的時間內發(fā)現原有長時間大流量穩(wěn)定性測試無法發(fā)現的問題,作為原有 基本穩(wěn)定性測試的之后的進一步驗證測試,從一個方面提高了嵌入式系統(tǒng)數據通路的魯棒 性,使得在用戶的復雜應用場景下運行更加穩(wěn)定。
下面將結合附圖及實施例對本發(fā)明作進一步說明,附圖中圖1是路由器LAN to WAN穩(wěn)定性測試拓撲示意圖;圖2是路由器嵌入式系統(tǒng)及其外圍接口的邏輯連接示意圖;圖3是依據本發(fā)明一實施例的測試路由器數據通路魯棒性的方法流程示意圖;圖4示出了依據本發(fā)明一實施例的測試路由器數據通路魯棒性的系統(tǒng)。
具體實施例方式圖2是路由器嵌入式系統(tǒng)及其外圍接口的邏輯連接示意圖。其中,路由器嵌入式 系統(tǒng)實現的是協(xié)議棧和NAT (網絡地址轉換,Network AddressTranslation),實現各種協(xié)議 的處理和路由功能。WAN、LAN、WLAN是該嵌入式系統(tǒng)周邊的物理接口,分別對應著路由器的 WAN接口、LAN接口、WLAN接口。每一個接口都有專門的接口設備驅動進行處理,實現了收 包(Rx)和發(fā)包(Tx)的功能。圖2為了描述方便,僅示出了路由器的部分組成,其它組件未 示出。其中,圖2中的WAN接口、WLAN接口、LAN接口僅示出了一個,這里僅為示意,還可以 依據實際需要設置多個WAN接口、多個WLAN接口、多個LAN接口。路由器收發(fā)包的一般過程是物理接口設備收到承載數據包的物理層信息,從中 提取出數據包信息,產生中斷并交給收包模塊處理;收包模塊申請內存用做數據包處理的 緩存,成功后交給CPU進行進一步的處理和轉發(fā);獲得CPU時間片后,CPU根據協(xié)議棧和NAT 的邏輯對收到的包進行處理,包括協(xié)議的解析和轉換,以及路由等功能的實現,然后將該數 據包轉發(fā)到正確的出口接口上去;出口接口申請內存存放待轉發(fā)數據包,等待出口接口設 備空閑后將該數據包交由物理設備發(fā)送。LAN接口介質不局限于Khernet、Wi-Fi、PoE、USB等等。WAN接口介質不局限于 Khernet、Wi-Fi、DSL、3G、3. 75G、Fiber、PoE、4G等。只要是通信過程中能夠使用的接口,就 能夠采用本發(fā)明的測試路由器數據通路魯棒性的方法,本發(fā)明對接口的類型以及接口連接 的介質類型不加以限制。圖3是依據本發(fā)明一實施例的測試路由器數據通路魯棒性的方法流程示意圖,方 法300包括步驟301,配置路由器的第一接口、第二接口、與所述第一接口連接的第一配測裝 置、與所述第二接口連接的第二配測裝置,使得所述第一配測裝置能夠訪問所述第二配測 裝置;
步驟302,設置所述第一配測裝置工作在第一帶寬,所述第二配測裝置工作在第二 帶寬,其中第一帶寬遠大于第二帶寬;步驟303,由所述第一配測裝置向所述第一接口持續(xù)發(fā)送時長為T的測試流量,由 第二配測裝置通過所述第二接口接收所述測試流量;這里的時間長度T可以根據需要進行 設置,本發(fā)明對此不進行限制。步驟304,檢測所述路由器的工作狀態(tài)是否正常并得出檢測結果。其中,路由器可以有多種接口,例如,LAN接口、WAN接口、WLAN接口,路由器還可以 有多個LAN接口。本發(fā)明對此不做限制。在本發(fā)明一實施例中,如果要測試LAN接口到WAN接口的數據通路魯棒性,則第一 接口即為LAN接口,第二接口即為WAN接口。LAN接口和WAN接口的最高帶寬為1000Mbps, 最低帶寬為10Mbps。在此實施例中,第一配測裝置和第二配測裝置可以工作在例如全雙工 模式。在步驟302中,設置第一帶寬(路由器的收包接口速率)為1000Mbps,第二帶寬(路 由器的發(fā)包接口速率)為10Mbps。從第一接口(路由器的收包接口)打入測試流量,第二 接口(路由器的發(fā)包接口)的發(fā)包速率將會達到極限;維持該流量,路由器的發(fā)包接口發(fā)包 隊列將會首先被填滿,產生大量的內存申請操作用于緩存數據包而導致存儲資源不足,從 而達到所測試數據通路的邊界條件。第一帶寬、第二帶寬的數值由待測路由器決定,不同設 備取值不同??梢赃x取待測路由器所支持的最大帶寬、最小帶寬,或者在最大帶寬、最小帶 寬之間選取相差較大的兩值。異常的邊界情況,例如當路由器嵌入式系統(tǒng)的內存管理為動 態(tài)申請內存時,收發(fā)包操作均會請求申請內存,成功獲得后進行協(xié)議棧的相關操作后完成 轉發(fā)并將申請到的內存完全歸還給系統(tǒng),但是在存儲資源不足的情況下,進行新資源的申 請將會進入不同的軟件邏輯分支,是一種典型的邊界情況。又例如收發(fā)包采用一定長度隊 列的處理方式,而該隊列具有獨立的內存空間,那么隊列放滿后再進行收發(fā)包操作將是一 種極端的邊界情況。在本發(fā)明中,測試LAN接口、WAN接口之間的數據通路魯棒性,則可以 將第一配測裝置和第二配測裝置設置為全雙工模式,當然還可以為半雙工模式或其他工作 模式,本發(fā)明對此不做限制。如果是測試WLAN接口與其它接口之間數據通路的魯棒性,則 可以將第一配測裝置和第二配測裝置設置為半雙工模式。步驟304中檢測所述路由器的工作狀態(tài)是否正常并得出檢測結果主要包括以下 內容監(jiān)控所述路由器的內存使用情況;檢測所述路由器的工作狀態(tài)是否正常并得出檢測 結果包括測試所述路由器的第一接口并觀察其響應,觀察該接口支持的簡單協(xié)議交互過程 是否仍能夠正常完成;檢測所述路由器的工作狀態(tài)是否正常并得出檢測結果包括訪問所述 路由器的管理頁面并觀察其響應,觀察管理頁面是否可正常打開和進行管理操作;檢測所 述路由器的工作狀態(tài)是否正常并得出檢測結果包括檢測測試流量發(fā)送完成后所述路由器 的使用情況。在本發(fā)明中,第一接口為LAN接口、WLAN接口、WAN接口中的任一種,第二接口為與 第一接口不同的其它接口之一。例如第一接口為WAN接口,第二接口 WLAN接口或LAN接 口 ;第一接口為WLAN接口,第二接口為LAN接口或WAN接口 ;第一接口為LAN接口,第二接 口為WAN接口或WLAN接口。在本發(fā)明中,只要保證路由器的收包接口(在本發(fā)明中定義為第一接口 )的帶寬 速率遠遠高于路由器的發(fā)包接口的帶寬速率,使得發(fā)送隊列(堆棧)和接收隊列(堆棧)
6均處于滿的狀態(tài)。從而可以在較短的時間內較好的驗證發(fā)送和接收隊列(堆棧)軟件處理 的魯棒性,提供一種異常情況下的測試方法。帶寬速率的設置可以通過強制協(xié)商的方式實現。實例一通過強制協(xié)商的方式 將有線端的以太網芯片的數據速率協(xié)商為較低速率,小于無線通路的數據速率,從無線接 口對應的第一配測裝置將測試流量發(fā)送到路由器的收包接口,這樣有線端的發(fā)送隊列(堆 棧)和無線端的接收隊列(堆棧)將處于滿的狀態(tài)。實例二 通過強制設置低數據速率的 無線網卡,使待測設備的無線端數據速率小于有線端的數據速率,從有線接口對應的第一 配測裝置將測試流量發(fā)送到路由器的收包接口,這樣無線端的發(fā)送隊列(堆棧)和有線端 的接收隊列(堆棧)將處于滿的狀態(tài)。這樣可以在較短的時間內較好的驗證發(fā)送和接收隊 列(堆棧)軟件處理的魯棒性,為路由器產品壓力測試提出了一種較好的思路和解決方法。 本方案可用于例如但不限于路由器的測試。圖4示出了依據本發(fā)明一實施例的測試路由器數據通路魯棒性的系統(tǒng)400,路由 器具有第一接口、第二接口,系統(tǒng)400包括配置模塊401、帶寬設置模塊402、與所述第一接 口連接的第一配測裝置403、與所述第二接口連接的第二配測裝置404、檢測單元405。配置模塊401,用于配置路由器的第一接口、第二接口、第一配測裝置403、第二配 測裝置404,使得第一配測裝置403能夠訪問第二配測裝置404 ;帶寬設置模塊402,用于設置第一配測裝置403工作在第一帶寬,所述第二配測裝 置404工作在第二帶寬,其中第一帶寬遠大于第二帶寬;第一帶寬、第二帶寬的數值由待測 路由器決定,不同設備取值不同??梢赃x取待測路由器所支持的最大帶寬、最小帶寬,或者 在最大帶寬、最小帶寬之間選取相差較大的兩值。第一配測裝置403,用于向第一接口持續(xù)發(fā)送時長為T的測試流量;第二配測裝置404,用于通過第二接口接收所述測試流量;檢測單元405,用于檢測路由器的工作狀態(tài)是否正常并得出檢測結果。系統(tǒng)400中的配置模塊401、帶寬設置模塊402主要是為了實現第一接口和第二接 口的數據連通性進行相關的基本設置。第一配測裝置403、第二配測裝置404,可以使用現 有技術中的相應配測設備比如以太網卡等等來實現??梢允褂酶鞣N網絡收發(fā)包設備、網絡 流量產生和分析儀器等作為配測裝置,比如以太網卡、無線網卡、SmartBits系列測試儀器 等,第一配測裝置為流量產生設備,第二配測設備為流量接收設備,以上設備都可作為第一 配測裝置、第二配測裝置,不管使用哪種設備作為配測裝置,只要能夠滿足與待測路由器的 匹配即可。檢測單元405,可以監(jiān)控路由器嵌入式系統(tǒng)內存使用情況;通過ping或arp測試 路由器的第一接口并觀察其響應;訪問所述路由器的管理頁面并觀察其響應;檢測測試流 量加載完成后路由器能否正常使用等等。對于轉發(fā)速率,正常情況下應該達到預期水平,即 受限于低速接口所應該達到的轉發(fā)水平,如果遠小于預期水平說明路由器對于該邊界異常 情況的處理雖然沒有嚴重邏輯缺陷,但不是最優(yōu)的。對于內存使用,正常情況下應該有余 量,且能夠動態(tài)地回收,如果出現內存耗盡或者訪問出錯則說明待測路由器存在魯棒性問 題。在測試流量加載完成之后,正常情況下路由器的各個功能模塊能夠恢復正常工作,如果 不能恢復正常工作、死機或者設備異常(無線不工作、有線不收發(fā)包、NAT (Network Address Translation)轉發(fā)不成功)等則說明待測路由器存在魯棒性問題。詳見下表所示
權利要求
1.一種測試路由器數據通路魯棒性的方法,其特征在于,包括配置路由器的第一接口、第二接口、與所述第一接口連接的第一配測裝置、與所述第二 接口連接的第二配測裝置,使得所述第一配測裝置能夠訪問所述第二配測裝置;設置所述第一配測裝置工作在第一帶寬,所述第二配測裝置工作在第二帶寬,其中第 一帶寬遠大于第二帶寬;由所述第一配測裝置向所述第一接口持續(xù)發(fā)送時長為T的測試流量,由第二配測裝置 通過所述第二接口接收所述測試流量;檢測所述路由器的工作狀態(tài)是否正常并得出檢測結果。
2.根據權利要求1所述的方法,其特征在于,所述第一接口為LAN接口,所述第二接口 為WAN接口或WLAN接口;或所述第一接口為WAN接口,所述第二接口為LA N接口或WLAN接口 ;或 所述第一接口為WLAN接口,所述第二接口為LAN接口或WAN接口。
3.根據權利要求1或2所述的方法,其特征在于,檢測所述路由器的工作狀態(tài)是否正常 并得出檢測結果包括監(jiān)控所述路由器的內存使用情況。
4.根據權利要求1或2所述的方法,其特征在于,檢測所述路由器的工作狀態(tài)是否正常 并得出檢測結果包括測試所述路由器的第一接口并觀察其響應。
5.根據權利要求1或2所述的方法,其特征在于,檢測所述路由器的工作狀態(tài)是否正常 并得出檢測結果包括訪問所述路由器的管理頁面并觀察其響應。
6.根據權利要求1或2所述的方法,其特征在于,檢測所述路由器的工作狀態(tài)是否正常 并得出檢測結果包括檢測測試流量發(fā)送完成后所述路由器的使用情況。
7.—種測試路由器數據通路魯棒性的系統(tǒng),所述路由器具有第一接口、第二接口,其特 征在于,包括配置模塊,用于配置路由器的第一接口、第二接口、與所述第一接口連接的第一配測裝 置、與所述第二接口連接的第二配測裝置,使得所述第一配測裝置能夠訪問所述第二配測 裝置;帶寬設置模塊,用于設置所述第一配測裝置工作在第一帶寬,所述第二配測裝置工作 在第二帶寬,其中第一帶寬遠大于第二帶寬;第一配測裝置,用于向所述第一接口持續(xù)發(fā)送時長為T的測試流量; 第二配測裝置,用于通過所述第二接口接收所述測試流量; 檢測單元,用于檢測所述路由器的工作狀態(tài)是否正常并得出檢測結果。
8.根據權利要求7所述的系統(tǒng),其特征在于,所述第一接口為LAN接口,所述第二接口 為WAN接口或WLAN接口;或所述第一接口為WAN接口,所述第二接口為LA N接口或WLAN接口 ;或 所述第一接口為WLAN接口,所述第二接口為LAN接口或WAN接口。
全文摘要
本發(fā)明涉及一種測試路由器數據通路魯棒性的方法和系統(tǒng),所述方法包括配置路由器的第一接口、第二接口、與第一接口連接的第一配測裝置、與第二接口連接的第二配測裝置,使得第一配測裝置能夠訪問所述第二配測裝置;設置第一配測裝置為工作在第一帶寬,第二配測裝置工作在第二帶寬,其中第一帶寬遠大于第二帶寬;由第一配測裝置向第一接口持續(xù)發(fā)送時長為T的測試流量,由第二配測裝置通過第二接口接收所述測試流量;檢測路由器的工作狀態(tài)是否正常并得出檢測結果。本發(fā)明還涉及一種測試路由器數據通路魯棒性的系統(tǒng)。采用本發(fā)明的方案可以在較短的時間內較好的驗證發(fā)送和接收隊列(堆棧)軟件處理的魯棒性,提供了一種異常情況下的測試方法。
文檔編號H04L12/26GK102098187SQ201010609028
公開日2011年6月15日 申請日期2010年12月28日 優(yōu)先權日2010年12月28日
發(fā)明者楊明華, 王效宇, 鄒燕 申請人:深圳市普聯(lián)技術有限公司