轉發表項處理的方法、報文轉發的方法及其裝置和系統的制作方法
【專利摘要】本發明實施例公開了轉發表項處理的方法、報文轉發的方法及其裝置和系統,包括:控制器根據指定的根轉發設備和指定的第一虛擬局域網標識VLAN ID,計算以所述根轉發設備為根的所述第一VLAN ID對應的第一樹型拓撲;所述控制器為非根轉發設備生成第一轉發表項和第二轉發表項,所述第一轉發表項包括第一匹配字段和第一操作,所述第一匹配字段為通配符,所述第一操作用于指示所述非根轉發設備對沒有匹配上轉發表中的其它轉發表項的數據報文,執行從指向根轉發設備方向的出接口轉發出去的操作;所述控制器將所述第一轉發表項和所述第二轉發表項發送到所述非根轉發設備上。有助于減輕基于SDN的數據中心網絡中控制通道的壓力,以及節約轉發設備的表項存貯資源。
【專利說明】轉發表項處理的方法、報文轉發的方法及其裝置和系統
【技術領域】
[0001]本申請涉及通信網絡領域,具體涉及轉發表項處理的方法、報文轉發的方法、及其相應的裝置和系統。
【背景技術】
[0002]傳統型數據中心,使用的是普通二層網絡,劃分虛擬局域網(Virtual Local AreaNetwork, VLAN)隔離網絡,運行生成樹協議STP (Spanning Tree Protocol)進行破環,報文轉發時,首個報文是未知單播報文,進行廣播,每個轉發設備自動學習媒體訪問控制(MediaAccess Control,MAC)地址,學習到MAC地址后,可以單播轉發。網絡的連接拓撲是圖狀拓撲,由STP協議進行破環剪枝,形成樹狀網絡。
[0003]基于控制轉發分離思想的軟件定義網絡(Software Defined Networking, SDN)架構,是一種新型網絡交換模型,其關鍵組件包括開放流OpenFlow交換機和控制器。控制器和OpenFlow交換機之間通過OpenFlow協議規范的控制通道完成消息的交互和信息的傳遞。控制器通過全網絡視圖來實現管控功能,為OpenFlow交換機生成轉發流表;OpenFlow交換機根據流表來轉發數據包,流表項主要由匹配字段(match fields)和操作(instruct1ns)等部分組成。
[0004]將基于控制轉發分離的SDN技術應用到數據中心網絡中后,采用SDN控制器集中給每一個OpenFlow交換機或者虛擬交換機計算并發送MAC轉發表項。然而每個交換機上都要有所有端點為目的MAC的表項,此時的端點可以是虛擬機(Virtual Machine, VM)或者服務器。網絡中每增加一個端點,在網絡中的每個交換機或者虛擬交換機上就要增加一條該端點為目的MAC的轉發表項,隨著網絡中端點數量的不斷增加,每個交換機或者虛擬交換機上保存的MAC轉發表項也會不斷增加,占用大量的存儲資源,而且需要SDN控制器發送大量的MAC轉發表項,占用控制通道的帶寬,尤其是每當拓撲更新時都會需要重新更新發送大量的MAC轉發表項。所以,如何減輕基于SDN的數據中心網絡中控制通道的壓力,以及節約OpenFlow交換機的表項存忙資源是需要解決的問題。
【發明內容】
[0005]本發明實施例提供了轉發表項處理的方法、報文轉發的方法、及其相應的裝置和系統,有助于減輕基于SDN的數據中心網絡中控制通道的壓力,以及節約轉發設備的表項存貯資源。
[0006]為了解決上述問題,本發明實施例第一方面提供一種轉發表項處理的方法,應用于控制轉發分離的網絡,所述控制轉發分離的網絡包括控制器和轉發設備,所述控制器控制所述轉發設備,所述方法包括:所述控制器根據指定的根轉發設備和指定的第一虛擬局域網標識VLAN ID,計算以所述根轉發設備為根的所述第一 VLAN ID對應的第一樹型拓撲;所述控制器為非根轉發設備生成第一轉發表項和第二轉發表項,所述第一轉發表項包括第一匹配字段和第一操作,所述第一匹配字段為通配符,所述第一操作用于指示所述非根轉發設備對沒有匹配上轉發表中的其它轉發表項的數據報文,執行從指向根轉發設備方向的出接口轉發出去的操作,所述其它轉發表項是指在所述轉發表中除所述第一轉發表項以外的其它轉發表項;所述第二轉發表項包括第二匹配字段和第二操作,所述第二匹配字段至少包括所述第一 VLAN ID和第一目的媒體訪問控制MAC地址,所述第一目的MAC地址為所述第一端點的MAC地址,所述第二操作用于指示所述非根轉發設備對與所述第二匹配字段相匹配的數據報文,執行從指向第一端點方向的出接口轉發出去的操作;所述第一端點接入所述第一樹型拓撲,所述非根轉發設備是從所述第一端點到所述根轉發設備形成的轉發路徑上的一個轉發設備;所述控制器將所述第一轉發表項和所述第二轉發表項發送到所述非根轉發設備上。
[0007]在第一方面的第一種可能的實現方式中,還包括:所述控制器為所述根轉發設備生成第三轉發表項和第四轉發表項,所述第三轉發表項包括所述第一匹配字段和第三操作,所述第一匹配字段為通配符,所述第三操作用于指示所述根轉發設備對沒有匹配上轉發表中的其它轉發表項的數據報文,執行丟棄操作,所述其它轉發表項是指在所述轉發表中除所述第三轉發表項以外的其它轉發表項;所述第四轉發表項包括所述第二匹配字段和第四操作,所述第四操作用于指示所述根轉發設備對與所述第二匹配字段相匹配的數據報文,執行從指向第一端點方向的出接口轉發出去的操作;所述控制器將所述第三轉發表項和所述第四轉發表項發送到所述根轉發設備上。
[0008]結合第一方面或者第一方面的第一種可能的實現方式,在第一方面的第二種可能的實現方式中,還包括:第二端點接入所述第一樹型拓撲,所述非根轉發設備是從所述第二端點到所述根轉發設備形成的轉發路徑上的一個轉發設備,所述控制器還為所述非根轉發設備生成第五轉發表項,所述第五轉發表項包括第三匹配字段和第五操作,所述第三匹配字段至少包括所述第一 VLAN ID和第二目的MAC地址,所述第二目的MAC地址為所述第二端點的MAC地址,所述第五操作用于指示所述非根轉發設備對與所述第三匹配字段相匹配的數據報文,執行從指向所述第二端點方向的出接口轉發出去的操作;所述控制器將所述第五轉發表項發送到所述非根轉發設備上。
[0009]結合第一方面或者第一方面的第一種至第二種任一可能的實現方式,在第一方面的第三種可能的實現方式中,還包括:所述控制器還為所述根轉發設備生成第六轉發表項,所述第六轉發表項包括所述第三匹配字段和第六操作,所述第六操作用于指示所述根轉發設備對與所述第三匹配字段相匹配的數據報文,執行從指向所述第二端點方向的出接口轉發出去的操作;所述控制器將所述第六轉發表項發送到所述根轉發設備。
[0010]結合第一方面或者第一方面的第一種至第三種任一可能的實現方式,在第一方面的第四種可能的實現方式中,還包括:所述第一端點是虛擬機VM或者服務器,或者,所述第二端點是VM或者服務器。
[0011]為了解決上述問題,本發明實施例第二方面提供一種報文轉發的方法,應用于控制轉發分離的網絡,所述控制轉發分離的網絡包括控制器、非根轉發設備和根轉發設備,所述非根轉發設備和根轉發設備接受所述控制器的控制,所述根轉發設備是第一虛擬局域網標識VLAN ID對應的第一樹型拓撲的樹根,所述方法包括:所述非根轉發設備接收控制器發送的第一轉發表項和第二轉發表項,所述第一轉發表項包括第一匹配字段和第一操作,所述第一匹配字段為通配符,所述第一操作用于指示所述非根轉發設備對沒有匹配上轉發表中的其它轉發表項的數據報文,執行從指向根轉發設備方向的出接口轉發出去的操作,所述其它轉發表項是指在所述轉發表中除所述第一轉發表項以外的其它轉發表項;所述第二轉發表項包括第二匹配字段和第二操作,所述第二匹配字段至少包括所述第一 VLANID和第一目的媒體訪問控制MAC地址,所述第一目的MAC地址為所述第一端點的MAC地址,所述第二操作用于指示所述非根轉發設備對與所述第二匹配字段相匹配的數據報文,執行從指向第一端點方向的出接口轉發出去的操作;所述第一端點接入所述第一樹型拓撲,所述非根轉發設備是從所述第一端點到所述根轉發設備形成的轉發路徑上的一個轉發設備;所述非根轉發設備保存所述第一轉發表項和所述第二轉發表項;所述非根轉發設備接收其它設備發來的數據報文,如果確定接收到的所述數據報文匹配所述第一轉發表項的所述第一匹配字段,則對所述數據報文執行所述第一操作,從指向根轉發設備方向的出接口轉發出去;如果確定接收到的所述數據報文匹配所述第二轉發表項的所述第二匹配字段,則對所述數據報文執行所述第二操作,從指向第一端點方向的出接口轉發出去;所述其它設備是指所述轉發設備,或者第一端點,或者第二端點。
[0012]在第二方面的第一種可能的實現方式中,還包括:第二端點接入所述第一樹型拓撲,所述非根轉發設備是從所述第二端點到所述根轉發設備形成的轉發路徑上的一個轉發設備,所述非根轉發設備接收控制器發送的第五轉發表項,所述第五轉發表項包括第三匹配字段和第五操作,所述第三匹配字段至少包括所述第一 VLAN ID和第二目的MAC地址,所述第二目的MAC地址為所述第二端點的MAC地址,所述第五操作用于指示所述非根轉發設備對與所述第三匹配字段相匹配的數據報文,執行從指向所述第二端點方向的出接口轉發出去的操作;所述非根轉發設備保存所述第五轉發表項;所述非根轉發設備接收所述其它設備發來的數據報文,如果確定接收到的所述數據報文匹配所述第五轉發表項的所述第三匹配字段,則對所述數據報文執行所述第五操作,從指向所述第二端點方向的出接口轉發出去。
[0013]結合第二方面或者第二方面的第一種可能的實現方式,在第二方面的第二種可能的實現方式中,還包括:所述第一端點是虛擬機VM或者服務器,或者,所述第二端點是VM或者服務器。
[0014]為了解決上述問題,本發明實施例第三方面提供一種控制器,應用于控制轉發分離的網絡,所述控制轉發分離的網絡包括所述控制器和轉發設備,所述控制器控制所述轉發設備,包括:計算單元,用于根據指定的根轉發設備和指定的第一虛擬局域網標識VLANID,計算以所述根轉發設備為根的所述第一 VLAN ID對應的第一樹型拓撲;生成單元,用于為非根轉發設備生成第一轉發表項和第二轉發表項,所述第一轉發表項包括第一匹配字段和第一操作,所述第一匹配字段為通配符,所述第一操作用于指示所述非根轉發設備對沒有匹配上轉發表中的其它轉發表項的數據報文,執行從指向根轉發設備方向的出接口轉發出去的操作,所述其它轉發表項是指在所述轉發表中除所述第一轉發表項以外的其它轉發表項;所述第二轉發表項包括第二匹配字段和第二操作,所述第二匹配字段至少包括所述第一 VLAN ID和第一目的媒體訪問控制MAC地址,所述第一目的MAC地址為所述第一端點的MAC地址,所述第二操作用于指示所述非根轉發設備對與所述第二匹配字段相匹配的數據報文,執行從指向第一端點方向的出接口轉發出去的操作;所述第一端點接入所述第一樹型拓撲,所述非根轉發設備是從所述第一端點到所述根轉發設備形成的轉發路徑上的一個轉發設備;發送單元,用于將所述第一轉發表項和所述第二轉發表項發送到所述非根轉發設備上。
[0015]在第三方面的第一種可能的實現方式中,包括:所述生成單元,還為所述根轉發設備生成第三轉發表項和第四轉發表項,所述第三轉發表項包括所述第一匹配字段和第三操作,所述第一匹配字段為通配符,所述第三操作用于指示所述根轉發設備對沒有匹配上轉發表中的其它轉發表項的數據報文,執行丟棄操作,所述其它轉發表項是指在所述轉發表中除所述第三轉發表項以外的其它轉發表項;所述第四轉發表項包括所述第二匹配字段和第四操作,所述第四操作用于指示所述根轉發設備對與所述第二匹配字段相匹配的數據報文,執行從指向第一端點方向的出接口轉發出去的操作;所述發送單元還將所述第三轉發表項和所述第四轉發表項發送到所述根轉發設備上。
[0016]結合第三方面或者第三方面的第一種可能的實現方式,在第三方面的第二種可能的實現方式中,還包括:第二端點接入所述第一樹型拓撲,所述非根轉發設備是從所述第二端點到所述根轉發設備形成的轉發路徑上的一個轉發設備,所述生成單元為所述非根轉發設備生成第五轉發表項,所述第五轉發表項包括第三匹配字段和第五操作,所述第三匹配字段至少包括所述第一 VLAN ID和第二目的MAC地址,所述第二目的MAC地址為所述第二端點的MAC地址,所述第五操作用于指示所述非根轉發設備對與所述第三匹配字段相匹配的數據報文,執行從指向所述第二端點方向的出接口轉發出去的操作;所述發送單元將所述第五轉發表項發送到所述非根轉發設備上。
[0017]結合第三方面或者第三方面的第一種至第二種任一可能的實現方式,在第三方面的第三種可能的實現方式中,還包括:所述生成單元為所述根轉發設備生成第六轉發表項,所述第六轉發表項包括所述第三匹配字段和第六操作,所述第六操作用于指示所述根轉發設備對與所述第三匹配字段相匹配的數據報文,執行從指向所述第二端點方向的出接口轉發出去的操作;所述發送單元將所述第六轉發表項發送到所述根轉發設備。
[0018]為了解決上述問題,本發明實施例第四方面提供一種非根轉發設備,應用于控制轉發分離的網絡,所述控制轉發分離的網絡包括控制器、非根轉發設備和根轉發設備,所述非根轉發設備和根轉發設備接受所述控制器的控制,所述根轉發設備是第一 VLAN ID對應的第一樹型拓撲的樹根,所述非根轉發設備包括:接收單元,用于接收控制器發送的第一轉發表項和第二轉發表項,所述第一轉發表項包括第一匹配字段和第一操作,所述第一匹配字段為通配符,所述第一操作用于指示所述非根轉發設備對沒有匹配上轉發表中的其它轉發表項的數據報文,執行從指向根轉發設備方向的出接口轉發出去的操作,所述其它轉發表項是指在所述轉發表中除所述第一轉發表項以外的其它轉發表項;所述第二轉發表項包括第二匹配字段和第二操作,所述第二匹配字段至少包括所述第一 VLAN ID和第一目的媒體訪問控制MAC地址,所述第一目的MAC地址為所述第一端點的MAC地址,所述第二操作用于指示所述非根轉發設備對與所述第二匹配字段相匹配的數據報文,執行從指向第一端點方向的出接口轉發出去的操作;所述第一端點接入所述第一樹型拓撲,所述非根轉發設備是從所述第一端點到所述根轉發設備形成的轉發路徑上的一個轉發設備;存儲單元,用于保存所述第一轉發表項和所述第二轉發表項;轉發單元用于接收其它設備發來的數據報文,如果確定接收到的所述數據報文匹配所述第一轉發表項的所述第一匹配字段,則對所述數據報文執行所述第一操作,從指向根轉發設備方向的出接口轉發出去;如果確定接收到的所述數據報文匹配所述第二轉發表項的所述第二匹配字段,則對所述數據報文執行所述第二操作,從指向第一端點方向的出接口轉發出去;所述其它設備是指所述轉發設備,或者第一端點,或者第二端點。
[0019]在第四方面的第一種可能的實現方式中,包括:第二端點接入所述第一樹型拓撲,所述非根轉發設備是從所述第二端點到所述根轉發設備形成的轉發路徑上的一個轉發設備,所述接收單元接收控制器發送的第五轉發表項,所述第五轉發表項包括第三匹配字段和第五操作,所述第三匹配字段至少包括所述第一 VLAN ID和第二目的MAC地址,所述第二目的MAC地址為所述第二端點的MAC地址,所述第五操作用于指示所述非根轉發設備對與所述第三匹配字段相匹配的數據報文,執行從指向所述第二端點方向的出接口轉發出去的操作;所述存儲單元保存所述第五轉發表項;所述轉發單元接收所述其它設備發來的數據報文,如果確定接收到的所述數據報文匹配所述第五轉發表項的所述第三匹配字段,則對所述數據報文執行所述第五操作,從指向所述第二端點方向的出接口轉發出去。
[0020]為了解決上述問題,本發明實施例第五方面提供一種轉發表項處理和報文轉發的系統,應用于控制轉發分離的網絡,包括:上述第三方面的任一控制器、上述第四方面的任一非根轉發設備和根轉發設備,所述根轉發設備具體包括:接收單元,用于接收第三轉發表項和第四轉發表項,所述第三轉發表項包括所述第一匹配字段和第三操作,所述第一匹配字段為通配符,所述第三操作用于指示所述根轉發設備對沒有匹配上轉發表中的其它轉發表項的數據報文,執行丟棄操作,所述其它轉發表項是指在所述轉發表中除所述第三轉發表項以外的其它轉發表項;所述第四轉發表項包括所述第二匹配字段和第四操作,所述第四操作用于指示所述根轉發設備對與所述第二匹配字段相匹配的數據報文,執行從指向第一端點方向的出接口轉發出去的操作;存儲單元,用于保存所述第三轉發表項和所述第四轉發表項;轉發單元,用于接收其它設備發來的數據報文,如果確定接收到的所述數據報文匹配所述第三轉發表項的所述第一匹配字段,則對所述數據報文執行所述第三操作,丟棄所述數據報文;如果確定接收到的所述數據報文匹配所述第四轉發表項的所述第二匹配字段,則對所述數據報文執行所述第四操作,從指向第一端點方向的出接口轉發出去;所述其它設備是指所述轉發設備,或者第一端點,或者第二端點。
[0021]在第五方面的第一種可能的實現方式中,所述根轉發設備具體還包括:所述接收單元接收控制器發送的第六轉發表項,所述第六轉發表項包括第三匹配字段和第六操作,所述第六操作用于指示所述根轉發設備對與所述第三匹配字段相匹配的數據報文,執行從指向所述第二端點方向的出接口轉發出去的操作;所述存儲單元保存所述第六轉發表項;所述轉發單元接收所述其它設備發來的數據報文,如果確定接收到的所述數據報文匹配所述第六轉發表項的所述第三匹配字段,則對所述數據報文執行所述第六操作,從指向所述第二端點方向的出接口轉發出去。
[0022]本發明實施例通過控制器根據指定的根轉發設備和指定的第一虛擬局域網標識VLAN ID,計算以所述根轉發設備為根的所述第一 VLAN ID對應的第一樹型拓撲,并為轉發設備生成一條上行的轉發表項和多條下行的轉發表項,并下發到轉發設備上指導轉發的方法,有助于減少轉發設備上存儲的轉發表項,從而節約轉發設備的表項存貯資源,以及減輕基于SDN的數據中心網絡中控制通道的壓力。
【專利附圖】
【附圖說明】
[0023]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0024]圖1是本發明實施例提供的一種轉發表項處理和報文轉發方法的組網示意圖;
[0025]圖2是本發明實施例提供的一種轉發表項處理方法的流程圖;
[0026]圖3是本發明實施例提供的一種報文轉發方法的流程圖;
[0027]圖4是本發明實施例提供的一種控制器的結構示意圖;
[0028]圖5是本發明實施例提供的一種非根轉發設備的結構示意圖;
[0029]圖6是本發明實施例提供的一種轉發表項處理和報文轉發系統的示意圖;
[0030]圖7是本發明實施例提供的一種控制器的結構示意圖;
[0031]圖8是本發明實施例提供的一種轉發設備的結構示意圖。
【具體實施方式】
[0032]為了使本【技術領域】的人員更好地理解本發明方案,下面結合附圖和實施方式對本發明實施例作進一步的詳細說明。顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其它實施例,都屬于本發明保護的范圍。
[0033]實施例一
[0034]在基于控制轉發分離的網絡中,如SDN網絡,控制器可以通過控制器與轉發設備之間的控制通道協議(如OpenFlow協議)來控制多個轉發設備,向每個被控制的轉發設備上發送轉發表項,從而指導數據報文在網絡中的轉發。
[0035]例如,請參考圖1,圖1是本發明實施例的組網示意圖,應用在數據中心的二層媒體訪問控制MAC (Media Access Control)轉發網絡中,僅用于示意性說明本發明的一個應用場景,并不視為對本發明實施例的限制。控制器控制轉發設備,分別包括第一根轉發設備、第一非根轉發設備和第二非轉發設備,還可以包括第二根轉發設備和/或第三非根轉發設備。其中,第一根轉發設備中的“第一”,僅僅表明區分一個根轉發設備;第一非根轉發設備中的“第一”和第二非根轉發設備中的“第二”,僅僅用于表明區分兩個非根轉發設備。此外,本發明實施例中所提及的根轉發設備和非根轉發設備可以是交換機、路由器等網絡設備,或者基于軟件的虛擬交換機(open virtual switch, OVS)、虛擬路由器等。
[0036]參見圖2,示出了本發明實施例控制器轉發表項處理方法的流程示意圖,具體方法可包括:
[0037]101,所述控制器根據指定的第一根轉發設備和指定的第一虛擬局域網標識VLANID (Virtual Local Area Network identifier),計算以所述第一根轉發設備為根的所述第一 VLAN ID對應的第一樹型拓撲。
[0038]具體地,指定所述第一根轉發設備的方式,可以是人工配置,或者從其它控制管理設備、應用服務設備通過消息發送過來。
[0039]具體地,指定所述第一 VLAN ID的方式,可以是從其它應用服務設備(例如,開棧OpenStack開源平臺)通過消息發送過來,或者人工配置。
[0040]具體地,控制器集中收集到所述數據中心的二層媒體訪問控制MAC(Media AccessControl)轉發網絡的物理網絡拓撲圖以后,根據指定的第一根轉發設備和指定的所述第一VLAN ID,為所述第一 VLAN ID,計算一棵以所述第一根轉發設備為根的第一樹型拓撲。
[0041]102,所述控制器為第一非根轉發設備生成第一轉發表項和第二轉發表項,所述第一轉發表項包括第一匹配字段和第一操作,所述第一匹配字段為通配符,所述第一操作用于指示所述第一非根轉發設備對沒有匹配上轉發表中的其它轉發表項的數據報文,執行從指向第一根轉發設備方向的出接口轉發出去的操作,所述其它轉發表項是指在所述轉發表中除所述第一轉發表項以外的其它轉發表項;所述第二轉發表項包括第二匹配字段和第二操作,所述第二匹配字段至少包括所述第一 VLAN ID和第一目的媒體訪問控制MAC地址,所述第一目的MAC地址為所述第一端點的MAC地址,所述第二操作用于指示所述第一非根轉發設備對與所述第二匹配字段相匹配的數據報文,執行從指向第一端點方向的出接口轉發出去的操作;所述第一端點接入所述第一樹型拓撲,所述第一非根轉發設備是從所述第一端點到所述第一根轉發設備形成的轉發路徑上的一個轉發設備。
[0042]具體地,所述第一轉發表項是指一條未命中處理的轉發表項,所述通配符是一條優先級最低的匹配字段,任何數據報文的匹配項如果無法精確匹配到轉發表中的除所述第一轉發表項以外的其它任何一條轉發表項時,最后都會通配地匹配到所述第一轉發表項。
[0043]進一步,所述控制器還為所述第一根轉發設備生成第三轉發表項和第四轉發表項,所述第三轉發表項包括所述第一匹配字段和第三操作,所述第一匹配字段為通配符,所述第三操作用于指示所述第一根轉發設備對沒有匹配上轉發表中的其它轉發表項的數據報文,執行丟棄操作;所述第四轉發表項包括所述第二匹配字段和第四操作,所述第四操作用于指示所述第一根轉發設備對與所述第二匹配字段相匹配的數據報文,執行從指向第一端點方向的出接口轉發出去的操作。
[0044]具體地,所述第三轉發表項是指一條未命中處理的轉發表項,所述通配符是一條優先級最低的匹配字段,任何數據報文的匹配項如果無法精確匹配到轉發表中的除所述第三轉發表項以外的其它任何一條轉發表項時,最后都會通配地匹配到所述第三轉發表項。
[0045]103,所述控制器將所述第一轉發表項和所述第二轉發表項發送到所述第一非根轉發設備上。
[0046]具體地,所述發送方式,可以是所述控制器一次把所述第一轉發表項和所述第二轉發表項發送到所述第一非根轉發設備上,也可以是所述控制器分兩次分別把所述第一轉發表項和所述第二轉發表項發送到所述第一非根轉發設備上。
[0047]進一步,所述控制器將所述第三轉發表項和所述第四轉發表項發送到所述第一根轉發設備上。
[0048]具體地,所述發送方式,可以是所述控制器一次把所述第三轉發表項和所述第四轉發表項發送到所述第一根轉發設備上,也可以是所述控制器分兩次分別把所述第三轉發表項和所述第四轉發表項發送到所述第一根轉發設備上。
[0049]進一步,可選地,還有第二端點接入所述第一樹型拓撲,所述第一非根轉發設備是從所述第二端點到所述第一根轉發設備形成的轉發路徑上的一個轉發設備,所述控制器還為所述第一非根轉發設備生成第五轉發表項,所述第五轉發表項包括第三匹配字段和第五操作,所述第三匹配字段至少包括所述第一 VLAN ID和第二目的MAC地址,所述第二目的MAC地址為所述第二端點的MAC地址,所述第五操作用于指示所述第一非根轉發設備對與所述第三匹配字段相匹配的數據報文,執行從指向所述第二端點方向的出接口轉發出去的操作;
[0050]所述控制器將所述第五轉發表項發送到所述第一非根轉發設備上。
[0051]進一步,可選地,所述控制器還為所述第一根轉發設備生成第六轉發表項,所述第六轉發表項包括所述第三匹配字段和第六操作,所述第六操作用于指示所述第一根轉發設備對與所述第三匹配字段相匹配的數據報文,執行從指向所述第二端點方向的出接口轉發出去的操作;
[0052]所述控制器將所述第六轉發表項發送到所述第一根轉發設備。
[0053]值得說明的是,結合圖1所示,舉例來說,當所述第二端點接入時,所述控制器分別為從所述第二端點到所述第一根轉發設備形成的轉發路徑上的所述第一非根轉發設備和所述第一根轉發設備生成轉發表項時,只需要生成下行轉發表項即可,不需要再生成上行轉發表項。
[0054]所述下行轉發表是指示從根轉發設備到端點方向轉發的轉發表項,例如,從所述第一根轉發設備到所述第二端點方向轉發的轉發表項,也就是本實施例中的上述第五轉發表項和第六轉發表項。
[0055]所述上行轉發表項是指示從端點到根轉發設備方向的轉發表項,例如,從所述第二端點到所述第一根轉發設備方向的轉發表項,也就是本實施例中的上述第一轉發表項和第三轉發表項,為所述第一端點和所述第二端點共用,所以,所述上行轉發表項在每個轉發設備上只需一條轉發表項即可。對于非根轉發設備,用于指示向根轉發設備轉發;對于根轉發設備用于指示已經到達樹根,如果沒有匹配到除所述第三轉發表項以外的任一轉發表項則丟棄。基于同樣的原理,由此可見,所述第一非根轉發設備上只需要保存一條所述上行轉發表項(如,所述第一轉發表項)和兩條下行表項(如,所述第二轉發表項和所述第五轉發表項);第二非根轉發設備上只需要保存一條所述上行轉發表項(如,所述第一轉發表項)和一條下行表項(如,目的MAC為第三端點的MAC地址的第七轉發表項);所述第一根轉發設備上需要保存一條所述上行轉發表項(如,所述第三轉發表項)和三條下行表項(如,所述第四轉發表項、所述第六轉發表項,以及目的MAC為第三端點的MAC地址的第八轉發表項)。所以,所述第一非根轉發設備上只需要保存以所述第一端點和所述第二端點為目的MAC地址的轉發表項,不需要保存以所述第三端點為目的MAC地址的轉發表項;而所述第二非根轉發設備上只需要保存以所述第三端點為目的MAC地址的轉發表項,不需要保存以所述第一端點和所述第二端點為目的MAC地址的轉發表項;從而,節約了非根轉發設備的表項存貯資源和控制通道傳遞轉發表項的壓力,進一步提高了轉發查找的性能、降低了設備成本。
[0056]進一步,可選地,還可以對所述第一樹型拓撲進行剪枝,將沒有接入所述第一 VLANID端點的非根轉發設備去除,例如,如圖1,如果所述第二非根轉發設備沒有接入所述第三端點,則可以從所述第一樹型拓撲中去除,從而對所述第一樹型拓撲進行了優化。
[0057]進一步,可選地,采用同樣的上述方法,所述控制器還可以根據指定的第二根轉發設備和指定的第二虛擬局域網標識VLAN ID,計算以所述第二根轉發設備為根的所述第二VLAN ID對應的第二樹型拓撲。所述第二根轉發設備可以分擔所述第一根轉發設備的處理負擔,有助于減輕所述第一根轉發設備的壓力。
[0058]以上所舉為所述控制器控制一個根轉發設備和兩個非根轉發設備的情況,本領域技術人員可知,上述方案也適用于所述控制器控制兩個以上根轉發設備和三個以上非根轉發設備的情況。
[0059]實施例二
[0060]與上文控制器的轉發表項處理的方法相對應,請參考圖1,本發明實施例還提供了一種非根轉發設備的報文轉發方法,應用于控制轉發分離的網絡,所述控制轉發分離的網絡包括控制器、第一非根轉發設備、第二非根轉發設備和第一根轉發設備,所述第一非根轉發設備、第二非根轉發設備和第一根轉發設備接受所述控制器的控制,所述第一根轉發設備是第一 VLAN ID對應的第一樹型拓撲的樹根。所述第一非根轉發設備和所述第二非根轉發設備執行報文轉發的方法一致,所以本實施例只以所述第一非根轉發設備為例,來具體闡述,參見圖3所示流程示意圖,可包括:
[0061]301,所述第一非根轉發設備接收控制器發送的第一轉發表項和第二轉發表項,所述第一轉發表項包括第一匹配字段和第一操作,所述第一匹配字段為通配符,所述第一操作用于指示所述第一非根轉發設備對沒有匹配上轉發表中的其它轉發表項的數據報文,執行從指向所述第一根轉發設備方向的出接口轉發出去的操作,所述其它轉發表項是指在所述轉發表中除所述第一轉發表項以外的其它轉發表項;所述第二轉發表項包括第二匹配字段和第二操作,所述第二匹配字段至少包括所述第一 VLAN ID和第一目的媒體訪問控制MAC地址,所述第一目的MAC地址為所述第一端點的MAC地址,所述第二操作用于指示所述非根轉發設備對與所述第二匹配字段相匹配的數據報文,執行從指向所述第一端點方向的出接口轉發出去的操作;所述第一端點接入所述第一樹型拓撲,所述第一非根轉發設備是從所述第一端點到所述第一根轉發設備形成的轉發路徑上的一個轉發設備。
[0062]本實施例中的所述第一轉發表項,請參考實施例一中相應的描述,在此不再贅述。
[0063]具體地,所述接收方式,可以是所述第一非根轉發設備從所述控制器接收上一次把所述第一轉發表項和所述第二轉發表項接收過來,也可以是所述第一非根轉發設備分兩次分別從所述控制器接收上把所述第一轉發表項和所述第二轉發表項接收過來。
[0064]302,所述第一非根轉發設備保存所述第一轉發表項和所述第二轉發表項。
[0065]303,所述第一非根轉發設備接收其它設備發來的數據報文,如果確定接收到的所述數據報文匹配所述第一轉發表項的所述第一匹配字段,則對所述數據報文執行所述第一操作,從指向所述第一根轉發設備方向的出接口轉發出去;如果確定接收到的所述數據報文匹配所述第二轉發表項的所述第二匹配字段,則對所述數據報文執行所述第二操作,從指向所述第一端點方向的出接口轉發出去;所述其它設備是指所述轉發設備,或者第一端點,或者第二端點。
[0066]進一步,可選地,當第二端點接入所述第一樹型拓撲時,所述第一非根轉發設備是從所述第二端點到所述第一根轉發設備形成的轉發路徑上的一個轉發設備,所述第一非根轉發設備還接收所述控制器發送的第五轉發表項,所述第五轉發表項包括第三匹配字段和第五操作,所述第三匹配字段至少包括所述第一 VLAN ID和第二目的MAC地址,所述第二目的MAC地址為所述第二端點的MAC地址,所述第五操作用于指示所述第一非根轉發設備對與所述第三匹配字段相匹配的數據報文,執行從指向所述第二端點方向的出接口轉發出去的操作;
[0067]進一步,可選地,所述第一非根轉發設備保存所述第五轉發表項;
[0068]進一步,可選地,所述第一非根轉發設備接收所述其它設備發來的數據報文,如果確定接收到的所述數據報文匹配所述第五轉發表項的所述第三匹配字段,則對所述數據報文執行所述第五操作,從指向所述第二端點方向的出接口轉發出去。
[0069]本發明實施例通過提供所述第一轉發表項,將所述數據報文向所述第一根轉發設備發送,同時提供所述第二轉發表項和/或所述第五轉發表項,將所述數據報文向所述第一端點和/或第二端點發送的報文轉發方法,減少了存儲在所述第一非根轉發設備上的轉發表項,節約了所述第一非根轉發設備上的表項存貯資源,有助于減輕基于SDN的數據中心網絡中控制通道的壓力。
[0070]實施例三
[0071]請參考圖4,本發明的一個實施例提供一種控制器400,所述控制器400控制轉發設備,應用在控制轉發分離的網絡中,包括:
[0072]計算單元401,用于根據指定的根轉發設備和指定的第一虛擬局域網標識VLANID,計算以所述根轉發設備為根的所述第一 VLAN ID對應的第一樹型拓撲;
[0073]生成單元402,用于為非根轉發設備生成第一轉發表項和第二轉發表項,所述第一轉發表項包括第一匹配字段和第一操作,所述第一匹配字段為通配符,所述第一操作用于指示所述非根轉發設備對沒有匹配上轉發表中的其它轉發表項的數據報文,執行從指向根轉發設備方向的出接口轉發出去的操作,所述其它轉發表項是指在所述轉發表中除所述第一轉發表項以外的其它轉發表項;所述第二轉發表項包括第二匹配字段和第二操作,所述第二匹配字段至少包括所述第一 VLAN ID和第一目的媒體訪問控制MAC地址,所述第一目的MAC地址為所述第一端點的MAC地址,所述第二操作用于指示所述非根轉發設備對與所述第二匹配字段相匹配的數據報文,執行從指向第一端點方向的出接口轉發出去的操作;所述第一端點接入所述第一樹型拓撲,所述非根轉發設備是從所述第一端點到所述根轉發設備形成的轉發路徑上的一個轉發設備;
[0074]發送單元403,用于將所述第一轉發表項和所述第二轉發表項發送到所述非根轉發設備上。
[0075]進一步,所述生成單元402,還為所述根轉發設備生成第三轉發表項和第四轉發表項,所述第三轉發表項包括所述第一匹配字段和第三操作,所述第一匹配字段為通配符,所述第三操作用于指示所述根轉發設備對沒有匹配上轉發表中的其它轉發表項的數據報文,執行丟棄操作,所述其它轉發表項是指在所述轉發表中除所述第三轉發表項以外的其它轉發表項;所述第四轉發表項包括所述第二匹配字段和第四操作,所述第四操作用于指示所述根轉發設備對與所述第二匹配字段相匹配的數據報文,執行從指向第一端點方向的出接口轉發出去的操作。
[0076]所述發送單元403還將所述第三轉發表項和所述第四轉發表項發送到所述根轉發設備上。
[0077]進一步,可選地,第二端點接入所述第一樹型拓撲,所述非根轉發設備是從所述第二端點到所述根轉發設備形成的轉發路徑上的一個轉發設備,所述控制器400還包括:所述生成單元為所述非根轉發設備生成第五轉發表項,所述第五轉發表項包括第三匹配字段和第五操作,所述第三匹配字段至少包括所述第一 VLAN ID和第二目的MAC地址,所述第二目的MAC地址為所述第二端點的MAC地址,所述第五操作用于指示所述非根轉發設備對與所述第三匹配字段相匹配的數據報文,執行從指向所述第二端點方向的出接口轉發出去的操作;
[0078]所述發送單元將所述第五轉發表項發送到所述非根轉發設備上。
[0079]進一步,可選地,所述控制器400還包括:所述生成單元為所述根轉發設備生成第六轉發表項,所述第六轉發表項包括所述第三匹配字段和第六操作,所述第六操作用于指示所述根轉發設備對與所述第三匹配字段相匹配的數據報文,執行從指向所述第二端點方向的出接口轉發出去的操作;
[0080]所述發送單元將所述第六轉發表項發送到所述根轉發設備。
[0081 ] 本發明實施例提供的控制器400,通過計算單元401計算所述第一樹型拓撲,生成單元402為所述第一非根轉發設備生成所述第一轉發表項、所述第二轉發表項和所述第五轉發表項,為所述第一根轉發設備生成所述第三轉發表項、第四轉發表項、第六轉發表項;并通過發送單元403分別發送給所述非根轉發設備和所述根轉發設備的方法,減少了存儲在所述第一非根轉發設備上的轉發表項,節約了所述第一非根轉發設備上的表項存貯資源,有助于減輕基于SDN的數據中心網絡中控制通道的壓力,以及進一步提高了轉發查找的性能、降低了設備成本。
[0082]實施例四
[0083]請參考圖5,本發明的一個實施例提供一種非根轉發設備500,應用于控制轉發分離的網絡,所述控制轉發分離的網絡包括控制器、非根轉發設備500和根轉發設備,所述非根轉發設備500和根轉發設備接受所述控制器的控制,所述根轉發設備是第一 VLAN ID對應的第一樹型拓撲的樹根,所述非根轉發設備500包括:
[0084]接收單元501,用于接收控制器發送的第一轉發表項和第二轉發表項,所述第一轉發表項包括第一匹配字段和第一操作,所述第一匹配字段為通配符,所述第一操作用于指示所述非根轉發設備對沒有匹配上轉發表中的其它轉發表項的數據報文,執行從指向根轉發設備方向的出接口轉發出去的操作,所述其它轉發表項是指在所述轉發表中除所述第一轉發表項以外的其它轉發表項;所述第二轉發表項包括第二匹配字段和第二操作,所述第二匹配字段至少包括所述第一 VLAN ID和第一目的媒體訪問控制MAC地址,所述第一目的MAC地址為所述第一端點的MAC地址,所述第二操作用于指示所述非根轉發設備對與所述第二匹配字段相匹配的數據報文,執行從指向第一端點方向的出接口轉發出去的操作;所述第一端點接入所述第一樹型拓撲,所述非根轉發設備是從所述第一端點到所述根轉發設備形成的轉發路徑上的一個轉發設備;
[0085]存儲單元502,用于保存所述第一轉發表項和所述第二轉發表項;
[0086]轉發單元503用于接收其它設備發來的數據報文,如果確定接收到的所述數據報文匹配所述第一轉發表項的所述第一匹配字段,則對所述數據報文執行所述第一操作,從指向根轉發設備方向的出接口轉發出去;如果確定接收到的所述數據報文匹配所述第二轉發表項的所述第二匹配字段,則對所述數據報文執行所述第二操作,從指向第一端點方向的出接口轉發出去;所述其它設備是指所述轉發設備,或者第一端點,或者第二端點。
[0087]進一步,可選地,第二端點接入所述第一樹型拓撲,所述非根轉發設備是從所述第二端點到所述根轉發設備形成的轉發路徑上的一個轉發設備,所述非根轉發設備500還包括:
[0088]所述接收單元501接收所述控制器發送的第五轉發表項,所述第五轉發表項包括第三匹配字段和第五操作,所述第三匹配字段至少包括所述第一 VLANID和第二目的MAC地址,所述第二目的MAC地址為所述第二端點的MAC地址,所述第五操作用于指示所述非根轉發設備對與所述第三匹配字段相匹配的數據報文,執行從指向所述第二端點方向的出接口轉發出去的操作;
[0089]所述存儲單元502保存所述第五轉發表項;
[0090]所述轉發單元503接收所述其它設備發來的數據報文,如果確定接收到的所述數據報文匹配所述第五轉發表項的所述第三匹配字段,則對所述數據報文執行所述第五操作,從指向所述第二端點方向的出接口轉發出去。
[0091]本發明實施例提供的非根轉發設備500,通過接收單元501接收控制器發送的第一轉發表項和第二轉發表項,通過存儲單元502保存所述第一轉發表項和所述第二轉發表項;并通過轉發單元503進行查表轉發數據報文的方法,減少了存儲在所述第一非根轉發設備上的轉發表項,節約了所述第一非根轉發設備上的表項存貯資源,有助于減輕基于SDN的數據中心網絡中控制通道的壓力,以及進一步提高了轉發查找的性能、降低了設備成本。
[0092]實施例五
[0093]請參考圖6,本發明的一個實施例提供一種轉發表項處理和報文轉發的系統600,應用于控制轉發分離的網絡,其特征在于,包括:控制器601、根轉發設備602和非根轉發設備 603 ;
[0094]所述控制器601,包括:
[0095]實施例三中所述的控制器;
[0096]所述非根轉發設備603,包括:
[0097]實施例四中所述的轉發設備;
[0098]所述根轉發設備602與所述非根轉發設備的結構示意圖保持一致,參見圖5,具體包括:
[0099]接收單元501,用于接收第三轉發表項和第四轉發表項,所述第三轉發表項包括所述第一匹配字段和第三操作,所述第一匹配字段為通配符,所述第三操作用于指示所述根轉發設備對沒有匹配上轉發表中的其它轉發表項的數據報文,執行丟棄操作,所述其它轉發表項是指在所述轉發表中除所述第三轉發表項以外的其它轉發表項;所述第四轉發表項包括所述第二匹配字段和第四操作,所述第四操作用于指示所述根轉發設備對與所述第二匹配字段相匹配的數據報文,執行從指向第一端點方向的出接口轉發出去的操作;
[0100]存儲單元502,用于保存所述第三轉發表項和所述第四轉發表項;
[0101]轉發單元503,用于接收其它設備發來的數據報文,如果確定接收到的所述數據報文匹配所述第三轉發表項的所述第一匹配字段,則對所述數據報文執行所述第三操作,丟棄所述數據報文;如果確定接收到的所述數據報文匹配所述第四轉發表項的所述第二匹配字段,則對所述數據報文執行所述第四操作,從指向第一端點方向的出接口轉發出去;所述其它設備是指所述轉發設備,或者第一端點,或者第二端點。
[0102]進一步,可選地,所述根轉發設備602還包括:
[0103]所述接收單元501接收控制器發送的第六轉發表項,所述第六轉發表項包括第三匹配字段和第六操作,所述第六操作用于指示所述根轉發設備對與所述第三匹配字段相匹配的數據報文,執行從指向所述第二端點方向的出接口轉發出去的操作;
[0104]所述存儲單元502保存所述第六轉發表項;
[0105]所述轉發單元503接收所述其它設備發來的數據報文,如果確定接收到的所述數據報文匹配所述第六轉發表項的所述第三匹配字段,則對所述數據報文執行所述第六操作,從指向所述第二端點方向的出接口轉發出去。
[0106]值得說明的是,本發明實施例五提供的控制器601、非根轉發設備603和根轉發設備602的各功能單元,是基于實施例一至二提供的方法的具體實現和實施例三至四裝置的組合和擴展,術語的定義和解決的問題與實施例一至四保持一致,此處不再贅述。
[0107]本發明實施例五提供的系統,通過實施例三描述的所述控制器600和實施例四描述的所述非根轉發設備602,以及根轉發設備602的組合,實現了計算所述第一樹型拓撲、生成上行和下行轉發表項并下發到轉發設備上,指導轉發設備進行轉發。本發明實施例有助于減少存儲在所述第一非根轉發設備上的轉發表項,節約轉發設備上的表項存貯資源,有助于減輕基于SDN的數據中心網絡中控制通道的壓力,以及進一步提高了轉發查找的性能、降低了設備成本。
[0108]實施例六
[0109]請參考圖7,本發明的一個實施例提供一種控制設備700,該設備可以嵌入或本身就是微處理計算機,比如:通用計算機、客戶定制機、手機終端或平板機等便攜設備,包括:至少一個處理器704、存儲器706、通信接口 702和總線708。處理器704、存儲器706和通信接口 702通過總線708連接并完成相互間的通信。
[0110]所述總線708可以是工業標準體系結構(Industry Standard Architecture,簡稱為ISA)總線、外部設備互連(Peripheral Component,簡稱為PCI)總線或擴展工業標準體系結構(Extended Industry Standard Architecture,簡稱為 EISA)總線等。所述總線可以分為地址總線、數據總線、控制總線等。為便于表示,圖7中僅用一條粗線表示,但并不表示僅有一根總線或一種類型的總線,
[0111]存儲器706用于存儲可執行程序代碼,該程序代碼包括計算機操作指令。存儲器706可能包含高速RAM存儲器,也可能還包括非易失性存儲器(non-volatile memory),例如至少一個磁盤存儲器。
[0112]處理器704可能是一個中央處理器(Central Processing Unit,簡稱為CPU),或者是特定集成電路(Applicat1n Specific Integrated Circuit,簡稱為ASIC),或者是被配置成實施本發明實施例的一個或多個集成電路。
[0113]通信接口 702,用于執行實施例三中所述控制器將所述第一轉發表項和所述第二轉發表項發送到所述非根轉發設備上的操作。
[0114]可選地,所述通信接口 702,還用于執行實施例三中所述控制器將所述第三轉發表項和所述第四轉發表項發送到所述根轉發設備上的操作。
[0115]進一步,可選地,所述通信接口 702,還用于執行實施例三中所述控制器將所述第五轉發表項發送到所述非根轉發設備上的操作。
[0116]進一步,可選地,所述通信接口 702,還用于執行實施例三中所述控制器將所述第六轉發表項發送到所述根轉發設備的操作。
[0117]存儲器706,用于存儲指令。
[0118]處理器704,用于讀取存儲器706中存儲的指令,從而執行實施例三中控制器計算以所述根轉發設備為根的所述第一 VLAN ID對應的第一樹型拓撲的操作,以及執行為非根轉發設備生成第一轉發表項和第二轉發表項的操作。
[0119]可選地,所述處理器704,還執行為所述根轉發設備生成第三轉發表項和第四轉發表項的操作。
[0120]進一步,可選地,所述處理器704,還執行為所述非根轉發設備生成第五轉發表項的操作。
[0121]進一步,可選地,所述處理器704,還執行為所述根轉發設備生成第六轉發表項的操作。
[0122]實施例七
[0123]請參考圖8,本發明的一個實施例提供一種轉發設備800,該設備可以嵌入或本身就是微處理計算機,比如:通用計算機、客戶定制機、手機終端或平板機等便攜設備,包括:至少一個處理器804、存儲器806、通信接口 802和總線808。處理器804、存儲器806和通信接口 802通過總線808連接并完成相互間的通信。
[0124]所述總線808可以是工業標準體系結構(Industry Standard Architecture,簡稱為ISA)總線、外部設備互連(Peripheral Component,簡稱為PCI)總線或擴展工業標準體系結構(Extended Industry Standard Architecture,簡稱為 EISA)總線等。所述總線可以分為地址總線、數據總線、控制總線等。為便于表示,圖8中僅用一條粗線表示,但并不表示僅有一根總線或一種類型的總線,
[0125]存儲器806用于存儲可執行程序代碼,該程序代碼包括計算機操作指令。存儲器806可能包含高速RAM存儲器,也可能還包括非易失性存儲器(non-volatile memory),例如至少一個磁盤存儲器。
[0126]處理器804可能是一個中央處理器(Central Processing Unit,簡稱為CPU),或者是特定集成電路(Applicat1n Specific Integrated Circuit,簡稱為ASIC),或者是被配置成實施本發明實施例的一個或多個集成電路。
[0127]處理器804可能是一個中央處理器(Central Processing Unit,簡稱為CPU),或者是特定集成電路(Applicat1n Specific Integrated Circuit,簡稱為ASIC),或者是被配置成實施本發明實施例的一個或多個集成電路。
[0128]通信接口 802,用于執行實施例四中接收控制器發送的第一轉發表項和第二轉發表項的操作。
[0129]可選地,通信接口 802,還用于執行實施例四中接收所述控制器發送的第五轉發表項的操作。
[0130]存儲器806,用于存儲圖5中保存單元520中保存的轉發表項;
[0131]可選的,所述存儲器806還用于存儲指令。
[0132]處理器804,用于讀取存儲器806中存儲的轉發表項和指令,從而執行實施例四中轉發單元503所執行的操作。
[0133]本領域普通技術人員可以理解:實現上述方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成,前述程序可以存儲于一計算機可讀取存儲介質中,該程序在執行時,執行包括上述方法實施例的步驟;而前述的存儲介質可以是下述介質中的至少一種:只讀存儲器(Read-Only Memory, ROM)、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質。
[0134]最后應說明的是:以上實施例僅用以示例性說明本發明的技術方案,而非對其限制;盡管參照前述實施例對本發明及本發明帶來的有益效果進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明權利要求的范圍。
【權利要求】
1.一種轉發表項處理的方法,其特征在于,應用于控制轉發分離的網絡,所述控制轉發分離的網絡包括控制器和轉發設備,所述控制器控制所述轉發設備,所述方法包括: 所述控制器根據指定的根轉發設備和指定的第一虛擬局域網標識VLAN ID,計算以所述根轉發設備為根的所述第一 VLAN ID對應的第一樹型拓撲; 所述控制器為非根轉發設備生成第一轉發表項和第二轉發表項,所述第一轉發表項包括第一匹配字段和第一操作,所述第一匹配字段為通配符,所述第一操作用于指示所述非根轉發設備對沒有匹配上轉發表中的其它轉發表項的數據報文,執行從指向根轉發設備方向的出接口轉發出去的操作,所述其它轉發表項是指在所述轉發表中除所述第一轉發表項以外的其它轉發表項;所述第二轉發表項包括第二匹配字段和第二操作,所述第二匹配字段至少包括所述第一 VLAN ID和第一目的媒體訪問控制MAC地址,所述第一目的MAC地址為所述第一端點的MAC地址,所述第二操作用于指示所述非根轉發設備對與所述第二匹配字段相匹配的數據報文,執行從指向第一端點方向的出接口轉發出去的操作;所述第一端點接入所述第一樹型拓撲,所述非根轉發設備是從所述第一端點到所述根轉發設備形成的轉發路徑上的一個轉發設備; 所述控制器將所述第一轉發表項和所述第二轉發表項發送到所述非根轉發設備上。
2.根據權利要求1所述的方法,其特征在于,還包括: 所述控制器為所述根轉發設備生成第三轉發表項和第四轉發表項,所述第三轉發表項包括所述第一匹配字段和第三操作,所述第一匹配字段為通配符,所述第三操作用于指示所述根轉發設備對沒有匹配上轉發表中的其它轉發表項的數據報文,執行丟棄操作,所述其它轉發表項是指在所述轉發表中除所述第三轉發表項以外的其它轉發表項;所述第四轉發表項包括所述第二匹配字段和第四操作,所述第四操作用于指示所述根轉發設備對與所述第二匹配字段相匹配的數據報文,執行從指向第一端點方向的出接口轉發出去的操作; 所述控制器將所述第三轉發表項和所述第四轉發表項發送到所述根轉發設備上。
3.根據權利要求1或2所述的方法,其特征在于,還包括: 第二端點接入所述第一樹型拓撲,所述非根轉發設備是從所述第二端點到所述根轉發設備形成的轉發路徑上的一個轉發設備,所述控制器還為所述非根轉發設備生成第五轉發表項,所述第五轉發表項包括第三匹配字段和第五操作,所述第三匹配字段至少包括所述第一 VLAN ID和第二目的MAC地址,所述第二目的MAC地址為所述第二端點的MAC地址,所述第五操作用于指示所述非根轉發設備對與所述第三匹配字段相匹配的數據報文,執行從指向所述第二端點方向的出接口轉發出去的操作; 所述控制器將所述第五轉發表項發送到所述非根轉發設備上。
4.根據權利要求1至3任一所述的方法,其特征在于,還包括: 所述控制器還為所述根轉發設備生成第六轉發表項,所述第六轉發表項包括所述第三匹配字段和第六操作,所述第六操作用于指示所述根轉發設備對與所述第三匹配字段相匹配的數據報文,執行從指向所述第二端點方向的出接口轉發出去的操作; 所述控制器將所述第六轉發表項發送到所述根轉發設備。
5.根據權利要求1至4任一所述的方法,其特征在于,所述第一端點是虛擬機VM或者服務器,或者,所述第二端點是VM或者服務器。
6.一種報文轉發的方法,其特征在于,應用于控制轉發分離的網絡,所述控制轉發分離的網絡包括控制器、非根轉發設備和根轉發設備,所述非根轉發設備和根轉發設備接受所述控制器的控制,所述根轉發設備是第一虛擬局域網標識VLAN ID對應的第一樹型拓撲的樹根,所述方法包括: 所述非根轉發設備接收控制器發送的第一轉發表項和第二轉發表項,所述第一轉發表項包括第一匹配字段和第一操作,所述第一匹配字段為通配符,所述第一操作用于指示所述非根轉發設備對沒有匹配上轉發表中的其它轉發表項的數據報文,執行從指向根轉發設備方向的出接口轉發出去的操作,所述其它轉發表項是指在所述轉發表中除所述第一轉發表項以外的其它轉發表項;所述第二轉發表項包括第二匹配字段和第二操作,所述第二匹配字段至少包括所述第一 VLAN ID和第一目的媒體訪問控制MAC地址,所述第一目的MAC地址為所述第一端點的MAC地址,所述第二操作用于指示所述非根轉發設備對與所述第二匹配字段相匹配的數據報文,執行從指向第一端點方向的出接口轉發出去的操作;所述第一端點接入所述第一樹型拓撲,所述非根轉發設備是從所述第一端點到所述根轉發設備形成的轉發路徑上的一個轉發設備; 所述非根轉發設備保存所述第一轉發表項和所述第二轉發表項; 所述非根轉發設備接收其它設備發來的數據報文,如果確定接收到的所述數據報文匹配所述第一轉發表項的所述第一匹配字段,則對所述數據報文執行所述第一操作,從指向根轉發設備方向的出接口轉發出去;如果確定接收到的所述數據報文匹配所述第二轉發表項的所述第二匹配字段,則對所述數據報文執行所述第二操作,從指向第一端點方向的出接口轉發出去;所述其它設備是指所述轉發設備,或者第一端點,或者第二端點。
7.根據權利要求6所述的方法,其特征在于,還包括: 第二端點接入所述第一樹型拓撲,所述非根轉發設備是從所述第二端點到所述根轉發設備形成的轉發路徑上的一個轉發設備,所述非根轉發設備接收控制器發送的第五轉發表項,所述第五轉發表項包括第三匹配字段和第五操作,所述第三匹配字段至少包括所述第一 VLAN ID和第二目的MAC地址,所述第二目的MAC地址為所述第二端點的MAC地址,所述第五操作用于指示所述非根轉發設備對與所述第三匹配字段相匹配的數據報文,執行從指向所述第二端點方向的出接口轉發出去的操作; 所述非根轉發設備保存所述第五轉發表項; 所述非根轉發設備接收所述其它設備發來的數據報文,如果確定接收到的所述數據報文匹配所述第五轉發表項的所述第三匹配字段,則對所述數據報文執行所述第五操作,從指向所述第二端點方向的出接口轉發出去。
8.根據權利要求6或7所述的方法,其特征在于,所述第一端點是虛擬機VM或者服務器,或者,所述第二端點是VM或者服務器。
9.一種控制器,其特征在于,應用于控制轉發分離的網絡,所述控制轉發分離的網絡包括所述控制器和轉發設備,所述控制器控制所述轉發設備,包括: 計算單元,用于根據指定的根轉發設備和指定的第一虛擬局域網標識VLAN ID,計算以所述根轉發設備為根的所述第一 VLAN ID對應的第一樹型拓撲; 生成單元,用于為非根轉發設備生成第一轉發表項和第二轉發表項,所述第一轉發表項包括第一匹配字段和第一操作,所述第一匹配字段為通配符,所述第一操作用于指示所述非根轉發設備對沒有匹配上轉發表中的其它轉發表項的數據報文,執行從指向根轉發設備方向的出接口轉發出去的操作,所述其它轉發表項是指在所述轉發表中除所述第一轉發表項以外的其它轉發表項;所述第二轉發表項包括第二匹配字段和第二操作,所述第二匹配字段至少包括所述第一 VLAN ID和第一目的媒體訪問控制MAC地址,所述第一目的MAC地址為所述第一端點的MAC地址,所述第二操作用于指示所述非根轉發設備對與所述第二匹配字段相匹配的數據報文,執行從指向第一端點方向的出接口轉發出去的操作;所述第一端點接入所述第一樹型拓撲,所述非根轉發設備是從所述第一端點到所述根轉發設備形成的轉發路徑上的一個轉發設備; 發送單元,用于將所述第一轉發表項和所述第二轉發表項發送到所述非根轉發設備上。
10.根據權利要求9所述的控制器,其特征在于, 所述生成單元,還為所述根轉發設備生成第三轉發表項和第四轉發表項,所述第三轉發表項包括所述第一匹配字段和第三操作,所述第一匹配字段為通配符,所述第三操作用于指示所述根轉發設備對沒有匹配上轉發表中的其它轉發表項的數據報文,執行丟棄操作,所述其它轉發表項是指在所述轉發表中除所述第三轉發表項以外的其它轉發表項;所述第四轉發表項包括所述第二匹配字段和第四操作,所述第四操作用于指示所述根轉發設備對與所述第二匹配字段相匹配的數據報文,執行從指向第一端點方向的出接口轉發出去的操作; 所述發送單元還將所述第三轉發表項和所述第四轉發表項發送到所述根轉發設備上。
11.根據權利要求9或10所述的控制器,其特征在于,還包括: 第二端點接入所述第一樹型拓撲,所述非根轉發設備是從所述第二端點到所述根轉發設備形成的轉發路徑上的一個轉發設備,所述生成單元為所述非根轉發設備生成第五轉發表項,所述第五轉發表項包括第三匹配字段和第五操作,所述第三匹配字段至少包括所述第一 VLAN ID和第二目的MAC地址,所述第二目的MAC地址為所述第二端點的MAC地址,所述第五操作用于指示所述非根轉發設備對與所述第三匹配字段相匹配的數據報文,執行從指向所述第二端點方向的出接口轉發出去的操作; 所述發送單元將所述第五轉發表項發送到所述非根轉發設備上。
12.根據權利要求9至11任一所述的控制器,其特征在于,還包括: 所述生成單元為所述根轉發設備生成第六轉發表項,所述第六轉發表項包括所述第三匹配字段和第六操作,所述第六操作用于指示所述根轉發設備對與所述第三匹配字段相匹配的數據報文,執行從指向所述第二端點方向的出接口轉發出去的操作; 所述發送單元將所述第六轉發表項發送到所述根轉發設備。
13.一種非根轉發設備,其特征在于,應用于控制轉發分離的網絡,所述控制轉發分離的網絡包括控制器、非根轉發設備和根轉發設備,所述非根轉發設備和根轉發設備接受所述控制器的控制,所述根轉發設備是第一 VLAN ID對應的第一樹型拓撲的樹根,所述非根轉發設備包括: 接收單元,用于接收控制器發送的第一轉發表項和第二轉發表項,所述第一轉發表項包括第一匹配字段和第一操作,所述第一匹配字段為通配符,所述第一操作用于指示所述非根轉發設備對沒有匹配上轉發表中的其它轉發表項的數據報文,執行從指向根轉發設備方向的出接口轉發出去的操作,所述其它轉發表項是指在所述轉發表中除所述第一轉發表項以外的其它轉發表項;所述第二轉發表項包括第二匹配字段和第二操作,所述第二匹配字段至少包括所述第一 VLAN ID和第一目的媒體訪問控制MAC地址,所述第一目的MAC地址為所述第一端點的MAC地址,所述第二操作用于指示所述非根轉發設備對與所述第二匹配字段相匹配的數據報文,執行從指向第一端點方向的出接口轉發出去的操作;所述第一端點接入所述第一樹型拓撲,所述非根轉發設備是從所述第一端點到所述根轉發設備形成的轉發路徑上的一個轉發設備; 存儲單元,用于保存所述第一轉發表項和所述第二轉發表項; 轉發單元用于接收其它設備發來的數據報文,如果確定接收到的所述數據報文匹配所述第一轉發表項的所述第一匹配字段,則對所述數據報文執行所述第一操作,從指向根轉發設備方向的出接口轉發出去;如果確定接收到的所述數據報文匹配所述第二轉發表項的所述第二匹配字段,則對所述數據報文執行所述第二操作,從指向第一端點方向的出接口轉發出去;所述其它設備是指所述轉發設備,或者第一端點,或者第二端點。
14.根據權利要求13所述的轉發設備,其特征在于,還包括: 第二端點接入所述第一樹型拓撲,所述非根轉發設備是從所述第二端點到所述根轉發設備形成的轉發路徑上的一個轉發設備,所述接收單元接收控制器發送的第五轉發表項,所述第五轉發表項包括第三匹配字段和第五操作,所述第三匹配字段至少包括所述第一VLAN ID和第二目的MAC地址,所述第二目的MAC地址為所述第二端點的MAC地址,所述第五操作用于指示所述非根轉發設備對與所述第三匹配字段相匹配的數據報文,執行從指向所述第二端點方向的出接口轉發出去的操作; 所述存儲單元保存所述第五轉發表項; 所述轉發單元接收所述其它設備發來的數據報文,如果確定接收到的所述數據報文匹配所述第五轉發表項的所述第三匹配字段,則對所述數據報文執行所述第五操作,從指向所述第二端點方向的出接口轉發出去。
15.一種轉發表項處理和報文轉發的系統,應用于控制轉發分離的網絡,其特征在于,包括:權利要求9-12任一所述的控制器和權利要求13-14任一所述的非根轉發設備和根轉發設備,所述根轉發設備具體包括: 接收單元,用于接收第三轉發表項和第四轉發表項,所述第三轉發表項包括所述第一匹配字段和第三操作,所述第一匹配字段為通配符,所述第三操作用于指示所述根轉發設備對沒有匹配上轉發表中的其它轉發表項的數據報文,執行丟棄操作,所述其它轉發表項是指在所述轉發表中除所述第三轉發表項以外的其它轉發表項;所述第四轉發表項包括所述第二匹配字段和第四操作,所述第四操作用于指示所述根轉發設備對與所述第二匹配字段相匹配的數據報文,執行從指向第一端點方向的出接口轉發出去的操作; 存儲單元,用于保存所述第三轉發表項和所述第四轉發表項; 轉發單元,用于接收其它設備發來的數據報文,如果確定接收到的所述數據報文匹配所述第三轉發表項的所述第一匹配字段,則對所述數據報文執行所述第三操作,丟棄所述數據報文;如果確定接收到的所述數據報文匹配所述第四轉發表項的所述第二匹配字段,則對所述數據報文執行所述第四操作,從指向第一端點方向的出接口轉發出去;所述其它設備是指所述轉發設備,或者第一端點,或者第二端點。
16.根據權利要求15所述的系統,其特征在于,所述根轉發設備具體還包括: 所述接收單元接收控制器發送的第六轉發表項,所述第六轉發表項包括第三匹配字段和第六操作,所述第六操作用于指示所述根轉發設備對與所述第三匹配字段相匹配的數據報文,執行從指向所述第二端點方向的出接口轉發出去的操作; 所述存儲單元保存所述第六轉發表項; 所述轉發單元接收所述其它設備發來的數據報文,如果確定接收到的所述數據報文匹配所述第六轉發表項的所述第三匹配字段,則對所述數據報文執行所述第六操作,從指向所述第二端點方向的出接口轉發出去。
【文檔編號】H04L12/757GK104394083SQ201410486044
【公開日】2015年3月4日 申請日期:2014年9月22日 優先權日:2014年9月22日
【發明者】張曉益, 李華, 倪輝 申請人:華為技術有限公司