網(wǎng)絡(luò)裝置及其虛擬配置底層設(shè)備的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,具體而言,涉及軟件定義網(wǎng)絡(luò)(Software DefinedNetwork, SDN)中網(wǎng)絡(luò)裝置及其虛擬配置底層設(shè)備的方法。
【背景技術(shù)】
[0002]軟件定義網(wǎng)絡(luò)是一種新型網(wǎng)絡(luò)架構(gòu),通過將網(wǎng)絡(luò)底層設(shè)備控制面與轉(zhuǎn)發(fā)面分離開來,從而實現(xiàn)了網(wǎng)絡(luò)流量的靈活控制和底層設(shè)備的靈活部署和軟件定義。
[0003]目前的網(wǎng)絡(luò)底層設(shè)備,如SDN設(shè)備中SDN交換機的設(shè)備信息、端口信息、端口數(shù)量、交換能力等資源都是固定的。然而在實際運用環(huán)境中由于對SDN交換機的需求不同,對SDN交換機的需求也不同,比如小規(guī)模網(wǎng)絡(luò),交換機一部分端口或資源將被閑置,然而閑置的端口或資源又不能作為一個單獨的SDN交換機使用;另一方面,由于網(wǎng)絡(luò)的規(guī)模不斷擴大,也將使得原先部署的SDN交換機不能適用,表現(xiàn)為端口等資源不夠,使得只能更換更高級的SDN交換機,造成了極大的浪費。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明的目的是提供一種網(wǎng)絡(luò)裝置及其虛擬配置底層設(shè)備的方法,可以實現(xiàn)一個網(wǎng)絡(luò)底層設(shè)備虛擬成多個,多個底層設(shè)備虛擬成一個,進而實現(xiàn)網(wǎng)絡(luò)底層設(shè)備在網(wǎng)絡(luò)中的靈活部署。
[0005]本發(fā)明實施方式中提供的網(wǎng)絡(luò)裝置應(yīng)用于軟件定義網(wǎng)絡(luò),所述軟件定義網(wǎng)絡(luò)包括控制器和至少一個底層設(shè)備,該網(wǎng)絡(luò)裝置包括接收模塊、虛擬配置模塊和發(fā)送模塊。接收模塊用于接收底層設(shè)備傳送的網(wǎng)絡(luò)屬性參數(shù);虛擬配置模塊用于依據(jù)所述網(wǎng)絡(luò)屬性參數(shù)對所述底層設(shè)備進行虛擬化配置并生成虛擬化配置信息;發(fā)送模塊用于將所述底層設(shè)備的虛擬化配置信息發(fā)送至所述控制器,所述控制器根據(jù)所述虛擬化配置信息控制所述底層設(shè)備。
[0006]優(yōu)選地,所述接收模塊還用于接收用戶的虛擬配置需求,所述虛擬配置需求為將一個所述底層設(shè)備虛擬為多個虛擬的底層設(shè)備或?qū)⒍鄠€底層設(shè)備虛擬為一個虛擬的底層設(shè)備,所述網(wǎng)絡(luò)屬性參數(shù)包括所述底層設(shè)備的標(biāo)志號和所述底層設(shè)備的端口號。
[0007]優(yōu)選地,當(dāng)所述虛擬配置需求為將一個所述底層設(shè)備虛擬為多個虛擬的底層設(shè)備時,所述虛擬配置模塊將所述底層設(shè)備的標(biāo)志號配置為多個虛擬的標(biāo)志號,所述多個虛擬的標(biāo)志號代表多個虛擬的底層設(shè)備,當(dāng)所述虛擬配置需求為將多個底層設(shè)備虛擬為一個虛擬的底層設(shè)備時,所述虛擬配置模塊將所述底層設(shè)備的標(biāo)志號配置為一個虛擬的標(biāo)志號,所述一個虛擬的標(biāo)志號代表一個虛擬的底層設(shè)備。
[0008]優(yōu)選地,所述虛擬配置模塊還用于將所述底層設(shè)備的端口號不重復(fù)的分配給所述虛擬的底層設(shè)備,所述虛擬的底層設(shè)備的標(biāo)志號和端口號構(gòu)成了所述虛擬化配置信息。
[0009]優(yōu)選地,所述網(wǎng)絡(luò)裝置位于所述控制器處或所述底層設(shè)備處。
[0010]本發(fā)明又一實施方式中提供的虛擬配置底層設(shè)備的方法,應(yīng)用于軟件定義網(wǎng)絡(luò),所述軟件定義網(wǎng)絡(luò)包括控制器,所述底層設(shè)備至少為一個,所述虛擬配置底層設(shè)備的方法包括:接收所述底層設(shè)備傳送的網(wǎng)絡(luò)屬性參數(shù);依據(jù)所述網(wǎng)絡(luò)屬性參數(shù)對所述底層設(shè)備進行虛擬化配置并生成虛擬化配置信息;將所述底層設(shè)備的虛擬化配置信息發(fā)送至所述控制器,所述控制器根據(jù)所述虛擬化配置信息控制所述底層設(shè)備。
[0011 ] 優(yōu)選地,所述虛擬配置底層設(shè)備的方法還包括:接收用戶的虛擬配置需求,所述虛擬配置需求為將一個所述底層設(shè)備虛擬為多個虛擬的底層設(shè)備或?qū)⒍鄠€底層設(shè)備虛擬為一個虛擬的底層設(shè)備,所述網(wǎng)絡(luò)屬性參數(shù)包括所述底層設(shè)備的標(biāo)志號和所述底層設(shè)備的端□號。
[0012]優(yōu)選地,所述依據(jù)網(wǎng)絡(luò)屬性參數(shù)對所述底層設(shè)備進行虛擬化配置的步驟具體包括:當(dāng)所述虛擬配置需求為將一個所述底層設(shè)備虛擬為多個虛擬的底層設(shè)備時,所述虛擬配置模塊將所述底層設(shè)備的標(biāo)志號配置為多個虛擬的標(biāo)志號,所述多個虛擬的標(biāo)志號代表多個虛擬的底層設(shè)備,當(dāng)所述虛擬配置需求為將多個底層設(shè)備虛擬為一個虛擬的底層設(shè)備時,所述虛擬配置模塊將所述底層設(shè)備的標(biāo)志號配置為一個虛擬的標(biāo)志號,所述一個虛擬的標(biāo)志號代表一個虛擬的底層設(shè)備。
[0013]優(yōu)選地,所述依據(jù)網(wǎng)絡(luò)屬性參數(shù)對所述底層設(shè)備進行虛擬化配置的步驟進一步包括:將所述底層設(shè)備的端口號不重復(fù)的分配給所述虛擬的底層設(shè)備。
[0014]優(yōu)選地,所述虛擬化配置信息包括所述虛擬的底層設(shè)備的標(biāo)志號和端口號。
[0015]上述網(wǎng)絡(luò)裝置通過對SDN網(wǎng)絡(luò)中的底層設(shè)備進行虛擬化配置,可實現(xiàn)一個設(shè)備虛擬成多個,多個設(shè)備虛擬成一個。進而使得網(wǎng)絡(luò)部署更加靈活,SDN設(shè)備資源能更為充分的被利用。
[0016]以下結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述,但不作為對本發(fā)明的限定。
【附圖說明】
[0017]圖1是本發(fā)明網(wǎng)絡(luò)裝置一實施方式的應(yīng)用環(huán)境圖。
[0018]圖2是本發(fā)明網(wǎng)絡(luò)裝置一實施方式的功能模塊圖。
[0019]圖3是本發(fā)明虛擬配置底層設(shè)備的方法一實施方式的流程圖。
[0020]圖4是本發(fā)明針對圖3進一步說明的流程圖。
[0021]主要元件符號說明
[0022]網(wǎng)絡(luò)裝置 10
[0023]控制器20
[0024]底層設(shè)備30
[0025]接收模塊 100
[0026]虛擬配置模塊102
[0027]發(fā)送模塊 104
[0028]如下【具體實施方式】將結(jié)合上述附圖進一步說明本發(fā)明。
【具體實施方式】
[0029]下面詳細描述本發(fā)明的實施例,實施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。
[0030]圖1是本發(fā)明網(wǎng)絡(luò)裝置10 —實施方式的應(yīng)用環(huán)境示意圖,其應(yīng)用環(huán)境為SDN網(wǎng)絡(luò)環(huán)境。如圖1所示,SDN網(wǎng)絡(luò)主要包括控制器20和若干底層設(shè)備30,其中,控制器20對網(wǎng)絡(luò)進行集中控制,實現(xiàn)控制層的功能,底層設(shè)備30負責(zé)數(shù)據(jù)的轉(zhuǎn)發(fā)和處理。在本實施方式中,網(wǎng)絡(luò)裝置10在信息通路上處于控制器20和底層設(shè)備30之間,其在物理架構(gòu)上可以位于控制器20中,也可以位于某一底層設(shè)備30中。在本實施方式中,控制器20為SDN控制器,底層設(shè)備30為具有數(shù)據(jù)轉(zhuǎn)發(fā)功能的網(wǎng)絡(luò)底層設(shè)備,比如交換機、路由器。
[0031]圖2所示為本發(fā)明網(wǎng)絡(luò)裝置10 —實施方式的功能模塊圖。網(wǎng)絡(luò)裝置10包括接收模塊100、虛擬配置模塊102、發(fā)送模塊104、存儲器106和處理器108,在本實施方式中,模塊100?104為可執(zhí)行程序且分別存在于控制設(shè)備10的存儲器106中,并由處理器108執(zhí)行相關(guān)程序以實現(xiàn)上述模塊的功能。
[0032]接收模塊100接收底層設(shè)備30的屬性參數(shù)。在SDN網(wǎng)絡(luò)中,一旦底層設(shè)備30接入網(wǎng)絡(luò)中后,底層設(shè)備30會將其一些屬性參數(shù)通過開放流(openflow)協(xié)議發(fā)給控制器20,其中包括底層設(shè)備30的網(wǎng)絡(luò)協(xié)議(Internet protocol,IP)地址、媒體訪問控制(Mediaaccess control, MAC)地址、數(shù)據(jù)路徑識別號(Datapath Identify, dpid)、端口數(shù)量、端口名稱、端口號等信息。在本實施方式中,底層設(shè)備30相關(guān)屬性參數(shù)中的數(shù)據(jù)路徑識別號(后文我們將稱之為dpid)唯一代表了該底層設(shè)備30。在本實施方式中,接收模塊100接收的相應(yīng)屬性參數(shù)并以數(shù)據(jù)表的形式加以存儲,該數(shù)據(jù)表以dpid為索引,直接對應(yīng)該底層設(shè)備30的所有其他相關(guān)屬性參數(shù),比如端口號。
[0033]虛擬配置模塊102依據(jù)網(wǎng)絡(luò)屬性參數(shù)對所述底層設(shè)備30進行虛擬化配置。在本實施方式中,對底層設(shè)備30的虛擬化配置具體表現(xiàn)為針對接收模塊100所接收的屬性參數(shù)加以虛擬,更進一步說明的是,虛擬配置模塊102是依據(jù)接收模塊100接收用戶的虛擬配置需求對底層設(shè)備30進行虛擬化配置。
[0034]在本實施方式中,當(dāng)用戶的虛擬配置需求是將某一臺底層設(shè)備30虛擬配置為多臺虛擬的底層設(shè)備時,虛擬配置模塊102將接收的屬性參數(shù)中的dpid虛擬成多個虛擬的dpid,并以多個虛擬的dpid為索引建立虛擬數(shù)據(jù)表,同時,將資源分配給多個虛擬的底層設(shè)備,具體而言,可將屬性參數(shù)中具體的參數(shù)值不重復(fù)分配至多個虛擬dpid并存儲至虛擬數(shù)據(jù)表中。舉例而言,依據(jù)用戶需要,將一個底層設(shè)備30虛擬成2個虛擬底層設(shè)備時,則將I個底層設(shè)備30的dpid虛擬成2個虛擬的dpid,同時將底層設(shè)備30端口屬性的端口數(shù)不重復(fù)的分配給兩個虛擬底層設(shè)備并存儲至所述兩個以虛擬dpid為索引的虛擬數(shù)據(jù)表中。
[0035]在本實施方式中,當(dāng)用戶的虛擬配置需求是將多臺底層設(shè)備30虛擬配置為一臺虛擬的底層設(shè)備時,虛擬配置模塊102將接收的多個dpid虛擬為一個dpid,并以該虛擬的dpid為索引建立數(shù)據(jù)表,同時將接收的多個底層設(shè)備30的屬性參數(shù)的具體參數(shù)值存儲到以虛擬dpid為索引的虛擬數(shù)據(jù)表中,即將多個底層設(shè)備30虛擬為一個虛擬底層設(shè)備。舉例而言,當(dāng)該SDN網(wǎng)絡(luò)中存在兩個底層設(shè)備30時,接收模塊100獲取到兩個底層設(shè)備30的屬性參數(shù)。通過虛擬配置模塊102的虛擬配置,多個底層設(shè)備30被虛擬為一個虛擬底層設(shè)備,并以虛擬的dpid為索引建立數(shù)據(jù)表,同時將兩個底層設(shè)備30端口屬性中的端口數(shù)量進行累加以作為虛擬底層設(shè)備的端口,端口編號按底層設(shè)備30編號順序從I開始單個遞增(如第一個底層設(shè)備有48個端口,第二個底層設(shè)備有24個端口,則將第一個底層設(shè)備30的端口按I到48編號,將第二個底層設(shè)備30的端口按49到72編號,依次類推,將其作為虛擬底層設(shè)備的端口編號)。
[0036]發(fā)送模塊104將虛擬配置模塊104虛擬配置的虛擬配置信息發(fā)送至控制器20,所述控制器20接收虛擬配置信息后便判斷其連接了虛擬配置信息所代表的虛擬底層設(shè)備。在本實施方式中,控制器軟件(如Ryu、OpenDaylight、Floodlight等等)在解析過程中接收配置信息時優(yōu)先對底層設(shè)備30的虛擬化配置進行讀取,再根據(jù)虛擬化的配置解析openflow協(xié)議數(shù)據(jù)包。換而言之,控制器20即控制虛擬配置的虛擬底層設(shè)備