本發(fā)明涉及通信控制
技術(shù)領(lǐng)域:
:,特別涉及一種控制方法、控制器和交換機(jī)。
背景技術(shù):
::sdn(softdefinenetwork,軟件定義網(wǎng)絡(luò))是一種新型網(wǎng)絡(luò)創(chuàng)新架構(gòu),其核心思想是將網(wǎng)絡(luò)設(shè)備的控制層與轉(zhuǎn)發(fā)層分離,以實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)流量的靈活控制,為核心網(wǎng)絡(luò)及應(yīng)用的創(chuàng)新提供良好的平臺(tái)。sdn基礎(chǔ)網(wǎng)絡(luò)中包括控制器和交換機(jī),控制器和交換機(jī)之間建立軟件定義網(wǎng)絡(luò)協(xié)議openflow作為控制層和轉(zhuǎn)發(fā)層的信令通道,控制器通過該信令信道配置和管理交換機(jī)。目前,控制器通過該信令通道僅能夠獲得交換機(jī)轉(zhuǎn)發(fā)層的運(yùn)行狀態(tài),不能獲取交換機(jī)其他的運(yùn)行狀態(tài)信息。而在實(shí)際應(yīng)用中,交換機(jī)的系統(tǒng)資源的運(yùn)行狀態(tài)不穩(wěn)定時(shí),雖然openflow連接并未中斷,理論上可以接收來自控制器的任何openflow消息,但此時(shí)交換機(jī)可能不能及時(shí)、有效地處理接收到的openflow業(yè)務(wù),即不應(yīng)在交換機(jī)的系統(tǒng)資源的運(yùn)行狀態(tài)不穩(wěn)定時(shí)繼續(xù)增加openflow業(yè)務(wù)。技術(shù)實(shí)現(xiàn)要素:基于本發(fā)明的一個(gè)目的,本發(fā)明提供了一種控制方法、控制器和交換機(jī),以解決openflow協(xié)議下控制器僅根據(jù)交換機(jī)轉(zhuǎn)發(fā)層的運(yùn)行狀態(tài)信息無法對(duì)交換機(jī)進(jìn)行有效控制的問題。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:一方面,本發(fā)明提供了一種控制方法,應(yīng)用于軟件定義網(wǎng)絡(luò)sdn中的控制器,所述方法包括:向交換機(jī)發(fā)送監(jiān)測(cè)請(qǐng)求消息,監(jiān)測(cè)請(qǐng)求消息用于指示交換機(jī)監(jiān)測(cè)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)并向所述控制器發(fā)送交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù);接收交換機(jī)發(fā)送的監(jiān)測(cè)應(yīng)答消息,該監(jiān)測(cè)應(yīng)答消息攜帶交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù);根據(jù)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)對(duì)交換機(jī)進(jìn)行控制管理。另一方面,本發(fā)明還提供了一種控制方法,應(yīng)用于軟件定義網(wǎng)絡(luò)sdn中的交換機(jī),該方法包括:接收控制器發(fā)送的監(jiān)測(cè)請(qǐng)求消息;根據(jù)監(jiān)測(cè)請(qǐng)求消息監(jiān)測(cè)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù),并向控制器發(fā)送監(jiān)測(cè)應(yīng)答消息,監(jiān)測(cè)應(yīng)答消息攜帶交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù),使控制器根據(jù)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)對(duì)該交換機(jī)進(jìn)行控制管理。相應(yīng)的,本發(fā)明提供了一種控制器,應(yīng)用于軟件定義網(wǎng)絡(luò)sdn中,控制器包括:第一發(fā)送單元、第一接收單元和第一控制單元;第一發(fā)送單元,向交換機(jī)發(fā)送監(jiān)測(cè)請(qǐng)求消息,監(jiān)測(cè)請(qǐng)求消息用于指示交換機(jī)監(jiān)測(cè)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)并向控制器發(fā)送交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù);第一接收單元,接收交換機(jī)發(fā)送的監(jiān)測(cè)應(yīng)答消息,該監(jiān)測(cè)應(yīng)答消息攜帶所述交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù);第一控制單元,根據(jù)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)對(duì)交換機(jī)進(jìn)行控制管理。相應(yīng)的,本發(fā)明還提供了一種交換機(jī),應(yīng)用于軟件定義網(wǎng)絡(luò)sdn,交換機(jī)包括:第二發(fā)送單元、第二接收單元和第二控制單元;第二接收單元,接收控制器發(fā)送的監(jiān)測(cè)請(qǐng)求消息;第二控制單元,根據(jù)監(jiān)測(cè)請(qǐng)求消息監(jiān)測(cè)所述交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù);第二發(fā)送單元,向控制器發(fā)送監(jiān)測(cè)應(yīng)答消息,監(jiān)測(cè)應(yīng)答消息攜帶交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù),使控制器根據(jù)所述交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)對(duì)該交換機(jī)進(jìn)行控制管理。本發(fā)明的有益效果是:通過定制監(jiān)測(cè)請(qǐng)求消息和監(jiān)測(cè)應(yīng)答消息的消息交互機(jī)制擴(kuò)展openflow協(xié)議,利用擴(kuò)展的openflow協(xié)議實(shí)現(xiàn)控制器和交換機(jī)之間關(guān)于交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)的實(shí)時(shí)交互,完善控制器和交換機(jī)之間的信令通道;以及通過使sdn中的控制器將交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)作為對(duì)交換機(jī)的配置管理、流路徑管理的參照依據(jù),不但能夠降低交換機(jī)的系統(tǒng)狀態(tài)持續(xù)惡化的風(fēng)險(xiǎn),還降低了流路徑創(chuàng)建失敗的風(fēng)險(xiǎn),提升控制器對(duì)sdn網(wǎng)絡(luò)的管理效率和sdn網(wǎng)絡(luò)的運(yùn)行可靠性。附圖說明圖1為本發(fā)明實(shí)施例提供的一種控制方法流程圖;圖2為本發(fā)明實(shí)施例提供的另一種控制方法流程圖;圖3為本發(fā)明實(shí)施例提供的sdn基礎(chǔ)網(wǎng)絡(luò)示意圖;圖4為本發(fā)明實(shí)施例提供的控制器結(jié)構(gòu)框圖;圖5為本發(fā)明實(shí)施例提供的交換機(jī)結(jié)構(gòu)框圖。具體實(shí)施方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本申請(qǐng)相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本申請(qǐng)的一些方面相一致的裝置和方法的例子。在本申請(qǐng)使用的術(shù)語是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本申請(qǐng)。在本申請(qǐng)和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”是指并包含一個(gè)或多個(gè)相關(guān)聯(lián)的列出項(xiàng)目的任何或所有可能組合。應(yīng)當(dāng)理解,盡管在本申請(qǐng)可能采用術(shù)語第一、第二、第三等來描述各種信息,但這些信息不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請(qǐng)范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時(shí)”或“當(dāng)……時(shí)”或“響應(yīng)于確定”。本發(fā)明實(shí)施例將sdn基礎(chǔ)網(wǎng)絡(luò)中的交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)作為控制器監(jiān)管交換機(jī)的一部分指標(biāo),利用擴(kuò)展的openflow協(xié)議提供控制器和交換機(jī)之間的交換機(jī)系統(tǒng)運(yùn)行狀態(tài)實(shí)時(shí)交互。為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。圖1為本發(fā)明實(shí)施例提供的一種控制方法流程圖,該控制方法應(yīng)用于軟件定義網(wǎng)絡(luò)sdn中的控制器。如圖1所示,該控制方法包括:s100,向交換機(jī)發(fā)送監(jiān)測(cè)請(qǐng)求消息,該監(jiān)測(cè)請(qǐng)求消息用于指示交換機(jī)監(jiān)測(cè)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)并向控制器發(fā)送交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)。本實(shí)施例中請(qǐng)求獲取的交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)包括但不局限于cpu運(yùn)行狀態(tài)參數(shù)、內(nèi)存運(yùn)行狀態(tài)參數(shù)、硬盤運(yùn)行狀態(tài)參數(shù)和網(wǎng)卡資源運(yùn)行狀態(tài)參數(shù)中的一種或多種。示例性地,cpu運(yùn)行狀態(tài)參數(shù)、內(nèi)存運(yùn)行狀態(tài)參數(shù)、硬盤運(yùn)行狀態(tài)參數(shù)和網(wǎng)卡資源運(yùn)行狀態(tài)參數(shù)分別以cpu使用率、內(nèi)存使用率、硬盤使用率和網(wǎng)卡資源使用率來表示。s110,接收交換機(jī)發(fā)送的監(jiān)測(cè)應(yīng)答消息,該監(jiān)測(cè)應(yīng)答消息攜帶交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)。s120,根據(jù)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)對(duì)交換機(jī)進(jìn)行控制管理。比如當(dāng)某交換機(jī)的cpu使用率較高時(shí),將減少向該交換機(jī)發(fā)送packetout報(bào)文;當(dāng)某交換機(jī)的內(nèi)存使用率較高時(shí),將不再向該交換機(jī)新增轉(zhuǎn)發(fā)流表,不再將該交換機(jī)作為新增流路徑上的節(jié)點(diǎn);當(dāng)某交換機(jī)的硬盤使用率較高時(shí),將不再獲取該交換機(jī)上的日志記錄信息。需要說明的是,本實(shí)施例中的控制器基于軟件定義網(wǎng)絡(luò)協(xié)議openflow向其管理的一個(gè)或多個(gè)交換機(jī)發(fā)送監(jiān)測(cè)請(qǐng)求消息,每個(gè)交換機(jī)亦通過openflow協(xié)議向控制器發(fā)送監(jiān)測(cè)應(yīng)答消息。本實(shí)施例通過定制監(jiān)測(cè)請(qǐng)求消息和監(jiān)測(cè)應(yīng)答消息的消息交互機(jī)制擴(kuò)展openflow協(xié)議,利用擴(kuò)展的openflow協(xié)議實(shí)現(xiàn)控制器和交換機(jī)之間關(guān)于交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)的交互,進(jìn)而將sdn基礎(chǔ)網(wǎng)絡(luò)中的交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)作為控制器監(jiān)管交換機(jī)的一部分指標(biāo),使控制器更加有效地對(duì)交換機(jī)進(jìn)行管理。在實(shí)際應(yīng)用中,控制器還可以接收交換機(jī)發(fā)送的交換機(jī)轉(zhuǎn)發(fā)層運(yùn)行狀態(tài)信息。此時(shí),控制器可以通過下述方式對(duì)交換機(jī)進(jìn)行控制管理:根據(jù)每個(gè)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)和轉(zhuǎn)發(fā)層運(yùn)行狀態(tài)信息對(duì)其進(jìn)行配置管理和流路徑管理。在sdn基礎(chǔ)網(wǎng)絡(luò)中,交換機(jī)能夠通過異步消息,如端口狀態(tài)portstatus消息、表空間狀態(tài)tablestatus消息、流監(jiān)控flowmonitor消息等,主動(dòng)上報(bào)當(dāng)前交換機(jī)端口、table表和流表的狀態(tài)信息到控制器,使控制器能夠及時(shí)獲取交換機(jī)轉(zhuǎn)發(fā)層的運(yùn)行狀態(tài)信息;且基于擴(kuò)展的openflow協(xié)議,各交換機(jī)會(huì)及時(shí)上報(bào)其系統(tǒng)運(yùn)行狀態(tài)參數(shù)至控制器,為控制器管理交換機(jī)提供依據(jù)。如在根據(jù)portstatus判斷交換機(jī)與其他設(shè)備之間的連接狀態(tài)穩(wěn)定,而交換機(jī)的cpu使用率較高時(shí),可以減少向該交換機(jī)發(fā)送packetout報(bào)文的數(shù)量;在根據(jù)tablestatus判斷交換機(jī)設(shè)備上的流表數(shù)量在未達(dá)到門限狀態(tài),而交換機(jī)的內(nèi)存使用率較高時(shí),回收閑置的流表等。在本實(shí)施例的一個(gè)實(shí)現(xiàn)方案中,監(jiān)測(cè)請(qǐng)求消息指示需要監(jiān)測(cè)的系統(tǒng)資源,該監(jiān)測(cè)請(qǐng)求消息指示監(jiān)測(cè)cpu運(yùn)行狀態(tài)參數(shù)、內(nèi)存運(yùn)行狀態(tài)參數(shù)、硬盤運(yùn)行狀態(tài)參數(shù)和網(wǎng)卡資源運(yùn)行狀態(tài)參數(shù)中的一種或多種。在本實(shí)現(xiàn)方案中,監(jiān)測(cè)請(qǐng)求消息中還設(shè)置指示交換機(jī)上報(bào)其相應(yīng)系統(tǒng)運(yùn)行狀態(tài)參數(shù)的上報(bào)機(jī)制。示例性地,該上報(bào)機(jī)制可以為:在監(jiān)測(cè)請(qǐng)求消息中設(shè)置系統(tǒng)運(yùn)行狀態(tài)參數(shù)的上報(bào)頻率,指示交換機(jī)按照該上報(bào)頻率回復(fù)監(jiān)測(cè)應(yīng)答消息;或者,在監(jiān)測(cè)請(qǐng)求消息中設(shè)置各項(xiàng)系統(tǒng)資源使用率的門限值,即設(shè)置監(jiān)測(cè)請(qǐng)求消息攜帶針對(duì)系統(tǒng)運(yùn)行狀態(tài)參數(shù)預(yù)設(shè)的門限值,指示交換機(jī)在該交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)達(dá)到門限值或降低到該門限值以下時(shí),向控制器發(fā)送監(jiān)測(cè)應(yīng)答消息。其中,為節(jié)省網(wǎng)絡(luò)資源,本實(shí)施例優(yōu)選地,監(jiān)測(cè)請(qǐng)求消息攜帶針對(duì)系統(tǒng)運(yùn)行狀態(tài)參數(shù)預(yù)設(shè)的門限值,使交換機(jī)在其系統(tǒng)運(yùn)行狀態(tài)參數(shù)達(dá)到門限值或降低到該門限值以下時(shí),向控制器發(fā)送攜帶該交換機(jī)系統(tǒng)運(yùn)行狀態(tài)參數(shù)的監(jiān)測(cè)應(yīng)答消息,示例性地,此時(shí)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)為各系統(tǒng)資源的當(dāng)前使用率。需要說明的是,本實(shí)施例所述的交換機(jī)在其系統(tǒng)運(yùn)行狀態(tài)參數(shù)達(dá)到門限值或降低到該門限值以下時(shí),向控制器發(fā)送監(jiān)測(cè)應(yīng)答消息應(yīng)理解為:在某項(xiàng)系統(tǒng)運(yùn)行狀態(tài)參數(shù)達(dá)到門限值時(shí)發(fā)送監(jiān)測(cè)應(yīng)答消息,而在某項(xiàng)系統(tǒng)運(yùn)行狀態(tài)參數(shù)達(dá)到該門限值后又降低,亦發(fā)送監(jiān)測(cè)應(yīng)答消息。示例性地,假設(shè)監(jiān)測(cè)請(qǐng)求消息指示交換機(jī)監(jiān)測(cè)其內(nèi)存運(yùn)行狀態(tài)參數(shù),并在交換機(jī)的內(nèi)存使用率達(dá)到90%時(shí)向控制器發(fā)送監(jiān)測(cè)應(yīng)答消息,那么,達(dá)到門限值應(yīng)理解為:交換機(jī)在其內(nèi)存使用率達(dá)到90%時(shí)發(fā)送監(jiān)測(cè)應(yīng)答消息,交換機(jī)的內(nèi)存使用率在達(dá)到90%后又發(fā)生變化,在降低為小于90%時(shí)也發(fā)送監(jiān)測(cè)應(yīng)答消息。在本實(shí)施例的另一個(gè)實(shí)現(xiàn)方案中,監(jiān)測(cè)請(qǐng)求消息攜帶消息標(biāo)識(shí),該消息標(biāo)識(shí)用于唯一標(biāo)識(shí)監(jiān)測(cè)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)的任務(wù);相應(yīng)地,上述步驟s120根據(jù)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)對(duì)交換機(jī)進(jìn)行控制管理,具體為:若監(jiān)測(cè)應(yīng)答消息攜帶消息標(biāo)識(shí),則根據(jù)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)對(duì)交換機(jī)進(jìn)行控制管理。顯然,當(dāng)控制器不需要對(duì)某個(gè)(或某些)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)進(jìn)行監(jiān)控時(shí),如某個(gè)(或某些)交換機(jī)不再是關(guān)鍵設(shè)備時(shí),可以向交換機(jī)發(fā)送監(jiān)測(cè)刪除消息。即上述圖1中的控制方法還可以包括:向交換機(jī)發(fā)送監(jiān)測(cè)刪除消息,該監(jiān)測(cè)刪除消息攜帶消息標(biāo)識(shí),監(jiān)測(cè)刪除消息用于指示交換機(jī)停止該消息標(biāo)識(shí)對(duì)應(yīng)的監(jiān)測(cè)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)的任務(wù)。下面通過一個(gè)具體的示例詳細(xì)說明本發(fā)明的監(jiān)測(cè)請(qǐng)求消息。預(yù)先在openflow協(xié)議中定義監(jiān)測(cè)請(qǐng)求(switchmonitormultipartrequest)消息,示例性地,使用結(jié)構(gòu)體(struct)定義該監(jiān)測(cè)請(qǐng)求消息。該監(jiān)測(cè)請(qǐng)求消息可以包括:監(jiān)控標(biāo)識(shí)(monitor_id)字段,在monitor_id字段設(shè)置消息標(biāo)識(shí),該monitor_id字段唯一標(biāo)識(shí)了監(jiān)測(cè)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)的任務(wù);設(shè)置命令(command)字段,通過command字段定義監(jiān)測(cè)請(qǐng)求消息的操作類型,示例性的,操作類型設(shè)置為ofpfmc_add(添加監(jiān)控任務(wù)),以指示該消息為監(jiān)測(cè)請(qǐng)求消息。另外,若操作類型設(shè)置為ofpfmc_delete(刪除監(jiān)控任務(wù)),則指示該消息為監(jiān)測(cè)刪除消息。在監(jiān)測(cè)請(qǐng)求消息指示交換機(jī)監(jiān)測(cè)該交換機(jī)的cpu運(yùn)行狀態(tài)參數(shù)、內(nèi)存運(yùn)行狀態(tài)參數(shù)和硬盤運(yùn)行狀態(tài)參數(shù)時(shí),該監(jiān)測(cè)請(qǐng)求消息還可以包括:cpu的門限值(cpu_limit)字段,在cpu_limit字段設(shè)置具體的cpu使用率的門限值;內(nèi)存的門限值(memory_limit)字段,在memory_limit字段設(shè)置具體的內(nèi)存使用率的門限值;硬盤的門限值(disk_limit)字段,在disk_limit字段設(shè)置具體的硬盤使用率的門限值。另外,為使定義的監(jiān)測(cè)請(qǐng)求消息更具有規(guī)范性,可以設(shè)置填充字段,補(bǔ)齊switchmonitormultipartrequest消息。即在使用結(jié)構(gòu)體定義上述監(jiān)測(cè)請(qǐng)求消息時(shí),可以將monitor_id字段,command字段,cpu_limit字段,memory_limit字段和disk_limit字段作為該結(jié)構(gòu)體的成員項(xiàng)。需要說明的是,本實(shí)施例不限定監(jiān)測(cè)請(qǐng)求消息中各字段的長(zhǎng)度和類型。圖2為本發(fā)明實(shí)施例提供的另一種控制方法流程圖,該控制方法應(yīng)用于軟件定義網(wǎng)絡(luò)sdn中的交換機(jī)。如圖2所示,該控制方法包括:s200,接收控制器發(fā)送的監(jiān)測(cè)請(qǐng)求消息。本實(shí)施例中,監(jiān)測(cè)請(qǐng)求消息指示交換機(jī)監(jiān)測(cè)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù),該系統(tǒng)運(yùn)行狀態(tài)參數(shù)包括cpu運(yùn)行狀態(tài)參數(shù)、內(nèi)存運(yùn)行狀態(tài)參數(shù)、硬盤運(yùn)行狀態(tài)參數(shù)和網(wǎng)卡資源運(yùn)行狀態(tài)參數(shù)中的一種或多種。s210,根據(jù)監(jiān)測(cè)請(qǐng)求消息監(jiān)測(cè)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù),并向控制器發(fā)送監(jiān)測(cè)應(yīng)答消息,監(jiān)測(cè)應(yīng)答消息攜帶交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù),使控制器根據(jù)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)對(duì)該交換機(jī)進(jìn)行控制管理。本步驟中“根據(jù)監(jiān)測(cè)請(qǐng)求消息監(jiān)測(cè)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)”可以理解為:根據(jù)監(jiān)測(cè)請(qǐng)求消息中指示的需要監(jiān)測(cè)的系統(tǒng)運(yùn)行狀態(tài)參數(shù),對(duì)交換機(jī)本地的系統(tǒng)資源進(jìn)行監(jiān)測(cè),如監(jiān)測(cè)請(qǐng)求消息中指示需要監(jiān)測(cè)cpu運(yùn)行狀態(tài)參數(shù)和內(nèi)存運(yùn)行狀態(tài)參數(shù),則相應(yīng)地對(duì)交換機(jī)的cpu運(yùn)行狀態(tài)參數(shù)和內(nèi)存運(yùn)行狀態(tài)參數(shù)進(jìn)行監(jiān)測(cè)。即本實(shí)施例不限定交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)的監(jiān)控方式,可以是監(jiān)測(cè)請(qǐng)求消息中攜帶監(jiān)控任務(wù),通過在交換機(jī)本地加載運(yùn)行該監(jiān)控任務(wù),開始對(duì)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)進(jìn)行監(jiān)控;也可以是交換機(jī)建立監(jiān)控任務(wù),利用該新建的監(jiān)控任務(wù)對(duì)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)進(jìn)行監(jiān)控。其中,接收到的監(jiān)測(cè)請(qǐng)求消息中通常設(shè)置指示交換機(jī)上報(bào)其相應(yīng)系統(tǒng)運(yùn)行狀態(tài)參數(shù)的上報(bào)機(jī)制。示例性地,該上報(bào)機(jī)制可以為:在監(jiān)測(cè)請(qǐng)求消息中設(shè)置系統(tǒng)運(yùn)行狀態(tài)參數(shù)的上報(bào)頻率,指示交換機(jī)按照該上報(bào)頻率回復(fù)監(jiān)測(cè)應(yīng)答消息;或者,在監(jiān)測(cè)請(qǐng)求消息中設(shè)置各項(xiàng)系統(tǒng)資源使用率的門限值,即設(shè)置監(jiān)測(cè)請(qǐng)求消息攜帶針對(duì)系統(tǒng)運(yùn)行狀態(tài)參數(shù)預(yù)設(shè)的門限值,指示交換機(jī)在該交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)達(dá)到門限值或降低到該門限值以下時(shí),向控制器發(fā)送監(jiān)測(cè)應(yīng)答消息。為節(jié)省網(wǎng)絡(luò)資源,本實(shí)施例優(yōu)選地,監(jiān)測(cè)請(qǐng)求消息攜帶針對(duì)系統(tǒng)運(yùn)行狀態(tài)參數(shù)預(yù)設(shè)的門限值,則相應(yīng)的,步驟s210中,向控制器發(fā)送監(jiān)測(cè)應(yīng)答消息,具體為:在交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)達(dá)到門限值或降低到該門限值以下時(shí),向控制器發(fā)送監(jiān)測(cè)應(yīng)答消息。需要說明的是,本實(shí)施例所述的在交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)達(dá)到門限值或降低到該門限值以下時(shí),向控制器發(fā)送監(jiān)測(cè)應(yīng)答消息應(yīng)理解為:在交換機(jī)的某項(xiàng)系統(tǒng)運(yùn)行狀態(tài)參數(shù)達(dá)到門限值時(shí)發(fā)送監(jiān)測(cè)應(yīng)答消息,而在某項(xiàng)系統(tǒng)運(yùn)行狀態(tài)參數(shù)達(dá)到該門限值后又降低,亦發(fā)送監(jiān)測(cè)應(yīng)答消息。下面通過一個(gè)具體的示例詳細(xì)說明本發(fā)明的監(jiān)測(cè)應(yīng)答消息。根據(jù)已定義的監(jiān)測(cè)請(qǐng)求消息定義監(jiān)測(cè)應(yīng)答(switchmonitormultipartreply)消息,監(jiān)測(cè)應(yīng)答消息應(yīng)與監(jiān)測(cè)請(qǐng)求消息的數(shù)據(jù)結(jié)構(gòu)一致,即當(dāng)使用結(jié)構(gòu)體定義監(jiān)測(cè)請(qǐng)求消息時(shí),應(yīng)使用結(jié)構(gòu)體定義監(jiān)測(cè)應(yīng)答消息?;谏鲜霰O(jiān)測(cè)請(qǐng)求消息的具體示例說明對(duì)應(yīng)的監(jiān)測(cè)應(yīng)答消息。在定義監(jiān)測(cè)應(yīng)答消息時(shí),監(jiān)測(cè)應(yīng)答消息包括:monitor_id字段,monitor_id字段設(shè)置的消息標(biāo)識(shí)須與監(jiān)測(cè)請(qǐng)求消息中的monitor_id字段設(shè)置的消息標(biāo)識(shí)保持一致;cpu的使用值(cpu_value)字段,在cpu_value字段設(shè)置交換機(jī)的cpu使用率的實(shí)際值;內(nèi)存的使用值(memory_value)字段,在memory_value字段設(shè)置交換機(jī)的內(nèi)存使用率的實(shí)際值;硬盤的使用值(disk_value)字段,在disk_value字段設(shè)置交換機(jī)的硬盤使用率的實(shí)際值;另外,為使定義的監(jiān)測(cè)應(yīng)答消息更具有規(guī)范性,可以設(shè)置填充字段,補(bǔ)齊switchmonitormultipartrequest消息。即在使用結(jié)構(gòu)體定義上述監(jiān)測(cè)請(qǐng)求消息對(duì)應(yīng)的監(jiān)測(cè)應(yīng)答消息時(shí),可以將monitor_id字段,cpu_value字段,memory_value字段,disk_value字段作為該結(jié)構(gòu)體的成員項(xiàng)。本實(shí)施例的監(jiān)測(cè)請(qǐng)求消息還攜帶消息標(biāo)識(shí),該消息標(biāo)識(shí)用于唯一標(biāo)識(shí)監(jiān)測(cè)所述交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)的任務(wù);則圖2中的控制方法還包括:保存監(jiān)測(cè)請(qǐng)求消息;則步驟s210向控制器發(fā)送監(jiān)測(cè)應(yīng)答消息,具體為:從監(jiān)測(cè)請(qǐng)求消息中獲取消息標(biāo)識(shí),向控制器發(fā)送攜帶該消息標(biāo)識(shí)的監(jiān)測(cè)應(yīng)答消息。由于控制器在不需要對(duì)某個(gè)(或某些)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)進(jìn)行監(jiān)控時(shí),可以向交換機(jī)發(fā)送監(jiān)測(cè)刪除消息。因此,圖2中的控制方法還可以包括:接收控制器發(fā)送的監(jiān)測(cè)刪除消息,該監(jiān)測(cè)刪除消息攜帶消息標(biāo)識(shí);根據(jù)監(jiān)測(cè)刪除消息停止消息標(biāo)識(shí)對(duì)應(yīng)的監(jiān)測(cè)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)的任務(wù)。為詳細(xì)說明sdn基礎(chǔ)網(wǎng)絡(luò)中,控制器和交換機(jī)關(guān)于交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)的交互過程,下面通過一個(gè)具體實(shí)施例進(jìn)行說明。圖3為本發(fā)明實(shí)施例提供的sdn基礎(chǔ)網(wǎng)絡(luò)示意圖,在圖3所示的sdn基礎(chǔ)網(wǎng)絡(luò)中,示例性示出交換機(jī)sw1、交換機(jī)sw2、交換機(jī)sw3、交換機(jī)sw4、交換機(jī)sw5和交換機(jī)sw6,這6個(gè)交換機(jī)和控制器controller之間建立了openflow連接,其中,sw1和sw6交換機(jī)下各接入了100個(gè)用戶虛機(jī),為便于描述,sw1下的虛機(jī)分別表示為vm1_001、vm1_002、…vm1_100,sw4下的虛機(jī)分別表示為vm6_001、vm6_002、…vm6_100,控制器controller根據(jù)虛機(jī)上線的實(shí)際情況建立流路徑并下發(fā)流表。參考圖3,圖3中由控制器controller指向交換機(jī)sw1~sw6的虛線箭頭方向表示,控制器controller向交換機(jī)sw1~sw6各下發(fā)了監(jiān)測(cè)請(qǐng)求消息,該監(jiān)測(cè)請(qǐng)求消息指示交換機(jī)對(duì)交換機(jī)的cpu運(yùn)行狀態(tài)參數(shù)、內(nèi)存運(yùn)行狀態(tài)參數(shù)和硬盤運(yùn)行狀態(tài)參數(shù)進(jìn)行監(jiān)控,并指示cpu運(yùn)行狀態(tài)參數(shù)、內(nèi)存運(yùn)行狀態(tài)參數(shù)和硬盤運(yùn)行狀態(tài)參數(shù)的門限值均為90%;其中,cpu運(yùn)行狀態(tài)參數(shù)、內(nèi)存運(yùn)行狀態(tài)參數(shù)和硬盤運(yùn)行狀態(tài)參數(shù)分別以cpu使用率、內(nèi)存使用率和硬盤使用率進(jìn)行表示。圖3以交換機(jī)sw2和交換機(jī)sw3向控制器controller發(fā)送監(jiān)測(cè)應(yīng)答消息為例說明控制器controller根據(jù)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)對(duì)交換機(jī)進(jìn)行控制管理。圖3中交換機(jī)sw2側(cè)的實(shí)線箭頭方向表示,交換機(jī)sw2在某個(gè)時(shí)刻其cpu使用率達(dá)到門限值時(shí)向控制器controller發(fā)送監(jiān)測(cè)應(yīng)答消息,控制器controller在接收到該監(jiān)測(cè)應(yīng)答消息后,減少向交換機(jī)sw2下發(fā)的攜帶基于鏈路層發(fā)現(xiàn)協(xié)議(linklayerdiscoveryprotocol)的請(qǐng)求報(bào)文的packetout報(bào)文的數(shù)量,并將發(fā)送周期調(diào)整長(zhǎng),如若之前5秒發(fā)送一次,可改成15秒發(fā)送一次,只要確保鏈路不老化即可,完成對(duì)交換機(jī)sw2的配置管理。同時(shí)控制器controller可以通過北向接口向北向云管理平臺(tái)通告交換機(jī)sw2的系統(tǒng)運(yùn)行狀態(tài)參數(shù),由北向云管理平臺(tái)的管理員檢查是否存在異常。其中,北向接口是通過控制器向上層業(yè)務(wù)應(yīng)用開放的接口,目的是使業(yè)務(wù)應(yīng)用能夠便利地調(diào)用底層的網(wǎng)絡(luò)資源和能力,北向接口直接為業(yè)務(wù)應(yīng)用服務(wù),需要密切聯(lián)系業(yè)務(wù)應(yīng)用需求進(jìn)行設(shè)計(jì),具有多樣化的特征。圖3中交換機(jī)sw3側(cè)的實(shí)線箭頭方向表示,交換機(jī)sw3在某個(gè)時(shí)刻,其內(nèi)存使用率達(dá)到門限值時(shí)向控制器controller發(fā)送監(jiān)測(cè)應(yīng)答消息,控制器controller記錄交換機(jī)sw3的系統(tǒng)運(yùn)行狀態(tài)參數(shù),同時(shí)控制器controller通過北向接口向北向云管理平臺(tái)通告交換機(jī)sw3的系統(tǒng)運(yùn)行狀態(tài)參數(shù),由北向云管理平臺(tái)的管理員檢查是否存在異常。若此時(shí)虛機(jī)vm1_xxx和vm6_xxx上線,并相互訪問,觸發(fā)控制器controller建立虛機(jī)vm1_xxx和vm6_xxx之間的流路徑;控制器controller計(jì)算源交換機(jī)sw1到目的交換機(jī)sw6的流路徑,參考圖3可知,存在四條等價(jià)的流路徑,分別為:sw1—sw2—sw4—sw6、sw1—sw2—sw5—sw6、sw1—sw3—sw4—sw6和sw1—sw3—sw5—sw6,由于交換機(jī)sw3內(nèi)存的使用率達(dá)到門限值,控制器controller將交換機(jī)sw3不作為交換機(jī)sw1到交換機(jī)sw6流路徑上的節(jié)點(diǎn),因此可以選擇sw1—sw2—sw4—sw6或sw1—sw2—sw5—sw6作為流路徑,控制器controller向流路徑上的交換機(jī)sw1、交換機(jī)sw2、交換機(jī)sw4、交換機(jī)sw6下發(fā)流表,完成對(duì)交換機(jī)的流路徑管理。與前述控制方法的實(shí)施例相對(duì)應(yīng),本發(fā)明還提供了一種控制器的實(shí)施例。圖4為本發(fā)明實(shí)施例提供的控制器結(jié)構(gòu)框圖,該控制器應(yīng)用于軟件定義網(wǎng)絡(luò)sdn中。如圖4所示,該控制器包括:第一發(fā)送單元41、第一接收單元42和第一控制單元43;第一發(fā)送單元41,向交換機(jī)發(fā)送監(jiān)測(cè)請(qǐng)求消息,該監(jiān)測(cè)請(qǐng)求消息用于指示交換機(jī)監(jiān)測(cè)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)并向控制器發(fā)送交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)。其中,系統(tǒng)運(yùn)行狀態(tài)參數(shù)包括cpu運(yùn)行狀態(tài)參數(shù)、內(nèi)存運(yùn)行狀態(tài)參數(shù)、硬盤運(yùn)行狀態(tài)參數(shù)和網(wǎng)卡資源運(yùn)行狀態(tài)參數(shù)中的一種或多種。優(yōu)選地,該監(jiān)測(cè)請(qǐng)求消息攜帶針對(duì)系統(tǒng)運(yùn)行狀態(tài)參數(shù)預(yù)設(shè)的門限值,以指示交換機(jī)在交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)達(dá)到門限值時(shí),向控制器發(fā)送交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)。第一接收單元42,接收交換機(jī)發(fā)送的監(jiān)測(cè)應(yīng)答消息,該監(jiān)測(cè)應(yīng)答消息攜帶交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)。第一控制單元43,根據(jù)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)對(duì)所述交換機(jī)進(jìn)行控制管理。本實(shí)施例通過定制監(jiān)測(cè)請(qǐng)求消息和監(jiān)測(cè)應(yīng)答消息的消息交互機(jī)制擴(kuò)展openflow協(xié)議,利用擴(kuò)展的openflow協(xié)議實(shí)現(xiàn)控制器和交換機(jī)之間的系統(tǒng)資源的運(yùn)行狀態(tài)的實(shí)時(shí)交互,進(jìn)而將sdn基礎(chǔ)網(wǎng)絡(luò)中的交換機(jī)的系統(tǒng)資源的運(yùn)行狀態(tài)信息作為控制器監(jiān)管交換機(jī)的一部分指標(biāo),使控制器更加有效地對(duì)交換機(jī)進(jìn)行管理。本實(shí)施例中的監(jiān)測(cè)請(qǐng)求消息還攜帶消息標(biāo)識(shí),該消息標(biāo)識(shí)用于唯一標(biāo)識(shí)監(jiān)測(cè)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)的任務(wù);相應(yīng)的,第一控制單元43,在監(jiān)測(cè)應(yīng)答消息攜帶消息標(biāo)識(shí)時(shí),根據(jù)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)對(duì)交換機(jī)進(jìn)行控制管理。顯然,當(dāng)控制器不需要對(duì)某個(gè)(或某些)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)進(jìn)行監(jiān)控時(shí),如某個(gè)(或某些)交換機(jī)不再是關(guān)鍵設(shè)備時(shí),可以向交換機(jī)發(fā)送監(jiān)測(cè)刪除消息。相應(yīng)的,第一發(fā)送單元41,還向交換機(jī)發(fā)送監(jiān)測(cè)刪除消息,該監(jiān)測(cè)刪除消息攜帶消息標(biāo)識(shí),監(jiān)測(cè)刪除消息用于指示交換機(jī)停止消息標(biāo)識(shí)對(duì)應(yīng)的監(jiān)測(cè)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)的任務(wù)。圖5為本發(fā)明實(shí)施例提供的交換機(jī)結(jié)構(gòu)框圖,該交換機(jī)應(yīng)用于軟件定義網(wǎng)絡(luò)sdn。如圖5所示,該交換機(jī)包括:第二接收單元51、第二發(fā)送單元52和第二控制單元53;第二接收單元51,接收控制器發(fā)送的監(jiān)測(cè)請(qǐng)求消息。本實(shí)施例中,監(jiān)測(cè)請(qǐng)求消息指示交換機(jī)監(jiān)測(cè)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù),該系統(tǒng)運(yùn)行狀態(tài)參數(shù)包括cpu運(yùn)行狀態(tài)參數(shù)、內(nèi)存運(yùn)行狀態(tài)參數(shù)、硬盤運(yùn)行狀態(tài)參數(shù)和網(wǎng)卡資源運(yùn)行狀態(tài)參數(shù)中的一種或多種。第二控制單元53,根據(jù)監(jiān)測(cè)請(qǐng)求消息監(jiān)測(cè)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)。第二發(fā)送單元52,向控制器發(fā)送監(jiān)測(cè)應(yīng)答消息,該監(jiān)測(cè)應(yīng)答消息攜帶交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù),使控制器根據(jù)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)對(duì)該交換機(jī)進(jìn)行控制管理。本實(shí)施例中的監(jiān)測(cè)請(qǐng)求消息優(yōu)選地?cái)y帶針對(duì)系統(tǒng)運(yùn)行狀態(tài)參數(shù)預(yù)設(shè)的門限值,相應(yīng)的,第二發(fā)送單元52,在交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)達(dá)到門限值時(shí),向控制器發(fā)送監(jiān)測(cè)應(yīng)答消息。本實(shí)施例中的監(jiān)測(cè)請(qǐng)求消息還可以攜帶消息標(biāo)識(shí),該消息標(biāo)識(shí)用于唯一標(biāo)識(shí)監(jiān)測(cè)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)的任務(wù);則圖5所示的交換機(jī)還包括存儲(chǔ)單元,該存儲(chǔ)單元,保存監(jiān)測(cè)請(qǐng)求消息;相應(yīng)地,第二發(fā)送單元52,從監(jiān)測(cè)請(qǐng)求消息中獲取消息標(biāo)識(shí),向控制器發(fā)送攜帶該消息標(biāo)識(shí)的監(jiān)測(cè)應(yīng)答消息。由于控制器在不需要對(duì)某個(gè)(或某些)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)進(jìn)行監(jiān)控時(shí),可以向交換機(jī)發(fā)送監(jiān)測(cè)刪除消息。因此,本實(shí)施例的第二接收單元51,還接收控制器發(fā)送的監(jiān)測(cè)刪除消息,該監(jiān)測(cè)刪除消息攜帶消息標(biāo)識(shí);相應(yīng)地,第二控制單元53,根據(jù)監(jiān)測(cè)刪除消息停止消息標(biāo)識(shí)對(duì)應(yīng)的監(jiān)測(cè)交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)的任務(wù)。對(duì)于裝置實(shí)施例而言,由于其基本對(duì)應(yīng)于方法實(shí)施例,所以相關(guān)之處參見方法實(shí)施例的部分說明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。綜上,本發(fā)明實(shí)施例中控制器對(duì)交換機(jī)的控制方式至少具有以下有益效果:1、通過定制監(jiān)測(cè)請(qǐng)求消息和監(jiān)測(cè)應(yīng)答消息的消息交互機(jī)制擴(kuò)展openflow協(xié)議,利用擴(kuò)展的openflow協(xié)議實(shí)現(xiàn)控制器和交換機(jī)之間關(guān)于交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù)的實(shí)時(shí)交互,完善控制器和交換機(jī)之間的信令通道。2、sdn中的控制器獲取openflow交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù),并將系統(tǒng)運(yùn)行狀態(tài)參數(shù)作為對(duì)交換機(jī)的配置管理、流路徑管理的參照依據(jù),不但能夠降低交換機(jī)的系統(tǒng)狀態(tài)持續(xù)惡化的風(fēng)險(xiǎn),還降低了流路徑創(chuàng)建失敗的風(fēng)險(xiǎn),提升控制器對(duì)sdn網(wǎng)絡(luò)的管理效率和sdn網(wǎng)絡(luò)的運(yùn)行可靠性。3、控制器在openflow基礎(chǔ)網(wǎng)絡(luò)中實(shí)時(shí)獲取交換機(jī)的系統(tǒng)運(yùn)行狀態(tài)參數(shù),并由交換機(jī)自動(dòng)上報(bào)交換機(jī)本地系統(tǒng)運(yùn)行狀態(tài)參數(shù),無需控制器定時(shí)獲取,減少了控制器和交換機(jī)之間的協(xié)議交互,提高了控制器的運(yùn)行管理效率。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。當(dāng)前第1頁12當(dāng)前第1頁12