專(zhuān)利名稱(chēng):Openflow交換機(jī)系統(tǒng)中流表添加速率的測(cè)試方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及以太網(wǎng)領(lǐng)域技術(shù),尤其涉及一種Openflow交換機(jī)系統(tǒng)中流表添加速率的測(cè)試方法及測(cè)試系統(tǒng)。
背景技術(shù):
目前互聯(lián)網(wǎng)發(fā)展迅速,其應(yīng)用規(guī)模的龐大及其地位的重要性,遠(yuǎn)遠(yuǎn)超出了設(shè)計(jì)者們的想象,而現(xiàn)在的互聯(lián)網(wǎng)主要有以下弊端特定的范圍內(nèi)沒(méi)有統(tǒng)一的管理、網(wǎng)絡(luò)轉(zhuǎn)發(fā)機(jī)制與策略單一、運(yùn)營(yíng)商難以最大限度優(yōu)化自身網(wǎng)絡(luò)、以及傳統(tǒng)交換機(jī)用于轉(zhuǎn)發(fā)的功能和協(xié)議多且雜,很難配置,系統(tǒng)容易出錯(cuò)等問(wèn)題。為應(yīng)對(duì)上述弊端,人們提出了 Openflow交換機(jī),其將傳統(tǒng)交換機(jī)上的報(bào)文轉(zhuǎn)發(fā)和轉(zhuǎn)發(fā)策略分離開(kāi)來(lái),采用專(zhuān)門(mén)的一臺(tái)控制器(controller) 通過(guò)網(wǎng)線和交換機(jī)連接。這樣原來(lái)同在一臺(tái)交換機(jī)設(shè)備上的報(bào)文轉(zhuǎn)發(fā)功能(硬件芯片實(shí)現(xiàn))和報(bào)文轉(zhuǎn)發(fā)策略(各種軟件協(xié)議)就被分開(kāi)到了不同的硬件設(shè)備上。而一臺(tái)控制器還可以控制多臺(tái)Openflow交換機(jī),從而實(shí)現(xiàn)了統(tǒng)一的轉(zhuǎn)發(fā)控制端,更有效地控制了網(wǎng)絡(luò)。Openflow交換機(jī)最核心的功能是報(bào)文轉(zhuǎn)發(fā),其報(bào)文轉(zhuǎn)發(fā)機(jī)制為先在流表中進(jìn)行報(bào)文的流匹配,然后根據(jù)流表中查找到的行為進(jìn)行轉(zhuǎn)發(fā)。流表包括12個(gè)包頭域、活動(dòng)計(jì)數(shù)器(counters)、。個(gè)或多個(gè)執(zhí)行行動(dòng)(actions)。對(duì)每一個(gè)包進(jìn)行查找,如果匹配成功則執(zhí)行相關(guān)策略,否則通過(guò)安全通道將包轉(zhuǎn)發(fā)到控制器,并由控制器來(lái)決策相關(guān)行為。一般的,Openflow交換機(jī)上的流表是用TCAM硬件來(lái)實(shí)現(xiàn)的。對(duì)于Openflow交換機(jī)系統(tǒng)而言,流表添加速率是尤為重要的指標(biāo),其關(guān)系到整個(gè)Openflow系統(tǒng)的響應(yīng)速度、穩(wěn)定性及安全性。然而,由于添加流表的速率一般都很快,可以達(dá)到每秒幾百或上千條,以至于很難通過(guò)測(cè)試獲得準(zhǔn)確的流表添加速率,現(xiàn)有技術(shù)中也并沒(méi)有提供一種可準(zhǔn)確測(cè)試Openflow交換機(jī)系統(tǒng)中的流表添加速率的方法。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種Openflow交換機(jī)系統(tǒng)中流表添加速率的測(cè)試方法。相應(yīng)地,本發(fā)明還提供一種應(yīng)用上述方法的流表添加速率的測(cè)試系統(tǒng)。為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明的技術(shù)方案如下一種Openflow交換機(jī)系統(tǒng)中流表添加速率的測(cè)試方法,其包括如下步驟
51、通過(guò)控制器對(duì)Openflow交換機(jī)下發(fā)第一流及第二流,其中,所述第一流的優(yōu)先級(jí)為第一優(yōu)先級(jí),其動(dòng)作類(lèi)型為轉(zhuǎn)發(fā)到其他所有端口,其匹配域?yàn)樗袌?bào)文;所述第二流的優(yōu)先級(jí)為第二優(yōu)先級(jí),其動(dòng)作類(lèi)型為轉(zhuǎn)發(fā)到第二端口,其匹配域?yàn)镮P報(bào)文,所述第一優(yōu)先級(jí)低于第二優(yōu)先級(jí),并且是全局最低優(yōu)先級(jí);
52、向Openflow交換機(jī)中的第一端口以固定速率SendRate發(fā)送報(bào)文;
53、通過(guò)控制器對(duì)Openflow交換機(jī)下發(fā)待測(cè)流,所述待測(cè)流替換所述第二流成為新流,其中,所述待測(cè)流與所述第二流的匹配域以及優(yōu)先級(jí)相同,其動(dòng)作類(lèi)型為轉(zhuǎn)發(fā)到第三端Π ;S4、統(tǒng)計(jì)第四端口上所有接收到的報(bào)文之和ReceivedBits,并計(jì)算獲得Openflow的流表添加速率 SingleInsertRate=SendRate+ ReceivedBits。作為本發(fā)明的進(jìn)一步改進(jìn),在所述步驟SI之前,該方法還包括通過(guò)控制器刪除Openflow交換機(jī)上所有的流。作為本發(fā)明的進(jìn)一步改進(jìn),該方法在測(cè)試最好情況下的流表添加速度BestCaseInsertRate時(shí),所述步驟SI還包括如下步驟獲取Openflow交換機(jī)的流表容量MAX_ENTRIES的大?。煌ㄟ^(guò)控制器對(duì)Openflow交換機(jī)下發(fā)N條流,其中,N=MAX_ENTRIES-2,上述N條流的匹配域?yàn)榉荌P報(bào)文,其優(yōu)先 級(jí)低于所述第二優(yōu)先級(jí)、但大于0,且每條新下發(fā)的流的優(yōu)先級(jí)低于前一條下發(fā)流的優(yōu)先級(jí),其動(dòng)作類(lèi)型為丟棄。作為本發(fā)明的進(jìn)一步改進(jìn),該方法在測(cè)試最壞情況下的流表添加速度WorstCaseInsertRate時(shí),所述步驟SI還包括如下步驟獲取Openflow交換機(jī)的流表容量MAX_ENTRIES的大??;通過(guò)控制器對(duì)Openflow交換機(jī)下發(fā)N條流,其中,N=MAX_ENTRIES-2,上述N條流的匹配域?yàn)榉荌P報(bào)文,其優(yōu)先級(jí)高于所述第二優(yōu)先級(jí)、但小于65535,且每條新下發(fā)的流的優(yōu)先級(jí)高于前一條下發(fā)流的優(yōu)先級(jí),其動(dòng)作類(lèi)型為丟棄。作為本發(fā)明的進(jìn)一步改進(jìn),該方法還包括如下步驟獲取控制器與交換機(jī)之間的網(wǎng)絡(luò)延時(shí);在計(jì)算出的流表添加速率SinglelnsertRate、BestCaseInsertRate及WorstCaseInsertRate的基礎(chǔ)上減去所述網(wǎng)絡(luò)延時(shí),以得到最終結(jié)果。作為本發(fā)明的進(jìn)一步改進(jìn),所述“獲取Openflow交換機(jī)的流表容量MAX_ENTRIES的大小”的步驟,具體包括獲取所需測(cè)試的目標(biāo)邏輯流表所支持的匹配域,并設(shè)置該邏輯流表的默認(rèn)匹配動(dòng)作;向所述目標(biāo)邏輯流表添加相應(yīng)匹配域的流表項(xiàng),所述流表項(xiàng)的優(yōu)先級(jí)從I開(kāi)始依次遞增;發(fā)送所述匹配域的報(bào)文,并監(jiān)聽(tīng)Openflow的協(xié)議報(bào)文;其中,若監(jiān)聽(tīng)到所述協(xié)議報(bào)文按照所述默認(rèn)匹配動(dòng)作進(jìn)行處理,則記錄下所述目標(biāo)邏輯流表中最后添加的流表項(xiàng)的優(yōu)先級(jí)P1,此時(shí),被測(cè)邏輯流表的表項(xiàng)容量MAX_ENTRIES=P1 ;在添加流表項(xiàng)時(shí),若上報(bào)M0D_FL0W_FAIL錯(cuò)誤且其子錯(cuò)誤碼為T(mén)ABLE_FULL時(shí),記錄當(dāng)前流的優(yōu)先級(jí)P2,此時(shí),被測(cè)邏輯流表的表項(xiàng)容量MAX_ENTRIES=P2-1 ;查看交換機(jī)上流表的報(bào)文統(tǒng)計(jì)情況,若發(fā)現(xiàn)某條流的報(bào)文統(tǒng)計(jì)為0,記錄當(dāng)前流的優(yōu)先級(jí)P3,此時(shí),被測(cè)邏輯流表的表項(xiàng)容量C=P3-1。相應(yīng)地,上述測(cè)試系統(tǒng)包括
備用流下發(fā)單元、用于通過(guò)控制器對(duì)Openflow交換機(jī)下發(fā)第一流及第二流,其中,所述第一流的優(yōu)先級(jí)為第一優(yōu)先級(jí),其動(dòng)作類(lèi)型為轉(zhuǎn)發(fā)到其他所有端口,其匹配域?yàn)樗袌?bào)文;所述第二流的優(yōu)先級(jí)為第二優(yōu)先級(jí),其動(dòng)作類(lèi)型為轉(zhuǎn)發(fā)到第二端口,其匹配域?yàn)镮P報(bào)文,所述第一優(yōu)先級(jí)低于第二優(yōu)先級(jí),并且是全局最低優(yōu)先級(jí);
報(bào)文發(fā)送單元、用于向Openflow交換機(jī)中的第一端口以固定速率SendRate發(fā)送報(bào)
文;
待測(cè)流下發(fā)單元、用于通過(guò)控制器對(duì)Openflow交換機(jī)下發(fā)待測(cè)流,所述待測(cè)流替換所述第二流成為新流,其中,所述待測(cè)流與所述第二流的匹配域以及優(yōu)先級(jí)相同,其動(dòng)作類(lèi)型為轉(zhuǎn)發(fā)到第三端口;
流表添加速率獲取單元、用于統(tǒng)計(jì)第四端口上所有接收到的報(bào)文之和ReceivedBits,并計(jì)算獲得 Openflow 的流表添加速率 SingleInsertRate=SendRate + ReceivedBits。作為本發(fā)明的進(jìn)一步改進(jìn),該系統(tǒng)還包括一流刪除單元,其用于在測(cè)試啟動(dòng)之前,通過(guò)控制器刪除Openflow交換機(jī)上所有的流。作為本發(fā)明的進(jìn)一步改進(jìn),在測(cè)試最好情況下的流表添加速度BestCaseInsertRate時(shí),所述備用流下發(fā)單元還用于獲取Openf low交換機(jī)的流表容量MAX_ENTRIES的大??;通過(guò)控制器對(duì)Openflow交換機(jī)下發(fā)N條流,其中,N=MAX_ENTRIES-2,上述N條流的匹配域?yàn)榉荌P報(bào)文,其優(yōu)先級(jí)低于所述第二優(yōu)先級(jí)、但大于0,且每條新下發(fā)的流的優(yōu)先級(jí)低于前一條下發(fā)流的優(yōu)先級(jí),其動(dòng)作類(lèi)型為丟棄。作為本發(fā)明的進(jìn)一步改進(jìn),在測(cè)試最壞情況下的流表添加速度WorstCaseInsertRate時(shí),所述備用流下發(fā)單元還用于獲取Openflow交換機(jī)的流表容量MAX_ENTRIES的大??;通過(guò)控制器對(duì)Openflow交換機(jī)下發(fā)N條流,其中,N=MAX_ENTRIES-2,上述N條流的匹配域?yàn)榉荌P報(bào)文,其優(yōu)先級(jí)高于所述第二優(yōu)先級(jí)、但小于65535,且每條新下發(fā)的流的優(yōu)先級(jí)高于前一條下發(fā)流的優(yōu)先級(jí),其動(dòng)作類(lèi)型為丟棄。本發(fā)明的有益效果是本發(fā)明可實(shí)現(xiàn)自動(dòng)化測(cè)試Openflow交換機(jī)中流表添加速 率這一指標(biāo),測(cè)試速度快,且準(zhǔn)確性高。
圖I是本發(fā)明具體實(shí)施方式
中流表添加速率測(cè)試系統(tǒng)的硬件聯(lián)接示意 圖2是本發(fā)明具體實(shí)施方式
中流表添加速率測(cè)試方法的流程 圖3是本發(fā)明具體實(shí)施方式
中表項(xiàng)容量測(cè)試系統(tǒng)的硬件聯(lián)接示意 圖4是本發(fā)明具體實(shí)施方式
中表項(xiàng)容量測(cè)試方法的流程 圖5是本發(fā)明具體實(shí)施方式
中Openflow交換機(jī)的多流表與流表項(xiàng)關(guān)系示意 圖6是本發(fā)明具體實(shí)施方式
中所添加流表項(xiàng)的配置示意 圖7是本發(fā)明具體實(shí)施方式
中流表添加速率測(cè)試系統(tǒng)的單元示意 圖8是本發(fā)明具體實(shí)施方式
中表項(xiàng)容量測(cè)試系統(tǒng)的單元示意圖。
具體實(shí)施例方式以下將結(jié)合附圖所示的具體實(shí)施方式
對(duì)本發(fā)明進(jìn)行詳細(xì)描述。但這些實(shí)施方式并不限制本發(fā)明,本領(lǐng)域的普通技術(shù)人員根據(jù)這些實(shí)施方式所做出的結(jié)構(gòu)、方法、或功能上的變換均包含在本發(fā)明的保護(hù)范圍內(nèi)。參圖I所示,本發(fā)明具體實(shí)施例中,用于測(cè)試交換機(jī)系統(tǒng)中流表添加速率及流表容量的設(shè)備包括一收發(fā)包測(cè)試儀10,一被測(cè)Openflow交換機(jī)20,以及控制器30。其中,測(cè)試儀可為收發(fā)包專(zhuān)業(yè)測(cè)試設(shè)備IXIA、或者Smartbit,也可以使用裝有多張網(wǎng)卡以及相關(guān)的驅(qū)動(dòng)軟件和API接口的PC機(jī)。在傳統(tǒng)Openflow交換機(jī)系統(tǒng)的網(wǎng)絡(luò)架構(gòu)包括多個(gè)控制器,控制器與Openflow交換機(jī)(一個(gè)或多個(gè))之間通過(guò)控制網(wǎng)絡(luò)相連,Openflow交換機(jī)另一端通過(guò)多業(yè)務(wù)端口連接多個(gè)終端設(shè)備,可包括手機(jī)、電腦、PDA (個(gè)人數(shù)字處理)等。所述終端可通過(guò)數(shù)據(jù)通道與Openflow交換機(jī)相互通信,實(shí)現(xiàn)報(bào)文發(fā)送。其中,在本實(shí)施方式中,收發(fā)包測(cè)試儀10上設(shè)置有四個(gè)端口 P1、P2、P3、P4,而交換機(jī)上也相應(yīng)設(shè)置四個(gè)端口 端口 21、端口 22、端口 23及端口 24,本方案中,在測(cè)試交換機(jī)系統(tǒng)中流表添加速率時(shí),只需要將測(cè)試儀10的端口 Pl與交換機(jī)上的端口 21相連,端口 P2與交換機(jī)上的端口 22相連,端口 P3與交換機(jī)上的端口 23相連,端口 P4與交換機(jī)上的端口24相連,值得一提的是,本發(fā)明設(shè)置了四對(duì)四的端口連接方式,在其他實(shí)施例中,還可設(shè)置其他任意數(shù)目的端口。結(jié)合圖I及圖2所示,本發(fā)明具體實(shí)施例中,在進(jìn)行測(cè)試之前,首先需要按照上述方式連接好設(shè)備,然后啟動(dòng)Openflow交換機(jī)及控制器,并配置連接關(guān)系,如IP地址和端口號(hào)等,與此同時(shí),還需檢查Openflow交換機(jī)和控制器之間的網(wǎng)絡(luò)連通性,具體地可以通過(guò)發(fā)送接收Openflow的Echo Request、Echo Reply消息來(lái)實(shí)現(xiàn)。作好上述準(zhǔn)備工作后,便可開(kāi)始測(cè)試工作,其測(cè)試過(guò)程主要包括如下步驟
51、通過(guò)控制器對(duì)Openflow交換機(jī)下發(fā)第一流及第二流,其中,所述第一流的優(yōu)先級(jí)為第一優(yōu)先級(jí)(Priority=O),其動(dòng)作類(lèi)型為轉(zhuǎn)發(fā)到其他所有端口(即actions=all),其匹配域?yàn)樗袌?bào)文;所述第二流的優(yōu)先級(jí)為第二優(yōu)先級(jí)(priority=32768),其動(dòng)作類(lèi)型為轉(zhuǎn)發(fā)到第二端口 22,其匹配域?yàn)镮P報(bào)文,所述第一優(yōu)先級(jí)低于第二優(yōu)先級(jí),并且是全局最低優(yōu)先級(jí);
52、向Openflow交換機(jī)中的第一端口21以固定速率SendRate發(fā)送報(bào)文;優(yōu)選地,所述 報(bào)文的幀長(zhǎng)為64byte,此時(shí),所有報(bào)文應(yīng)當(dāng)匹配第二流,報(bào)文從第二端口 22轉(zhuǎn)發(fā)出來(lái);
53、通過(guò)控制器對(duì)Openflow交換機(jī)下發(fā)待測(cè)流,所述待測(cè)流替換所述第二流成為新流,其中,所述待測(cè)流與所述第二流的匹配域以及優(yōu)先級(jí)相同,即priority=32768,其動(dòng)作類(lèi)型為轉(zhuǎn)發(fā)到第三端口 23 ;此時(shí),因?yàn)閮烧邇?yōu)先級(jí)和匹配特征是一樣的,第二流會(huì)被本步驟里的待測(cè)流替換掉,上述步驟S2中從Pl端口發(fā)送到第二端口 21的報(bào)文應(yīng)當(dāng)匹配本步驟中的新流,報(bào)文應(yīng)當(dāng)從第三端口 23轉(zhuǎn)發(fā)出來(lái)。S4、統(tǒng)計(jì)第四端口上所有接收到的報(bào)文之和ReceivedBits,并計(jì)算獲得Openflow的流表添加速率SingleInsertRate=SendRate+ ReceivedBits。其中,在新流替換舊流的過(guò)程中,會(huì)有一小部分報(bào)文匹配到了步驟SI中的第一流,而轉(zhuǎn)發(fā)到了所有端口,其中包括第四端口 24,通過(guò)觀測(cè)第四端口 24,得到該端口上所有接收到的報(bào)文之和ReceivedBits,進(jìn)而得到本發(fā)明交換機(jī)系統(tǒng)的流表添加速率這一重要指標(biāo)。值得一提的是,在本發(fā)明優(yōu)選的實(shí)施方式中,在所述步驟SI之前,該方法還包括通過(guò)控制器刪除Openflow交換機(jī)上所有的流,以防止測(cè)試過(guò)程受干擾。于本發(fā)明中,由于Openflow協(xié)議上規(guī)定每條流可以配置相應(yīng)的優(yōu)先級(jí),所以交換機(jī)開(kāi)發(fā)者在使用TCAM實(shí)現(xiàn)流表的時(shí)候,不能避免需要對(duì)TCAM里的表項(xiàng)進(jìn)行多次重新排序,而這樣的硬件操作通常是很慢的,而且隨著已經(jīng)添加好的流表項(xiàng)數(shù)目越大,新添加的表項(xiàng)將會(huì)變得越來(lái)越慢,添加時(shí)間通常是以指數(shù)形式增長(zhǎng)。這種情況下還有另外2個(gè)重要指標(biāo)最好情況下的流表添加速度BestCaseInsertRate以及最壞情況下的流表添加速度WorstCaselnsertRate。其中,最好情況下插入的流表項(xiàng)有以下特點(diǎn)新添加的表項(xiàng)優(yōu)先級(jí)為當(dāng)前全部流表中優(yōu)先級(jí)最低的,該流表項(xiàng)需要插在所有已有表項(xiàng)之后;最壞情況下插入的流表項(xiàng)有以下特點(diǎn)新添加的表項(xiàng)優(yōu)先級(jí)為當(dāng)前全部流表中優(yōu)先級(jí)最高的,該流表項(xiàng)需要插在所有已有表項(xiàng)之前。于本發(fā)明中,為了測(cè)試上述BestCaseInsertRate 及 WorstCaseInsertRate,提供了下述技術(shù)方案。其中,該方法在測(cè)試最好情況下的流表添加速度BestCaseInsertRate時(shí),所述步驟SI還包括如下步驟
獲取Openflow交換機(jī)的流表容量MAX_ENTRIES的大?。煌ㄟ^(guò)控制器對(duì)Openflow交換機(jī)下發(fā)N條流,其中,N=MAX_ENTRIES-2,上述N條流的匹配域?yàn)榉荌P報(bào)文(如ARP報(bào)文,DL_TYPE=0x0806),其優(yōu)先級(jí)低于所述第二優(yōu)先級(jí)、但大于O(如priority=100),且每條新下發(fā)的流的優(yōu)先級(jí)低于前一條下發(fā)流的優(yōu)先級(jí),其動(dòng)作類(lèi)型為丟棄。其中,該方法在測(cè)試最壞情況下的流表添加速度WorstCaseInsertRate時(shí),所述步驟SI還包括如下步驟
獲取Openflow交換機(jī)的流表容量MAX_ENTRIES的大??;
通過(guò)控制器對(duì)Openflow交換機(jī)下發(fā)N條流,其中,N=MAX_ENTRIES-2,上述N條流的匹配域?yàn)榉荌P報(bào)文(如ARP報(bào)文,DL_TYPE=0x0806),其優(yōu)先級(jí)高于所述第二優(yōu)先級(jí)、但小于65535 (如priority=4000),且每條新下發(fā)的流的優(yōu)先級(jí)高于前一條下發(fā)流的優(yōu)先級(jí),其動(dòng) 作類(lèi)型為丟棄。值得一提的是,本發(fā)明的流表添加速度BestCaseInsertRate和流表添加速度WorstCaseInsertRate不能一起測(cè)試,需要分別單獨(dú)測(cè)試。由于控制器和Openflow交換機(jī)是通過(guò)網(wǎng)絡(luò)連接的,從控制器向Openflow交換機(jī)添加流表,會(huì)存在網(wǎng)絡(luò)延時(shí),而造成計(jì)算出的流表添加時(shí)間不精確。本發(fā)明具體實(shí)施方式
中,為了提高測(cè)試精度,該測(cè)試方法還包括如下步驟
獲取控制器與交換機(jī)之間的網(wǎng)絡(luò)延時(shí);
在計(jì)算出的流表添加速率SinglelnsertRate、BestCaseInsertRate及WorstCaseInsertRate的基礎(chǔ)上減去所述網(wǎng)絡(luò)延時(shí),以得到最終結(jié)果。其中,網(wǎng)絡(luò)延時(shí)可以通過(guò)發(fā)送/接收多個(gè)帶定長(zhǎng)PayLoad的Echo Request, Echo Reply消息計(jì)算得出,網(wǎng)絡(luò)延時(shí)=(0penfloW消息頭長(zhǎng)度+PayLoad長(zhǎng)度)+收發(fā)包時(shí)間差。而本發(fā)明方案中的流表添加時(shí)間除去上面計(jì)算出的網(wǎng)絡(luò)延時(shí),可以得到更加精確的流表添加速率。此外,由于任何測(cè)試都存在一定的誤差,所以重復(fù)多次步驟SI至步驟S42,得到若干個(gè)添加速率SingleInsertRate_N,并通過(guò)取其平均數(shù)得到添加一條Openflow流表項(xiàng)的平均速率,從而提高準(zhǔn)確性。參圖3至圖6所不,本發(fā)明在上述測(cè)試BestCaseInsertRate和WorstCaseInsertRate的方法中,需要涉及測(cè)試交換機(jī)系統(tǒng)的流表容量MAX_ENTRIES,于是本發(fā)明還提供了一種測(cè)試表項(xiàng)容量的方法及系統(tǒng),如圖3所示,在本實(shí)施方式中,在測(cè)試表項(xiàng)容量時(shí),只需要將端口之一(比如Pl)與交換機(jī)上的任意一個(gè)端口(比如端口 21)相連即可。在本發(fā)明具體實(shí)施方式
中,表項(xiàng)容量的測(cè)試方法,包括如下步驟
S51、獲取所需測(cè)試的目標(biāo)邏輯流表所支持的匹配域,并設(shè)置該邏輯流表的默認(rèn)匹配動(dòng)作;具體地,通過(guò)發(fā)送 / 接收 Openflow 的 Table_Feature_Request/Table_Feature_Reply消息,得到每張流表所能支持的匹配域。其中,默認(rèn)匹配動(dòng)作(Table_Miss Action)可設(shè)置為“發(fā)送給控制器”(To-Controller)。如圖5所示,本發(fā)明Openflow交換機(jī)系統(tǒng)中的流表通常為T(mén)CAM表40 (ternarycontent addressable memory),其可被劃分為多個(gè)邏輯流表41,每一個(gè)邏輯流表有可包括多個(gè)普通流表項(xiàng)411 (表項(xiàng)I、表項(xiàng)2…表項(xiàng)M),以及一個(gè)默認(rèn)表項(xiàng)412,用于設(shè)置默認(rèn)匹配動(dòng)作。本發(fā)明中,每個(gè)邏輯流表41的表項(xiàng)容量和表項(xiàng)匹配域組成都可以是不一樣的,而整個(gè)交換機(jī)的TCAM流表40的容量是所有邏輯流表41的容量之和。為了獲取一個(gè)TCAM表40所包含的邏輯流表41的數(shù)目,本發(fā)明通過(guò)發(fā)送/接收Openflow 的 Feature_Request/Feature_Reply 消息,得到本Openflow交換機(jī)支持的流表數(shù)目N_TABLE。此外,關(guān)于本發(fā)明所需測(cè)試的目標(biāo)邏輯流表,在正式測(cè)試之前,還包括初始化流表,并對(duì)每張邏輯流表進(jìn)行清空的步驟,以保證測(cè)試數(shù)據(jù)不受干擾。本實(shí)施方式中,因?yàn)楸景l(fā)明需要對(duì)一張TCAM表中的所有邏輯流表的容量進(jìn)行測(cè)試,故在測(cè)試之前,還需要對(duì)被測(cè)邏輯流表進(jìn)行配置,具體為
假設(shè)被測(cè)邏輯流表的編號(hào)為N,若被測(cè)流表為第一張邏輯流表(N=I ),則不作配置;若被測(cè)流表為第一張邏輯流表以外的其他邏輯流表(N大于I且小于N_TABLE),則需要對(duì)第一張流表添加一條匹配所有流的流表項(xiàng),其動(dòng)作為跳轉(zhuǎn)到被測(cè)邏輯流表(Goto_Table :N)。S52、向所述目標(biāo)邏輯流表添加相應(yīng)匹配域的流表項(xiàng),所述流表項(xiàng)的優(yōu)先級(jí)從I開(kāi) 始依次遞增;其中,本發(fā)明通過(guò)控制器對(duì)交換機(jī)上的被測(cè)邏輯流表進(jìn)行添加流表項(xiàng)的配置,控制器需要不停連續(xù)添加一連串的流表項(xiàng),其特征為匹配域和步驟S51中得到的該邏輯流表支持的匹配域相同,優(yōu)先級(jí)依次遞增。請(qǐng)參圖6所示,假定目標(biāo)邏輯流表支持3層匹配域IP,則控制器可以連續(xù)添加流表項(xiàng)“ip,priority=l”,“ip, priority=2” ... “ip,priority=100”…。其中,Openflow規(guī)定優(yōu)先級(jí)數(shù)字越大的流,優(yōu)先級(jí)越高,優(yōu)先匹配。S53、在上述步驟52發(fā)生的同時(shí),本發(fā)明還需通過(guò)收發(fā)包測(cè)試議10發(fā)送所述匹配域的報(bào)文(如IP報(bào)文),并通過(guò)控制器端監(jiān)聽(tīng)Openflow的協(xié)議報(bào)文;
通過(guò)重復(fù)上述步驟S52及步驟S53,可以在每隔一段時(shí)間(30秒),查看交換機(jī)上流表的報(bào)文統(tǒng)計(jì)情況,并查看控制器上監(jiān)聽(tīng)到Packet-In報(bào)文。此時(shí),本發(fā)明在出現(xiàn)下述各實(shí)施例中的情況時(shí),則停止重復(fù)步驟S52及步驟S53,并獲得所需測(cè)試的目標(biāo)邏輯流表的容量值MAX_ENTRIES。需要指明的是,在本是發(fā)明其他實(shí)施方式中,流表容量MAX_ENTRIES也可以直接通過(guò)發(fā)送接收 Openflow 的 Table Stats Request, Table Stats Reply 消息來(lái)得到。在本發(fā)明第一實(shí)施方式中,該方法包括步驟S54,其稱(chēng)為“監(jiān)聽(tīng)協(xié)議報(bào)文方式”,其具體為
若監(jiān)聽(tīng)到所述協(xié)議報(bào)文按照所述默認(rèn)匹配動(dòng)作進(jìn)行處理,本發(fā)明實(shí)施例中,因?yàn)槟J(rèn)匹配動(dòng)作為發(fā)送到控制器,故換言之,在發(fā)現(xiàn)有Packet_In報(bào)文被發(fā)送到了控制器的情況后,則記錄下所述目標(biāo)邏輯流表中最后添加的流表項(xiàng)的優(yōu)先級(jí)P1,此時(shí),被測(cè)邏輯流表的表項(xiàng)容量 MAX_ENTRIES=P1。在本發(fā)明第二實(shí)施方式中,該方法包括步驟S54’,其稱(chēng)為“上報(bào)錯(cuò)誤碼方式”,其具體為
在添加流表項(xiàng)時(shí),若上報(bào)M0D_FL0W_FAIL錯(cuò)誤且其子錯(cuò)誤碼為T(mén)ABLE_FULL時(shí),記錄當(dāng)前流的優(yōu)先級(jí)P2,此時(shí),被測(cè)邏輯流表的表項(xiàng)容量MAX_ENTRIES=P2-1。在本發(fā)明第三實(shí)施方式中,該方法包括步驟S54’ ’,其稱(chēng)為“查看報(bào)文統(tǒng)計(jì)方式”,其具體為
通過(guò)查看交換機(jī)上流表的報(bào)文統(tǒng)計(jì)情況,并在發(fā)現(xiàn)某條流的報(bào)文統(tǒng)計(jì)為O時(shí),記錄當(dāng)前流的優(yōu)先級(jí)P3,此時(shí),被測(cè)邏輯流表的表項(xiàng)容量MAX_ENTRIES=P3-1。根據(jù)上述實(shí)施例,可準(zhǔn)確測(cè)試獲得某一邏輯流表的容量值,本發(fā)明只需通過(guò)重復(fù)上述方法,對(duì)一張TCAM表中所有邏輯流表一一測(cè)試,最后就能得到每張邏輯流表所能支持的最大表項(xiàng)容量MAX_ENTRIES。測(cè)試完成后,關(guān)閉發(fā)包設(shè)備,清空交換機(jī),并返回結(jié)果。接下來(lái),請(qǐng)參圖7所示,在本發(fā)明具體實(shí)施方式
中,相應(yīng)于上述方法,一種交換機(jī)系統(tǒng)的流表添加速率的測(cè)試系統(tǒng)包括如下單元
備用流下發(fā)單元101、用于通過(guò)控制器對(duì)Openflow交換機(jī)下發(fā)第一流及第二流,其中,所述第一流的優(yōu)先級(jí)為第一優(yōu)先級(jí),其動(dòng)作類(lèi)型為轉(zhuǎn)發(fā)到其他所有端口,其匹配域?yàn)樗袌?bào)文;所述第二流的優(yōu)先級(jí)為第二優(yōu)先級(jí),其動(dòng)作類(lèi)型為轉(zhuǎn)發(fā)到第二端口,其匹配域?yàn)镮P報(bào)文,所述第一優(yōu)先級(jí)低于第二優(yōu)先級(jí),并且是全局最低優(yōu)先級(jí);
報(bào)文發(fā)送單元102、用于向Openflow交換機(jī)中的第一端口以固定速率SendRate發(fā)送報(bào)
文;
待測(cè)流下發(fā)單元103、用于通過(guò)控制器對(duì)Openflow交換機(jī)下發(fā)待測(cè)流,所述待測(cè)流替 換所述第二流成為新流,其中,所述待測(cè)流與所述第二流的匹配域以及優(yōu)先級(jí)相同,其動(dòng)作類(lèi)型為轉(zhuǎn)發(fā)到第三端口;
流表添加速率獲取單元104、用于統(tǒng)計(jì)第四端口上所有接收到的報(bào)文之和ReceivedBits,并計(jì)算獲得 Openflow 的流表添加速率 SingleInsertRate=SendRate + ReceivedBits。進(jìn)一步地,該系統(tǒng)還包括一流刪除單元,其用于在測(cè)試啟動(dòng)之前,通過(guò)控制器刪除Openflow交換機(jī)上所有的流。進(jìn)一步地,在測(cè)試最好情況下的流表添加速度BestCaseInsertRate時(shí),所述備用流下發(fā)單元還用于
獲取Openflow交換機(jī)的流表容量MAX_ENTRIES的大?。?br>
通過(guò)控制器對(duì)Openflow交換機(jī)下發(fā)N條流,其中,N=MAX_ENTRIES-2,上述N條流的匹配域?yàn)榉荌P報(bào)文,其優(yōu)先級(jí)低于所述第二優(yōu)先級(jí)、但大于0,且每條新下發(fā)的流的優(yōu)先級(jí)低于前一條下發(fā)流的優(yōu)先級(jí),其動(dòng)作類(lèi)型為丟棄。進(jìn)一步地,在測(cè)試最壞情況下的流表添加速度WorstCaseInsertRate時(shí),所述備用流下發(fā)單元還用于
獲取Openflow交換機(jī)的流表容量MAX_ENTRIES的大??;
通過(guò)控制器對(duì)Openflow交換機(jī)下發(fā)N條流,其中,N=MAX_ENTRIES-2,上述N條流的匹配域?yàn)榉荌P報(bào)文,其優(yōu)先級(jí)高于所述第二優(yōu)先級(jí)、但小于65535,且每條新下發(fā)的流的優(yōu)先級(jí)高于前一條下發(fā)流的優(yōu)先級(jí),其動(dòng)作類(lèi)型為丟棄。參圖8所示,本發(fā)明具體實(shí)施方式
中,一種表項(xiàng)容量的測(cè)試系統(tǒng)包括如下單元
匹配域獲悉單元201、用于獲取所需測(cè)試的目標(biāo)邏輯流表所支持的匹配域,并設(shè)置該邏
輯流表的默認(rèn)匹配動(dòng)作;具體地,通過(guò)發(fā)送/接收Openflow的Table_Feature_Request/Table_Feature_Reply消息,得到每張流表所能支持的匹配域。其中,默認(rèn)匹配動(dòng)作(Table_Miss Action)可設(shè)置為“發(fā)送給控制器”(To-Controller)。為了獲取一個(gè)TCAM表所包含的邏輯流表的數(shù)目,本發(fā)明通過(guò)發(fā)送/接收Openflow的Feature_Request/Feature_Reply消息,得到本Openflow交換機(jī)支持的流表數(shù)目N_TABLE。此外,關(guān)于本發(fā)明所需測(cè)試的目標(biāo)邏輯流表,在正式測(cè)試之前,該系統(tǒng)還包括一初始化單元,其用于初始化流表,并對(duì)每張邏輯流表進(jìn)行清空的步驟,以保證測(cè)試數(shù)據(jù)不受干擾。本實(shí)施方式中,因?yàn)楸景l(fā)明需要對(duì)一張TCAM表中的所有邏輯流表的容量進(jìn)行測(cè)試,故在測(cè)試之前,還需要對(duì)被測(cè)邏輯流表進(jìn)行配置,具體為
假設(shè)被測(cè)邏輯流表的編號(hào)為NI,若被測(cè)流表為第一張邏輯流表(Nl=l),則不作配置;若被測(cè)流表為第一張邏輯流表以外的其他邏輯流表(NI大于I且小于N_TABLE),則需要對(duì)第一張流表添加一條匹配所有流的流表項(xiàng),其動(dòng)作為跳轉(zhuǎn)到被測(cè)邏輯流表(Goto_Table NI)。流表項(xiàng)添加單元202、用于向所述目標(biāo)邏輯流表添加相應(yīng)匹配域的流表項(xiàng),所述流表項(xiàng)的優(yōu)先級(jí)從I開(kāi)始依次遞增;其中,本發(fā)明通過(guò)控制器對(duì)交換機(jī)上的被測(cè)邏輯流表進(jìn)行添加流表項(xiàng)的配置,控制器需要不停連續(xù)添加一連串的流表項(xiàng),其特征為匹配域和匹配域獲悉單元201中得到的該邏輯流表支持的匹配域相同,優(yōu)先級(jí)依次遞增。
報(bào)文收發(fā)單元203、在上述流表項(xiàng)添加單元202發(fā)生的同時(shí),本發(fā)明系統(tǒng)的報(bào)文收發(fā)單元203還需通過(guò)收發(fā)包測(cè)試議發(fā)送所述匹配域的報(bào)文(如IP報(bào)文),并通過(guò)控制器端監(jiān)聽(tīng)Openflow的協(xié)議報(bào)文;
通過(guò)重復(fù)上述流表項(xiàng)添加單元202及報(bào)文收發(fā)單元203的功能,可以在每隔一段時(shí)間(30秒),查看交換機(jī)上流表的報(bào)文統(tǒng)計(jì)情況,并查看控制器上監(jiān)聽(tīng)到Packet-In報(bào)文。此時(shí),本發(fā)明在出現(xiàn)下述各實(shí)施例中的情況時(shí),則停止重復(fù)上述流表項(xiàng)添加單元202及報(bào)文收發(fā)單元203的功能,并通過(guò)下述的表項(xiàng)容量獲取單元204來(lái)獲得所需測(cè)試的目標(biāo)邏輯流表的容量值。在本發(fā)明第一實(shí)施方式中,表項(xiàng)容量獲取單兀204用于
若監(jiān)聽(tīng)到所述協(xié)議報(bào)文按照所述默認(rèn)匹配動(dòng)作進(jìn)行處理,本發(fā)明實(shí)施例中,因?yàn)槟J(rèn)匹配動(dòng)作為發(fā)送到控制器,故換言之,在發(fā)現(xiàn)有Packet_In報(bào)文被發(fā)送到了控制器的情況后,則記錄下所述目標(biāo)邏輯流表中最后添加的流表項(xiàng)的優(yōu)先級(jí)P1,此時(shí),被測(cè)邏輯流表的表項(xiàng)容量 MAX_ENTRIES =Pl。在本發(fā)明第二實(shí)施方式中,表項(xiàng)容量獲取單兀204用于
在添加流表項(xiàng)時(shí),若上報(bào)M0D_FL0W_FAIL錯(cuò)誤且其子錯(cuò)誤碼為T(mén)ABLE_FULL時(shí),記錄當(dāng)前流的優(yōu)先級(jí)P2,此時(shí),被測(cè)邏輯流表的表項(xiàng)容量MAX_ENTRIES =P2_1。在本發(fā)明第三實(shí)施方式中,表項(xiàng)容量獲取單兀204用于
通過(guò)查看交換機(jī)上流表的報(bào)文統(tǒng)計(jì)情況,并在發(fā)現(xiàn)某條流的報(bào)文統(tǒng)計(jì)為O時(shí),記錄當(dāng)前流的優(yōu)先級(jí)P3,此時(shí),被測(cè)邏輯流表的表項(xiàng)容量MAX_ENTRIES =P3_1。根據(jù)上述實(shí)施例,可準(zhǔn)確測(cè)試獲得某一邏輯流表的容量值,本發(fā)明只需通過(guò)重復(fù)上述方法,對(duì)一張TCAM表中所有邏輯流表一一測(cè)試,最后就能得到每張邏輯流表所能支持的最大表項(xiàng)容量,測(cè)試完成后,關(guān)閉發(fā)包設(shè)備,清空交換機(jī),并返回結(jié)果。呈上所述,本方案環(huán)境搭建簡(jiǎn)單,自動(dòng)化實(shí)現(xiàn)交換機(jī)系統(tǒng)中,表項(xiàng)容量以及流表添加速率的測(cè)試,測(cè)試過(guò)程中不需要人工干預(yù),測(cè)試速度比較快,且測(cè)試結(jié)果比較準(zhǔn)確,其測(cè)試獲得的指標(biāo)可提供廠商或用戶用以評(píng)估Openflow交換機(jī)系統(tǒng)性能。本發(fā)明還可以手工逐條添加流,直至交換機(jī)報(bào)錯(cuò),但是速度慢,且不能保證所下成功的流是否一定生效,因有些交換機(jī)上存在缺陷或者故意作假,手工能添加的流不一定是真正能夠正常工作的流。應(yīng)當(dāng)理解,雖然本說(shuō)明書(shū)按照實(shí)施方式加以描述,但并非每個(gè)實(shí)施方式僅包含一個(gè)獨(dú)立的技術(shù)方案,說(shuō)明書(shū)的這種敘述方式僅僅是為清楚起見(jiàn),本領(lǐng)域技術(shù)人員應(yīng)當(dāng)將說(shuō)明書(shū)作為一個(gè)整體,各實(shí)施方式中的技術(shù)方案也可以經(jīng)適當(dāng)組合,形成本領(lǐng)域技術(shù)人員可以理解的其他實(shí)施方式。 上文所列出的一系列的詳細(xì)說(shuō)明僅僅是針對(duì)本發(fā)明的可行性實(shí)施方式的具體說(shuō)明,它們并非用以限制本發(fā)明的保護(hù)范圍,凡未脫離本發(fā)明技藝精神所作的等效實(shí)施方式或變更均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種Openflow交換機(jī)系統(tǒng)中流表添加速率的測(cè)試方法,其特征在于,其包括如下步驟 51、通過(guò)控制器對(duì)Openflow交換機(jī)下發(fā)第一流及第二流,其中,所述第一流的優(yōu)先級(jí)為第一優(yōu)先級(jí),其動(dòng)作類(lèi)型為轉(zhuǎn)發(fā)到其他所有端口,其匹配域?yàn)樗袌?bào)文;所述第二流的優(yōu)先級(jí)為第二優(yōu)先級(jí),其動(dòng)作類(lèi)型為轉(zhuǎn)發(fā)到第二端口,其匹配域?yàn)镮P報(bào)文,所述第一優(yōu)先級(jí)低于第二優(yōu)先級(jí),并且是全局最低優(yōu)先級(jí); 52、向Openflow交換機(jī)中的第一端口以固定速率SendRate發(fā)送報(bào)文; 53、通過(guò)控制器對(duì)Openflow交換機(jī)下發(fā)待測(cè)流,所述待測(cè)流替換所述第二流成為新流,其中,所述待測(cè)流與所述第二流的匹配域以及優(yōu)先級(jí)相同,其動(dòng)作類(lèi)型為轉(zhuǎn)發(fā)到第三端Π ; 54、統(tǒng)計(jì)第四端口上所有接收到的報(bào)文之和ReceivedBits,并計(jì)算獲得Openflow的流表添加速率 SingleInsertRate=SendRate+ ReceivedBits。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,在所述步驟SI之前,該方法還包括 通過(guò)控制器刪除Openflow交換機(jī)上所有的流。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于,該方法在測(cè)試最好情況下的流表添加速度BestCaseInsertRate時(shí),所述步驟SI還包括如下步驟 獲取Openflow交換機(jī)的流表容量MAX_ENTRIES的大??; 通過(guò)控制器對(duì)Openflow交換機(jī)下發(fā)N條流,其中,N=MAX_ENTRIES-2,上述N條流的匹配域?yàn)榉荌P報(bào)文,其優(yōu)先級(jí)低于所述第二優(yōu)先級(jí)、但大于0,且每條新下發(fā)的流的優(yōu)先級(jí)低于前一條下發(fā)流的優(yōu)先級(jí),其動(dòng)作類(lèi)型為丟棄。
4.根據(jù)權(quán)利要求I所述的方法,其特征在于,該方法在測(cè)試最壞情況下的流表添加速度WorstCaseInsertRate時(shí),所述步驟SI還包括如下步驟 獲取Openflow交換機(jī)的流表容量MAX_ENTRIES的大小; 通過(guò)控制器對(duì)Openflow交換機(jī)下發(fā)N條流,其中,N=MAX_ENTRIES-2,上述N條流的匹配域?yàn)榉荌P報(bào)文,其優(yōu)先級(jí)高于所述第二優(yōu)先級(jí)、但小于65535,且每條新下發(fā)的流的優(yōu)先級(jí)高于前一條下發(fā)流的優(yōu)先級(jí),其動(dòng)作類(lèi)型為丟棄。
5.根據(jù)權(quán)利要求I或3或4所述的方法,其特征在于,該方法還包括如下步驟 獲取控制器與交換機(jī)之間的網(wǎng)絡(luò)延時(shí); 在計(jì)算出的流表添加速率SinglelnsertRate、BestCaseInsertRate及WorstCaseInsertRate的基礎(chǔ)上減去所述網(wǎng)絡(luò)延時(shí),以得到最終結(jié)果。
6.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,所述“獲取Openflow交換機(jī)的流表容量MAX_ENTRIES的大小”的步驟,具體包括 獲取所需測(cè)試的目標(biāo)邏輯流表所支持的匹配域,并設(shè)置該邏輯流表的默認(rèn)匹配動(dòng)作; 向所述目標(biāo)邏輯流表添加相應(yīng)匹配域的流表項(xiàng),所述流表項(xiàng)的優(yōu)先級(jí)從I開(kāi)始依次遞增; 發(fā)送所述匹配域的報(bào)文,并監(jiān)聽(tīng)Openflow的協(xié)議報(bào)文; 其中,若監(jiān)聽(tīng)到所述協(xié)議報(bào)文按照所述默認(rèn)匹配動(dòng)作進(jìn)行處理,則記錄下所述目標(biāo)邏輯流表中最后添加的流表項(xiàng)的優(yōu)先級(jí)P1,此時(shí),被測(cè)邏輯流表的表項(xiàng)容量MAX_ENTRIEs=PI ;在添加流表項(xiàng)時(shí),若上報(bào)MOD_FLOW_FAIL錯(cuò)誤且其子錯(cuò)誤碼為T(mén)ABLE_FULL時(shí),記錄當(dāng)前流的優(yōu)先級(jí)P2,此時(shí),被測(cè)邏輯流表的表項(xiàng)容量MAX_ENTRIES=P2-1 ; 查看交換機(jī)上流表的報(bào)文統(tǒng)計(jì)情況,若發(fā)現(xiàn)某條流的報(bào)文統(tǒng)計(jì)為O,記錄當(dāng)前流的優(yōu)先級(jí)P3,此時(shí),被測(cè)邏輯流表的表項(xiàng)容量C=P3-1。
7.一種Openflow交換機(jī)系統(tǒng)中流表添加速率的測(cè)試系統(tǒng),其特征在于,其包括 備用流下發(fā)單元、用于通過(guò)控制器對(duì)Openflow交換機(jī)下發(fā)第一流及第二流,其中,所述第一流的優(yōu)先級(jí)為第一優(yōu)先級(jí),其動(dòng)作類(lèi)型為轉(zhuǎn)發(fā)到其他所有端口,其匹配域?yàn)樗袌?bào)文;所述第二流的優(yōu)先級(jí)為第二優(yōu)先級(jí),其動(dòng)作類(lèi)型為轉(zhuǎn)發(fā)到第二端口,其匹配域?yàn)镮P報(bào)文,所述第一優(yōu)先級(jí)低于第二優(yōu)先級(jí),并且是全局最低優(yōu)先級(jí); 報(bào)文發(fā)送單元、用于向Openflow交換機(jī)中的第一端口以固定速率SendRate發(fā)送報(bào)文; 待測(cè)流下發(fā)單元、用于通過(guò)控制器對(duì)Openflow交換機(jī)下發(fā)待測(cè)流,所述待測(cè)流替換所述第二流成為新流,其中,所述待測(cè)流與所述第二流的匹配域以及優(yōu)先級(jí)相同,其動(dòng)作類(lèi)型為轉(zhuǎn)發(fā)到第三端口; 流表添加速率獲取單元、用于統(tǒng)計(jì)第四端口上所有接收到的報(bào)文之和ReceivedBits,并計(jì)算獲得 Openflow 的流表添加速率 SingleInsertRate=SendRate + ReceivedBits。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,該系統(tǒng)還包括一流刪除單元,其用于 在測(cè)試啟動(dòng)之前,通過(guò)控制器刪除Openflow交換機(jī)上所有的流。
9.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,在測(cè)試最好情況下的流表添加速度BestCaseInsertRate時(shí),所述備用流下發(fā)單元還用于 獲取Openflow交換機(jī)的流表容量MAX_ENTRIES的大小; 通過(guò)控制器對(duì)Openflow交換機(jī)下發(fā)N條流,其中,N=MAX_ENTRIES-2,上述N條流的匹配域?yàn)榉荌P報(bào)文,其優(yōu)先級(jí)低于所述第二優(yōu)先級(jí)、但大于0,且每條新下發(fā)的流的優(yōu)先級(jí)低于前一條下發(fā)流的優(yōu)先級(jí),其動(dòng)作類(lèi)型為丟棄。
10.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,在測(cè)試最壞情況下的流表添加速度WorstCaseInsertRate時(shí),所述備用流下發(fā)單元還用于 獲取Openflow交換機(jī)的流表容量MAX_ENTRIES的大??; 通過(guò)控制器對(duì)Openflow交換機(jī)下發(fā)N條流,其中,N=MAX_ENTRIES-2,上述N條流的匹配域?yàn)榉荌P報(bào)文,其優(yōu)先級(jí)高于所述第二優(yōu)先級(jí)、但小于65535,且每條新下發(fā)的流的優(yōu)先級(jí)高于前一條下發(fā)流的優(yōu)先級(jí),其動(dòng)作類(lèi)型為丟棄。
全文摘要
本發(fā)明提供一種Openflow交換機(jī)系統(tǒng)中流表添加速率的測(cè)試方法及測(cè)試系統(tǒng),其方法包括通過(guò)控制器對(duì)Openflow交換機(jī)下發(fā)第一流及第二流,其中,所述第一流的優(yōu)先級(jí)為第一優(yōu)先級(jí);所述第二流的優(yōu)先級(jí)為第二優(yōu)先級(jí),所述第一優(yōu)先級(jí)低于第二優(yōu)先級(jí),并且是全局最低優(yōu)先級(jí);向Openflow交換機(jī)中的第一端口以固定速率SendRate發(fā)送報(bào)文;通過(guò)控制器對(duì)Openflow交換機(jī)下發(fā)待測(cè)流,所述待測(cè)流替換所述第二流成為新流,其中,所述待測(cè)流與所述第二流的匹配域以及優(yōu)先級(jí)相同,其動(dòng)作類(lèi)型為轉(zhuǎn)發(fā)到第三端口;統(tǒng)計(jì)第四端口上所有接收到的報(bào)文之和ReceivedBits,并計(jì)算獲得Openflow的流表添加速率SingleInsertRate=SendRate÷ReceivedBits。本發(fā)明可實(shí)現(xiàn)自動(dòng)化測(cè)試Openflow交換機(jī)中流表添加速率這一指標(biāo),測(cè)試速度快,且準(zhǔn)確性高。
文檔編號(hào)H04L12/931GK102882746SQ20121038303
公開(kāi)日2013年1月16日 申請(qǐng)日期2012年10月11日 優(yōu)先權(quán)日2012年10月11日
發(fā)明者趙 怡, 倪春霞 申請(qǐng)人:盛科網(wǎng)絡(luò)(蘇州)有限公司