專利名稱:在轉(zhuǎn)發(fā)和控制分離架構(gòu)下實(shí)現(xiàn)虛擬可編程路由器的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于通信領(lǐng)域,具體涉及一種在轉(zhuǎn)發(fā)和控制分離架構(gòu)下的路由器實(shí)現(xiàn)虛擬可編程的方法。
背景技術(shù):
眾所周知,互聯(lián)網(wǎng)長(zhǎng)期以來所面臨的地址緊缺、QoS、安全、IP組播等問題一直未能得到有效解決。根本原因在于互聯(lián)網(wǎng)龐大的規(guī)模、復(fù)雜異質(zhì)的管理體系使得諸如IPv6、DiffServ、安全路由、PM-SM等技術(shù)難以大規(guī)模部署和應(yīng)用,導(dǎo)致互聯(lián)網(wǎng)在技術(shù)創(chuàng)新上面臨僵化境地。網(wǎng)絡(luò)虛擬化是解決目前互聯(lián)網(wǎng)僵化問題的關(guān)鍵所在,其核心思想是在資源虛擬化的基礎(chǔ)上,將網(wǎng)絡(luò)的服務(wù)提供與基礎(chǔ)設(shè)施提供兩大功能分離開。在一個(gè)實(shí)際的物理網(wǎng)絡(luò)上構(gòu)建多個(gè)獨(dú)立且互不干擾的虛擬網(wǎng)絡(luò)平面,不同的虛擬網(wǎng)絡(luò)平面可以采用不同的體系結(jié)構(gòu)與協(xié)議棧,多個(gè)虛擬網(wǎng)絡(luò)可以分別處理不同類型的業(yè)務(wù)流量,并根據(jù)業(yè)務(wù)的特性提供功能擴(kuò)展服務(wù)。物理網(wǎng)絡(luò)為虛擬網(wǎng)提供傳輸通道,虛擬網(wǎng)為用戶提供特定價(jià)值的服務(wù),通過將網(wǎng)絡(luò)服務(wù)提供從基礎(chǔ)設(shè)施提供中分離 出來,網(wǎng)絡(luò)虛擬化將二者間傳統(tǒng)的緊耦合關(guān)系轉(zhuǎn)變?yōu)樗神詈详P(guān)系,使得網(wǎng)絡(luò)技術(shù)的創(chuàng)新變得更靈活,這種邏輯上的分離使得二者可以獨(dú)立地演進(jìn),可以在支持現(xiàn)有服務(wù)的同時(shí)靈活地部署新的網(wǎng)絡(luò)服務(wù)。為此作為互聯(lián)網(wǎng)核心設(shè)備的路由器顯得非常重要,必須具備虛擬化與隔離性,在一臺(tái)物理路由器上可同時(shí)生成多個(gè)彼此隔離的虛擬路由器。每個(gè)虛擬路由器獨(dú)立擁有帶寬、處理器和緩存等資源,并實(shí)現(xiàn)相互隔離的配置管理。網(wǎng)絡(luò)由處理節(jié)點(diǎn)和傳輸鏈路構(gòu)成。傳統(tǒng)網(wǎng)絡(luò)節(jié)點(diǎn)功能固定、結(jié)構(gòu)封閉。將虛擬化技術(shù)和靈活可編程機(jī)制引入網(wǎng)絡(luò)處理節(jié)點(diǎn)后,網(wǎng)絡(luò)節(jié)點(diǎn)就演變成開放式可編程虛擬化路由器系統(tǒng),支持面向業(yè)務(wù)的功能植入與重組,從而支持新技術(shù)和應(yīng)用的快速便捷部署。目前,在路由器虛擬化方面,N. Egi和A. Greenhalgh等于2007-2008年對(duì)XEN和OpenVZ網(wǎng)絡(luò)虛擬化轉(zhuǎn)發(fā)性能和公平性評(píng)估,驗(yàn)證x86體系結(jié)構(gòu)上支撐虛擬路由器的可行性。2008年,Bhatia和Motiwala等提出一種基于vServer和NetNS的虛擬化控制面實(shí)現(xiàn)方法,允許用戶定義內(nèi)核態(tài)IP協(xié)議棧。E. Keller和E. Green于2008年提出一種輕量級(jí)的Click和vServer虛擬化方案[3°]。G. Xie和P. He等2011年提出基于LXC (LinuxContainer)的PEARL虛擬路由器平臺(tái),允許用戶實(shí)現(xiàn)新的互聯(lián)網(wǎng)協(xié)議等。在路由器可編程方面,日本工學(xué)院大學(xué)的Michihiro AOKI使用工業(yè)標(biāo)準(zhǔn)的硬件和軟件模塊以及Linux操作系統(tǒng),基于ATCA架構(gòu)實(shí)現(xiàn)了一個(gè)開放可編程的路由器。Cisco基于GSMP開發(fā)了新一代的支持多服務(wù)交換的開放可編程交換機(jī)MGX8000。北京交通大學(xué)的研究小組針對(duì)基于IXP2400和通用CPU的IPv4和IPv6路由器控制平面的實(shí)現(xiàn)展開了研究,在控制面和轉(zhuǎn)發(fā)面間采用了 ForCES (Forwarding and Control Element Separation,轉(zhuǎn)發(fā)和控制件分離)協(xié)議進(jìn)行通信,并實(shí)現(xiàn)了原型系統(tǒng)。西安理工大學(xué)的研究小組對(duì)基于ForCES協(xié)議的軟件集群路由器模型作了相關(guān)研究。從以上研究現(xiàn)狀可以看出,國(guó)內(nèi)外研究人員在路由器虛擬化和可編程的實(shí)現(xiàn)上有著多種方式。本課題組從2003年開始即對(duì)ForCES技術(shù)的實(shí)現(xiàn)進(jìn)行了多方面多層次的研究,和ForCES協(xié)議制定始終保持同步。在2004年開發(fā)了基于GRMP協(xié)議的開放可編程軟件路由器原型系統(tǒng),GRMP為自主設(shè)計(jì)的轉(zhuǎn)發(fā)面與控制面間接口協(xié)議,后被IETF ForCES工作組選為ForCES候選協(xié)議。該系統(tǒng)的轉(zhuǎn)發(fā)器基于通用PC上的Linux內(nèi)核進(jìn)行開發(fā),主要采用內(nèi)核模塊機(jī)制實(shí)現(xiàn)網(wǎng)絡(luò)功能的靈活擴(kuò)展。從2005年開始,本課題組在Intel IXP2400/2851網(wǎng)絡(luò)處理器的開發(fā)板上,以Intel IXA-SDK4.1為基礎(chǔ),基于系統(tǒng)集成方式開發(fā)了 ForCES結(jié)構(gòu)路由器的原型系統(tǒng)。隨著互聯(lián)網(wǎng)等計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用領(lǐng)域的迅速擴(kuò)大,新特性、新需求不斷出現(xiàn)并不斷變化,采用ForCES技術(shù)實(shí)現(xiàn)的虛擬可編程路由器能夠很好的滿足新一代網(wǎng)絡(luò)的需求,因?yàn)樗哂凶銐虻撵`活性,能快速地對(duì)新業(yè)務(wù)、新需求做出相應(yīng);具有足夠的開放可編程性,使用戶可以根據(jù)所開放的資源靈活組合,以提供不同的網(wǎng)絡(luò)需求服務(wù)。
發(fā)明內(nèi)容
本發(fā)明的目的是針對(duì)現(xiàn)有技術(shù)的不足,提供一種在轉(zhuǎn)發(fā)和控制分離架構(gòu)下的路由器實(shí)現(xiàn)虛擬可編程的方法。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案包括如下步驟步驟(I)控制件管理單元接收用戶創(chuàng)建虛擬可編程路由器的指令,根據(jù)轉(zhuǎn)發(fā)和控制分離架構(gòu)物理路由器的資源情況計(jì)算所需創(chuàng)建虛擬控制件和虛擬轉(zhuǎn)發(fā)件的數(shù)量、參數(shù)以及虛擬控制件和虛擬轉(zhuǎn)發(fā)件之間的對(duì)應(yīng)關(guān)系;步驟⑵控制件管理單元通知各個(gè)控制件創(chuàng)建所需的虛擬控制件,同時(shí),控制件管理單元通過轉(zhuǎn)發(fā)件管理單元通知各個(gè)轉(zhuǎn)發(fā)件創(chuàng)建所需的虛擬轉(zhuǎn)發(fā)件;步驟(3)控制件管理單元負(fù)責(zé)把各個(gè)虛擬控制件和虛擬轉(zhuǎn)發(fā)件的對(duì)應(yīng)關(guān)系通知虛擬控制件;轉(zhuǎn)發(fā)件管理單元負(fù)責(zé)把各個(gè)虛擬控制件和虛擬轉(zhuǎn)發(fā)件的對(duì)應(yīng)關(guān)系通知虛擬轉(zhuǎn)發(fā)件;步驟(4)各個(gè)虛擬轉(zhuǎn)發(fā)件根據(jù)對(duì)應(yīng)關(guān)系通過ForCES協(xié)議向虛擬控制件請(qǐng)求建鏈,實(shí)現(xiàn)把多個(gè)虛擬控制件和多個(gè)虛擬轉(zhuǎn)發(fā)件組成單個(gè)虛擬可編程路由器;步驟(5)控制件管理單元通過動(dòng)態(tài)調(diào)整虛擬控制件和虛擬轉(zhuǎn)發(fā)件的數(shù)量、參數(shù)和它們之間的對(duì)應(yīng)關(guān)系實(shí)現(xiàn)管理維護(hù)虛擬可編程路由器;步驟¢)當(dāng)虛擬可編程路由器需要拆除時(shí),控制件管理單元通知該虛擬可編程路由器所對(duì)應(yīng)的虛擬控制件,虛擬控制件通過ForCES協(xié)議通知虛擬轉(zhuǎn)發(fā)件取消鏈接,控制件注銷虛擬可編程路由器中的虛擬控制件,轉(zhuǎn)發(fā)件注銷虛擬可編程路由器中的虛擬轉(zhuǎn)發(fā)件。所述步驟(I)中的控制件管理單元接收用戶創(chuàng)建虛擬可編程路由器指令,根據(jù)轉(zhuǎn)發(fā)和控制分離架構(gòu)物理路由器的資源情況計(jì)算所需創(chuàng)建虛擬控制件和虛擬轉(zhuǎn)發(fā)件的數(shù)量、每個(gè)虛擬控制件和虛擬轉(zhuǎn)發(fā)件的性能參數(shù),性能參數(shù)包括CPU能力、內(nèi)存大小、網(wǎng)絡(luò)數(shù)據(jù)包轉(zhuǎn)發(fā)速度、網(wǎng)絡(luò)接口類型數(shù)量以及多個(gè)虛擬控制件控制多個(gè)虛擬轉(zhuǎn)發(fā)件建鏈的集合對(duì)應(yīng)關(guān)系O所述的計(jì)算方式是指物理路由器根據(jù)創(chuàng)建虛擬可編程路由器指令中所要求的創(chuàng)建虛擬控制件和虛擬轉(zhuǎn)發(fā)件的數(shù)量、每個(gè)虛擬控制件和虛擬轉(zhuǎn)發(fā)件的性能參數(shù),然后與物理路由器中的CPU能力、內(nèi) 存大小以及帶寬進(jìn)行匹配獲得的。所述的步驟(2)中控制件管理單元通知各個(gè)控制件創(chuàng)建所需的虛擬控制件,各控制件根據(jù)所指定的性能參數(shù)在本機(jī)上創(chuàng)建滿足需求的虛擬機(jī),在虛擬機(jī)中運(yùn)行ForCES中間件,再運(yùn)行各第三方的網(wǎng)絡(luò)服務(wù)模塊得到該虛擬控制件,轉(zhuǎn)發(fā)件根據(jù)從轉(zhuǎn)發(fā)件管理單元得到的性能參數(shù)在本機(jī)上創(chuàng)建滿足需求的虛擬機(jī),在虛擬機(jī)中運(yùn)行ForCES中間件,再建立滿足需求的邏輯功能塊拓?fù)涞玫皆撎摂M轉(zhuǎn)發(fā)件。所述的步驟(3)中控制件管理單元負(fù)責(zé)把各個(gè)虛擬控制件和虛擬轉(zhuǎn)發(fā)件的對(duì)應(yīng)關(guān)系通知虛擬控制件;轉(zhuǎn)發(fā)件管理單元負(fù)責(zé)把各個(gè)虛擬控制件和虛擬轉(zhuǎn)發(fā)件的對(duì)應(yīng)關(guān)系通知虛擬轉(zhuǎn)發(fā)件,具體如下控制件管理單元和轉(zhuǎn)發(fā)件管理單元把對(duì)應(yīng)關(guān)系和建鏈參數(shù)通過配置文件的方式通知虛擬控制件和虛擬轉(zhuǎn)發(fā)件,對(duì)應(yīng)關(guān)系是指虛擬轉(zhuǎn)發(fā)件需要和哪個(gè)虛擬控制件建鏈,建鏈參數(shù)包括虛擬控制件ID、虛擬轉(zhuǎn)發(fā)件ID、虛擬控制件IP地址、虛擬轉(zhuǎn)發(fā)件件IP地址和虛擬控制件SCTP端口。所述的步驟(4)中各個(gè)虛擬轉(zhuǎn)發(fā)件根據(jù)對(duì)應(yīng)關(guān)系通過ForCES協(xié)議向虛擬控制件請(qǐng)求建鏈,其中虛擬轉(zhuǎn)發(fā)件和虛擬控制件可在單個(gè)或多個(gè)物理單元上,以單對(duì)單、單對(duì)多、多對(duì)多或多對(duì)單的形式進(jìn)行建鏈;若以多對(duì)多形式建鏈,則多個(gè)虛擬控制件同時(shí)承擔(dān)面向多個(gè)虛擬轉(zhuǎn)發(fā)件的網(wǎng)絡(luò)服務(wù)功能,多虛擬控制件不區(qū)分主從,實(shí)現(xiàn)網(wǎng)絡(luò)服務(wù)的載均衡,由多個(gè)虛擬控制件和多個(gè)虛擬轉(zhuǎn)發(fā)件集合組成單個(gè)虛擬可編程路由器。所述步驟(5)中控制件管理單元通過改變配置文件設(shè)置動(dòng)態(tài)調(diào)整虛擬控制件和虛擬轉(zhuǎn)發(fā)件的數(shù)量,各虛擬單位的CPU能力、內(nèi)存大小、網(wǎng)絡(luò)數(shù)據(jù)包轉(zhuǎn)發(fā)速度,網(wǎng)絡(luò)接口類型數(shù)量參數(shù),同時(shí)改變各虛擬單位之間建鏈的對(duì)應(yīng)關(guān)系,管理維護(hù)虛擬可編程路由器。所述的虛擬單位指的是單個(gè)虛擬控制件和單個(gè)或多個(gè)虛擬轉(zhuǎn)發(fā)件建鏈的組合,各虛擬單位根據(jù)用戶對(duì)虛擬可編程路由器帶寬、處理器和緩存等的性能需求,或者網(wǎng)絡(luò)服務(wù)的負(fù)載情況動(dòng)態(tài)的調(diào)整各自的參數(shù)。
本發(fā)明有益效果如下本發(fā)明解決新一代網(wǎng)絡(luò)實(shí)現(xiàn)過程中對(duì)路由設(shè)備所需特性的重要問題,即一種有效可實(shí)施的虛擬化可編程機(jī)制,并定義了虛擬控制平面和虛擬數(shù)據(jù)平面間生成虛擬路由器的方法。從虛擬化可編程路由器研究現(xiàn)狀看,本發(fā)明具有可行的解決方案、可部署分布在新一代網(wǎng)絡(luò)中。本發(fā)明顯著優(yōu)點(diǎn)有1)滿足了新一代網(wǎng)絡(luò)對(duì)路由設(shè)備的需求;2)通過虛擬化技術(shù),將網(wǎng)絡(luò)服務(wù)提供從基礎(chǔ)設(shè)施提供分離出來,使得網(wǎng)絡(luò)技術(shù)的創(chuàng)新變得更靈活;3)通過開放可編程,用戶可以根據(jù)自己的實(shí)際需求生成虛擬路由器;2)通過負(fù)載均衡機(jī)制,充分發(fā)揮了各個(gè)虛擬控制平面的性能,有利于虛擬數(shù)據(jù)平面對(duì)外提供的服務(wù)性能;3)本發(fā)明已經(jīng)被實(shí)際系統(tǒng)使用證明是切實(shí)可行的。
圖1是虛擬可編程路由器的結(jié)構(gòu)示意圖;圖2為本發(fā)明的實(shí)施例的系統(tǒng)結(jié)構(gòu)示意圖;圖3為本發(fā)明的實(shí)施例的結(jié)果示意圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本方面做進(jìn)一步說明。
如圖1所示,在轉(zhuǎn)發(fā)和控制分離架構(gòu)下的路由器實(shí)現(xiàn)虛擬可編程的方法,包括如下步驟步驟⑴控制件管理單元接收用戶創(chuàng)建虛擬可編程路由器的指令,根據(jù)轉(zhuǎn)發(fā)和控制分離架構(gòu)物理路由器的資源情況計(jì)算所需創(chuàng)建虛擬控制件和虛擬轉(zhuǎn)發(fā)件的數(shù)量、參數(shù)以及虛擬控制件和虛擬轉(zhuǎn)發(fā)件之間的對(duì)應(yīng)關(guān)系;步驟(2)控制件管理單元通知各個(gè)控制件創(chuàng)建所需的虛擬控制件,同時(shí),控制件管理單元通過轉(zhuǎn)發(fā)件管理單元通知各個(gè)轉(zhuǎn)發(fā)件創(chuàng)建所需的虛擬轉(zhuǎn)發(fā)件;步驟(3)控制件管理單元負(fù)責(zé)把各個(gè)虛擬控制件和虛擬轉(zhuǎn)發(fā)件的對(duì)應(yīng)關(guān)系通知虛擬控制件;轉(zhuǎn)發(fā)件管理單元負(fù)責(zé)把各個(gè)虛擬控制件和虛擬轉(zhuǎn)發(fā)件的對(duì)應(yīng)關(guān)系通知虛擬轉(zhuǎn)發(fā)件;步驟(4)各個(gè)虛擬轉(zhuǎn)發(fā)件根據(jù)對(duì)應(yīng)關(guān)系通過ForCES協(xié)議向虛擬控制件請(qǐng)求建鏈,實(shí)現(xiàn)把多個(gè)虛擬控制件和多個(gè)虛擬轉(zhuǎn)發(fā)件組成單個(gè)虛擬可編程路由器;虛擬轉(zhuǎn)發(fā)件與虛擬控制件組成虛擬可編程路由器的過程,包括以下步驟A、虛擬轉(zhuǎn)發(fā)件讀取配置文件,根據(jù)虛擬控制件建鏈參數(shù)中的ID、IP地址、SCTP端口,向所要鏈接的虛擬控制件發(fā)送鏈接請(qǐng)求消息,等待虛擬控制件的應(yīng)答;B、虛擬控制件收到鏈接請(qǐng)求消息,讀取配置文件核對(duì)虛擬轉(zhuǎn)發(fā)件建鏈參數(shù)中的ID、IP地址,如果符合對(duì)應(yīng)關(guān)系,則向虛擬控制件反饋同意鏈接消息,并與發(fā)送請(qǐng)求的虛擬轉(zhuǎn)發(fā)件建立鏈接,然后查詢?cè)撎摂M轉(zhuǎn)發(fā)件的信息(如邏輯功能塊拓?fù)?,獲取并控制虛擬控制件的當(dāng)前狀態(tài);
C、虛擬控制件繼續(xù)等待其他虛擬轉(zhuǎn)發(fā)件的鏈接請(qǐng)求,重復(fù)步驟B,直到?jīng)]有請(qǐng)求,與已建鏈虛擬轉(zhuǎn)發(fā)件組合成單個(gè)虛擬可編程路由器。步驟(5)控制件管理單元通過動(dòng)態(tài)調(diào)整虛擬控制件和虛擬轉(zhuǎn)發(fā)件的數(shù)量、參數(shù)和它們之間的對(duì)應(yīng)關(guān)系實(shí)現(xiàn)管理維護(hù)虛擬可編程路由器;步驟¢)當(dāng)虛擬可編程路由器需要拆除時(shí),控制件管理單元通知該虛擬可編程路由器所對(duì)應(yīng)的虛擬控制件,虛擬控制件通過ForCES協(xié)議通知虛擬轉(zhuǎn)發(fā)件取消鏈接,控制件注銷虛擬可編程路由器中的虛擬控制件,轉(zhuǎn)發(fā)件注銷虛擬可編程路由器中的虛擬轉(zhuǎn)發(fā)件。所述的控制件管理單元接收用戶創(chuàng)建虛擬可編程路由器指令,根據(jù)轉(zhuǎn)發(fā)和控制分離架構(gòu)物理路由器的資源情況計(jì)算所需創(chuàng)建虛擬控制件和虛擬轉(zhuǎn)發(fā)件的數(shù)量、每個(gè)虛擬控制件和虛擬轉(zhuǎn)發(fā)件的性能參數(shù),性能參數(shù)包括CPU能力、內(nèi)存大小、網(wǎng)絡(luò)數(shù)據(jù)包轉(zhuǎn)發(fā)速度、網(wǎng)絡(luò)接口類型數(shù)量以及多個(gè)虛擬控制件控制多個(gè)虛擬轉(zhuǎn)發(fā)件建鏈的集合對(duì)應(yīng)關(guān)系。所述的步驟(2)中控制件管理單元通知各個(gè)控制件創(chuàng)建所需的虛擬控制件,各控制件根據(jù)所指定的性能參數(shù)在本機(jī)上創(chuàng)建滿足需求的虛擬機(jī),在虛擬機(jī)中運(yùn)行ForCES中間件,再運(yùn)行各第三方的網(wǎng)絡(luò)服務(wù)模塊得到該虛擬控制件,轉(zhuǎn)發(fā)件根據(jù)從轉(zhuǎn)發(fā)件管理單元得到的性能參數(shù)在本機(jī)上創(chuàng)建滿足需求的虛擬機(jī),在虛擬機(jī)中運(yùn)行ForCES中間件,再建立滿足需求的邏輯功能塊拓?fù)涞玫皆撎摂M轉(zhuǎn)發(fā)件。邏輯功能塊的拓?fù)浣Y(jié)構(gòu)是根據(jù)數(shù)據(jù)處理流程而定義的,用于描述虛擬控制件內(nèi)部的數(shù)據(jù)通道。每個(gè)邏輯功能塊動(dòng)態(tài)加載到拓?fù)渲?,使得虛擬控制件在虛擬路由器運(yùn)行時(shí),根據(jù)用戶的需求動(dòng)態(tài)的更改虛擬路由器所提供的網(wǎng)絡(luò)服務(wù)。所述的步驟(3)中控制件管理單元負(fù)責(zé)把各個(gè)虛擬控制件和虛擬轉(zhuǎn)發(fā)件的對(duì)應(yīng)關(guān)系通知虛擬控制件;轉(zhuǎn)發(fā)件管理單元負(fù)責(zé)把各個(gè)虛擬控制件和虛擬轉(zhuǎn)發(fā)件的對(duì)應(yīng)關(guān)系通知虛擬轉(zhuǎn)發(fā)件,具體如下控制件管理單元和轉(zhuǎn)發(fā)件管理單元把對(duì)應(yīng)關(guān)系和建鏈參數(shù)通過配置文件的方式通知虛擬控制件和虛擬轉(zhuǎn)發(fā)件,對(duì)應(yīng)關(guān)系是指虛擬轉(zhuǎn)發(fā)件需要和哪個(gè)虛擬控制件建鏈,建鏈參數(shù)包括虛擬控制件ID、虛擬轉(zhuǎn)發(fā)件ID、虛擬控制件IP地址、虛擬轉(zhuǎn)發(fā)件件IP地址和虛擬控制件SCTP端口。如圖1所示,所述的步驟(4)中各個(gè)虛擬轉(zhuǎn)發(fā)件根據(jù)對(duì)應(yīng)關(guān)系通過ForCES協(xié)議向虛擬控制件請(qǐng)求建鏈,其中虛擬轉(zhuǎn)發(fā)件和虛擬控制件可在單個(gè)或多個(gè)物理單元上,以單對(duì)單、單對(duì)多、多對(duì)多或多對(duì)單的形式進(jìn)行建鏈;若以多對(duì)多形式建鏈,則多個(gè)虛擬控制件同時(shí)承擔(dān)面向多個(gè)虛擬轉(zhuǎn)發(fā)件的網(wǎng)絡(luò)服務(wù)功能,多虛擬控制件不區(qū)分主從,實(shí)現(xiàn)網(wǎng)絡(luò)服務(wù)的載均衡,由多個(gè)虛擬控制件和多個(gè)虛擬轉(zhuǎn)發(fā)件集合組成單個(gè)虛擬可編程路由器。所述建鏈的對(duì)應(yīng)關(guān)系可以是開發(fā)人員預(yù)先在配置文件中定義的,也可以是控制件管理單元根據(jù)網(wǎng)絡(luò)服務(wù)的負(fù)載動(dòng)態(tài)改變的。所述步驟(5)中控制件管理單元通過改變配置文件設(shè)置動(dòng)態(tài)調(diào)整虛擬控制件和虛擬轉(zhuǎn)發(fā)件的數(shù)量,各虛擬單位的CPU能力、內(nèi)存大小、網(wǎng)絡(luò)數(shù)據(jù)包轉(zhuǎn)發(fā)速度,網(wǎng)絡(luò)接口類型數(shù)量參數(shù),同時(shí)改變各虛擬單位之間建鏈的對(duì)應(yīng)關(guān)系,管理維護(hù)虛擬可編程路由器。所述的虛擬單位指的是單個(gè)虛擬控制件和單個(gè)或多個(gè)虛擬轉(zhuǎn)發(fā)件建鏈的組合,各虛擬單位根據(jù)用戶對(duì)虛擬可編程路由器帶寬、處理器和緩存等的性能需求,或者網(wǎng)絡(luò)服務(wù)的負(fù)載情況動(dòng)態(tài)的調(diào)整各自的參數(shù)。所述的控制件管理單元是一個(gè)邏輯上的模塊,在ForCES協(xié)議中已有定義,可作為一個(gè)軟件模塊存在于控制件或轉(zhuǎn)發(fā)件`上,通過自己的協(xié)議進(jìn)行互相信息交互,也可以僅僅是一個(gè)配置文件或是由網(wǎng)絡(luò)件管理員手工設(shè)置。在本實(shí)施例中采用配置文件方式實(shí)現(xiàn)其功能,通過管理員手工編輯配置文件,在各個(gè)控制件上保存各個(gè)虛擬轉(zhuǎn)發(fā)件信息的配置文件,而在轉(zhuǎn)發(fā)件上保存各個(gè)虛擬控制件的配置文件。虛擬控制件包含F(xiàn)orCES中間件和各類第三方軟件,F(xiàn)orCES中間件遵循ForCES協(xié)議,提供了與ForCES框架、協(xié)議、模型等相關(guān)的內(nèi)容,為使用者提供了一套完整的開發(fā)平臺(tái),用戶可以開發(fā)ForCES架構(gòu)下的各種網(wǎng)絡(luò)設(shè)備,如路由器、VPN等;各類第三方軟件是研發(fā)人員根據(jù)實(shí)現(xiàn)不同的具體應(yīng)用服務(wù)(如路徑發(fā)現(xiàn)服務(wù)、用戶操作管理服務(wù)等)而選擇相應(yīng)第三方軟件,如Zebra路由模塊、SNMP網(wǎng)管模塊等。虛擬轉(zhuǎn)發(fā)件是基于ForCES中間件的軟件結(jié)構(gòu),核心工作是通過對(duì)底層資源抽象,即ForCES資源注冊(cè)系統(tǒng),完成各種底層資源(各種類型的邏輯功能塊LFB)的注冊(cè),以實(shí)現(xiàn)ForCES中間件對(duì)各種不同的LFB (如分類器、調(diào)度器、IPv4或IPv6轉(zhuǎn)發(fā)器)進(jìn)行直接管理。所述的控制件管理單元和轉(zhuǎn)發(fā)件管理單元負(fù)責(zé)把各個(gè)虛擬控制件和虛擬轉(zhuǎn)發(fā)件的對(duì)應(yīng)關(guān)系和相關(guān)的建鏈參數(shù)通知虛擬控制件和虛擬轉(zhuǎn)發(fā)件控制件管理單元和轉(zhuǎn)發(fā)件管理單元把對(duì)應(yīng)關(guān)系和相關(guān)的建鏈參數(shù)通過配置文件的方式通知虛擬控制件和虛擬轉(zhuǎn)發(fā)件,對(duì)應(yīng)關(guān)系是指虛擬轉(zhuǎn)發(fā)件需要和哪個(gè)虛擬控制件建鏈,相關(guān)的建鏈參數(shù)包括虛擬控制件ID、虛擬轉(zhuǎn)發(fā)件ID、虛擬控制件IP地址、虛擬轉(zhuǎn)發(fā)件件IP地址和虛擬控制件SCTP端口。配置文件中控制件管理單元維護(hù)的參數(shù)包括各虛擬轉(zhuǎn)發(fā)件的ID、IP地址,轉(zhuǎn)發(fā)件管理單元維護(hù)的參數(shù)包括各虛擬控制件的ID、IP地址和SCTP端口,同時(shí)它們共同維護(hù)虛擬轉(zhuǎn)發(fā)件和虛擬控制鍵之間的對(duì)應(yīng)關(guān)系參數(shù)。實(shí)施例如圖2、圖3所示,本實(shí)施例中共有兩個(gè)標(biāo)號(hào)分別為I和2的控制件(各包含3個(gè)虛擬控制件)和三個(gè)標(biāo)號(hào)分別為1、2和3的轉(zhuǎn)發(fā)件(各包含3個(gè)虛擬轉(zhuǎn)發(fā)件)組成一個(gè)ForCES物理路由器,其中控制件管理單元通過配置文件的形式存在于各個(gè)控制件中,而轉(zhuǎn)發(fā)件管理單元通過通過把控制件中的配置文件復(fù)制到轉(zhuǎn)發(fā)件上而實(shí)現(xiàn)。轉(zhuǎn)發(fā)件具有多個(gè)與外部網(wǎng)絡(luò)連接的網(wǎng)絡(luò)接口,轉(zhuǎn)發(fā)件和控制件間通過以太網(wǎng)交換機(jī)相互連接實(shí)現(xiàn)相互通信。本實(shí)施例包含兩個(gè)控制件,它們互相備份,并共同負(fù)擔(dān)對(duì)轉(zhuǎn)發(fā)件的控制。本實(shí)施例所采用的虛擬可編程機(jī)制主要體現(xiàn)在虛擬控制件和虛擬轉(zhuǎn)發(fā)件,經(jīng)過較小的修改后該模塊可以運(yùn)行在不同的操作系統(tǒng)和硬件平臺(tái)上。在實(shí)施例中,轉(zhuǎn)發(fā)件和控制件均使用計(jì)算機(jī)構(gòu)成,虛擬轉(zhuǎn)發(fā)件和虛擬控制件均使用虛擬機(jī)實(shí)現(xiàn),采用Redhat Linux操作系統(tǒng)。下面對(duì)本實(shí)施例中創(chuàng)建虛擬可編程路由器的過程進(jìn)行詳細(xì)的說明步驟a :在ForCES物理路由器啟動(dòng)之后,用戶通過⑶I對(duì)控制件管理單元發(fā)出創(chuàng)建3個(gè)虛擬可編程路由器的指令,同時(shí)指定3個(gè)虛擬可編程路由器的性能參數(shù)分別為低、中和高,則控制件管理單元計(jì)算出至少需要虛擬控制件和虛擬轉(zhuǎn)發(fā)件各3個(gè)、每個(gè)虛擬控制件和轉(zhuǎn)發(fā)件的CPU能力、內(nèi)存大小、網(wǎng)絡(luò)數(shù)據(jù)包轉(zhuǎn)發(fā)速度、網(wǎng)絡(luò)接口類型數(shù)量以及設(shè)定配置文件中虛擬控制件與虛擬轉(zhuǎn)發(fā)件建鏈的集合對(duì)應(yīng)關(guān)系。計(jì)算出個(gè)虛擬可編程路由器的參數(shù)以及虛擬單元之間的對(duì)應(yīng)關(guān)系后,設(shè)置配置文件中參數(shù)的值,其中虛擬可編程路由器I的控制面包含虛擬控制件10和虛擬控制件20,兩者間是備份關(guān)系,轉(zhuǎn)發(fā)面包含虛擬轉(zhuǎn)發(fā)件10和 虛擬轉(zhuǎn)發(fā)件21 ;虛擬可編程路由器2的控制面只有虛擬控制件11,轉(zhuǎn)發(fā)面包含虛擬轉(zhuǎn)發(fā)件12、虛擬轉(zhuǎn)發(fā)件30和虛擬轉(zhuǎn)發(fā)件31 ;虛擬可編程路由器3的控制面包含虛擬控制件21、虛擬控制件12和虛擬控制件22,三個(gè)虛擬控制件實(shí)現(xiàn)負(fù)載均衡,轉(zhuǎn)發(fā)面包含虛擬轉(zhuǎn)發(fā)件11、虛擬轉(zhuǎn)發(fā)件20、虛擬轉(zhuǎn)發(fā)件22和虛擬轉(zhuǎn)發(fā)件32。上述三個(gè)虛擬可編程路由器的轉(zhuǎn)發(fā)面根據(jù)設(shè)定的參數(shù)通過ForCES協(xié)議和控制面進(jìn)行建鏈,組成一臺(tái)虛擬的ForCES路由器。步驟b :控制件管理單元通過步驟a設(shè)定的配置文件通知控制件1、2創(chuàng)建所需的虛擬控制件分別為3個(gè),其中虛擬控制件11是自備份,控制件I和控制件2根據(jù)性能參數(shù)在本機(jī)上創(chuàng)建虛擬機(jī),在虛擬機(jī)中運(yùn)行ForCES中間件,再運(yùn)行各第三方的網(wǎng)絡(luò)服務(wù)模塊得到虛擬控制件10、11、12和20、21、22,轉(zhuǎn)發(fā)件1、2、3根據(jù)從轉(zhuǎn)發(fā)件管理單元得到的性能參數(shù)在本機(jī)上創(chuàng)建虛擬機(jī),在虛擬機(jī)中運(yùn)行ForCES中間件,再建立滿足需求的邏輯功能塊拓?fù)涞玫教摂M轉(zhuǎn)發(fā)件 10、11、12、20、21、22 和 30、31、32。步驟c :控制件管理單元和轉(zhuǎn)發(fā)件管理單元把步驟a設(shè)定的配置文件中的對(duì)應(yīng)關(guān)系和相關(guān)的建鏈參數(shù)通知給所有的虛擬控制件和虛擬轉(zhuǎn)發(fā)件,以此所有的虛擬單元查找配置文件就可知道自己在哪個(gè)虛擬可編程路由器中以及所起的功能,例如在虛擬可編程路由器中,虛擬控制件10是控制件的功能,虛擬控制件20是備份的功能,虛擬轉(zhuǎn)發(fā)件10和21都是轉(zhuǎn)發(fā)件的功能。
步驟d :虛擬轉(zhuǎn)發(fā)件10、21根據(jù)對(duì)應(yīng)關(guān)系通過ForCES協(xié)議向虛擬控制件10發(fā)送請(qǐng)求建鏈消息,同時(shí)虛擬控制件20作為虛擬控制件10的備份關(guān)系,彌補(bǔ)虛擬控制件10因故障而失效;虛擬轉(zhuǎn)發(fā)件12、30、31根據(jù)對(duì)應(yīng)關(guān)系向虛擬控制件11發(fā)送請(qǐng)求建鏈消息,同時(shí)虛擬控制件11作為自身的備份關(guān)系;虛擬轉(zhuǎn)發(fā)件11、20根據(jù)對(duì)應(yīng)關(guān)系向虛擬控制件21發(fā)送請(qǐng)求建鏈消息,虛擬轉(zhuǎn)發(fā)件22、32根據(jù)對(duì)應(yīng)關(guān)系向虛擬控制件22發(fā)送請(qǐng)求建鏈消息,同時(shí)虛擬控制件12作為虛擬控制件21、22之間的備份以及合作關(guān)系,三者之間形成負(fù)載均衡。虛擬可編程路由器中多個(gè)虛擬控制件科實(shí)現(xiàn)網(wǎng)絡(luò)服務(wù)的負(fù)載均衡和高可用性,當(dāng)所有虛擬控制件查詢配置文件中的對(duì)應(yīng)關(guān)系接受上述虛擬轉(zhuǎn)發(fā)件的建鏈請(qǐng)求并完成建鏈后,它們就分別組成了虛擬可編程路由器1、2、3,如圖3所示。步驟e :虛擬可編程路由器1、2、3的維護(hù)過程主要是滿足對(duì)用戶的需求,控制件管理單元根據(jù)虛擬控制件10、11、21和22的性能參數(shù)進(jìn)行調(diào)整,比如改變虛擬可編程路由器之間虛擬轉(zhuǎn)發(fā)件和虛擬控制件的數(shù)量。其策略分為靜態(tài)和動(dòng)態(tài)兩種方式,靜態(tài)方式由管理員對(duì)虛擬可編程路由器性能事先估算,然后根據(jù)各虛擬控制件的性能和個(gè)數(shù)進(jìn)行分配;動(dòng)態(tài)方式是在單個(gè)虛擬可編程運(yùn)行過程中由虛擬控制件的服務(wù)質(zhì)量模塊,實(shí)時(shí)地對(duì)性能參數(shù)進(jìn)行量化,一旦性能失真就采取參數(shù)重設(shè)置從而實(shí)現(xiàn)性能穩(wěn)定。本系統(tǒng)中采用動(dòng)態(tài)方式實(shí)現(xiàn)虛擬可編程路由器的維護(hù),根據(jù)網(wǎng)絡(luò)服務(wù)的負(fù)載情況動(dòng)態(tài)調(diào)整性能參數(shù)。
通過以上幾個(gè)步驟,整個(gè)網(wǎng)絡(luò)件開始正常工作,下面針對(duì)四類異常情況的處理流程來第一步說明本發(fā)明創(chuàng)建虛擬可編程路由器的機(jī)制1、某個(gè)虛擬轉(zhuǎn)發(fā)件加入虛擬可編程路由器當(dāng)新的虛擬轉(zhuǎn)發(fā)件需要加入某個(gè)虛擬可編程路由器,首先通過和轉(zhuǎn)發(fā)件管理單元通信,從配置文件中讀取與自己有對(duì)應(yīng)關(guān)系的虛擬控制件的參數(shù)信息,包括虛擬控制件的ID、IP地址和SCTP端口。然后虛擬轉(zhuǎn)發(fā)件通過ForCES協(xié)議向虛擬控制件發(fā)送請(qǐng)求建鏈消息。然后虛擬控制件核對(duì)配置文件中的建鏈接對(duì)應(yīng)關(guān)系,如果包含此對(duì)應(yīng)關(guān)系,則虛擬控制件向虛擬轉(zhuǎn)發(fā)件發(fā)送同意建鏈接請(qǐng)求并建立鏈接,否則虛擬控制件回送拒絕建鏈消息,虛擬轉(zhuǎn)發(fā)件停止請(qǐng)求。2、某個(gè)虛擬轉(zhuǎn)發(fā)件退出虛擬可編程路由器當(dāng)某個(gè)虛擬轉(zhuǎn)發(fā)件退出某個(gè)虛擬可編程路由器,可能是為了維護(hù)升級(jí),也可能是軟硬件故障。虛擬轉(zhuǎn)發(fā)件的退出首先通過所控制的虛擬控制件ForCES中間件發(fā)現(xiàn),并告知網(wǎng)絡(luò)管理模塊,由網(wǎng)絡(luò)管理模塊模塊廣播負(fù)載變化,并清除備份虛擬控制件上的數(shù)據(jù)。之后虛擬控制件間相互協(xié)商進(jìn)行負(fù)載均衡。3、某個(gè)虛擬控制件加入虛擬可編程路由器當(dāng)新的虛擬控制件加入某個(gè)虛擬可編程路由器,有兩大類可能一種是為了對(duì)虛擬控制件進(jìn)行升級(jí)維護(hù)后加入,也可以是在虛擬控制件運(yùn)行出錯(cuò)后,排錯(cuò)恢復(fù)后加入。另一類是添加新的虛擬控制件實(shí)現(xiàn)冗余備份,并為了獲得更好的系統(tǒng)性能。為了讓虛擬控制件加入虛擬可編程路由器,首先需要配置控制件管理單元,修改配置文件中虛擬控制件與虛擬轉(zhuǎn)發(fā)件之間的對(duì)應(yīng)關(guān)系,發(fā)送給轉(zhuǎn)發(fā)件管理單元通知各虛擬轉(zhuǎn)發(fā)件,各虛擬轉(zhuǎn)發(fā)件重新調(diào)整建鏈關(guān)系。4、某個(gè)虛擬控制件退出虛擬可編程路由器虛擬控制件退出虛擬可編程路由器,有兩種可能一種是為了對(duì)虛擬控制件進(jìn)行升級(jí)維護(hù),另一種是在虛擬控制件運(yùn)行出錯(cuò)。對(duì)于第一種,管理員可以通過控制件管理單元修改配置文件中建鏈的對(duì)應(yīng)關(guān)系,將此關(guān)系廣播給所有的控制件和轉(zhuǎn)發(fā)件。由該虛擬控制件所負(fù)責(zé)的虛擬轉(zhuǎn)發(fā)件轉(zhuǎn)移給備份虛擬控制件,對(duì)于虛擬轉(zhuǎn)發(fā)件的轉(zhuǎn)移,通過虛擬控制件刪除消息觸發(fā)該虛擬轉(zhuǎn)發(fā)件按規(guī)定的備份恢復(fù)策略執(zhí)行。對(duì)于第二種情況,虛擬控制件的出錯(cuò)通過控制件管理單元、其他虛擬控制件和虛擬轉(zhuǎn)發(fā)件通過心跳監(jiān)視發(fā)現(xiàn),一旦發(fā)現(xiàn)某個(gè)虛擬控制件失效,則觸發(fā)相應(yīng)的備份恢復(fù)策略。雖然通過實(shí)施例描 繪了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本發(fā)明的精神。
權(quán)利要求
1.在轉(zhuǎn)發(fā)和控制分離架構(gòu)下的路由器實(shí)現(xiàn)虛擬可編程的方法,其特征在于包括如下步驟 步驟(1)控制件管理單元接收用戶創(chuàng)建虛擬可編程路由器的指令,根據(jù)轉(zhuǎn)發(fā)和控制分離架構(gòu)物理路由器的資源情況計(jì)算所需創(chuàng)建虛擬控制件和虛擬轉(zhuǎn)發(fā)件的數(shù)量、參數(shù)以及虛擬控制件和虛擬轉(zhuǎn)發(fā)件之間的對(duì)應(yīng)關(guān)系; 步驟(2)控制件管理單元通知各個(gè)控制件創(chuàng)建所需的虛擬控制件,同時(shí),控制件管理單元通過轉(zhuǎn)發(fā)件管理單元通知各個(gè)轉(zhuǎn)發(fā)件創(chuàng)建所需的虛擬轉(zhuǎn)發(fā)件; 步驟(3)控制件管理單元負(fù)責(zé)把各個(gè)虛擬控制件和虛擬轉(zhuǎn)發(fā)件的對(duì)應(yīng)關(guān)系通知虛擬控制件;轉(zhuǎn)發(fā)件管理單元負(fù)責(zé)把各個(gè)虛擬控制件和虛擬轉(zhuǎn)發(fā)件的對(duì)應(yīng)關(guān)系通知虛擬轉(zhuǎn)發(fā)件; 步驟(4)各個(gè)虛擬轉(zhuǎn)發(fā)件根據(jù)對(duì)應(yīng)關(guān)系通過ForCES協(xié)議向虛擬控制件請(qǐng)求建鏈,實(shí)現(xiàn)把多個(gè)虛擬控制件和多個(gè)虛擬轉(zhuǎn)發(fā)件組成單個(gè)虛擬可編程路由器; 步驟(5)控制件管理單元通過動(dòng)態(tài)調(diào)整虛擬控制件和虛擬轉(zhuǎn)發(fā)件的數(shù)量、參數(shù)和它們之間的對(duì)應(yīng)關(guān)系實(shí)現(xiàn)管理維護(hù)虛擬可編程路由器; 步驟(6)當(dāng)虛擬可編程路由器需要拆除時(shí),控制件管理單元通知該虛擬可編程路由器所對(duì)應(yīng)的虛擬控制件,虛擬控制件通過ForCES協(xié)議通知虛擬轉(zhuǎn)發(fā)件取消鏈接,控制件注銷虛擬可編程路由器中的虛擬控制件,轉(zhuǎn)發(fā)件注銷虛擬可編程路由器中的虛擬轉(zhuǎn)發(fā)件; 所述步驟(1)中的控制件管理單元接收用戶創(chuàng)建虛擬可編程路由器指令,根據(jù)轉(zhuǎn)發(fā)和控制分離架構(gòu)物理路由器的資源情況計(jì)算所需創(chuàng)建虛擬控制件和虛擬轉(zhuǎn)發(fā)件的數(shù)量、每個(gè)虛擬控制件和虛擬轉(zhuǎn)發(fā)件的性能參數(shù),性能參數(shù)包括CPU能力、內(nèi)存大小、網(wǎng)絡(luò)數(shù)據(jù)包轉(zhuǎn)發(fā)速度、網(wǎng)絡(luò)接口類型數(shù)量以及多個(gè)虛擬控制件控制多個(gè)虛擬轉(zhuǎn)發(fā)件建鏈的集合對(duì)應(yīng)關(guān)系;所述的計(jì)算方式是指物理路由器根據(jù)創(chuàng)建虛擬可編程路由器指令中所要求的創(chuàng)建虛擬控制件和虛擬轉(zhuǎn)發(fā)件的數(shù)量、每個(gè)虛擬控制件和虛擬轉(zhuǎn)發(fā)件的性能參數(shù),然后與物理路由器中的CPU能力、內(nèi)存大小以及帶寬進(jìn)行匹配獲得的; 所述的步驟(2)中控制件管理單元通知各個(gè)控制件創(chuàng)建所需的虛擬控制件,各控制件根據(jù)所指定的性能參數(shù)在本機(jī)上創(chuàng)建滿足需求的虛擬機(jī),在虛擬機(jī)中運(yùn)行ForCES中間件,再運(yùn)行各第三方的網(wǎng)絡(luò)服務(wù)模塊得到該虛擬控制件,轉(zhuǎn)發(fā)件根據(jù)從轉(zhuǎn)發(fā)件管理單元得到的性能參數(shù)在本機(jī)上創(chuàng)建滿足需求的虛擬機(jī),在虛擬機(jī)中運(yùn)行ForCES中間件,再建立滿足需求的邏輯功能塊拓?fù)涞玫皆撎摂M轉(zhuǎn)發(fā)件; 所述的步驟(3)中控制件管理單元負(fù)責(zé)把各個(gè)虛擬控制件和虛擬轉(zhuǎn)發(fā)件的對(duì)應(yīng)關(guān)系通知虛擬控制件;轉(zhuǎn)發(fā)件管理單元負(fù)責(zé)把各個(gè)虛擬控制件和虛擬轉(zhuǎn)發(fā)件的對(duì)應(yīng)關(guān)系通知虛擬轉(zhuǎn)發(fā)件,具體如下 控制件管理單元和轉(zhuǎn)發(fā)件管理單元把對(duì)應(yīng)關(guān)系和建鏈參數(shù)通過配置文件的方式通知虛擬控制件和虛擬轉(zhuǎn)發(fā)件,對(duì)應(yīng)關(guān)系是指虛擬轉(zhuǎn)發(fā)件需要和哪個(gè)虛擬控制件建鏈,建鏈參數(shù)包括虛擬控制件ID、虛擬轉(zhuǎn)發(fā)件ID、虛擬控制件IP地址、虛擬轉(zhuǎn)發(fā)件件IP地址和虛擬控制件SCTP端口 ; 所述的步驟(4)中各個(gè)虛擬轉(zhuǎn)發(fā)件根據(jù)對(duì)應(yīng)關(guān)系通過ForCES協(xié)議向虛擬控制件請(qǐng)求建鏈,其中虛擬轉(zhuǎn)發(fā)件和虛擬控制件可在單個(gè)或多個(gè)物理單元上,以單對(duì)單、單對(duì)多、多對(duì)多或多對(duì)單的形式進(jìn)行建鏈;若以多對(duì)多形式建鏈,則多個(gè)虛擬控制件同時(shí)承擔(dān)面向多個(gè)虛擬轉(zhuǎn)發(fā)件的網(wǎng)絡(luò)服務(wù)功能,多虛擬控制件不區(qū)分主從,實(shí)現(xiàn)網(wǎng)絡(luò)服務(wù)的載均衡,由多個(gè)虛擬控制件和多個(gè)虛擬轉(zhuǎn)發(fā)件集 合組成單個(gè)虛擬可編程路由器; 所述步驟(5)中控制件管理單元通過改變配置文件設(shè)置動(dòng)態(tài)調(diào)整虛擬控制件和虛擬轉(zhuǎn)發(fā)件的數(shù)量,各虛擬單位的CPU能力、內(nèi)存大小、網(wǎng)絡(luò)數(shù)據(jù)包轉(zhuǎn)發(fā)速度,網(wǎng)絡(luò)接口類型數(shù)量參數(shù),同時(shí)改變各虛擬單位之間建鏈的對(duì)應(yīng)關(guān)系,管理維護(hù)虛擬可編程路由器; 所述的虛擬單位指的是單個(gè)虛擬控制件和單個(gè)或多個(gè)虛擬轉(zhuǎn)發(fā)件建鏈的組合,各虛擬單位根據(jù)用戶對(duì)虛擬可編程路由器帶寬、處理器和緩存等的性能需求,或者網(wǎng)絡(luò)服務(wù)的負(fù)載情況動(dòng)態(tài)的調(diào)整各自的參數(shù)。
全文摘要
本發(fā)明公開了一種在轉(zhuǎn)發(fā)和控制分離架構(gòu)下實(shí)現(xiàn)虛擬可編程路由器的方法。它包括如下步驟1)控制件管理單元接收用戶創(chuàng)建虛擬可編程路由器指令,計(jì)算所需創(chuàng)建虛擬控制件和虛擬轉(zhuǎn)發(fā)件的數(shù)量、參數(shù)和它們之間的對(duì)應(yīng)關(guān)系;2)控制件管理單元通知各個(gè)控制件創(chuàng)建所需的虛擬控制件,通過轉(zhuǎn)發(fā)件管理單元通知各個(gè)轉(zhuǎn)發(fā)件創(chuàng)建所需的虛擬轉(zhuǎn)發(fā)件;3)將對(duì)應(yīng)關(guān)系通知虛擬控制件和虛擬轉(zhuǎn)發(fā)件;4)根據(jù)對(duì)應(yīng)關(guān)系通過ForCES協(xié)議向虛擬控制件請(qǐng)求建鏈,實(shí)現(xiàn)把多個(gè)虛擬控制件和多個(gè)虛擬轉(zhuǎn)發(fā)件組成單個(gè)虛擬可編程路由器;5)單元實(shí)現(xiàn)管理維護(hù)虛擬可編程路由器。本發(fā)明提高了物理路由器的靈活性、動(dòng)態(tài)性、可擴(kuò)展性、可管理性,通過負(fù)載均衡來改善路由器總體性能。
文檔編號(hào)H04L12/771GK103067287SQ20131002056
公開日2013年4月24日 申請(qǐng)日期2013年1月18日 優(yōu)先權(quán)日2013年1月18日
發(fā)明者諸葛斌, 王偉明, 戴國(guó)偉 申請(qǐng)人:浙江工商大學(xué)