一種獲取網(wǎng)絡狀態(tài)的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及網(wǎng)絡通信技術(shù)領(lǐng)域,尤其涉及一種獲取網(wǎng)絡狀態(tài)的方法及裝置。
【背景技術(shù)】
[0002] SDN(software-defined network)網(wǎng)絡是一種控制與管理分離的新型網(wǎng)絡架構(gòu),其 核必技術(shù)化enFlow通過將交換設備的數(shù)據(jù)轉(zhuǎn)發(fā)層和控制層分離,實現(xiàn)在化enFlow交換機 上轉(zhuǎn)發(fā)數(shù)據(jù),在控制器上控制數(shù)據(jù)的轉(zhuǎn)發(fā),從而更好的控制網(wǎng)絡,基于化enFlow的SDN,實 現(xiàn)了軟硬件的分離W及底層硬件的虛擬化,并且網(wǎng)絡協(xié)議和交換策略的升級只需要改動控 制層,為核必網(wǎng)絡及應用的創(chuàng)新提供良好的發(fā)展平臺,另外,在內(nèi)部網(wǎng)絡和外網(wǎng)的連接處應 用化enFlow交換機可W通過更改數(shù)據(jù)流的路徑W及拒絕某些數(shù)據(jù)流來增強企業(yè)內(nèi)網(wǎng)的安 全性。SDN由專有設備來部署高層策略,網(wǎng)絡設備在高層策略指導下進行數(shù)據(jù)轉(zhuǎn)發(fā),減少網(wǎng) 絡設備承載,提高網(wǎng)絡設計規(guī)劃和管理的靈活性。
[0003] 現(xiàn)有技術(shù)中,SDN網(wǎng)絡中的控制器通過下發(fā)數(shù)據(jù)包查詢流表、端口等信息,從而獲 取網(wǎng)絡狀態(tài)。
[0004] 從上可知,現(xiàn)有技術(shù)提供的方法不能滿足控制器實時獲取網(wǎng)絡狀態(tài)的需要。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明實施例提供了一種獲取網(wǎng)絡狀態(tài)的方法及裝置,用于解決現(xiàn)有技術(shù)中開放 流控制器無法實時獲取網(wǎng)絡狀態(tài)的問題。
[0006] 本發(fā)明第一方面提供一種獲取網(wǎng)絡狀態(tài)的方法,所述方法包括:
[0007] 開放流交換機(FS將獲取到的數(shù)據(jù)包與多級流表進行匹配,獲取匹配的結(jié)果,所 述多級流表包含操作指令和觸發(fā)表,所述觸發(fā)表包含觸發(fā)比較項;
[0008] 所述(FS根據(jù)所述匹配的結(jié)果,確定所述數(shù)據(jù)包對應的操作指令;
[0009] 當所述數(shù)據(jù)包對應的操作指令指向所述觸發(fā)表時,所述(FS根據(jù)所述觸發(fā)表中的 觸發(fā)比較項對所述數(shù)據(jù)包進行上報條件判斷,獲取判斷的結(jié)果;
[0010] 當所述判斷的結(jié)果滿足預置的觸發(fā)上報條件時,所述(FS根據(jù)所述判斷的結(jié)果生 成網(wǎng)絡狀態(tài)信息,并向開放流控制器0FC發(fā)送所述網(wǎng)絡狀態(tài)信息。
[0011] 結(jié)合本發(fā)明第一方面,本發(fā)明第一方面的第一種實現(xiàn)方式中,所述開放流交換機 (FS將獲取到的數(shù)據(jù)包與多級流表進行匹配之前還包括:
[0012] 所述0FS接收所述0FC發(fā)送的流表編輯消息Flow-Mod,所述Flow-Mod包括流表內(nèi) 容和所述觸發(fā)比較項;
[0013] 所述(FS根據(jù)所述流表內(nèi)容構(gòu)造所述多級流表;
[0014] 所述(FS根據(jù)所述觸發(fā)比較項構(gòu)造所述觸發(fā)表;
[0015] 所述(FS將所述觸發(fā)表添加到所述多級流表末端,并建立所述多級流表與所述觸 發(fā)表的對應關(guān)系。
[0016] 結(jié)合本發(fā)明第一方面及第一方面的第一種實現(xiàn)方式,本發(fā)明第一方面的第二種實 現(xiàn)方式中,所述(FS根據(jù)所述流表內(nèi)容構(gòu)造多級流表包括:
[0017] 所述(FS按照預設的匹配字段將所述流表內(nèi)容進行劃分,W獲得至少兩個子流 表;
[0018] 所述(FS按照預設順序?qū)⑺鲎恿鞅斫M合成所述多級流表。
[0019] 結(jié)合本發(fā)明第一方面、第一方面的第一至第二種實現(xiàn)方式,本發(fā)明第一方面的第 Η種實現(xiàn)方式中,所述向開放流控制器0FC發(fā)送所述網(wǎng)絡狀態(tài)信息具體包括:
[0020] 所述(FS構(gòu)造化cket-in數(shù)據(jù)包,并將所述網(wǎng)絡狀態(tài)信息添加到所述化cket-in 數(shù)據(jù)包的擴展字段;
[0021] 所述0FS向所述0FC發(fā)送添加所述網(wǎng)絡狀態(tài)信息的化cket-in數(shù)據(jù)包。
[0022] 結(jié)合本發(fā)明第一方面及第一方面的第Η種實現(xiàn)方式,本發(fā)明第一方面的第四種實 現(xiàn)方式中,所述匹配的結(jié)果為所述數(shù)據(jù)包匹配到所述多級流表中的一條流表項;
[0023] 所述構(gòu)造化cket-in數(shù)據(jù)包之前還包括:
[0024] 所述(FS根據(jù)與所述數(shù)據(jù)包相匹配的流表項中的操作指令,判斷是否已構(gòu)造 Packet-in 數(shù)據(jù)包;
[00巧]所述構(gòu)造化cket-in數(shù)據(jù)包,并將所述網(wǎng)絡狀態(tài)信息添加到所述化cket-in數(shù)據(jù) 包的擴展字段具體包括:
[0026] 當沒有構(gòu)造所述化cket-in數(shù)據(jù)包時,則所述(FS構(gòu)造化cket-in數(shù)據(jù)包,并將所 述網(wǎng)絡狀態(tài)信息添加到所述化cket-in數(shù)據(jù)包;
[0027] 當已經(jīng)構(gòu)造所述化cket-in數(shù)據(jù)包時,貝ij所述0FS構(gòu)造 reanson字段為warning 的化cket-in數(shù)據(jù)包,并將所述網(wǎng)絡狀態(tài)信息添加到reanson字段為warning的化cket-in 數(shù)據(jù)包。
[0028] 結(jié)合本發(fā)明第一方面、第一方面的第一至第四種實現(xiàn)方式,本發(fā)明第一方面的第 五種實現(xiàn)方式中,所述方法還包括:
[0029] 當所述數(shù)據(jù)包對應的操作指令指向所述觸發(fā)表時,所述(FS更新當前的網(wǎng)絡狀態(tài) W及與所述數(shù)據(jù)包匹配的多級流表中的流表項對應的計數(shù)器。
[0030] 本發(fā)明第二方面提供一種獲取網(wǎng)絡狀態(tài)的方法,所述方法包括:
[0031] 開放流控制器0FC構(gòu)建流表編輯消息Flow-Mod,所述Flow-Mod包括流表內(nèi)容和 觸發(fā)比較項,所述觸發(fā)比較項是指網(wǎng)絡狀態(tài)觸發(fā)闊值集合,用于判斷是否需要上報網(wǎng)絡狀 態(tài);
[0032] 所述0FC向開放流交換機(FS發(fā)送所述Flow-Mod, W使得所述(FS根據(jù)所述流表 內(nèi)容和所述觸發(fā)比較項構(gòu)建多級流表,并根據(jù)所述多級流表上報網(wǎng)絡狀態(tài)信息;
[0033] 所述0FC接收所述0FS發(fā)送的網(wǎng)絡狀態(tài)消息。
[0034] 結(jié)合本發(fā)明第二方面,本發(fā)明第二方面的第一種實現(xiàn)方式中,所述0FC接收所述 (FS發(fā)送的網(wǎng)絡狀態(tài)消息之后還包括:
[0035] 所述0FC根據(jù)所述網(wǎng)絡狀態(tài)消息更新觸發(fā)比較項;
[0036] 所述0FC將更新的觸發(fā)比較項添加到所述Flow-Mod, W獲得更新的Flow-Mod ;
[0037] 所述0FC向所述0FS發(fā)送所述更新的Flow-Mod, W使得所述0FS根據(jù)所述更新的 Flow-Mod更新多級流表。
[0038] 本發(fā)明第Η方面提供一種開放流交換機0FS,所述(FS包括:
[0039] 第一執(zhí)行單元,用于將獲取到的數(shù)據(jù)包與多級流表進行匹配,獲取匹配的結(jié)果,所 述多級流表包含操作指令和觸發(fā)表,所述觸發(fā)表包含觸發(fā)比較項;
[0040] 第一確定單元,用于根據(jù)所述第一執(zhí)行單元獲取的匹配的結(jié)果,確定所述數(shù)據(jù)包 對應的操作指令;
[0041] 第一判斷單元,用于當所述數(shù)據(jù)包對應的操作指令指向所述觸發(fā)表時,所述0FS 根據(jù)所述觸發(fā)表中的觸發(fā)比較項對所述數(shù)據(jù)包進行上報條件判斷,獲取判斷的結(jié)果;
[0042] 第二執(zhí)行單元,用于當所述判斷的結(jié)果滿足預置的觸發(fā)上報條件時,所述(FS根 據(jù)所述判斷的結(jié)果生成網(wǎng)絡狀態(tài)信息;
[0043] 第一發(fā)送單元,用于向開放流控制器0FC發(fā)送所述網(wǎng)絡狀態(tài)信息。
[0044] 結(jié)合本發(fā)明第Η方面,本發(fā)明第Η方面的第一種實現(xiàn)方式中,其特征在于,所述 (FS還包括:
[0045] 第一接收單元,用于接收所述0FC發(fā)送的流表編輯消息Flow-Mod,所述Flow-Mod 包括流表內(nèi)容和所述觸發(fā)比較項;
[0046] 第一配置單元,用于根據(jù)所述流表內(nèi)容構(gòu)造多級流表;
[0047] 第二配置單元,用于根據(jù)所述觸發(fā)比較項構(gòu)造所述觸發(fā)表;
[0048] 第Η執(zhí)行單元,用于將所述觸發(fā)表添加到所述多級流表末端,并建立所述多級流 表與所述觸發(fā)表的對應關(guān)系。
[0049] 結(jié)合本發(fā)明第Η方面及第Η方面的第一種實現(xiàn)方式,本發(fā)明第Η方面的第二種實 現(xiàn)方式中,所述第一配置單元具體包括:
[0050] 第一配置模塊,用于按照預設的匹配字段將所述流表內(nèi)容進行劃分,W獲得至少 兩個子流表;
[0051] 第二配置模塊,用于按照預設順序?qū)⑺鲎恿鞅斫M合成所述多級流表。
[0052] 結(jié)合本發(fā)明第Η方面及第Η方面的第一至第二種實現(xiàn)方式,本發(fā)明第Η方面的第 Η種實現(xiàn)方式中,第二執(zhí)行單元,具體用于當所述判斷的結(jié)果滿足預置的觸發(fā)上報條件時, 構(gòu)造化Cket-in數(shù)據(jù)包,并將所述網(wǎng)絡狀態(tài)信息添加到所述化Cket-in數(shù)據(jù)包的擴展字 段;
[0053] 第一發(fā)送單元,具體用于向所述0FC發(fā)送添加所述網(wǎng)絡狀態(tài)信息的化cket-in數(shù) 據(jù)包。
[0054] 結(jié)合本發(fā)明第Η方面及第Η方面的第一至第Η種實現(xiàn)方式,本發(fā)明第Η方面的第 四種實現(xiàn)方式中,所述匹配的結(jié)果為所述數(shù)據(jù)包匹配到所述多級流表中的一條流表項;所 述0FS還包括:
[0055] 第二判斷單元,用于根據(jù)與所述數(shù)據(jù)包相匹配的流表項中的操作指令,判斷是否 已構(gòu)造化cket-in數(shù)據(jù)包;
[0056] 進一步所述第二執(zhí)行單元還包括:
[0057] 第Η配置模塊,用于當沒有構(gòu)造所述化cket-in數(shù)據(jù)包時,構(gòu)造化cket-in數(shù)據(jù) 包,并將所述網(wǎng)絡狀態(tài)信息添加到所述化cket-in數(shù)據(jù)包;
[0058] 第四配置模塊,用于當已經(jīng)構(gòu)造所述化cket-in數(shù)據(jù)包時,則所述(FS構(gòu)造 reanson字段為warning的化cket-in數(shù)據(jù)包,并將所述網(wǎng)絡狀態(tài)信息添加到reanson字段 為warning的化cket-in數(shù)據(jù)包。
[0059] 結(jié)合本發(fā)明第Η方面及第Η方面的第一至第四種實現(xiàn)方式,本發(fā)明第Η方面的第 五種實現(xiàn)方式中,所述(FS還包括:
[0060] 更新單元,用于當所述數(shù)據(jù)包對應的操作指令指向所述觸發(fā)表時,更新當前的網(wǎng) 絡狀態(tài)W及與所述數(shù)據(jù)包匹配的多級流表中的流表項對應的計數(shù)器。
[0061] 本發(fā)明第四方面提供一種開放流控制器0FC,所述0FC包括:
[0062] 第一配置單元,用于構(gòu)建流表編輯消息Flow-Mod,所述Flow-Mod包括流表內(nèi)容和 觸發(fā)比較項,所述觸發(fā)比較項是指網(wǎng)絡狀態(tài)觸發(fā)闊值集合,用于判斷是否需要上報網(wǎng)絡狀 態(tài);
[0063] 第一發(fā)送單元,用于向開放流交換機(FS發(fā)送所述Flow-Mod, W使得所述(FS根據(jù) 所述流表內(nèi)容和所述觸發(fā)比較項構(gòu)建多級流表,并根據(jù)所述多級流表上報網(wǎng)絡狀態(tài)信息;
[0064] 接收單元,用于接收所述(FS發(fā)送的網(wǎng)絡狀態(tài)信息。
[0065] 結(jié)合本發(fā)明第四方面,本發(fā)明第四方面的第一種實現(xiàn)方式中,所述0FC還包括:
[0066] 更新單元,用于根據(jù)所述網(wǎng)絡狀態(tài)消息更新觸發(fā)比較項;
[0067] 第二配置單元,用于將更新的觸發(fā)比較項添加到所述Flow-Mod, W獲得更新的 Flow-Mod ;
[0068] 第二發(fā)送單元,用于向所述(FS發(fā)送所述更新的Flow-Mod, W使得所述(FS根據(jù)所 述更新的Flow-Mod更新多級流表。
[0069] 根據(jù)第一方面和第Η方面的本發(fā)明實施例的描述,在將獲取到的數(shù)據(jù)包與多級流 表進行匹配時,確定所述數(shù)據(jù)包對應的操作指令,當所述數(shù)據(jù)包對應的操作指令指向所述 觸發(fā)表時,所述(FS根據(jù)所述觸發(fā)表中的觸發(fā)比較項對所述數(shù)據(jù)包進行上報條件判斷,當 判斷的結(jié)果為滿足預置的觸發(fā)上報條件時,根據(jù)所述判斷的結(jié)果生成網(wǎng)絡狀態(tài)信息,并向 開放流控制器0FC發(fā)送所述網(wǎng)絡狀態(tài)信息,W使0FC可W實時獲取到當前的網(wǎng)絡狀態(tài)信息, 有效提高0FC對網(wǎng)絡狀態(tài)的敏感度和反應速度,提高了網(wǎng)絡管理質(zhì)量。
[0070] 根據(jù)第二方面和第四方面的本發(fā)明實施例的描述,通過在Flow-Mod的末端添加 觸發(fā)比較項對Flow-Mod進行擴展,使得在下發(fā)流表的同時也下發(fā)了預置的觸發(fā)上報條件, 使(FS可W根據(jù)Flow-Mod構(gòu)造新的多流表結(jié)構(gòu),執(zhí)行觸發(fā)比較項的判斷流程得到當前的網(wǎng) 絡狀態(tài)信息,然后及時的將網(wǎng)絡狀態(tài)信息上報,實現(xiàn)了對網(wǎng)絡的實時監(jiān)控,提高了網(wǎng)絡的安 全性與穩(wěn)定性。
【附圖說明】
[0071] 為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對本發(fā)明實施例中所需要使 用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于 本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可W根據(jù)送些附圖獲得其他 的附圖。
[0072] 圖1為本實施例中一種獲取網(wǎng)絡狀態(tài)的方法的一個實施例示意圖;
[0073] 圖2為本實施例中一種獲取網(wǎng)絡狀態(tài)的方法的另一實施例示意圖;
[0074] 圖3為本實施例中一種獲取網(wǎng)絡狀態(tài)的方法的另一實施例示意圖;
[0075] 圖4為本實施例中一種獲取網(wǎng)絡狀態(tài)的方法的另一實施例示意圖;
[0076] 圖5為本實施例中一種獲取網(wǎng)絡狀態(tài)的方法的另一實施例示意圖;
[0077] 圖6為本實施例中一種獲取網(wǎng)絡狀態(tài)的方法的另一實施例示意圖;
[0078] 圖7為本實施例中一種獲取網(wǎng)絡狀態(tài)的方法的另一實施例示意圖;
[0079] 圖8為本實施例中一種獲取網(wǎng)絡狀態(tài)的方法的另一實施例示意圖;
[0080] 圖9為本實施例中一種開放流交換機0FS的一個實施例示意圖;
[0081] 圖10為本實施例中一種開放流交換機0FS的另一實施例示意圖;
[0082] 圖11為本實施例中一種開放流交換機0FS的另一實施例示意圖;
[0083] 圖12為本實施例中一種開放流交換機0FS的另一實施例示意圖;
[0084] 圖13為本實施例中一種開放流控制器0FC的一個實施例示意圖;
[0085] 圖14為本實施例中一種開放流控制器0FC的另一實施例示意圖;
[0086] 圖15為本實施例中一種擴展的Flow-Mod結(jié)構(gòu)示意圖;
[0087] 圖16為本實施例中一種開放流交換機0FS的實體裝置示意圖;
[0088] 圖17為本實施例中一種開放流控制器0FC的實體裝置示意圖。
【具體實施方式】
[0089] 為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的 附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是 本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域技術(shù)人員在沒 有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0090] 本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語"第一"