一種OpenFlow實例的實現(xiàn)方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,尤其涉及一種OpenFlow實例的實現(xiàn)方法和裝置。
【背景技術(shù)】
[0002]0penFloW(開源流)是一種新型網(wǎng)絡(luò)創(chuàng)新架構(gòu),其核心思想是將網(wǎng)絡(luò)設(shè)備的控制層面與數(shù)據(jù)平面分離,以實現(xiàn)對網(wǎng)絡(luò)流量的靈活控制,并為核心網(wǎng)絡(luò)以及應(yīng)用的創(chuàng)新提供良好的平臺。在OpenFlow網(wǎng)絡(luò)中,由OpenFlow控制器和網(wǎng)絡(luò)設(shè)備(如OpenFlow交換機等)組成。OpenFlow控制器是網(wǎng)絡(luò)控制中心,根據(jù)用戶配置或者動態(tài)運行的協(xié)議生成流表,并將流表下發(fā)給網(wǎng)絡(luò)設(shè)備。網(wǎng)絡(luò)設(shè)備基于OpenFlow控制器下發(fā)的流表,對報文進行相關(guān)處理。
[0003]針對網(wǎng)絡(luò)設(shè)備上的不同業(yè)務(wù),OpenFlow控制器向網(wǎng)絡(luò)設(shè)備下發(fā)不同的流表。當(dāng)網(wǎng)絡(luò)設(shè)備需要處理大量業(yè)務(wù)時,OpenFlow控制器會向網(wǎng)絡(luò)設(shè)備下發(fā)大量流表。網(wǎng)絡(luò)設(shè)備在收到報文時,需要將報文與每個流表進行匹配,匹配工作量很大,導(dǎo)致網(wǎng)絡(luò)設(shè)備的處理負擔(dān)增加,并降低網(wǎng)絡(luò)設(shè)備的處理效率。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供一種OpenFlow實例的實現(xiàn)方法,所述方法包括:
[0005]網(wǎng)絡(luò)設(shè)備創(chuàng)建OpenFlow實例,并為所述OpenFlow實例綁定安全域;
[0006]針對待加入到所述OpenFlow實例的端口,所述網(wǎng)絡(luò)設(shè)備將所述端口加入到所述安全域中,并將所述端口加入到所述OpenFlow實例中。
[0007]本發(fā)明提供一種OpenFlow實例的實現(xiàn)裝置,所述OpenFlow實例的實現(xiàn)裝置應(yīng)用在網(wǎng)絡(luò)設(shè)備上,所述OpenFlow實例的實現(xiàn)裝置具體包括:
[0008]創(chuàng)建模塊,用于創(chuàng)建OpenFlow實例;
[0009]綁定模塊,用于為所述OpenFlow實例綁定安全域;
[0010]處理模塊,用于針對待加入到所述OpenFlow實例的端口,將所述端口加入到所述安全域中,并將所述端口加入到所述OpenFlow實例中。
[0011]基于上述技術(shù)方案,本發(fā)明實施例中,通過在網(wǎng)絡(luò)設(shè)備上創(chuàng)建OpenFlow實例,當(dāng)網(wǎng)絡(luò)設(shè)備需要處理大量業(yè)務(wù)時,OpenFlow控制器向網(wǎng)絡(luò)設(shè)備下發(fā)的流表可以針對不同的OpenFlow實例。網(wǎng)絡(luò)設(shè)備在接收到報文時,只需要將報文與相應(yīng)的OpenFlow實例下的流表進行匹配,匹配工作量很小,減輕網(wǎng)絡(luò)設(shè)備的處理負擔(dān),提高網(wǎng)絡(luò)設(shè)備的處理效率,而且屏蔽了不同OpenFlow實例下的流表的互相影響,便于不同業(yè)務(wù)的管理,增強用戶體驗。進一步的,通過為OpenFlow實例綁定安全域,將多個端口加入到該安全域中,并將這多個端口加入到該OpenFlow實例中,使得這多個端口對應(yīng)于相同的安全域,并對應(yīng)于相同的OpenFlow實例,從而使得這多個端口之間可以互通。
【附圖說明】
[0012]圖1是本發(fā)明一種實施方式中的OpenFlow實例的實現(xiàn)方法的流程圖;
[0013]圖2是本發(fā)明一種實施方式中的網(wǎng)絡(luò)設(shè)備的硬件結(jié)構(gòu)圖;
[0014]圖3是本發(fā)明一種實施方式中的OpenFlow實例的實現(xiàn)裝置的結(jié)構(gòu)圖。
【具體實施方式】
[0015]針對現(xiàn)有技術(shù)中存在的問題,本發(fā)明實施例中提出一種OpenFlow實例的實現(xiàn)方法,該方法應(yīng)用于包括網(wǎng)絡(luò)設(shè)備和OpenFlow控制器的OpenFlow網(wǎng)絡(luò)中。如圖1所示,該OpenFlow實例的實現(xiàn)方法具體可以包括以下步驟:
[0016]步驟101,網(wǎng)絡(luò)設(shè)備創(chuàng)建OpenFlow實例,并為OpenFlow實例綁定安全域。其中,網(wǎng)絡(luò)設(shè)備創(chuàng)建的OpenFlow實例可以為一個或多個OpenFlow實例。
[0017]本發(fā)明實施例中,針對網(wǎng)絡(luò)設(shè)備創(chuàng)建的多個OpenFlow實例,網(wǎng)絡(luò)設(shè)備為OpenFlow實例綁定安全域的過程,具體可以包括但不限于如下方式:網(wǎng)絡(luò)設(shè)備為多個OpenFlow實例中的每個OpenFlow實例綁定唯一的一個安全域,基于此,則網(wǎng)絡(luò)設(shè)備為不同的OpenFlow實例綁定的安全域不同。
[0018]本發(fā)明實施例中,網(wǎng)絡(luò)設(shè)備為OpenFlow實例綁定安全域的過程,具體可以包括但不限于如下方式:網(wǎng)絡(luò)設(shè)備接收用戶下發(fā)的配置命令,該配置命令中攜帶了 OpenFlow實例與安全域之間的綁定關(guān)系,基于此綁定關(guān)系,網(wǎng)絡(luò)設(shè)備為OpenFlow實例綁定安全域。例如,當(dāng)配置命令中攜帶OpenFlow實例I與安全域I之間的綁定關(guān)系時,則為OpenFlow實例I綁定安全域I。
[0019]針對網(wǎng)絡(luò)設(shè)備創(chuàng)建的多個OpenFlow實例,可以基于多個配置命令來攜帶多個OpenFlow實例與多個安全域之間的綁定關(guān)系,也可以基于一個配置命令來攜帶多個OpenFlow實例與多個安全域之間的綁定關(guān)系。
[0020]例如,網(wǎng)絡(luò)設(shè)備接收用戶下發(fā)的配置命令I(lǐng)和配置命令2,該配置命令I(lǐng)中攜帶OpenFlow實例I與安全域I之間的綁定關(guān)系,該配置命令2中攜帶OpenFlow實例2與安全域2之間的綁定關(guān)系,因此,網(wǎng)絡(luò)設(shè)備為OpenFlow實例I綁定安全域1,并為OpenFlow實例2綁定安全域2。
[0021]又例如,網(wǎng)絡(luò)設(shè)備只接收用戶下發(fā)的一個配置命令,該配置命令中攜帶了OpenFlow實例I與安全域I之間的綁定關(guān)系,并攜帶了 OpenFlow實例2與安全域2之間的綁定關(guān)系,因此,網(wǎng)絡(luò)設(shè)備可以為OpenFlow實例I綁定安全域I,并可以為OpenFlow實例2綁定安全域2。
[0022]又例如,網(wǎng)絡(luò)設(shè)備只接收用戶下發(fā)的一個配置命令,該配置命令中攜帶了OpenFlow實例UOpenFlow實例2、安全域I和安全域2?;诖?,網(wǎng)絡(luò)設(shè)備為OpenFlow實例I綁定安全域I,并為OpenFlow實例2綁定安全域2 ;或者,為OpenFlow實例2綁定安全域I,為OpenFlow實例I綁定安全域2。
[0023]步驟102,針對待加入到OpenFlow實例的端口,網(wǎng)絡(luò)設(shè)備將該端口加入到該OpenFlow實例綁定的安全域中,并將該端口加入到該OpenFlow實例中。
[0024]本發(fā)明實施例中,針對每個待加入到OpenFlow實例的端口,網(wǎng)絡(luò)設(shè)備不是直接將該端口加入到OpenFlow實例,而是確定該OpenFlow實例綁定的安全域,將該端口加入到該OpenFlow實例綁定的安全域中,使得該端口屬于綁定該安全域的OpenFlow實例,并將該端口加入到該OpenFlow實例中。
[0025]本發(fā)明實施例中,報文在屬于同一個安全域的端口之間轉(zhuǎn)發(fā)時,默認可通過,報文在屬于不同安全域的端口之間轉(zhuǎn)發(fā)時,默認不通過。基于此,網(wǎng)絡(luò)設(shè)備在將各端口加入到安全域中之后,則網(wǎng)絡(luò)設(shè)備在接收到報文時,確定該網(wǎng)絡(luò)設(shè)備上接收到該報文的端口,并確定該端口對應(yīng)的安全域。當(dāng)需要通過其它端口轉(zhuǎn)發(fā)該報文時,網(wǎng)絡(luò)設(shè)備確定該其它端口對應(yīng)的安全域?;诖?,當(dāng)該端口對應(yīng)的安全域與該其它端口對應(yīng)的安全域相同時,則網(wǎng)絡(luò)設(shè)備允許通過該其它端口轉(zhuǎn)發(fā)該報文;當(dāng)該端口對應(yīng)的安全域與該其它端口對應(yīng)的安全域不同時,則網(wǎng)絡(luò)設(shè)備不允許通過該其它端口轉(zhuǎn)發(fā)該報文。
[0026]在一種實現(xiàn)方式中,網(wǎng)絡(luò)設(shè)備創(chuàng)建多個OpenFlow實例,并直接將待加入到OpenFlow實例的端口,加入到該OpenFlow實例中。例如,網(wǎng)絡(luò)設(shè)備上存在端口 1-端口 8,如果需要從端口 1-端口 4進入的報文匹配OpenFlow實例I的流表,從端口 5-端口 8進入的報文匹配OpenFlow實例2的流表,則網(wǎng)絡(luò)設(shè)備創(chuàng)建OpenFlow實例I和OpenFlow實例2,將待加入到OpenFlow實例I的端口 1-端口 4,加入到OpenFlow實例1,將待加入到OpenFlow實例2的端口 5-端口 8,加入到OpenFlow實例2。但是,如果所有端口均加入了相應(yīng)的安全域,則上述方式將導(dǎo)致報文轉(zhuǎn)發(fā)異常。例如,端口 I和端口 5均加入到安全