本發明涉及網絡通信領域,具體而言,涉及一種交換機轉發性能的測試方法、系統及控制裝置。
背景技術:
隨著互聯網技術的飛速發展和不斷壯大,人們希望能夠擁有更高帶寬,更強勁轉發能力的網絡設備。所以,網絡設備的轉發性能成為了人們衡量設備性能的一個重要指標,而二層廣播轉發性能作為設備轉發能力的一種,需要有一種更加有效且便捷的手段進行測試。
設備的二層廣播轉發性能測試與設備上每個端口的廣播復制能力相關。現有的技術中,測試二層廣播轉發性能的時候,需要將設備上每個端口都連接一個測試儀端口進行流量的收發,而由于測試儀資源價格昂貴,所以進行此項測試工作需要耗費大量的資源,對于測試的實施造成困難。
技術實現要素:
有鑒于此,本發明實施例提供了一種交換機轉發性能的測試方法、系統及控制裝置,以解決上述問題。
為了實現上述目的,本發明采用的技術方案如下:
一種交換機轉發性能的測試方法,應用于交換機轉發性能的測試系統的控制裝置,所述系統還包括被測設備、輔測設備以及測試儀,所述被測設備包括多個測試端口,所述輔測設備包括多個輔測端口,所述被測設備的所述多個測試端口與所述輔測設備的所述多個輔測端口一一對應連接,該方法包括:所述控制裝置配置所述被測設備的所述測試端口以及所述輔測設備的所述輔測端口,使得所述被測設備的多個測試端口每次發出來的測試數據僅會有一個測試端口的數據被所述輔測設備中與之對應的輔測端口來接收,且每次接收所述測試數據的輔測端口所對應的測試端口不同。
一種交換機轉發性能的測試方法,應用于交換機轉發性能的測試系統,所述系統包括被測設備、輔測設備、測試儀以及控制裝置,所述被測設備包括數據輸入端口以及多個測試端口,所述輔測設備包括數據輸出端口以及多個輔測端口,所述被測設備的多個測試端口與所述輔測設備的多個輔測端口一一對應連接,所述控制裝置預先配置所述被測設備的所述測試端口以及所述輔測設備的所述輔測端口,使得所述被測設備每次發出來的測試數據僅會被一個輔測端口接收,且每次接收所述測試數據的輔測端口不同,所述方法包括:所述控制裝置控制所述測試儀向所述被測設備的所述數據輸入端口發送測試數據;所述被測設備的所述數據輸入端口接收所述測試數據,并將所述測試數據通過所有的測試端口發送給所述輔測設備;所述輔測設備的一個輔測端口接收所述測試數據,將接收的所述測試數據通過另一個沒有接收過轉發的所述測試數據的輔測端口返回給所述被測設備,并且將接收的所述測試數據通過所述數據輸出端口發送至所述測試儀,所述輔測設備每次通過一個不同的輔測端口接收所述測試數據;所述被測設備接收所述輔測設備返回的所述測試數據,并將所述測試數據再次通過除最近一次接收所述測試數據的端口外的其他測試端口發送至所述輔測設備,直至所述輔測設備每個輔測端口都接收過來自所述被測設備的所述測試數據;所述測試儀接收所述輔測設備發送的測試數據;所述控制裝置根據所述測試儀發送的測試數據以及所述測試儀接收的測試數據計算所述被測設備的轉發能力。
一種交換機轉發性能的測試系統,所述系統包括被測設備、輔測設備、測試儀以及控制裝置,所述被測設備包括數據輸入端口以及多個測試端口,所述輔測設備包括數據輸出端口以及多個輔測端口,所述被測設備的多個測試端口與所述輔測設備的多個輔測端口一一對應連接,所述控制裝置用于配置所述被測設備的所述測試端口以及所述輔測設備的所述輔測端口,使得所述被測設備每次發出來的測試數據僅會被一個輔測端口接收,且每次接收所述測試數據的輔測端口不同,其中,所述控制裝置還用于控制所述測試儀向所述被測設備的所述數據輸入端口發送測試數據;所述被測設備用于通過所述數據輸入端口接收所述測試數據,并將所述測試數據通過所有的測試端口發送給所述輔測設備;所述輔測設備用于通過一個輔測端口接收所述測試數據,將接收的所述測試數據通過另一個沒有接收過轉發的所述測試數據的輔測端口返回給所述被測設備,并且將接收的所述測試數據通過所述數據輸出端口發送至所述測試儀,所述輔測設備每次通過一個不同的輔測端口接收所述測試數據;所述被測設備還用于接收所述輔測設備返回的所述測試數據,并將所述測試數據再次通過除最近一次接收所述測試數據的端口外的其他測試端口發送至所述輔測設備,直至所述輔測設備每個輔測端口都接收過來自所述被測設備的所述測試數據;所述測試儀用于接收所述輔測設備發送的測試數據;所述控制裝置用于根據所述測試儀發送的測試數據以及所述測試儀接收的測試數據計算所述被測設備的轉發能力。
一種控制裝置,應用于交換機轉發性能的測試系統,所述系統包括被測設備、輔測設備、測試儀以及控制裝置,所述被測設備包括數據輸入端口以及多個測試端口,所述輔測設備包括數據輸出端口以及多個輔測端口,所述被測設備的所述多個測試端口與所述輔測設備的所述多個輔測端口一一對應連接,所述控制裝置用于配置所述被測設備的所述測試端口以及所述輔測設備的所述輔測端口,使得所述被測設備的多個測試端口每次發出來的測試數據僅會有一個測試端口的數據被所述輔測設備中與之對應的輔測端口來接收,且每次接收所述測試數據的輔測端口所對應的測試端口不同。
本發明實施例提供的交換機轉發性能的測試方法、系統及控制裝置,通過控制裝置對被測設備以及輔測設備的配置,使測試儀每次向被測設備發送的測試數據,在被測設備與輔測設備之間多次轉發,被測設備每次通過不同的測試端口將測試數據發送給輔測設備,輔測設備每次通過一個不同的輔測端口接收所述測試數據并發送至測試儀。控制裝置可以根據測試儀發送的測試數據以及接收的測試數據計算被測設備的轉發能力。該交換機轉發性能的測試方法、系統及控制裝置,只需要通過一個測試儀收發數據便可實現對交換機的轉發性能的測試,節約資源。
為使本發明的上述目的、特征和優點能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細說明如下。
附圖說明
為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
圖1示出了本發明實施例提供的交換機轉發性能的測試系統的結構示意圖;
圖2示出了本發明實施例提供的被測設備以及輔測設備的一種編號方式;
圖3示出了本發明實施例提供的被測設備以及輔測設備的一種配置方式;
圖4示出了本發明較佳實施例提供的交換機轉發性能的測試方法的一種流程圖;
圖5示出了本發明實施例提供的交換機轉發性能的測試方法的一種具體的測試數據轉發過程圖;
圖6示出了本發明實施例提供的交換機轉發性能的測試方法的另一種流程圖。
圖標:110-被測設備;120-輔測設備;130-測試儀;140-控制裝置;111-數據輸入端口;112-測試端口;121-數據輸出端口;122-輔測端口;131-第一端口;132-第二端口;133-第三端口。
具體實施方式
下面將結合本發明實施例中附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。通常在此處附圖中描述和示出的本發明實施例的組件可以以各種不同的配置來布置和設計。因此,以下對在附圖中提供的本發明的實施例的詳細描述并非旨在限制要求保護的本發明的范圍,而是僅僅表示本發明的選定實施例。基于本發明的實施例,本領域技術人員在沒有做出創造性勞動的前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步定義和解釋。同時,在本發明的描述中,術語“第一”、“第二”等僅用于區分描述,而不能理解為指示或暗示相對重要性。
第一實施例
本實施例提供了一種交換機轉發性能的測試方法,應用于交換機轉發性能的測試系統。請參見圖1,該系統包括被測設備110、輔測設備120、測試儀130以及控制裝置140。其中,被測設備以及輔測設備可以是交換機。
如圖1所示,所述被測設備110包括數據輸入端口111以及多個測試端口112,所述輔測設備120包括數據輸出端口121以及多個輔測端口122,所述被測設備110的多個測試端口111與所述輔測設備120的多個輔測端口122一一對應連接。測試儀130包括三個端口,分別為第一端口131、第二端口132以及第三端口133,請參見圖1,第一端口131連接到被測設備110的數據輸入端口111,第二端口132連接到輔測設備120的數據輸出端口121,第三端口133連接到控制裝置140。圖1中,控制裝置140與被測設備110、輔測設備120以及測試儀130之間的虛線表示控制裝置140可以對被測設備、輔測設備120以及測試儀130進行控制以及配置。
在測試之前,所述控制裝置140預先配置所述被測設備110的所述測試端口以及所述輔測設備120的所述輔測端口,使得所述被測設備110每次發出來的測試數據僅會被一個輔測端口接收,且每次接收所述測試數據的輔測端口不同,由于被測設備110的多個測試端口與輔測設備120的多個輔測端口一一對應連接,所以輔測設備120每次接收到一個測試端口發出的測試數據。
具體的,控制裝置140預先配置被測設備110的測試端口包括,將所述被測設備110的所述多個測試端口中的每個測試端口配置為對應多個指定的VLAN(Virtual Local Area Network,虛擬局域網),所述每個測試端口可收發所述多個指定的VLAN的數據。并且配置所述每個測試端口僅會對來自其中一個目標VLAN的數據進行數據處理以滿足所述輔測端口數據接收規則,所述每個測試端口對應的目標VLAN不同,使得每次從所述多個測試端口發送至所述多個輔測端口的所述測試數據僅會有一個測試端口的數據被所述輔測設備120中與之對應的輔測端口來接收。
同時,控制裝置140將所述被測設備110的所述數據輸入端口111配置為對應一個目標VLAN,可以理解的,數據輸入端口111對應的目標VLAN為多個測試端口中的其中一個對應的目標VLAN。
具體的,控制裝置140對被測設備110的多個測試端口的預先配置可以是,將所述被測設備110的每個測試端口均配置為以第一模式對應所述多個指定的VLAN中的一個目標VLAN,以第二模式對應所述多個指定的VLAN中的其他指定的VLAN。當所述被測設備110的所述測試端口以所述第一模式對應目標VLAN時,所述測試端口將來自于與之對應的目標VLAN的數據處理為滿足所述輔測端口數據接收規則的數據,以使所述每個測試端口僅會對來自對應的目標VLAN的數據進行數據處理以滿足所述輔測端口數據接收規則。
同時,控制裝置140將所述被測設備110的所述數據輸入端口111配置為以第一模式對應目標VLAN。
在本實施例中,第一模式可以是Hybrid untag模式,第二模式可以是Hybrid tag模式。以下以Hybrid untag模式作為第一模式,Hybrid tag模式作為第二模式為例,對被測設備110的預先配置進行詳細說明。
控制裝置140可以通過預先配置被測設備110的測試端口以及數據輸入端口111的VLAN屬性來配置被測設備110各個端口與VLAN的對應關系。在本實施例中,使被測設備110的所有端口以Hybrid模式加入VLAN,可以理解的,被測設備110的端口加入VLAN即端口與相應的VLAN對應,例如,某測試端口加入VLAN 2,即為該測試端口與ID號為2的VLAN對應。
在本實施例中,為使被測設備110的各個端口以需要的模式加入一個或多個指定的VLAN,控制裝置140根據VLAN初始值VLAN_init以及被測設備110的需要配置的端口數目Port_num對被測設備110的多個端口的VLAN屬性進行計算配置。配置被測設備110的測試端口對應的多個指定的VLAN的個數為Port_num個,具體的VLAN ID號可以是從VLAN_init至VLAN_init+Port_num-1。在本實施例中,該被測設備110的需要配置的端口指被測設備110的測試端口以及被測設備110的數據輸入端口111。該VLAN初始值以及被測端口的數目Port_num由用戶根據實際情況輸入。
將多個測試端口分為N組和M組,并且分別對N組和M組的端口進行編號。具體編號方式可以是,對于N組的測試端口,依次編號為N,N+1,N+2,以此類推。對于M組的測試端口,依次編號為M,M+1,M+2,以此類推,如圖2所示。
首先,配置N組的每一個測試端口的untag值,該untag值為一個VLAN ID號,表示相應的測試端口以Hybrid Untag模式加入ID號為untag值的指定的VLAN,該ID號為untag值的指定的VLAN為相應的測試端口對應的目標VLAN。對于每一個測試端口,其untag值只有一個,且各個測試端口之間的untag值不同。
在本實施例中,可以通過測試端口的編號來確定各個測試端口對應的untag值,具體的,配置測試端口的untag值為VLAN_init+(Portid-N),其中Portid為測試端口的編號。例如,被測設備110的端口總數為6,VLAN初始值VLAN_init為2,對于編號為N+2的測試端口,其untag值為2+N+2-N=4,即表示,N組的編號為N+2的測試端口以Hybrid Untag模式加入VLAN 4,如圖3所示。
控制裝置140再配置被測設備110的N組的每個測試端口的tag值,表示測試端口以Hybrid Tag模式加入ID號為tag值的指定的VLAN。當端口以Hybrid Untag模式加入一個VLAN后,不能再以Hybrid Tag模式加入相同的VLAN。在本實施例中,配置N組的每個測試端口的tag值有Port_num-1個,分別為所有的指定的VLAN ID號中,剔除掉ID號為untag值后的各個值,表示N組的每個測試端口,以untag模式加入目標VLAN,以tag模式加入其他指定的VLAN。仍然以被測設備110的端口總數為6,VLAN初始值VLAN_init為2為例,則多個指定的VLAN的ID號分別為從2至7,對于編號為N+2的測試端口,由于其untag值為4,則該測試端口以tag模式加入的VLAN為ID號為2至3以及5至7的5個指定的VLAN。
控制裝置140預先配置被測設備110的M組的測試端口的untag值以及tag值。對于M組的測試端口的配置與N組的測試端口配置類似,M組的每個測試端口的untag值與N組的測試端口的untag值不同,且M組的各個測試端口之間的untag值不同。在本實施例中,對于M組的每一個測試端口,仍然通過其編號確定untag值,可以是VLAN_init+(Portid-M)+(Port_num/2),該Portid表示測試端口的編號。仍然以被測設備110的端口總數為6,VLAN初始值VLAN_init為2為例,對于編號為M+1的測試端口,其untag值為2+(M+1-M)+6/2=6,表示編號為M+1的測試端口以Hybrid untag模式加入VLAN 6,如圖3所示。
M組的每個測試端口,tag值為所有的指定的VLAN ID號中,剔除掉ID號為untag值后的各個值。例如,當被測設備110的端口總數為6,VLAN初始值VLAN_init為2,編號為M+1的測試端口的untag值為6,則其tag值為2至5以及7,表示該測試端口以Hybrid tag模式加入的虛擬局域網為ID號為2至5以及7的5個指定的虛擬局域網。如圖3所示。
并且,控制裝置140預先配置被測設備110的數據輸入端口111以untag模式加入一個指定的VLAN,即配置數據輸入端口111的一個untag值,配置的數據輸入端口111的untag值等于被測設備110的多個測試端口中的某一個測試端口的untag值。在本實施例中,配置數據輸入端口111的untag值為VLAN_init,等于編號為N的測試端口的untag值。
另外,控制裝置140預先配置所述輔測設備120的所述輔測端口包括:所述控制裝置140配置每個輔測端口的數據接收規則,每個輔測端口僅接收對應的被測端口發送的滿足數據接收規則的測試數據,使得所述被測設備110的多個測試端口每次發出來的測試數據中僅有一個測試端口發送的測試數據滿足數據接收規則時,僅會有一個與之對應的輔測端口接收。
所述控制裝置140配置多個指定VLAN中每個指定的VLAN對應兩個輔測端口。在本實施例中,所述配置的多個指定的VLAN不包括所述數據輸入端口111對應的目標VLAN,即被測設備110的每個測試端口對應的多個指定的VLAN中,除數據輸入端口111對應的目標VLAN以外的其他每個VLAN,分別對應兩個輔測端口,使每個指定的VLAN對應的兩個輔測端口可以通過該指定的VLAN轉發數據。每個指定的VLAN對應的輔測端口不同于其他指定的VLAN對應的輔測端口,在本實施例中,該不同于是指不完全等同,即每個指定的VLAN對應的兩個輔測端口與其他指定的VLAN對應的兩個輔測端口可以有交叉,但不完全一樣。
控制裝置140還預先配置所述輔測設備120的每個輔測端口對應的轉發目標VLAN。所述多個指定的VLAN中包括所述每個輔測端口對應的轉發目標VLAN,每個輔測端口對應的轉發目標VLAN不同于所述數據輸入端口111對應的目標VLAN,以使得所述每個輔測端口將接收到的滿足數據接收規則的測試數據設定為通過該輔測端口對應的轉發目標VLAN轉發的數據。
具體的,控制裝置140通過配置所述輔測設備120的每個輔測端口的PVID屬性配置所述輔測設備120的每個輔測端口對應的轉發目標VLAN,所述每個輔測端口的PVID值等于所述每個輔測端口對應的轉發目標VLAN的ID值。
同樣的,控制裝置140可以通過配置輔測設備120的輔測端口以及數據輸出端口121的虛擬局域網(VLAN)屬性來配置輔測設備120各個端口與VLAN的對應關系。
配置輔測設備120時,VLAN初始值VLAN_init以及被測設備110的端口數目Port_num與配置被測設備110時一樣,多個指定的VLAN為ID號從VLAN_init至VLAN_init+Port_num-1的Port_num個VLAN。對于輔測設備120的每一個輔測端口,其編號與對應連接的被測設備110的測試端口的編號一樣。即,仍然將輔測設備120的多個輔測端口分為N組和M組,N組的輔測端口的編號分別為N,N+1,N+2,以此類推,M組的輔測端口依次編號為M,M+1,M+2,以此類推。對應連接的輔測端口與被測端口的編號一致。
首先配置每個輔測端口的PVID值。各個輔測端口的PVID值不同,且每個輔測端口的PVID值均不同于被測設備110的數據輸入端口111的untag值。在本實施例中,可以根據每個輔測端口的編號確定其PVID值,對于N組輔測端口,其PVID值為VLAN_init+(Portid-N)+1,其中Portid指端口編號。例如,當VLAN_init為2,Port_num是6,則N組編號為N+2的輔測端口的PVID值為2+(N+2-N)+1=5,即表示,N組編號為N+2的輔測端口的PVID值為5,如圖3所示。
對于M組輔測端口,其PVID值為VLAN_init+(Portid-M)+(Port_num/2)+1。例如,當VLAN_init為2,Port_num是6,則M組編號為M+1的輔測端口的PVID值為2+(M+1-M)+6/2+1=7,如圖3所示。
控制裝置140還預先配置輔測設備120的輔測端口的tag值。每個輔測端口具有兩個不同的tag值,每個輔測端口的兩個tag值等于所有的指定的VLAN的ID號中的兩個,表示輔測端口以Hybrid Tag模式加入ID號為相應的兩個tag值的兩個指定的VLAN。并且,每個輔測端口的其中一個tag值等于該輔測端口的PVID值。在本實施例中,配置的輔測端口的tag值中,不包括與被測設備110的數據輸入端口111的untag值相等的值,于是,除ID號等于數據輸入端口111的untag值以外的其他指定的VLAN中,每個指定的VLAN對應兩個輔測端口。
在本實施例中,配置輔測設備120的N組的每個輔測端口的兩個tag值,一個等于相應的輔測端口的PVID值,另一個等于VLAN_init+(Portid-N)+(Port_num/2)。配置輔測設備120的M組的每個輔測端口的兩個tag值,一個等于相應的輔測端口的PVID值,另一個等于VLAN_init+(Portid-M)+1。
例如,當VLAN_init為2,Port_num是6,則計算編號為N+2的輔測端口的tag值,其中一個等于PVID值5,另一個為2+N+2-N+6/2=7,即表示,N組的編號為N+2的端口以Hybrid Tag模式加入VLAN 5,7。對于編號為M+1的輔測端口的tag值,其中一個等于該輔測端口的PVID值7,另一個等于2+(M+1-M)+1=4,即表示M組的編號為M+1的端口以Hybrid Tag模式加入VLAN 7,4,如圖3所示。
對于輔測設備120的數據輸出端口121,控制裝置140預先配置所述輔測設備120的數據輸出端口121對應所述多個指定的VLAN。在本實施例中,預先配置數據輸出端口121以Hybrid Tag模式加入ID號從VLAN_init至VLAN_init+Port_num-1的Port_num個指定的VLAN。
另外,控制裝置140對輔測設備120的輔測端口的數據接收規則進行配置,該數據接收規則為一個ACL規則,控制裝置140配置的所有輔測端口的數據接收規則為接收untag數據,丟棄tag數據,使得所述被測設備的多個測試端口每次發出來的測試數據中僅有一個測試端口發送的測試數據為untag數據時,輔測設備的多個輔測端口中僅有與該發送untag數據的測試端口對應連接的輔測端口接收該untag數據。
在本實施例中,輔測設備120的所有端口均以Hybrid Tag模式加入VLAN,沒有以Hybrid Untag模式加入任何VLAN。
控制裝置140對被測設備110以及輔測設備120配置完成后,可以開始控制測試儀130向被測設備110發送測試數據進行測試。請參見圖4,以下步驟通過在本實施例提供的配置方式下對被測設備110的具體測試過程進行詳細說明。
步驟S110:控制裝置140控制測試儀130向所述被測設備110的所述數據輸入端口111發送測試數據。
在本實施例中,使測試儀130發送到被測設備110的輸入端口的測試數據為帶VLAN tag的數據,其VLAN tag中的VLAN ID值等于被測設備110的數據輸入端口111的untag值。在本實施例中,測試儀130發送的測試數據的VLAN tag中的VLAN ID值為VLAN_init。并且,控制測試儀130向被測設備110發送測試數據的發送速率為Speed_send,該Speed_send為一個可變值,其初始值等于被測設備110的端口帶寬Bandwidth的1/(Port_num-1)倍,單位為bps,該Speed_send的初始值等于測試儀130向被測設備110發送測試數據的發送速率的最大值Speed_send_max。例如,當VLAN_init為2,Port_num為8,被測設備110的端口帶寬為1000Mbps時,則測試儀130向被測設備110發送的測試數據的VLAN tag為2,發送速率的初始值大小為1000Mbps*1/(8-1)。
另外,在本實施例中,測試儀130發送的測試數據的字節長度Packet_length由用戶根據實際情況設定,65字節、128字節、512字節、1024字節、1280字節、1518字節等均為可選的字節長度,當然也可以是其他。
步驟S120:所述被測設備110的所述數據輸入端口111接收所述測試數據,并將所述測試數據通過所有的測試端口發送給所述輔測設備120。
由于被測設備110的所有測試端口均加入了ID號為VLAN_init的指定的虛擬局域網,所以數據輸入端口111接收到VLAN tag為VLAN_init的測試數據后,將該測試數據洪泛到所有的測試端口。又由于被測設備110的所有測試端口與輔測設備120的輔測端口一一對應連接,每個輔測端口均會被發送測試數據。
但是,在被測設備110的測試端口中,只有編號為N的測試端口的untag為VLAN_init,表示該編號為N的測試端口以Hybrid untag模式加入ID號為VLAN_init的指定的虛擬局域網,其他測試端口均是以Hybrid tag模式加入的ID號為VLAN_init的指定的虛擬局域網,則只有被測設備110的N組的編號為N的測試端口發送的測試數據為untag數據,其他測試端口發送的均為tag數據。于是,由于輔測設備120的數據接收規則,只有被測設備110的編號為N的測試端口發送的測試數據被輔測設備120的編號為N的輔測端口接收,輔測設備120的其他輔測端口接收的測試數據均會被丟棄。
步驟S130:所述輔測設備120的一個輔測端口接收所述測試數據,將接收的所述測試數據通過另一個沒有接收過轉發的所述測試數據的輔測端口返回給所述被測設備110,并且將接收的所述測試數據通過所述數據輸出端口121發送至所述測試儀130,所述輔測設備120每次通過一個不同的輔測端口接收所述測試數據。
輔測設備120的輔測端口接收到untag數據后,將該untag數據打上該輔測端口的PVID并進行轉發,可以理解的,此時,打上輔測端口的PVID的測試數據為tag數據,其tag值就等于相應的輔測端口的PVID值。由于編號為N的輔測端口的PVID值為VLAN_init+1,而輔測設備120的端口配置的VLAN配置中,只有M組的編號為M的輔測端口以及數據輸出端口121才配置加入了VLAN_init+1,于是編號為N的輔測端口將測試數據轉發到編號為M的輔測端口以及數據輸出端口121。
轉發到數據輸出端口121的測試數據被發送到與數據輸出端口121連接的測試儀130。轉發到編號為M的輔測端口將測試數據被發送到與該編號為M的輔測端口對應連接的被測設備110的測試端口。
步驟S140:所述被測設備110接收所述輔測設備120返回的所述測試數據,并將所述測試數據再次通過除最近一次接收所述測試數據的端口外的其他測試端口發送至所述輔測設備120,直至所述輔測設備120每個輔測端口都接收過來自所述被測設備110的所述測試數據。
于是,被測設備110的編號為M的測試端口接收到輔測端口發送的tag值為VLAN_init+1的測試數據。由于被測設備110的所有測試端口均加入了ID號為VLAN_init+1的指定的虛擬局域網,則編號為M的測試端口將測試數據洪泛到其他所有測試端口。而由于被測設備110中,只有編號為N+1的測試端口的untag值為VLAN_init+1,于是,只有編號為N+1的測試端口發送的測試數據為untag數據,被輔測設備120中編號為N+1的輔測端口接收。
編號為N+1的輔測端口接收到untag數據后,將其打上自身的PVID,由于編號為N+1的輔測端口的PVID值為VLAN_init+2,并且在輔測端口中,除了編號為N+1的輔測端口,只有編號為M+1以及數據輸出端口121的tag值為VLAN_init+2,則編號為N+1的輔測端口將打上PVID后的tag數據轉發至數據輸出端口121以及編號為M+1的輔測端口。
數據輸出端口121將接收到的測試數據發送至測試儀130。編號為M+1的輔測端口將接收到的測試數據發送至對應連接的被測設備110的測試端口。被測設備110的測試端口M+1將所述測試數據再次通過除最近一次接收所述測試數據的端口外的其他測試端口發送至所述輔測設備120,該最后一次接收所述測試數據的端口為編號為M+1的測試端口。
根據被測設備110以及輔測設備120的端口配置,測試數據按照上述的數據轉發路徑依次轉發。依次類推,在被測設備110上的所有測試端口都會收到一次從輔測設備120發來的Tag測試數據并且在本設備的除自身以外的其他所有測試端口上進行廣播洪泛,而被測設備110每次發向輔測設備120的測試數據中,只有一個測試端口發出的為Untag數據,其他端口發出的均為Tag數據。這樣就保證了每次從被測設備110發向輔測設備120的測試數據中,只有一個端口的測試數據能夠真正進入輔測設備120進行再次洪泛轉發,其他測試數據均會被ACL規則丟棄。
而輔測設備120每次對測試數據進行轉發的時候,都會發一份到數據輸出端口121,由數據輸出端口121發向測試儀130進行測試數據的接收。由于各個測試端口的untag值不同,則每次發送untag數據的測試端口不同,使每個測試端口均發送過被轉發到測試儀130的測試數據。
本實施例以如圖3所示的VLAN初始值為2,端口總數為6的被測設備110以及輔測設備120作為具體的實施方式對測試數據的轉發過程的進行詳細說明。圖5示出了測試數據在被測設備110以及輔測設備120之間的走向,其中,被測設備110與輔測設備120之間的虛線表示不符合輔測端口的數據接收規則而被丟棄的數據,被測設備110與輔測設備120之間的非箭頭連線表示測試端口與輔測端口之間的一一連接關系。
請參見圖3,被測設備110的中5個測試端口的編號分別為N,M,N+1,M+1,N+2,每個測試端口的untag值配置以及tag值配置如圖所示。另外,輔測設備120的中5個輔測端口的編號也分別為N,M,N+1,M+1,N+2,每個輔測端口的PVID值以及tag值配置如圖所示。
控制裝置140控制測試儀130向數據輸入端口111發送VLAN tag中的VLAN ID值為2的測試數據,數據輸入端口111接收到該測試數據后,向其他所有測試端口廣播洪泛,所有的測試端口將接收到的測試數據發送給對應連接的輔測端口。所有測試端口中,只有測試端口N的untag為2,故只有測試端口N將測試數據剝離標簽后作為untag數據發送給對應連接的輔測端口,于是只有輔測端口N接收該測試數據,其他輔測端口均將測試數據丟棄,如圖5所示。
輔測端口N將接收到的測試數據打上數值為3的PVID后轉發到數據輸出端口121和tag值包括3的輔測端口M。輔測端口M將測試數據發送給測試端口M,測試端口M將該測試數據洪泛到其他測試端口。其他測試端口將接收到的測試數據發送給對應連接的輔測端口,由于只有測試端口N+1的untag值為3,故只有測試端口N+1發送的測試數據被輔測端口N+1接收,如圖5所示。
輔測端口N+1將接收到的測試數據打上數值為4的PVID后轉發到數據輸出端口121和tag值包括4的輔測端口M+1。輔測端口M+1將接收到的測試數據發送給測試端口M+1,測試端口M+1將該測試數據洪泛到其他測試端口。其他測試端口將接收到的測試數據發送給對應連接的輔測端口,由于只有測試端口N+2的untag值為4,故只有測試端口N+2發送的測試數據被輔測端口N+2接收,如圖5所示。
輔測端口N+2將接收到的測試數據打上數值為5的PVID后轉發到數據輸出端口121和tag值包括5的輔測端口N。輔測端口N將接收到的測試數據發送給測試端口N,測試端口N將測試數據洪泛到其他測試端口。其他測試端口將接收到的測試數據發送給對應連接的輔測端口,由于只有測試端口M的untag值為5,故只有測試端口M發送的測試數據被輔測端口M接收,如圖5所示。
輔測端口M將接收到的測試數據打上數值為6的PVID后轉發到數據輸出端口121和tag值包括6的輔測端口N+1。輔測端口N+1將接收到的測試數據發送給測試端口N+1,測試端口N+1將測試數據洪泛到其他測試端口。其他測試端口將接收到的測試數據發送給對應連接的輔測端口,由于只有測試端口M+1的untag值為6,故只有測試端口M+1發送的測試數據被輔測端口M+1接收,如圖5所示。
輔測端口M+1將接收到的測試數據打上數值為7的PVID后轉發到數據輸出端口121和tag值包括7的輔測端口N+2。輔測端口N+2將接收到的測試數據發送給測試端口N+2,測試端口N+2將測試數據洪泛到其他測試端口。其他測試端口將接收到的測試數據發送給對應連接的輔測端口,由于不存在untag值為7的測試端口,該測試數據不再被輔測端口接收,于是不再轉發。
于是,如圖5所示,圖3所示的被測設備110每個測試端口洪泛測試數據到輔測設備120時,只有1個測試端口發出的流量能夠被輔測設備120接收并進行再次轉發,其他多余測試數據均會被丟棄。并且,測試儀130發送的每一個測試數據,均會由被測設備110的每一個測試端口發送一次,最后被輔測設備120發回到測試儀130。
步驟S150:所述測試儀130接收所述輔測設備120發送的測試數據。
測試儀130接收輔測設備120的數據輸出端口121發送的每一個測試數據。
步驟S160:所述控制裝置140根據所述測試儀130發送的測試數據以及所述測試儀130接收的測試數據計算所述被測設備110的轉發能力。
在本實施例中,控制裝置140可以根據測試儀130發送的測試數據的數目、接收的測試數據的數目、測試儀130發送測試數據的發送速率以及發送的測試數據的字節長度對被測設備110的轉發能力進行計算。
具體的,如圖6所示,本步驟可以包括:
步驟S161:預定測試時間后,控制裝置140判斷測試儀130接收的測試數據的數目與發送的測試數據的數目的商是否等于測試端口的數目,若否,執行步驟S162,若是,執行步驟S165。
從測試儀130向被測設備110發送測試數據開始到預定測試時間Time_test時,控制裝置140獲取測試儀130向輔測設備120發送的測試數據的數目Packet_send以及從輔測設備120接收到的測試數據的數目Packet_receive。用接收到的測試數據的數目Packet_receive除以發送的測試數據的數目Packet_send,判斷得到的商是否與測試端口的數目相等。
該測試時間可以由用戶根據實際需要設定,并且,可通過定時器計時。當控制裝置140控制測試儀130開始向被測設備110發送測試數據時,啟動定時器,當定時器定時時間長度到達預設測試時間時,開始執行本步驟。
在本實施例中,當到達預定測試時間時,可以先控制測試儀130停止向被測設備110發送測試數據,再判斷測試儀130接收的測試數據的數目與發送的測試數據的數目的商是否等于測試端口的數目。
步驟S162:判斷測試儀130接收的測試數據的數目與發送的測試數據的數目的商是否小于測試端口的數目,若否,執行步驟S163,若是,執行步驟S164。
當測試儀130接收的測試數據的數目與發送的測試數據的數目的商不等于測試端口的數目,表明被測設備110在進行廣播洪泛的過程中出現了丟包或者多包,則需要進一步確定被測設備110是出現了丟包還是多包。可以通過判斷測試儀接收的測試數據的數目與發送的測試數據的數目的商是否小于測試端口的數目來確定被測設備110是丟包還是多包。
步驟S163:控制裝置140提示該交換機轉發性能的測試存在錯誤并結束測試。
當測試儀130接收的測試數據的數目與發送的測試數據的數目的商大于測試端口數目,此時網絡中存在環路或者配置錯誤導致多包,需要用戶手工進行環境和配置的檢查,控制裝置140可以控制本次轉發性能測試結束,并進行錯誤提示,以使用戶及時進行錯誤檢查。具體的錯誤提示方式可以是彈出報錯框。
步驟S164:根據當前測試儀130發送測試數據的發送速率,利用二分法獲得小于當前發送速率的測試數據發送速率,作為測試儀130發送測試測試數據的新的發送速率,執行步驟S110。
當測試儀130接收的測試數據的數目與發送的測試數據的數目的商小于測試端口數目,表明此時測試數據的發送速率過大出現丟包,于是需要減小測試儀130發送測試數據的發送速率再次進行測試數據的轉發。
具體的減小方式可以是,使用二分法重新設置更小的測試儀130發送測試數據的發送速率,則新的發送速率可以是Speed_send_change=Speed_send-Speed_send/2,該Speed_send為測試儀130當前的測試數據發送速率。然后將更新后的發送速率值Speed_send_change重新賦值給Speed_send,作為測試儀130發送測試數據的發送速率,控制測試儀130再次向被測設備110發送測試數據。
當然,測試儀130的新的發送速率的計算方式在本實施例中并不作為限定,并不排除其他減小測試儀130的發送速率的計算方式應用于本發明實施例。
步驟S165:判斷測試儀130發送測試數據的當前發送速率是否大于或等于發送速率的最大值,若是,執行步驟S166;若否,執行步驟S167。
當測試儀130接收的測試數據的數目與發送的測試數據的數目的商等于測試端口的數目,證明此時被測設備110接收到的測試數據都進行了轉發。此時,需要進一步判斷測試儀130發送測試數據的當前發送速率是否大于或等于發送速率的最大值,以確定此時的測試儀130發送測試數據的發送速率測試出的被測設備110的性能值是否是被測設備110的極限值。
步驟S166:計算被測設備110的轉發性能。
當測試儀130發送測試數據的當前發送速率大于發送速率的最大值,此時的發送速率測試出的性能值已經是設備的極限值,可以計算被測設備110的轉發性能。
具體計算可以通過公式:Result=[Speed_send/(Packet_length+20)/8]*(Port_num-1)*Port_num。其中,Result單位為pps,表示被測設備110的轉發性能。Speed_send為測試儀130發送測試數據的最新的發送速率,Packet_length為測試儀130發送的測試數據的字節長度,Port_num為被測設備110的端口總數,Port_num-1為被測設備110的測試端口的數目。
步驟S167:根據當前測試儀130發送測試數據的發送速率,利用二分法獲得大于當前發送速率的發送速率,作為測試儀130發送測試數據的新的發送速率,執行步驟S110。
當測試儀130發送測試數據的當前發送速率是小于發送速率的最大值,說明當前發送速率測試出的被測設備110的性能值不是被測設備110的極限值,發送速率還可以增大。于是,控制測試儀130以更大的發送速率重新向被測設備110發送測試數據。可以理解的,該發送速率的最大值即為前述的Speed_send_max,等于發送速率的初始值。
在本實施例中,可以利用二分法獲得大于當前發送速率的測試數據發送速率,具體的,新的發送速率為Speed_send_change=Speed_send+Speed_send/2,該Speed_send為當前的發送速率,以Speed_send_change替換當前的發送速率作為新的發送速率,控制測試儀130向被測設備110發送測試數據。
當然,在本實施例中,被測設備110以及輔測設備120所對應的虛擬局域網的具體編號并不作為限制,只要滿足上述轉發關系,使測試儀130發送的測試數據在被測設備110的每個測試端口發送一次,且被測試儀130接收以用于計算被測設備110的轉發能力即可。
第二實施例
本實施例提供了一種交換機轉發性能的測試方法,該方法應用于交換機轉發性能的測試系統的控制裝置140。請參見圖1,所述系統還包括被測設備110、輔測設備120以及測試儀130。其中,所述被測設備110包括多個測試端口112,所述輔測設備120包括多個輔測端口122,所述被測設備110的所述多個測試端口112與所述輔測設備120的所述多個輔測端口122一一對應連接。
本實施例提供的交換機轉發性能的測試方法用于對被測設備110以及輔測設備120進行配置,該方法包括:所述控制裝置140配置所述被測設備110的所述測試端口112以及所述輔測設備120的所述輔測端口122,使得所述被測設備110的多個測試端口112每次發出來的測試數據僅會有一個測試端口112的數據被所述輔測設備120中與之對應的輔測端口122來接收,且每次接收所述測試數據的輔測端口122所對應的測試端口112不同。
其中,所述控制裝置140配置所述被測設備110的所述測試端口112包括:將所述被測設備110的所述多個測試端口112中的每個測試端口112配置為對應多個指定的虛擬局域網,所述每個測試端口112可收發所述多個指定的虛擬局域網的數據,所述每個測試端口112僅會對來自其中一個目標虛擬局域網的數據進行數據處理以滿足所述輔測端口122數據接收規則,所述每個測試端口112對應的目標虛擬局域網不同,使得每次從所述多個測試端口112發送至所述多個輔測端口122的所述測試數據僅會有一個測試端口112的數據被所述輔測設備120中與之對應的輔測端口122來接收。
具體的,控制裝置140可以通過將所述被測設備110的每個測試端口112均配置為以第一模式對應所述多個指定的虛擬局域網中的一個目標虛擬局域網,以第二模式對應所述多個指定的虛擬局域網中的其他指定的虛擬局域網,其中,當所述被測設備110的所述測試端口112以所述第一模式對應目標虛擬局域網時,所述測試端口112將來自與之對應的目標虛擬局域網的數據處理為滿足所述輔測端口122數據接收規則的數據,以使所述每個測試端口112僅會對來自對應的目標虛擬局域網的數據進行數據處理以滿足所述輔測端口122數據接收規則。
在本實施例中,第一模式可以是Hybrid untag模式,所述第二模式可以為Hybrid tag模式。
另外,所述控制裝置140配置所述輔測設備120的所述輔測端口122,包括:所述控制裝置140配置每個輔測端口的數據接收規則,每個輔測端口僅接收對應的被測端口發送的滿足數據接收規則的測試數據,使得所述被測設備110的多個測試端口每次發出來的測試數據中僅有一個測試端口發送的測試數據滿足數據接收規則時,僅會有一個與之對應的輔測端口接收。
所述控制裝置140配置多個指定的虛擬局域網中的每個指定的虛擬局域網對應所述輔測設備120中的兩個輔測端口122,每個指定的虛擬局域網對應的輔測端口122與其他指定的虛擬局域網對應的輔測端口122不同,配置所述輔測設備120的每個輔測端口122對應的轉發目標虛擬局域網,所述多個指定的虛擬局域網中包括所述每個輔測端口122對應的轉發目標虛擬局域網,以使得所述每個輔測端口122將接收到的滿足數據接收規則的測試數據設定為通過該輔測端口122對應的轉發目標虛擬局域網轉發的數據。
在本實施例中,控制裝置140可以通過配置所述輔測設備120的每個輔測端口122的PVID屬性配置所述輔測設備120的每個輔測端口122對應的轉發目標虛擬局域網,所述每個輔測端口122的PVID值等于所述每個輔測端口122對應的轉發目標虛擬局域網的ID值。
本實施例中控制裝置140對被測設備110以及輔測設備120的具體配置可以參見第一實施例,在此不再贅述。
第三實施例
本實施例提供了一種交換機轉發性能的測試系統,請參見圖1,所述系統包括被測設備110、輔測設備120、測試儀130以及控制裝置140。其中,所述被測設備110包括數據輸入端口111以及多個測試端口112,所述輔測設備120包括數據輸出端口121以及多個輔測端口122,所述被測設備110的多個測試端口112與所述輔測設備的多個輔測端口122一一對應連接。測試儀130包括三個端口,分別為第一端口131、第二端口132以及第三端口133,請參見圖1,第一端口131連接到被測設備110的數據輸入端口111,第二端口132連接到輔測設備120的數據輸出端口121,第三端口133連接到控制裝置140。
在本實施例中,被測設備110以及輔測設備120可以為交換機,且被測設備110的測試端口112以及輔測設備120的輔測端口122的端口速率相同。另外,控制裝置140可以是個人電腦(personal computer,PC)、平板電腦或其他智能控制設備等。
在本實施例中,所述控制裝置140用于配置所述被測設備110的所述測試端口112以及所述輔測設備120的所述輔測端口122,使得所述被測設備110每次發出來的測試數據僅會被一個輔測端口122接收,且每次接收所述測試數據的輔測端口122不同。另外,所述控制裝置140還用于控制所述測試儀130向所述被測設備110的所述數據輸入端口111發送測試數據。
另外,所述被測設備110用于通過所述數據輸入端口111接收所述測試數據,并將所述測試數據通過所有的測試端口112發送給所述輔測設備120。
所述輔測設備120用于通過一個輔測端口122接收所述測試數據,將接收的所述測試數據通過另一個沒有接收過轉發的所述測試數據的輔測端口122返回給所述被測設備110,并且將接收的所述測試數據通過所述數據輸出端口121發送至所述測試儀130,所述輔測設備120每次通過一個不同的輔測端口122接收所述測試數據。
所述被測設備110還用于接收所述輔測設備120返回的所述測試數據,并將所述測試數據再次通過除最近一次接收所述測試數據的端口外的其他測試端口112發送至所述輔測設備120,直至所述輔測設備120每個輔測端口122都接收過來自所述被測設備110的所述測試數據。
所述測試儀130用于接收所述輔測設備120發送的測試數據。
所述控制裝置140用于根據所述測試儀130發送的測試數據以及所述測試儀130接收的測試數據計算所述被測設備110的轉發能力。
第四實施例
本實施例提供了一種控制裝置140,該控制裝置140應用于交換機轉發性能的測試系統。請參見圖1,所述系統包括被測設備110、輔測設備120、測試儀130以及控制裝置140。所述被測設備110包括數據輸入端口111以及多個測試端口112,所述輔測設備120包括數據輸出端口121以及多個輔測端口122,所述被測設備110的所述多個測試端口112與所述輔測設備120的所述多個輔測端口122一一對應連接。
本實施例提供的所述控制裝置140用于配置所述被測設備110的所述測試端口112以及所述輔測設備120的所述輔測端口122,使得所述被測設備110的多個測試端口112每次發出來的測試數據僅會有一個測試端口112的數據被所述輔測設備120中與之對應的輔測端口122來接收,且每次接收所述測試數據的輔測端口122所對應的測試端口112不同。
進一步的,在本實施例中,所述裝置包括被測設備110配置單元,以及輔測設備120配置單元。其中,被測設備110配置單元用于將所述被測設備110的所述多個測試端口112中的每個測試端口112配置為對應多個指定的VLAN,所述每個測試端口112可收發所述多個指定的VLAN的數據。并且,所述每個測試端口112僅會對來自其中一個目標VLAN的數據進行數據處理以滿足所述輔測端口122數據接收規則,所述每個測試端口112對應的目標VLAN不同,使得每次從所述多個測試端口112發送至所述多個輔測端口122的所述測試數據僅會有一個測試端口112的數據被所述輔測設備120中與之對應的輔測端口122來接收。
另外,輔測設備120配置單元用于配置每個輔測端口的數據接收規則,每個輔測端口僅接收對應的被測端口發送的滿足數據接收規則的測試數據,使得所述被測設備的多個測試端口每次發出來的測試數據中,僅有一個測試端口發送的測試數據滿足數據接收規則時,僅會有一個與之對應的輔測端口接收。
輔測設備配置單元還用于配置多個指定的VLAN中每個指定的VLAN對應兩個輔測端口122。其中,所述配置的多個指定的VLAN不包括所述數據輸入端口111對應的目標VLAN,并且每個指定的VLAN對應的輔測端口122與其他指定的VLAN對應的輔測端口122不同。
輔測設備120配置單元還用于配置所述輔測設備120的每個輔測端口122對應的轉發目標VLAN,所述多個指定的VLAN中包括所述每個輔測端口122對應的轉發目標VLAN。其中,每個輔測端口122對應的轉發目標VLAN不同于所述數據輸入端口111對應的目標VLAN,以使得所述每個輔測端口122將接收到的滿足數據接收規則的測試數據設定為通過該輔測端口122對應的轉發目標VLAN轉發的數據。
另外,所述被測設備110配置單元還用于將所述被測設備110的所述數據輸入端口111配置為對應一個目標VLAN;所述輔測設備120配置單元還用于配置所述輔測設備120的數據輸出端口121對應所述多個指定的VLAN。
本實施例提供的控制裝置140對被測設備110以及輔測設備120的配置以及其他功能請參見第一實施例,在此不再贅述。
需要說明的是,本說明書中的各個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對于硬件類實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
以上所述僅為本發明的優選實施例而已,并不用于限制本發明,對于本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步定義和解釋。
以上所述,僅為本發明的具體實施方式,但本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應所述以權利要求的保護范圍為準。