網(wǎng)絡(luò)交換機(jī)仿真的制作方法
【專利說(shuō)明】
【背景技術(shù)】
[0001]在傳統(tǒng)網(wǎng)絡(luò)中,交換機(jī)接收分組并基于其路由表確定下一跳以路由該分組。一般地,以同樣的方式路由所有分組并且將具有相同目的地的分組路由到相同的下一跳。軟件定義網(wǎng)絡(luò)(SDN)是對(duì)于分離控制平面和數(shù)據(jù)平面的計(jì)算機(jī)網(wǎng)絡(luò)而言的相對(duì)新的方案??刂破矫娲_定用于路由分組的規(guī)則并以軟件實(shí)現(xiàn)。可以在與交換機(jī)分離的中央控制器中提供控制平面。數(shù)據(jù)平面轉(zhuǎn)送分組并位于交換機(jī)處。SDN架構(gòu)允許網(wǎng)絡(luò)管理員具有對(duì)網(wǎng)絡(luò)業(yè)務(wù)的可編程集中控制而不要求對(duì)交換機(jī)的物理訪問(wèn)。本質(zhì)上,這允許使用較便宜的商品交換機(jī)并提供對(duì)網(wǎng)絡(luò)業(yè)務(wù)的更多控制。
[0002]當(dāng)前,一種用于SDN網(wǎng)絡(luò)的流行的SDN協(xié)議是OPENFLOW。OPENFLOW是由開放網(wǎng)絡(luò)基金會(huì)維護(hù)的開放標(biāo)準(zhǔn)。OPENFLOW使控制平面中的控制器能夠通過(guò)協(xié)議中限定的轉(zhuǎn)發(fā)指令集控制數(shù)據(jù)平面中的路由。
【附圖說(shuō)明】
[0003]在以下描述中參考以下附圖詳細(xì)描述實(shí)施例。附圖示出實(shí)施例的示例并且相似的參考標(biāo)記指示附圖中的類似的元素。
[0004]圖1圖解了網(wǎng)絡(luò)交換機(jī)仿真系統(tǒng)。
[0005]圖2圖解了交換機(jī)仿真的方法。
[0006]圖3A-B圖解了交換機(jī)仿真的另一方法。
[0007]圖4圖解了可操作用作圖1中示出的系統(tǒng)的平臺(tái)的計(jì)算機(jī)系統(tǒng)。
【具體實(shí)施方式】
[0008]為了簡(jiǎn)單以及說(shuō)明的目的,主要通過(guò)參考其示例來(lái)描述實(shí)施例的原理。在以下描述中,陳述了眾多具體細(xì)節(jié)以提供對(duì)實(shí)施例的透徹理解。然而,對(duì)本領(lǐng)域技術(shù)人員來(lái)說(shuō)顯而易見的是,可以在不限于這些具體細(xì)節(jié)的情況下實(shí)現(xiàn)實(shí)施例。在一些實(shí)例中,沒(méi)有詳細(xì)描述公知的方法和結(jié)構(gòu)以免不必要地模糊實(shí)施例的描述。
[0009]根據(jù)實(shí)施例,網(wǎng)絡(luò)交換機(jī)仿真系統(tǒng)可以測(cè)試用于網(wǎng)絡(luò)架構(gòu)中的控制器的可擴(kuò)縮性,所述網(wǎng)絡(luò)架構(gòu)由可以對(duì)交換機(jī)進(jìn)行遠(yuǎn)程編程以控制在交換機(jī)處執(zhí)行的分組路由的控制器組成。例如,仿真系統(tǒng)可以用于測(cè)試在使用SDN架構(gòu)的網(wǎng)絡(luò)中的SDN控制器的性能。另夕卜,仿真系統(tǒng)可以為使用OPENFLOW協(xié)議的SDN控制器(被稱為OPENFLOW控制器)運(yùn)行仿真。一般關(guān)于用于SDN控制器(其可以是OPENFLOW控制器)的仿真系統(tǒng)描述以下所述的實(shí)施例和示例。然而,仿真系統(tǒng)可以用于測(cè)試可以使用除了 OPENFLOW之外的協(xié)議的SDN架構(gòu)中的控制器的可擴(kuò)縮性。此外,仿真系統(tǒng)可以用于測(cè)試除了利用遠(yuǎn)程控制器來(lái)向遠(yuǎn)程控制器所控制的交換機(jī)發(fā)布路由規(guī)則的SDN之外的架構(gòu)中的控制器的可擴(kuò)縮性。路由規(guī)則的一些示例可以是指定用于轉(zhuǎn)發(fā)特定流、優(yōu)先化流、去優(yōu)先化流、阻塞流等的分組的端口的動(dòng)作。
[0010]圖1圖解了網(wǎng)絡(luò)交換機(jī)仿真系統(tǒng)100。系統(tǒng)100包括具有用于仿真交換機(jī)的交換機(jī)仿真模塊122a-n的仿真交換機(jī)機(jī)器120a_n。例如,交換機(jī)仿真模塊122a_n可以包含由通過(guò)硬件執(zhí)行以創(chuàng)建仿真交換機(jī)121a-n的機(jī)器可讀指令組成的代碼。仿真交換機(jī)包含代碼和/或硬件以模擬下面描述的一些交換機(jī)操作。交換機(jī)操作例如包括測(cè)試遠(yuǎn)程控制器130的性能的操作。操作可以不包括如將由真實(shí)交換機(jī)執(zhí)行的、諸如向目的地轉(zhuǎn)發(fā)接收自源的分組的真實(shí)的數(shù)據(jù)路由,而是可以包括從控制器130請(qǐng)求答復(fù)的操作。系統(tǒng)100還包括仿真交換機(jī)配置和報(bào)告子系統(tǒng)110,其包括配置模塊111。仿真交換機(jī)配置和報(bào)告子系統(tǒng)110可以接收來(lái)自用戶或另一系統(tǒng)的指定仿真的約束條件的仿真信息。配置模塊113基于所接收的信息生成仿真交換機(jī)配置信息,其被示為llla-n(被集體稱為配置信息111),所述仿真交換機(jī)配置信息被發(fā)送到仿真交換機(jī)機(jī)器120a-n來(lái)配置仿真交換機(jī)機(jī)器120a_n以創(chuàng)建仿真交換機(jī)121a-n。仿真交換機(jī)配置信息111可以包括用于配置和運(yùn)行仿真交換機(jī)的參數(shù)。仿真交換機(jī)配置信息111中的參數(shù)可以指定將要被仿真的仿真交換機(jī)的數(shù)目、將要被發(fā)送的分組的數(shù)目、發(fā)送分組的時(shí)間長(zhǎng)度以及其它參數(shù)。
[0011]在仿真交換機(jī)機(jī)器120上根據(jù)交換機(jī)配置信息111創(chuàng)建被示為121a_n的一個(gè)或更多仿真交換機(jī)。例如,對(duì)于仿真交換機(jī)121a-n而言,仿真交換機(jī)機(jī)器120a_n執(zhí)行交換機(jī)仿真模塊122a-n以仿真物理交換機(jī)的操作。仿真交換機(jī)機(jī)器120a_n可以包括運(yùn)行仿真交換機(jī)121a-n的服務(wù)器。仿真交換機(jī)機(jī)器120a_n中的每一個(gè)可以仿真多個(gè)交換機(jī)。另外,可以根據(jù)將要被仿真的交換機(jī)的數(shù)目在系統(tǒng)100中使用任意數(shù)目的交換機(jī)機(jī)器。
[0012]仿真交換機(jī)121a_n與控制器130通信,控制器130可以被稱為遠(yuǎn)程控制器因?yàn)樗梢晕挥谂c仿真交換機(jī)機(jī)器120分離的計(jì)算機(jī)上。仿真交換機(jī)121a-n可以與遠(yuǎn)程控制器130通過(guò)類似于控制器憑借其經(jīng)由網(wǎng)絡(luò)與交換機(jī)通信的真實(shí)操作環(huán)境的網(wǎng)絡(luò)通信。例如,控制器130作為SDN架構(gòu)中的仿真交換機(jī)121a-n的控制平面操作??刂破?30能夠控制并配置交換機(jī)。例如,控制器130可以創(chuàng)建并實(shí)現(xiàn)與路由、多播、安全、訪問(wèn)控制、帶寬管理、業(yè)務(wù)工程、服務(wù)質(zhì)量、處理器和存儲(chǔ)優(yōu)化、能量使用等相關(guān)的交換機(jī)中的策略。在一個(gè)示例中,控制器130發(fā)送可以包括將要由交換機(jī)執(zhí)行的針對(duì)特定流或針對(duì)一個(gè)特定分組的一個(gè)或更多動(dòng)作的指令。流包括分組,所述分組具有諸如公共源和目的地互聯(lián)網(wǎng)協(xié)議(IP)地址或媒體訪問(wèn)控制(MAC)地址之類的公共屬性以及可以與開放系統(tǒng)互聯(lián)(OSI)模型的層1-4中的任意一層相關(guān)的其他屬性。動(dòng)作可以包括轉(zhuǎn)發(fā)分組到端口、流播(flood)分組或修改分組(諸如遞減生存時(shí)間字段)的在交換機(jī)處執(zhí)行的操作。
[0013]控制器130例如是在與仿真交換機(jī)機(jī)器120分離的計(jì)算機(jī)系統(tǒng)上運(yùn)行的遠(yuǎn)程控制器。例如,控制器130在其自己的服務(wù)器上運(yùn)行??刂破?30是真實(shí)的控制器而不是仿真控制器。
[0014]仿真交換機(jī)121a_n可以測(cè)試控制器130的可擴(kuò)縮性。在一個(gè)示例中,可以在控制器130被安裝到真實(shí)操作環(huán)境中之前在系統(tǒng)100中測(cè)試控制器130。例如,控制器130可以被設(shè)計(jì)成以有時(shí)限的方式同時(shí)支持幾千個(gè)交換機(jī),并且系統(tǒng)100測(cè)試控制器130的能力。然后,系統(tǒng)管理員可以決定如果控制器130如期望的那樣操作則將控制器130部署在真實(shí)操作環(huán)境中。
[0015]測(cè)試控制器130可以包括測(cè)試控制器130可以處理的并發(fā)連接的數(shù)目,以及測(cè)試控制器130在諸如每秒的時(shí)間段內(nèi)可以處理的分組的數(shù)目。例如,交換機(jī)仿真模塊122a-n創(chuàng)建仿真交換機(jī)121a-n。創(chuàng)建的仿真交換機(jī)121a_n的數(shù)目可以根據(jù)配置信息111確定。仿真交換機(jī)121a-n同時(shí)發(fā)起到控制器130的連接131。在創(chuàng)建連接131之后,可以在仿真交換機(jī)121a-n和控制器130之間按照協(xié)議要求執(zhí)行信號(hào)交換。仿真交換機(jī)121a_n經(jīng)由連接131向控制器130發(fā)送消息。消息可以包括將要被發(fā)送到控制器130以向控制器請(qǐng)求關(guān)于如何處理在交換機(jī)處接收的分組的指令的分組。消息可以是以下進(jìn)一步詳細(xì)描述的分組入(packet-1n)消息,其為由OPENFLOW協(xié)議指定的分組。仿真交換機(jī)121a_n期望來(lái)自控制器130的回復(fù)消息?;貜?fù)消息可以包括針對(duì)在交換機(jī)處接收到的新流的指令或動(dòng)作。從仿真交換機(jī)121a-n發(fā)送的消息的數(shù)目可以基于配置信息llla_n中的參數(shù)。一旦創(chuàng)建了連接131,仿真交換機(jī)121a-n就可以例如通過(guò)響應(yīng)于來(lái)自控制器130的請(qǐng)求(例如,回應(yīng)請(qǐng)求)保持連接131存在。仿真交換機(jī)121a-n還可以終止連接130中的任意連接。
[0016]可以在配置信息111中提供以用于創(chuàng)建仿真交換機(jī)121a_n并運(yùn)行仿真的參數(shù)的示例可以包括在其中將要?jiǎng)?chuàng)建一個(gè)或更多仿真交換機(jī)的仿真交換機(jī)機(jī)器的IP地址,被執(zhí)行以仿真交換機(jī)的操作的腳本或文件的名字,仿真交換機(jī)的IP和/或MAC地址的范圍,控制器的IP地址,仿真交換機(jī)必須每秒向控制器發(fā)送的分組的數(shù)目,發(fā)送分組的總秒數(shù)(例如,每秒發(fā)送200個(gè)分組達(dá)1000秒),vlan id和仿真交換機(jī)中的唯一MAC端口的數(shù)目??梢园ㄌ摂M機(jī)的主控仿真交換機(jī)的仿真交換機(jī)機(jī)器運(yùn)行由在配置信息中標(biāo)識(shí)的機(jī)器可讀指令組成的程序或腳本以向控制器130發(fā)送分組。在配置信息中指定發(fā)送分組的時(shí)間長(zhǎng)度和分組的數(shù)目。在仿真期間收集測(cè)量控制器130的性能的量度。到達(dá)用于發(fā)送分組的時(shí)間段的終點(diǎn)(例如,1000秒),并且將該量度發(fā)送到仿真交換機(jī)配置和報(bào)告子系統(tǒng)110。
[0017]例如,確定并存儲(chǔ)所述量度以評(píng)估仿真期間控制器130的操作。量度可以包括針對(duì)創(chuàng)建和終止來(lái)自仿真交換機(jī)的連接的時(shí)刻的時(shí)間戳。對(duì)每個(gè)連接而言,量度可以包括發(fā)送的分組數(shù)目,接收的分組數(shù)目,發(fā)送指定數(shù)目的分組花費(fèi)的總時(shí)間,控制器130響應(yīng)分組中的消息的響應(yīng)時(shí)間,仿真交換機(jī)是否可操作用于建立連接,控制器130是否錯(cuò)誤地終止了連接以及其他量度。這些量度可以被存儲(chǔ)在仿真交換機(jī)機(jī)器120a-n處并被發(fā)送到仿真交換機(jī)配置和報(bào)告子系統(tǒng)110。例如,量度113a-n被示為正被從仿真交換機(jī)機(jī)器120a_n發(fā)送到仿真交換機(jī)配置和報(bào)告子系統(tǒng)110。
[0018]交換機(jī)操作報(bào)告模塊112可以搜集量度113a_n并報(bào)告該量度。報(bào)告可以