專利名稱:一種基于軟件定義網(wǎng)絡(luò)的網(wǎng)絡(luò)診斷方法、系統(tǒng)及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù),具體涉及一種基于軟件定義網(wǎng)絡(luò)(SoftwareDefinedNetwork, SDN)的網(wǎng)絡(luò)診斷方法、系統(tǒng)及設(shè)備。
背景技術(shù):
SDN是一種新型的網(wǎng)絡(luò)創(chuàng)新架構(gòu),其核心是構(gòu)建一個(gè)轉(zhuǎn)發(fā)面和控制面分離的網(wǎng)絡(luò)體系,像軟件開發(fā)、調(diào)試一樣調(diào)試網(wǎng)絡(luò),以支持網(wǎng)絡(luò)功能的不斷演進(jìn),從而實(shí)現(xiàn)網(wǎng)絡(luò)的靈活控制?;赟DN的網(wǎng)絡(luò)問題診斷較傳統(tǒng)的網(wǎng)絡(luò)問題診斷變得更加容易。傳統(tǒng)的網(wǎng)絡(luò)出現(xiàn)問題時(shí),需要相關(guān)廠商的技術(shù)人員收集設(shè)備上的日志,通過廠商私有的工具去診斷,定位故障比較繁瑣,而且周期較長。
在SDN架構(gòu)中,以O(shè)penFlow協(xié)議為例,網(wǎng)絡(luò)問題的診斷流程如圖I所示步驟11中,控制器向交換機(jī)發(fā)送FlowMod流表指令,命令交換機(jī)將指定報(bào)文上傳給控制器;這里,所述指定報(bào)文可以是指定報(bào)文首部關(guān)鍵字段的報(bào)文,例如是報(bào)文的目的介質(zhì)訪問控制(MediaAccess Control, MAC)地址為I的報(bào)文等等。步驟12,交換機(jī)將報(bào)文首部關(guān)鍵字段與流表項(xiàng)的匹配字段做匹配,將匹配成功的報(bào)文發(fā)送給控制器;流表項(xiàng)在交換機(jī)中存儲(chǔ),可以存在一個(gè)或多個(gè)。在控制器與交換機(jī)連接之后,流表項(xiàng)的內(nèi)容由維護(hù)人員通過控制器提供的接口設(shè)置;其中,現(xiàn)有的流表項(xiàng)邏輯結(jié)構(gòu)包括匹配字段、統(tǒng)計(jì)字段和執(zhí)行邏輯字段,匹配字段為針對(duì)報(bào)文首部的關(guān)鍵字段,例如流表項(xiàng)的匹配字段是目的MAC地址為1,則交換機(jī)將所有報(bào)文的報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段做匹配,將所有目的MAC地址為I的報(bào)文發(fā)送給控制器進(jìn)行網(wǎng)絡(luò)診斷。步驟13,控制器對(duì)報(bào)文進(jìn)行檢查、調(diào)試后,將報(bào)文從指定端口發(fā)出。目前基于SDN的網(wǎng)絡(luò)診斷方法仍有一些不足之處,首先,控制器需要向交換機(jī)發(fā)送額外的流表指令,用于通知交換機(jī)將指定報(bào)文發(fā)送給控制器,這些額外的流表指令可能會(huì)與已有的流表項(xiàng)沖突,使交換機(jī)無法判斷根據(jù)那個(gè)流表指令進(jìn)行進(jìn)程處理,從而導(dǎo)致交換機(jī)不能正確將指定報(bào)文發(fā)送給控制器;其次,OpenFlow協(xié)議無法攜帶交換機(jī)轉(zhuǎn)發(fā)面更加詳細(xì)的信息,例如交換機(jī)芯片的寄存器信息、內(nèi)存數(shù)據(jù)信息等等,從而導(dǎo)致這些硬件信息無法報(bào)告給控制器,使得在短時(shí)間內(nèi)難以確定網(wǎng)絡(luò)故障的位置,加大了網(wǎng)絡(luò)診斷的難度;第三,控制器網(wǎng)絡(luò)診斷結(jié)束之后只能將報(bào)文從指定端口發(fā)送出去,而無法繼續(xù)報(bào)文中斷的處理進(jìn)程,進(jìn)而無法實(shí)現(xiàn)像軟件開發(fā)、調(diào)試一樣調(diào)試網(wǎng)絡(luò),違背了 SDN的核心理念。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種基于軟件定義網(wǎng)絡(luò)的網(wǎng)絡(luò)診斷方法、系統(tǒng)及設(shè)備,能夠加速網(wǎng)絡(luò)故障的定位周期,達(dá)到提升網(wǎng)絡(luò)質(zhì)量、降低網(wǎng)絡(luò)的運(yùn)行維護(hù)成本的效果。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的本發(fā)明提供了一種基于SDN的網(wǎng)絡(luò)診斷方法,該方法包括交換機(jī)根據(jù)控制器發(fā)來的流表調(diào)試設(shè)置指令,設(shè)置流表項(xiàng)的調(diào)試選項(xiàng)規(guī)則;交換機(jī)將報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段做匹配,并判斷報(bào)文匹配的流表項(xiàng)是否設(shè)置了調(diào)試選項(xiàng)字段,若判斷的結(jié)果為是,則交換機(jī)根據(jù)調(diào)試選項(xiàng)字段內(nèi)容執(zhí)行相應(yīng)的調(diào)試動(dòng)作,將匹配的報(bào)文和上下文信息發(fā)送給控制器;控制器根據(jù)收到的報(bào)文和上下文信息進(jìn)行網(wǎng)絡(luò)診斷。上述方案中,所述交換機(jī)根據(jù)調(diào)試選項(xiàng)字段內(nèi)容執(zhí)行相應(yīng)的調(diào)試操作,將匹配的報(bào)文和上下文信息發(fā)送給控制器包括 若調(diào)試選項(xiàng)字段為上送至控制器,則交換機(jī)將匹配的報(bào)文和上下文信息立即發(fā)送給控制器;若調(diào)試選項(xiàng)字段為數(shù)據(jù)流日志緩存,則交換機(jī)將匹配的報(bào)文和上下文信息發(fā)送到交換機(jī)日志緩存,交換機(jī)從日志緩存中讀取報(bào)文和上下文信息發(fā)送給控制器。上述方案中,所述調(diào)試選項(xiàng)字段作為流表項(xiàng)中的獨(dú)立字段攜帶,或通過流表項(xiàng)中現(xiàn)有字段的擴(kuò)展屬性攜帶。上述方案中,所述交換機(jī)將報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段做匹配之前,該方法還包括交換機(jī)通過流表通知指令將流表項(xiàng)的調(diào)試選項(xiàng)能力發(fā)送給控制器;或控制器向交換機(jī)發(fā)送流表項(xiàng)的調(diào)試選項(xiàng)能力請(qǐng)求指令,交換機(jī)通過流表功能響應(yīng)指令將流表項(xiàng)的調(diào)試選項(xiàng)能力發(fā)送給控制器。上述方案中,所述控制器根據(jù)收到的報(bào)文和上下文信息進(jìn)行網(wǎng)絡(luò)診斷之后,進(jìn)一步包括控制器將報(bào)文和上下文信息發(fā)送給交換機(jī)繼續(xù)報(bào)文中斷的處理進(jìn)程。本發(fā)明還提供了一種基于SDN的網(wǎng)絡(luò)診斷系統(tǒng),該系統(tǒng)包括交換機(jī)和控制器;其中,所述交換機(jī),用于根據(jù)控制器發(fā)來的流表調(diào)試設(shè)置指令,設(shè)置流表項(xiàng)的調(diào)試選項(xiàng)規(guī)則;用于根據(jù)設(shè)置的流表項(xiàng)的調(diào)試選項(xiàng)規(guī)則,將報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段做匹配,并判斷報(bào)文匹配的流表項(xiàng)是否設(shè)置了調(diào)試選項(xiàng)字段,若判斷結(jié)果為是,則根據(jù)調(diào)試選項(xiàng)字段內(nèi)容執(zhí)行相應(yīng)的調(diào)試動(dòng)作,將匹配的報(bào)文和上下文信息發(fā)送給控制器;所述控制器,用于向交換機(jī)發(fā)送流表調(diào)試設(shè)置指令,設(shè)置流表項(xiàng)的調(diào)試選項(xiàng)規(guī)則;還用于接收交換機(jī)發(fā)來的報(bào)文和上下文信息,并根據(jù)報(bào)文和上下文信息進(jìn)行網(wǎng)絡(luò)診斷。上述方案中,所述交換機(jī),還用于在將報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段做匹配之前,將流表項(xiàng)的調(diào)試選項(xiàng)能力發(fā)送給控制器;相應(yīng)的,所述控制器,還用于接收交換機(jī)發(fā)來的流表項(xiàng)的調(diào)試選項(xiàng)能力;或所述控制器,還用于在將報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段做匹配之前,向交換機(jī)發(fā)送流表項(xiàng)的調(diào)試選項(xiàng)能力請(qǐng)求指令,并接收交換機(jī)返回的流表功能相應(yīng)指令;相應(yīng)的,所述交換機(jī),還用于在收到控制器發(fā)來的流表項(xiàng)的調(diào)試選項(xiàng)能力請(qǐng)求指令后,通過流表功能響應(yīng)指令將流表項(xiàng)的調(diào)試選項(xiàng)能力發(fā)送給控制器。上述方案中,所述控制器,還用于在網(wǎng)絡(luò)診斷結(jié)束后,將報(bào)文和上下文信息發(fā)送給交換機(jī);相應(yīng)的,所述交換機(jī),還用于網(wǎng)絡(luò)診斷結(jié)束后,接收控制器發(fā)來的報(bào)文和上下文信息繼續(xù)報(bào)文中斷的處理進(jìn)程。上述方案中,所述根據(jù)調(diào)試選項(xiàng)字段內(nèi)容執(zhí)行相應(yīng)的調(diào)試動(dòng)作,將匹配的報(bào)文和上下文信息發(fā)送給控制器包括若調(diào)試選項(xiàng)字段為報(bào)文上送至控制器,則交換機(jī)將匹配的報(bào)文和上下文信息立即發(fā)送給控制器;若調(diào)試選項(xiàng)字段為數(shù)據(jù)流日志緩存,則交換機(jī)將匹配的報(bào)文和上下文信息發(fā)送到交換機(jī)日志緩存,交換機(jī)從日志緩存中讀取報(bào)文和上下文信息發(fā)送給控制器。本發(fā)明還提供了一種交換機(jī),所述交換機(jī)包括調(diào)試選項(xiàng)設(shè)置模塊、第二調(diào)試選項(xiàng)能力接口、匹配執(zhí)行模塊、日志緩存模塊和數(shù)據(jù)讀取模塊;其中,所述調(diào)試選項(xiàng)設(shè)置模塊,用于根據(jù)控制器通過第二調(diào)試選項(xiàng)能力接口發(fā)來的流表調(diào)試設(shè)置指令,設(shè)置流表項(xiàng)的調(diào)試選項(xiàng)規(guī)則;所述第二調(diào)試選項(xiàng)能力接口,用于將控制器發(fā)來的流表調(diào)試設(shè)置指令發(fā)送給調(diào)試選項(xiàng)設(shè)置模塊;所述匹配執(zhí)行模塊,用于將報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段做匹配,并判斷該報(bào)文匹配的流表項(xiàng)是否設(shè)置了調(diào)試選項(xiàng)字段,若判斷結(jié)果為是,則根據(jù)調(diào)試選項(xiàng)內(nèi)容將報(bào)文和上下文信息發(fā)送給控制器,或發(fā)送給日志緩存模塊;所述日志緩存模塊,用于存儲(chǔ)匹配執(zhí)行模塊發(fā)來的報(bào)文和上下文信息;所述數(shù)據(jù)讀取模塊,用于讀取日志緩存模塊中存儲(chǔ)的報(bào)文和上下文信息,并將讀取的信息發(fā)送給控制器。上述方案中,所述交換機(jī)還包括能力上報(bào)模塊,用于在將報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段做匹配之前,將流表項(xiàng)的調(diào)試選項(xiàng)能力通過第二調(diào)試選項(xiàng)能力接口發(fā)送給控制器;或在收到控制器通過第二調(diào)試選項(xiàng)能力接口發(fā)來的流表項(xiàng)的調(diào)試選項(xiàng)能力請(qǐng)求指令后,通過第二調(diào)試選項(xiàng)能力接口將流表功能響應(yīng)指令發(fā)送給控制器;相應(yīng)的,所述第二調(diào)試選項(xiàng)能力接口還用于將能力上報(bào)模塊發(fā)來的流表項(xiàng)的調(diào)試選項(xiàng)能力發(fā)送給控制器;或?qū)⒖刂破靼l(fā)來的流表項(xiàng)的調(diào)試選項(xiàng)能力請(qǐng)求指令發(fā)送給能力上報(bào)模塊后,將能力上報(bào)模塊發(fā)來的流表功能響應(yīng)指令發(fā)送給控制器。上述方案中,所述匹配執(zhí)行模塊還用于在控制器對(duì)報(bào)文網(wǎng)絡(luò)診斷結(jié)束后,接收控制器發(fā)來的報(bào)文和上下文信息,并繼續(xù)報(bào)文中斷的處理進(jìn)程。上述方案中,所述根據(jù)調(diào)試選項(xiàng)內(nèi)容將報(bào)文和上下文信息發(fā)送給控制器,或發(fā)送給日志緩存模塊包括若調(diào)試選項(xiàng)字段為報(bào)文上送至控制器,則匹配執(zhí)行模塊將匹配的報(bào)文和上下文信息立即發(fā)送給控制器;若調(diào)試選項(xiàng)字段為數(shù)據(jù)流日志緩存,則匹配執(zhí)行模塊將匹配的報(bào)文和上下文信息發(fā)送到日志緩存模塊,匹配執(zhí)行模塊從日志緩存模塊中讀取報(bào)文和上下文信息發(fā)送給控制器。
本發(fā)明還提供了一種控制器,所述控制器包括指令設(shè)置模塊、第一調(diào)試選項(xiàng)能力接口、數(shù)據(jù)接收模塊和診斷應(yīng)用模塊;其中,所述指令設(shè)置模塊,用于通過第一調(diào)試選項(xiàng)能力接口向交換機(jī)發(fā)送流表調(diào)試設(shè)置指令,設(shè)置流表項(xiàng)的調(diào)試選項(xiàng)規(guī)則;所述第一調(diào)試選項(xiàng)能力接口,用于將指令設(shè)置模塊發(fā)來的流表調(diào)試設(shè)置指令發(fā)送給交換機(jī);所述數(shù)據(jù)收發(fā)模塊,用于接收交換機(jī)發(fā)來的報(bào)文和上下文信息,并將報(bào)文和上下文信息發(fā)送給應(yīng)用診斷模塊;所述診斷應(yīng)用模塊,用于根據(jù)數(shù)據(jù)收發(fā)模塊發(fā)來的報(bào)文和上下文信息進(jìn)行網(wǎng)絡(luò)診斷。上述方案中,所述控制器還包括能力獲取模塊,用于在將報(bào)文首部的關(guān)鍵字段與 流表項(xiàng)的匹配字段做匹配之前,通過第一調(diào)試選項(xiàng)能力接口接收交換機(jī)發(fā)來的流表項(xiàng)的調(diào)試選項(xiàng)能力;或通過第一調(diào)試選項(xiàng)能力接口向交換機(jī)發(fā)送流表項(xiàng)的調(diào)試選項(xiàng)能力請(qǐng)求指令,并通過第一調(diào)試選項(xiàng)能力接口接收交換機(jī)返回的流表功能響應(yīng)指令;相應(yīng)的,所述第一調(diào)試選項(xiàng)能力接口,還用于將交換機(jī)發(fā)來的流表項(xiàng)的調(diào)試選項(xiàng)能力發(fā)送給能力獲取模塊;或?qū)⒛芰Λ@取模塊發(fā)來的流表項(xiàng)的調(diào)試選項(xiàng)能力請(qǐng)求指令發(fā)送給交換機(jī),將交換機(jī)返回的流表功能相應(yīng)指令發(fā)送給能力獲取模塊。上述方案中,所述數(shù)據(jù)收發(fā)模塊,還用于在網(wǎng)絡(luò)診斷結(jié)束后,將報(bào)文和上下文信息發(fā)送給交換機(jī)。本發(fā)明提供的技術(shù)方案的有益方面包括如下幾點(diǎn)首先,控制器向交換機(jī)發(fā)送流表調(diào)試設(shè)置指令,設(shè)置流表項(xiàng)的調(diào)試選項(xiàng)規(guī)則,這些流表調(diào)試設(shè)置指令不會(huì)與已有的流表項(xiàng)發(fā)生沖突。其次,交換機(jī)將匹配的報(bào)文和上下文信息發(fā)送給控制器進(jìn)行網(wǎng)絡(luò)診斷,如此,使控制器可以根據(jù)上下文信息快速確定網(wǎng)絡(luò)故障的位置,加速網(wǎng)絡(luò)故障的定位周期,達(dá)到提升網(wǎng)絡(luò)質(zhì)量、降低網(wǎng)絡(luò)的運(yùn)行維護(hù)成本的效果,并且在網(wǎng)絡(luò)診斷結(jié)束后,控制器將報(bào)文和上下文信息同時(shí)發(fā)送給交換機(jī),使交換機(jī)能夠繼續(xù)報(bào)文中斷的處理進(jìn)程。另外,調(diào)試選項(xiàng)字段包括但不限于上送至控制器和數(shù)據(jù)流日志緩存,使交換機(jī)根據(jù)控制器的設(shè)置將報(bào)文和上下文信息發(fā)送至控制器、或發(fā)送至數(shù)據(jù)流日志緩存,交換機(jī)再根據(jù)帶寬容量按一定頻率從日志緩存中讀取報(bào)文和上下文信息發(fā)送給控制器,如此,可以控制交換機(jī)和控制器之間的數(shù)據(jù)傳輸容量不至于過大而造成傳輸擁堵。
圖I為現(xiàn)有技術(shù)中基于SDN的網(wǎng)絡(luò)診斷方法的流程示意圖;圖2為本發(fā)明基于SDN的網(wǎng)絡(luò)診斷方法的流程示意圖;圖3為本發(fā)明基于SDN的網(wǎng)絡(luò)診斷系統(tǒng)的組成架構(gòu)示意圖;圖4為本發(fā)明實(shí)施例提供的基于SDN的網(wǎng)絡(luò)診斷方法的流程示意圖。
具體實(shí)施例方式下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明再作進(jìn)一步詳細(xì)的說明。
圖2為本發(fā)明基于SDN的網(wǎng)絡(luò)診斷方法的流程示意圖,如圖2所示,包括以下步驟步驟21 :交換機(jī)根據(jù)控制器發(fā)來的流表調(diào)試設(shè)置指令,設(shè)置流表項(xiàng)的調(diào)試選項(xiàng)規(guī)則;這里,控制器可通過控制器本身的調(diào)試選項(xiàng)能力接口向交換機(jī)發(fā)送流表調(diào)試設(shè)置指令,用來設(shè)置調(diào)試選項(xiàng)規(guī)則,所述流表調(diào)試設(shè)置指令包括流表號(hào)、匹配字段和調(diào)試選項(xiàng)字段;所述調(diào)試選項(xiàng)字段包括上送至控制器、數(shù)據(jù)流日志緩存等等;所述流表調(diào)試指令可通過標(biāo)準(zhǔn)協(xié)議承載,如OpenFlow協(xié)議,向交換機(jī)設(shè)置調(diào)試選項(xiàng)規(guī)則。具體的,流表調(diào)試設(shè)置指令可以為流表號(hào)為a,匹配字段為源MAC地址是b,調(diào)試選項(xiàng)字段為數(shù)據(jù)流日志緩存。這里,交換機(jī)可通過交換機(jī)本身的調(diào)試選項(xiàng)能力接口接收控制器發(fā)來的流表調(diào)試設(shè)置指令,用來設(shè)置調(diào)試選項(xiàng)規(guī)則;其中,所述控制器提供的調(diào)試選項(xiàng)能力接口是基于交換機(jī)提供的調(diào)試選項(xiàng)能力接口的基礎(chǔ)之上開發(fā)的;
其中,維護(hù)人員可以通過控制器提供的接口設(shè)置調(diào)試選項(xiàng)規(guī)則,所述調(diào)試選項(xiàng)規(guī)則可根據(jù)維護(hù)人員的需要進(jìn)行設(shè)置,例如,設(shè)備a至設(shè)備b之間網(wǎng)絡(luò)發(fā)生異常,則維護(hù)人員可以設(shè)置流表號(hào)為I、匹配字段為源MAC地址為設(shè)備a地址和目的MAC地址為設(shè)備b地址、調(diào)試選項(xiàng)字段為上送至控制器,進(jìn)而控制交換機(jī)將發(fā)生異常區(qū)域的報(bào)文發(fā)送給控制器進(jìn)行網(wǎng)絡(luò)診斷;其中,所述控制器泛指能夠通過命令控制、查詢、維護(hù)交換機(jī)/路由器的裝置。例如對(duì)于傳統(tǒng)的交換機(jī)而言,通過簡單網(wǎng)絡(luò)管理協(xié)議(Simple NetworkManagementProtocol, SNMP)、網(wǎng)絡(luò)配置協(xié)議(NETC0NF)等標(biāo)準(zhǔn)協(xié)議管理交換機(jī)的網(wǎng)絡(luò)管理系統(tǒng)可視為控制器的一種;對(duì)于軟件定義網(wǎng)絡(luò)領(lǐng)域中的控制器而言,通過OpenFlow標(biāo)準(zhǔn)協(xié)議控制交換機(jī)轉(zhuǎn)發(fā)行為的裝置可視為控制器的一種。步驟22 :交換機(jī)將報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段做匹配,并判斷報(bào)文匹配的流表項(xiàng)是否設(shè)置了調(diào)試選項(xiàng)字段,若判斷的結(jié)果為是,則交換機(jī)根據(jù)調(diào)試選項(xiàng)字段內(nèi)容將匹配的報(bào)文和上下文信息發(fā)送給控制器;這里,所述交換機(jī)將報(bào)文首部的關(guān)鍵字段與流表項(xiàng)中的匹配字段做匹配之前,該方法還包括交換機(jī)通過流表通知指令將流表項(xiàng)的調(diào)試選項(xiàng)能力發(fā)送給控制器;或控制器向交換機(jī)發(fā)送流表項(xiàng)的調(diào)試選項(xiàng)能力請(qǐng)求指令,交換機(jī)通過流表功能響應(yīng)指令將流表項(xiàng)的調(diào)試選項(xiàng)能力發(fā)送給控制器。其中,由于交換機(jī)中有部分流表項(xiàng)是硬件固化流表項(xiàng),硬件固化流表項(xiàng)中的流表調(diào)試規(guī)則不能被交換機(jī)通過流表調(diào)試設(shè)置指令所設(shè)置,因此,在交換機(jī)將報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段做匹配之前,需將流表項(xiàng)的調(diào)試選項(xiàng)能力上報(bào)給控制器,以防止控制器設(shè)置的流表調(diào)試規(guī)則與硬件固化流表項(xiàng)中的流表調(diào)試規(guī)則發(fā)生沖突,便于控制器能夠及時(shí)做出調(diào)整,保證進(jìn)程的正常運(yùn)行;其中,所述調(diào)試選項(xiàng)能力為所有攜帶有調(diào)試選項(xiàng)字段的流表項(xiàng)的內(nèi)容,包括流表號(hào)、匹配字段和調(diào)試選項(xiàng)字段等信息;其中,所述調(diào)試選項(xiàng)字段包括報(bào)文上送至控制器和數(shù)據(jù)流日志緩存等等。這里,所述交換機(jī)根據(jù)調(diào)試選項(xiàng)字段內(nèi)容將匹配的報(bào)文和上下文信息發(fā)送給控制器包括若調(diào)試選項(xiàng)字段為上送至控制器,則交換機(jī)將匹配的報(bào)文和上下文信息立即發(fā)送給控制器;若調(diào)試選項(xiàng)字段為數(shù)據(jù)流日志緩存,則交換機(jī)將匹配的報(bào)文和上下文信息發(fā)送到交換機(jī)日志緩存,交換機(jī)從日志緩存中讀取報(bào)文和上下文信息發(fā)送給控制器。這里,交換機(jī)可根據(jù)控制器和交換機(jī)之間的傳輸帶寬容量設(shè)置采樣頻率來控制交換機(jī)從日志緩存中讀取報(bào)文和上下文信息的大小,以控制交換機(jī)和控制器之間的數(shù)據(jù)傳輸容量不至于過大而造成傳輸擁堵。具體的,以交換機(jī)中的流表項(xiàng)包括I 255張、其中流表號(hào)為a的流表項(xiàng)的匹配字段為目的MAC地址為I、調(diào)試選項(xiàng)字段為上送至控制器為例,當(dāng)交換機(jī)收到報(bào)文后,假設(shè) 該報(bào)文首部的目的MAC地址也為1,將數(shù)據(jù)報(bào)文從流表號(hào)為I的流表項(xiàng)開始進(jìn)行匹配進(jìn)程處理,直至進(jìn)行到流表號(hào)為a的流表項(xiàng),報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段匹配成功,則進(jìn)一步判斷匹配的流表項(xiàng)是否攜帶調(diào)試選項(xiàng)字段,此處判斷的結(jié)果為是,則根據(jù)調(diào)試選項(xiàng)字段內(nèi)容上送至控制器,交換機(jī)將報(bào)文和上下文信息立即發(fā)送給控制器進(jìn)行網(wǎng)絡(luò)診斷;其中,所述調(diào)試選項(xiàng)字段可以作為流表項(xiàng)中的獨(dú)立字段攜帶,也可以作為流表項(xiàng)中現(xiàn)有字段的擴(kuò)展屬性攜帶,比如作為執(zhí)行邏輯字段的擴(kuò)展字段攜帶;其中,所述上下文信息包括抽象的上下文信息和私有的上下文信息;其中,所述抽象的上下文信息包括報(bào)文匹配的流表號(hào)、流表項(xiàng)信息、報(bào)文首部信息等等;所述私有的上下文信息包括轉(zhuǎn)發(fā)面芯片的寄存器信息、內(nèi)存數(shù)據(jù)信息等報(bào)文所述的硬件方面的信息。步驟23 :控制器將報(bào)文和上下文信息發(fā)送給診斷應(yīng)用進(jìn)行網(wǎng)絡(luò)診斷;這里,控制器的收發(fā)端口收到報(bào)文和上下文信息后通過診斷信息指令將報(bào)文和上下文信息發(fā)送給診斷應(yīng)用,維護(hù)人員可以在診斷應(yīng)用中對(duì)網(wǎng)絡(luò)故障進(jìn)行定位,在診斷應(yīng)用中的仿真調(diào)試應(yīng)用里,通過報(bào)文和上下文信息可以恢復(fù)網(wǎng)絡(luò)設(shè)備轉(zhuǎn)發(fā)面的上下文信息,通過仿真運(yùn)行的方式對(duì)網(wǎng)絡(luò)故障進(jìn)行調(diào)試跟蹤,確定網(wǎng)絡(luò)故障位置;另外,控制器還可以將報(bào)文和上下文信息發(fā)送到第三方診斷平臺(tái)進(jìn)行更進(jìn)一步的問題診斷;該診斷過程不在本發(fā)明的保護(hù)范圍,此處不在贅述。這里,所述控制器根據(jù)收到的報(bào)文和上下文信息進(jìn)行網(wǎng)絡(luò)診斷之后,進(jìn)一步包括控制器將報(bào)文和上下文信息發(fā)送給交換機(jī)繼續(xù)報(bào)文中斷的處理進(jìn)程;具體的,當(dāng)網(wǎng)絡(luò)診斷結(jié)束后,控制器將報(bào)文及上下文信息同時(shí)發(fā)送給交換機(jī),使得交換機(jī)根據(jù)上下文信息能夠繼續(xù)報(bào)文中斷的處理進(jìn)程。例如在交換機(jī)將報(bào)文和上下文信息發(fā)送給控制器之前,交換機(jī)將報(bào)文和流表項(xiàng)進(jìn)行匹配處理至流表號(hào)為a的流表項(xiàng),則交換機(jī)收到報(bào)文和上下文信息后,根據(jù)上下文信息中,得知該報(bào)文進(jìn)行到流表號(hào)為a的流表項(xiàng)匹配處理進(jìn)程中,交換機(jī)將從流表號(hào)為a+Ι的流表項(xiàng)匹配處理進(jìn)程開始,繼續(xù)對(duì)報(bào)文進(jìn)行處理,直至報(bào)文結(jié)束全部255張流表項(xiàng)的匹配處理進(jìn)程,從交換機(jī)的指定端口發(fā)送至原目的地址。圖3為本發(fā)明基于SDN的網(wǎng)絡(luò)診斷系統(tǒng)的組成架構(gòu)示意圖,如圖2所示,該系統(tǒng)包括交換機(jī)31和控制器32 ;其中,所述交換機(jī)31,用于根據(jù)控制器32發(fā)來的流表調(diào)試設(shè)置指令,設(shè)置流表項(xiàng)的調(diào)試選項(xiàng)規(guī)則;用于根據(jù)設(shè)置的流表項(xiàng)的調(diào)試選項(xiàng)規(guī)則,將報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段做匹配,并判斷報(bào)文匹配的流表項(xiàng)是否設(shè)置了調(diào)試選項(xiàng)字段,若判斷結(jié)果為是,則根據(jù)調(diào)試選項(xiàng)字段內(nèi)容將匹配的報(bào)文和上下文信息發(fā)送給控制器32 ;所述控制器32,用于向交換機(jī)31發(fā)送流表調(diào)試設(shè)置指令,設(shè)置流表項(xiàng)的調(diào)試選項(xiàng)規(guī)則;還用于接收交換機(jī)31發(fā)來的報(bào)文和上下文信息,并根據(jù)報(bào)文和上下文信息進(jìn)行網(wǎng)絡(luò)診斷。進(jìn)一步的,所述交換機(jī)31,還用于在將報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段做匹配之前,將流表項(xiàng)的調(diào)試選項(xiàng)能力發(fā)送給控制器32 ;相應(yīng)的,所述控制器32,還用于接收交換機(jī)31發(fā)來的流表項(xiàng)的調(diào)試選項(xiàng)能力;·
或所述控制器32,還用于在將報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段做匹配之前,向交換機(jī)31發(fā)送流表項(xiàng)的調(diào)試選項(xiàng)能力請(qǐng)求指令,并接收交換機(jī)31返回的流表功能相應(yīng)指令;相應(yīng)的,所述交換機(jī)31,還用于在收到控制器32發(fā)來的流表項(xiàng)的調(diào)試選項(xiàng)能力請(qǐng)求指令后,通過流表功能響應(yīng)指令將流表項(xiàng)的調(diào)試選項(xiàng)能力發(fā)送給控制器32。所述控制器32,進(jìn)一步用于在網(wǎng)絡(luò)診斷結(jié)束后,將報(bào)文和上下文信息發(fā)送給交換機(jī)31 ;所述交換機(jī)31,進(jìn)一步用于在網(wǎng)絡(luò)診斷結(jié)束后,接收控制器32發(fā)來的報(bào)文和上下文信息繼續(xù)報(bào)文中斷的處理進(jìn)程。這里,交換機(jī)31根據(jù)調(diào)試選項(xiàng)字段內(nèi)容將匹配的報(bào)文和上下文信息發(fā)送給控制器32包括若調(diào)試選項(xiàng)字段為報(bào)文上送至控制器,則交換機(jī)31將匹配的報(bào)文和上下文信息立即發(fā)送給控制器32;若調(diào)試選項(xiàng)字段為數(shù)據(jù)流日志緩存,則交換機(jī)31將匹配的報(bào)文和上下文信息發(fā)送到交換機(jī)日志緩存,交換機(jī)31從日志緩存中讀取報(bào)文和上下文信息發(fā)送給控制器32。進(jìn)一步的,所述系統(tǒng)還包括第三方診斷平臺(tái)33,用于根據(jù)控制器發(fā)來的報(bào)文和上下文信息進(jìn)行網(wǎng)絡(luò)診斷;相應(yīng)的,所述控制器32,還用于將報(bào)文和上下文信息發(fā)送至第三方診斷平臺(tái)33。進(jìn)一步的,所述交換機(jī)31包括調(diào)試選項(xiàng)設(shè)置模塊314、第二調(diào)試選項(xiàng)能力接口316、匹配執(zhí)行模塊311、日志緩存模塊312和數(shù)據(jù)讀取模塊313 ;其中,所述調(diào)試選項(xiàng)設(shè)置模塊314,用于根據(jù)控制器32通過第二調(diào)試選項(xiàng)能力接口 316發(fā)來的流表調(diào)試設(shè)置指令,設(shè)置流表項(xiàng)的調(diào)試選項(xiàng)規(guī)則;所述第二調(diào)試選項(xiàng)能力接口 316,用于將控制器32發(fā)來的流表調(diào)試設(shè)置指令發(fā)送給調(diào)試選項(xiàng)設(shè)置模塊314 ;所述匹配執(zhí)行模塊311,用于將報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段做匹配,并判斷該報(bào)文匹配的流表項(xiàng)是否設(shè)置了調(diào)試選項(xiàng)字段,若判斷結(jié)果為是,則根據(jù)調(diào)試選項(xiàng)字段內(nèi)容將報(bào)文和上下文信息發(fā)送給控制器32,或發(fā)送給日志緩存模塊312 ;所述日志緩存模塊312,用于存儲(chǔ)匹配執(zhí)行模塊311發(fā)來的報(bào)文和上下文信息;
所述數(shù)據(jù)讀取模塊313,用于讀取日志緩存模塊312中存儲(chǔ)的報(bào)文和上下文信息,并將讀取的信息發(fā)送給控制器32。進(jìn)一步的,所述交換機(jī)31還包括能力上報(bào)模塊315,用于在將報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段做匹配之前,將流表項(xiàng)的調(diào)試選項(xiàng)能力通過第二調(diào)試選項(xiàng)能力接口316發(fā)送給控制器32 ;或在收到控制器32通過第二調(diào)試選項(xiàng)能力接口 316發(fā)來的流表項(xiàng)的調(diào)試選項(xiàng)能力請(qǐng)求指令后,通過第二調(diào)試選項(xiàng)能力接口 316將流表功能響應(yīng)指令發(fā)送給控制器32 ;相應(yīng)的,所述第二調(diào)試選項(xiàng)能力接口 316還用于將能力上報(bào)模塊315發(fā)來的流表項(xiàng)的調(diào)試選項(xiàng)能力發(fā)送給控制器32 ;或?qū)⒖刂破?2發(fā)來的流表項(xiàng)的調(diào)試選項(xiàng)能力請(qǐng)求指令發(fā)送給能力上報(bào)模塊315后,將能力上報(bào)模塊315發(fā)來的流表功能響應(yīng)指令發(fā)送給控制器32。進(jìn)一步的,所述匹配執(zhí)行模塊311,還用于在控制器32對(duì)報(bào)文網(wǎng)絡(luò)診斷結(jié)束后,接 收控制器32發(fā)來的報(bào)文和上下文信息,并繼續(xù)報(bào)文中斷的處理進(jìn)程。進(jìn)一步的,所述控制器32包括指令設(shè)置模塊321、第一調(diào)試選項(xiàng)能力接口 325、數(shù)據(jù)收發(fā)模塊322和診斷應(yīng)用模塊323 ;其中,所述指令設(shè)置模塊321,用于通過第一調(diào)試選項(xiàng)能力接口 325向交換機(jī)31發(fā)送流表調(diào)試設(shè)置指令,設(shè)置流表項(xiàng)的調(diào)試選項(xiàng)規(guī)則;所述第一調(diào)試選項(xiàng)能力接口 325,用于將指令設(shè)置模塊321發(fā)來的流表調(diào)試設(shè)置指令發(fā)送給交換機(jī)31 ;所述數(shù)據(jù)收發(fā)模塊322,用于接收交換機(jī)31發(fā)來的報(bào)文和上下文信息,并將報(bào)文和上下文信息發(fā)送給應(yīng)用診斷模塊323 ;所述診斷應(yīng)用模塊323,用于根據(jù)數(shù)據(jù)收發(fā)模塊322發(fā)來的報(bào)文和上下文信息進(jìn)行網(wǎng)絡(luò)診斷。進(jìn)一步的,所述控制器32還包括能力獲取模塊324,用于在將報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段做匹配之前,通過第一調(diào)試選項(xiàng)能力接口 325接收交換機(jī)31發(fā)來的流表項(xiàng)的調(diào)試選項(xiàng)能力;或通過第一調(diào)試選項(xiàng)能力接口 325向交換機(jī)31發(fā)送流表項(xiàng)的調(diào)試選項(xiàng)能力請(qǐng)求指令,并通過第一調(diào)試選項(xiàng)能力接口 325接收交換機(jī)31返回的流表功能響應(yīng)指令;相應(yīng)的,所述第一調(diào)試選項(xiàng)能力接口 325,還用于將交換機(jī)31發(fā)來的流表項(xiàng)的調(diào)試選項(xiàng)能力發(fā)送給能力獲取模塊324 ;或?qū)⒛芰Λ@取模塊324發(fā)來的流表項(xiàng)的調(diào)試選項(xiàng)能力請(qǐng)求指令發(fā)送給交換機(jī)31,將交換機(jī)31返回的流表功能相應(yīng)指令發(fā)送給能力獲取模塊324。進(jìn)一步的,所述數(shù)據(jù)收發(fā)模塊322,還用于在網(wǎng)絡(luò)診斷結(jié)束后,將報(bào)文和上下文信息發(fā)送給交換機(jī)31。進(jìn)一步的,所述數(shù)據(jù)收發(fā)模塊322,還用于將報(bào)文和上下文信息發(fā)送至第三方診斷平臺(tái)33。圖4為本發(fā)明實(shí)施例提供的基于SDN的網(wǎng)絡(luò)診斷方法的流程示意圖,如圖4所示,包括以下步驟步驟401 :控制器與交換機(jī)建立連接,控制器向交換機(jī)發(fā)送流表調(diào)試設(shè)置指令,設(shè)置流表項(xiàng)的調(diào)試選項(xiàng)規(guī)則;這里,維護(hù)人員可以通過控制器提供的調(diào)試選項(xiàng)能力接口設(shè)置調(diào)試選項(xiàng)規(guī)則,通過流表調(diào)試指令向一個(gè)或多個(gè)交換機(jī)發(fā)送該流表調(diào)試設(shè)置指令;所述流表調(diào)試指令可通過標(biāo)準(zhǔn)協(xié)議承載,如OpenFlow協(xié)議,向交換機(jī)設(shè)置調(diào)試選項(xiàng)規(guī)則;其中,所述流表調(diào)試選項(xiàng)指令包括流表號(hào)、匹配字段和調(diào)試選項(xiàng)字段,具體需要在哪個(gè)流表項(xiàng)中設(shè)置調(diào)試選項(xiàng)字段可以由維護(hù)人員通過控制器提供的接口來設(shè)置;所述調(diào)試選項(xiàng)字段包括上送至控制器、數(shù)據(jù)流日志緩存等等;具體的,若調(diào)試選項(xiàng)字段為上送至控制器,則交換機(jī)將匹配到的報(bào)文和上下文信息發(fā)送至控制器;若調(diào)試選項(xiàng)字段為數(shù)據(jù)流日志緩存,則交換機(jī)將匹配到的報(bào)文和上下文信息發(fā)送
至本地交換機(jī)日志緩存,并按一定的采樣頻率讀取日志緩存中存儲(chǔ)的報(bào)文和上下文信息,將報(bào)文和上下文信息發(fā)送給控制器。步驟402 :交換機(jī)通過流表通知指令將流表項(xiàng)的調(diào)試選項(xiàng)能力發(fā)送給控制器;這里,所述交換機(jī)通過流表通知指令將流表項(xiàng)的調(diào)試選項(xiàng)能力發(fā)送給控制器,也可以是控制器向交換機(jī)發(fā)送流表功能請(qǐng)求指令,交換機(jī)通過流表功能相應(yīng)指令將流表項(xiàng)的調(diào)試選項(xiàng)能力發(fā)送給控制器;其中,由于交換機(jī)中有部分流表項(xiàng)是硬件固化流表項(xiàng),硬件固化流表項(xiàng)中的流表調(diào)試規(guī)則不能被交換機(jī)通過流表調(diào)試設(shè)置指令所設(shè)置,因此,在交換機(jī)將報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段做匹配之前,需將流表項(xiàng)的調(diào)試選項(xiàng)能力上報(bào)給控制器,以防止控制器設(shè)置的流表調(diào)試規(guī)則與硬件固化流表項(xiàng)中的流表調(diào)試規(guī)則發(fā)生沖突,便于控制器能夠及時(shí)做出調(diào)整,保證進(jìn)程的正常運(yùn)行;其中,所述流表項(xiàng)的調(diào)試選項(xiàng)能力為所有攜帶有調(diào)試選項(xiàng)字段的流表項(xiàng)的內(nèi)容,包括流表號(hào)、匹配字段和調(diào)試選項(xiàng)字段等信息。步驟403 404 :交換機(jī)將報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段做匹配,并判斷匹配的流表項(xiàng)是否設(shè)置了調(diào)試選項(xiàng)字段,若判斷的結(jié)果為是,則執(zhí)行步驟405 408 ;這里,所述報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段可以是目的MAC地址、源MAC地址等信息,例如,流表號(hào)為a的流表項(xiàng)的匹配字段是目的MAC地址為1,若報(bào)文首部的目的MAC地址也為1,則該報(bào)文首部的關(guān)鍵字段與該流表項(xiàng)的匹配字段匹配成功;若報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段匹配成功,則進(jìn)一步判斷匹配的流表項(xiàng)是否設(shè)置了調(diào)試選項(xiàng)字段,若判斷的結(jié)果為是,則依據(jù)調(diào)試選項(xiàng)字段的具體內(nèi)容,執(zhí)行步驟 405 408 ;若調(diào)試選項(xiàng)字段為上送控制器,則執(zhí)行步驟405 :交換機(jī)將報(bào)文和上下文信息立即發(fā)送至控制器;若調(diào)試選項(xiàng)字段為數(shù)據(jù)流日志緩存,則執(zhí)行步驟406 :交換機(jī)將報(bào)文和上下文信息發(fā)送至日志緩存,交換機(jī)從日志緩存中讀取報(bào)文和上下文信息發(fā)送給控制器;這里,所述日志緩存可以保存在交換機(jī)的硬盤中,交換機(jī)可以根據(jù)控制器和交換機(jī)之間的傳輸帶寬容量設(shè)置采樣頻率來控制交換機(jī)從日志緩存中讀取報(bào)文和上下文信息的大小,以控制交換機(jī)和控制器之間的數(shù)據(jù)傳輸通量不至于過大而造成傳輸擁堵。當(dāng)交換機(jī)將報(bào)文和上下文信息發(fā)送給控制器后,執(zhí)行步驟407 408
步驟407 :控制器將報(bào)文和上下文信息發(fā)送給診斷應(yīng)用進(jìn)行網(wǎng)絡(luò)診斷;這里,控制器的收發(fā)端口收到報(bào)文和上下文信息后通過診斷信息指令將報(bào)文和上下文信息發(fā)送給診斷應(yīng)用,維護(hù)人員可以在診斷應(yīng)用中對(duì)網(wǎng)絡(luò)故障進(jìn)行定位,在診斷應(yīng)用中的仿真調(diào)試應(yīng)用里,通過報(bào)文和上下文信息可以恢復(fù)網(wǎng)絡(luò)設(shè)備轉(zhuǎn)發(fā)面的上下文信息,通過仿真運(yùn)行的方式對(duì)網(wǎng)絡(luò)故障進(jìn)行調(diào)試跟蹤,確定網(wǎng)絡(luò)故障位置;步驟408 :診斷結(jié)束后,控制器將報(bào)文和上下文信息發(fā)送給交換機(jī),交換機(jī)根據(jù)上下文信息繼續(xù)報(bào)文中斷的處理進(jìn)程;這里,交換機(jī)中的流表項(xiàng)可以包括I X張,在交換機(jī)將報(bào)文和上下文信息發(fā)送給控制器之前,交換機(jī)將報(bào)文和流表項(xiàng)進(jìn)行匹配處理至流表號(hào)為a的流表項(xiàng),則交換機(jī)收到報(bào)文和上下文信息后,上下文信息得知該報(bào)文進(jìn)行到流表項(xiàng)為a的流表項(xiàng)匹配處理進(jìn)程, 交換機(jī)將從流表號(hào)為a+Ι的流表項(xiàng)匹配處理進(jìn)程開始,繼續(xù)對(duì)報(bào)文進(jìn)行處理,直至報(bào)文結(jié)束全部X張流表項(xiàng)的匹配處理進(jìn)程,從交換機(jī)的指定端口發(fā)送至原目的地址。若調(diào)試選項(xiàng)字段為數(shù)據(jù)流鏡像,則交換機(jī)將報(bào)文和上下文信息從指定端口發(fā)送至報(bào)文原目的地址。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和范圍之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種基于軟件定義網(wǎng)絡(luò)SDN的網(wǎng)絡(luò)診斷方法,其特征在于,該方法包括 交換機(jī)根據(jù)控制器發(fā)來的流表調(diào)試設(shè)置指令,設(shè)置流表項(xiàng)的調(diào)試選項(xiàng)規(guī)則; 交換機(jī)將報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段做匹配,并判斷報(bào)文匹配的流表項(xiàng)是否設(shè)置了調(diào)試選項(xiàng)字段,若判斷的結(jié)果為是,則交換機(jī)根據(jù)調(diào)試選項(xiàng)字段內(nèi)容執(zhí)行相應(yīng)的調(diào)試動(dòng)作,將匹配的報(bào)文和上下文信息發(fā)送給控制器; 控制器根據(jù)收到的報(bào)文和上下文信息進(jìn)行網(wǎng)絡(luò)診斷。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述交換機(jī)根據(jù)調(diào)試選項(xiàng)字段內(nèi)容執(zhí)行相應(yīng)的調(diào)試操作,將匹配的報(bào)文和上下文信息發(fā)送給控制器包括 若調(diào)試選項(xiàng)字段為上送至控制器,則交換機(jī)將匹配的報(bào)文和上下文信息立即發(fā)送給控制器; 若調(diào)試選項(xiàng)字段為數(shù)據(jù)流日志緩存,則交換機(jī)將匹配的報(bào)文和上下文信息發(fā)送到交換機(jī)日志緩存,交換機(jī)從日志緩存中讀取報(bào)文和上下文信息發(fā)送給控制器。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述調(diào)試選項(xiàng)字段作為流表項(xiàng)中的獨(dú)立字段攜帶,或通過流表項(xiàng)中現(xiàn)有字段的擴(kuò)展屬性攜帶。
4.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述交換機(jī)將報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段做匹配之前,該方法還包括 交換機(jī)通過流表通知指令將流表項(xiàng)的調(diào)試選項(xiàng)能力發(fā)送給控制器; 或控制器向交換機(jī)發(fā)送流表項(xiàng)的調(diào)試選項(xiàng)能力請(qǐng)求指令,交換機(jī)通過流表功能響應(yīng)指令將流表項(xiàng)的調(diào)試選項(xiàng)能力發(fā)送給控制器。
5.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述控制器根據(jù)收到的報(bào)文和上下文信息進(jìn)行網(wǎng)絡(luò)診斷之后,進(jìn)一步包括 控制器將報(bào)文和上下文信息發(fā)送給交換機(jī)繼續(xù)報(bào)文中斷的處理進(jìn)程。
6.一種基于SDN的網(wǎng)絡(luò)診斷系統(tǒng),其特征在于,該系統(tǒng)包括交換機(jī)和控制器;其中, 所述交換機(jī),用于根據(jù)控制器發(fā)來的流表調(diào)試設(shè)置指令,設(shè)置流表項(xiàng)的調(diào)試選項(xiàng)規(guī)則;用于根據(jù)設(shè)置的流表項(xiàng)的調(diào)試選項(xiàng)規(guī)則,將報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段做匹配,并判斷報(bào)文匹配的流表項(xiàng)是否設(shè)置了調(diào)試選項(xiàng)字段,若判斷結(jié)果為是,則根據(jù)調(diào)試選項(xiàng)字段內(nèi)容執(zhí)行相應(yīng)的調(diào)試動(dòng)作,將匹配的報(bào)文和上下文信息發(fā)送給控制器; 所述控制器,用于向交換機(jī)發(fā)送流表調(diào)試設(shè)置指令,設(shè)置流表項(xiàng)的調(diào)試選項(xiàng)規(guī)則;還用于接收交換機(jī)發(fā)來的報(bào)文和上下文信息,并根據(jù)報(bào)文和上下文信息進(jìn)行網(wǎng)絡(luò)診斷。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于, 所述交換機(jī),還用于在將報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段做匹配之前,將流表項(xiàng)的調(diào)試選項(xiàng)能力發(fā)送給控制器; 相應(yīng)的,所述控制器,還用于接收交換機(jī)發(fā)來的流表項(xiàng)的調(diào)試選項(xiàng)能力; 或所述控制器,還用于在將報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段做匹配之前,向交換機(jī)發(fā)送流表項(xiàng)的調(diào)試選項(xiàng)能力請(qǐng)求指令,并接收交換機(jī)返回的流表功能相應(yīng)指令;相應(yīng)的,所述交換機(jī),還用于在收到控制器發(fā)來的流表項(xiàng)的調(diào)試選項(xiàng)能力請(qǐng)求指令后,通過流表功能響應(yīng)指令將流表項(xiàng)的調(diào)試選項(xiàng)能力發(fā)送給控制器。
8.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于, 所述控制器,還用于在網(wǎng)絡(luò)診斷結(jié)束后,將報(bào)文和上下文信息發(fā)送給交換機(jī);相應(yīng)的,所述交換機(jī),還用于網(wǎng)絡(luò)診斷結(jié)束后,接收控制器發(fā)來的報(bào)文和上下文信息繼續(xù)報(bào)文中斷的處理進(jìn)程。
9.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述根據(jù)調(diào)試選項(xiàng)字段內(nèi)容執(zhí)行相應(yīng)的調(diào)試動(dòng)作,將匹配的報(bào)文和上下文信息發(fā)送給控制器包括 若調(diào)試選項(xiàng)字段為報(bào)文上送至控制器,則交換機(jī)將匹配的報(bào)文和上下文信息立即發(fā)送給控制器; 若調(diào)試選項(xiàng)字段為數(shù)據(jù)流日志緩存,則交換機(jī)將匹配的報(bào)文和上下文信息發(fā)送到交換機(jī)日志緩存,交換機(jī)從日志緩存中讀取報(bào)文和上下文信息發(fā)送給控制器。
10.一種交換機(jī),其特征在于,所述交換機(jī)包括調(diào)試選項(xiàng)設(shè)置模塊、第二調(diào)試選項(xiàng)能力接口、匹配執(zhí)行模塊、日志緩存模塊和數(shù)據(jù)讀取模塊;其中, 所述調(diào)試選項(xiàng)設(shè)置模塊,用于根據(jù)控制器通過第二調(diào)試選項(xiàng)能力接口發(fā)來的流表調(diào)試設(shè)置指令,設(shè)置流表項(xiàng)的調(diào)試選項(xiàng)規(guī)則; 所述第二調(diào)試選項(xiàng)能力接口,用于將控制器發(fā)來的流表調(diào)試設(shè)置指令發(fā)送給調(diào)試選項(xiàng)設(shè)置模塊; 所述匹配執(zhí)行模塊,用于將報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段做匹配,并判斷該報(bào)文匹配的流表項(xiàng)是否設(shè)置了調(diào)試選項(xiàng)字段,若判斷結(jié)果為是,則根據(jù)調(diào)試選項(xiàng)內(nèi)容將報(bào)文和上下文信息發(fā)送給控制器,或發(fā)送給日志緩存模塊; 所述日志緩存模塊,用于存儲(chǔ)匹配執(zhí)行模塊發(fā)來的報(bào)文和上下文信息; 所述數(shù)據(jù)讀取模塊,用于讀取日志緩存模塊中存儲(chǔ)的報(bào)文和上下文信息,并將讀取的信息發(fā)送給控制器。
11.根據(jù)權(quán)利要求10所述的交換機(jī),其特征在于,所述交換機(jī)還包括能力上報(bào)模塊,用于在將報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段做匹配之前,將流表項(xiàng)的調(diào)試選項(xiàng)能力通過第二調(diào)試選項(xiàng)能力接口發(fā)送給控制器;或在收到控制器通過第二調(diào)試選項(xiàng)能力接口發(fā)來的流表項(xiàng)的調(diào)試選項(xiàng)能力請(qǐng)求指令后,通過第二調(diào)試選項(xiàng)能力接口將流表功能響應(yīng)指令發(fā)送給控制器; 相應(yīng)的,所述第二調(diào)試選項(xiàng)能力接口還用于將能力上報(bào)模塊發(fā)來的流表項(xiàng)的調(diào)試選項(xiàng)能力發(fā)送給控制器;或?qū)⒖刂破靼l(fā)來的流表項(xiàng)的調(diào)試選項(xiàng)能力請(qǐng)求指令發(fā)送給能力上報(bào)模塊后,將能力上報(bào)模塊發(fā)來的流表功能響應(yīng)指令發(fā)送給控制器。
12.根據(jù)權(quán)利要求10所述的交換機(jī),其特征在于,所述匹配執(zhí)行模塊還用于在控制器對(duì)報(bào)文網(wǎng)絡(luò)診斷結(jié)束后,接收控制器發(fā)來的報(bào)文和上下文信息,并繼續(xù)報(bào)文中斷的處理進(jìn)程。
13.根據(jù)權(quán)利要求10、11或12所述的交換機(jī),其特征在于,所述根據(jù)調(diào)試選項(xiàng)內(nèi)容將報(bào)文和上下文信息發(fā)送給控制器,或發(fā)送給日志緩存模塊包括 若調(diào)試選項(xiàng)字段為報(bào)文上送至控制器,則匹配執(zhí)行模塊將匹配的報(bào)文和上下文信息立即發(fā)送給控制器; 若調(diào)試選項(xiàng)字段為數(shù)據(jù)流日志緩存,則匹配執(zhí)行模塊將匹配的報(bào)文和上下文信息發(fā)送到日志緩存模塊,匹配執(zhí)行模塊從日志緩存模塊中讀取報(bào)文和上下文信息發(fā)送給控制器。
14.一種控制器,其特征在于,所述控制器包括指令設(shè)置模塊、第一調(diào)試選項(xiàng)能力接口、數(shù)據(jù)接收模塊和診斷應(yīng)用模塊;其中,所述指令設(shè)置模塊,用于通過第一調(diào)試選項(xiàng)能力接口向交換機(jī)發(fā)送流表調(diào)試設(shè)置指令,設(shè)置流表項(xiàng)的調(diào)試選項(xiàng)規(guī)則; 所述第一調(diào)試選項(xiàng)能力接口,用于將指令設(shè)置模塊發(fā)來的流表調(diào)試設(shè)置指令發(fā)送給交換機(jī); 所述數(shù)據(jù)收發(fā)模塊,用于接收交換機(jī)發(fā)來的報(bào)文和上下文信息,并將報(bào)文和上下文信息發(fā)送給應(yīng)用診斷模塊; 所述診斷應(yīng)用模塊,用于根據(jù)數(shù)據(jù)收發(fā)模塊發(fā)來的報(bào)文和上下文信息進(jìn)行網(wǎng)絡(luò)診斷。
15.根據(jù)權(quán)利要求14所述的控制器,其特征在于,所述控制器還包括能力獲取模塊,用于在將報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段做匹配之前,通過第一調(diào)試選項(xiàng)能力接口接收交換機(jī)發(fā)來的流表項(xiàng)的調(diào)試選項(xiàng)能力;或通過第一調(diào)試選項(xiàng)能力接口向交換機(jī)發(fā)送流表項(xiàng)的調(diào)試選項(xiàng)能力請(qǐng)求指令,并通過第一調(diào)試選項(xiàng)能力接口接收交換機(jī)返回的流表功能響應(yīng)指令; 相應(yīng)的,所述第一調(diào)試選項(xiàng)能力接口,還用于將交換機(jī)發(fā)來的流表項(xiàng)的調(diào)試選項(xiàng)能力發(fā)送給能力獲取模塊;或?qū)⒛芰Λ@取模塊發(fā)來的流表項(xiàng)的調(diào)試選項(xiàng)能力請(qǐng)求指令發(fā)送給交換機(jī),將交換機(jī)返回的流表功能相應(yīng)指令發(fā)送給能力獲取模塊。
16.根據(jù)權(quán)利要求14所述的控制器,其特征在于,所述數(shù)據(jù)收發(fā)模塊,還用于在網(wǎng)絡(luò)診斷結(jié)束后,將報(bào)文和上下文信息發(fā)送給交換機(jī)。
全文摘要
本發(fā)明公開了一種基于軟件定義網(wǎng)絡(luò)(SDN)的網(wǎng)絡(luò)診斷方法,該方法包括交換機(jī)根據(jù)控制器發(fā)來的流表調(diào)試設(shè)置指令,設(shè)置流表項(xiàng)的調(diào)試選項(xiàng)規(guī)則;交換機(jī)將報(bào)文首部的關(guān)鍵字段與流表項(xiàng)的匹配字段做匹配,并判斷報(bào)文匹配的流表項(xiàng)是否設(shè)置了調(diào)試選項(xiàng)字段,若判斷的結(jié)果為是,則交換機(jī)根據(jù)調(diào)試選項(xiàng)字段內(nèi)容將執(zhí)行相應(yīng)的調(diào)試動(dòng)作,這些動(dòng)作包括但不限于將匹配的報(bào)文和上下文信息發(fā)送給控制器;控制器根據(jù)報(bào)文和上下文信息進(jìn)行網(wǎng)絡(luò)診斷。本發(fā)明還公開了一種基于SDN的網(wǎng)絡(luò)診斷系統(tǒng)及設(shè)備,通過本發(fā)明的技術(shù)方案,能夠加速網(wǎng)絡(luò)問題的定位周期,達(dá)到提升網(wǎng)絡(luò)質(zhì)量、降低網(wǎng)絡(luò)的運(yùn)行維護(hù)成本的效果。
文檔編號(hào)H04L12/24GK102946325SQ20121045707
公開日2013年2月27日 申請(qǐng)日期2012年11月14日 優(yōu)先權(quán)日2012年11月14日
發(fā)明者梁亮 申請(qǐng)人:中興通訊股份有限公司