一種下發(fā)流表的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及軟件定義網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別涉及一種下發(fā)流表的方法及裝置。
【背景技術(shù)】
[0002]軟件定義網(wǎng)絡(luò)(Software-Defined Networking)是一種新型的、可編程的網(wǎng)絡(luò)架構(gòu),以實現(xiàn)對網(wǎng)絡(luò)流量的靈活控制,為核心網(wǎng)絡(luò)及相關(guān)應(yīng)用提供良好的平臺。OpenFlow技術(shù)作為SDN的核心技術(shù),將控制平面與轉(zhuǎn)發(fā)平面相分離,控制功能集中到控制器上,便于通過編程實現(xiàn)對交換機的靈活控制,進而實現(xiàn)對網(wǎng)絡(luò)流量的靈活控制,提高了整個網(wǎng)絡(luò)的效率。未來幾年,SDN的發(fā)展也將更為廣泛:北向接口可能會得到越來越多的發(fā)展;由于開源的愈加流行,開源在未來很可能實現(xiàn)商業(yè)化;世界各地的服務(wù)提供商,如大的IT公司,以及運營商等很可能會采用SDN解決方案,來滿足客戶需求。
[0003]接納控制是一種允許或者拒絕用戶使用網(wǎng)絡(luò)資源的控制方法,目的是避免網(wǎng)絡(luò)資源壓力過大,最大限度地利用網(wǎng)絡(luò)資源,優(yōu)化網(wǎng)絡(luò)收益?,F(xiàn)有的SDN主要依據(jù)業(yè)務(wù)需求和網(wǎng)絡(luò)資源對數(shù)據(jù)流進行接納控制,即當(dāng)現(xiàn)有網(wǎng)絡(luò)資源能夠滿足業(yè)務(wù)需求,則允許數(shù)據(jù)流接入,反之,則拒絕數(shù)據(jù)流的接入,網(wǎng)絡(luò)中表現(xiàn)如:參照圖1,圖1為現(xiàn)有技術(shù)的SDN中數(shù)據(jù)流處理原理圖,當(dāng)交換機接收到待處理的數(shù)據(jù)包,會查詢SDN交換機的流表,如果查詢到相應(yīng)的流表項時,會按照其中的轉(zhuǎn)發(fā)規(guī)則將數(shù)據(jù)流進行轉(zhuǎn)發(fā)或者丟棄。對應(yīng)網(wǎng)絡(luò)中,如果沒有查到匹配的轉(zhuǎn)發(fā)規(guī)則,則交換機將數(shù)據(jù)流封裝成特定的消息發(fā)送給控制器請求流規(guī)則,控制器處理后下發(fā)流規(guī)則給相應(yīng)的交換機,交換機更新流表。此時,交換機流表的空間不足時,無法保存對應(yīng)下發(fā)的流表,則下發(fā)流表后,數(shù)據(jù)包可能會被丟棄。
[0004]數(shù)據(jù)流在網(wǎng)絡(luò)中的真實特征很可能會與業(yè)務(wù)需求中描述的特征存在出入,信譽值會有差異,流表空間不足時,會希望信譽值較高的數(shù)據(jù)流能被處理,利用數(shù)據(jù)流在網(wǎng)絡(luò)中所表現(xiàn)出來的真實的特征結(jié)合網(wǎng)絡(luò)現(xiàn)有資源來設(shè)計接納控制方法,使希望被處理的數(shù)據(jù)流的流表能優(yōu)先地被下發(fā)保存,以使優(yōu)先處理一些希望被處理的數(shù)據(jù),變得比較重要。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例的目的在于提供一種下發(fā)流表的方法及裝置,以在流表空間不足時,根據(jù)數(shù)據(jù)流的信譽值來有選擇的下發(fā)流表,從而降低高信譽值的數(shù)據(jù)流對應(yīng)的流表因流表空間不足而下發(fā)失敗概率。具體技術(shù)方案如下:
[0006]第一方面,本發(fā)明實施例提供了一種下發(fā)流表的方法,應(yīng)用于軟件定義網(wǎng)絡(luò)SDN中的控制器,所述SDN還包括交換機,所述方法包括:
[0007]在接收所述交換機發(fā)送的包含待處理數(shù)據(jù)包的流表請求后,獲得所述交換機的流表空間的當(dāng)前占用大??;
[0008]當(dāng)所述當(dāng)前占用大小大于預(yù)設(shè)閾值且小于流表空間滿值時,獲得所述待處理數(shù)據(jù)包所對應(yīng)數(shù)據(jù)流的信譽值;
[0009]判斷所述信譽值與預(yù)設(shè)最小信譽值、預(yù)設(shè)最大信譽值的大小,若所述信譽值小于或等于預(yù)設(shè)最小信譽值,則不下發(fā)流表;若所述信譽值大于預(yù)設(shè)最小信譽值且小于預(yù)設(shè)最大信譽值,則根據(jù)預(yù)設(shè)概率標(biāo)準(zhǔn)向所述交換機下發(fā)所述待處理數(shù)據(jù)包所對應(yīng)的流表;若所述信譽值大于或等于預(yù)設(shè)最大信譽值,則依據(jù)接收數(shù)據(jù)包的時間順序,向所述交換機下發(fā)所述待處理數(shù)據(jù)包所對應(yīng)的流表。
[0010]可選的,所述預(yù)設(shè)概率標(biāo)準(zhǔn)為:
[0011]獲得預(yù)設(shè)時間段內(nèi)所接收到的各個流表請求中的待處理數(shù)據(jù)包的信譽值;
[0012]將所獲得的多個信譽值中,位于預(yù)設(shè)最小信譽值和預(yù)設(shè)最大信譽值之間的多個信譽值做比較,針對最大信譽值對應(yīng)的待處理數(shù)據(jù)包下發(fā)對應(yīng)流表。
[0013]可選的,所述當(dāng)所述當(dāng)前占用大小大于預(yù)設(shè)閾值且小于流表空間滿值時,獲得所述待處理數(shù)據(jù)包所對應(yīng)數(shù)據(jù)流的信譽值,具體為:
[0014]當(dāng)所述當(dāng)前占用大小大于預(yù)設(shè)閾值且小于流表空間滿值時,從預(yù)先存儲的各個數(shù)據(jù)流所對應(yīng)信譽值中,查找獲得所述待處理數(shù)據(jù)包所對應(yīng)數(shù)據(jù)流的信譽值;
[0015]其中,各個數(shù)據(jù)流的信譽值,由以下公式計算獲得:
[0016]c = (P-A)/P
[0017]其中,c為數(shù)據(jù)流的信譽值;P為該數(shù)據(jù)流的平均承諾速率;A為該數(shù)據(jù)流的實際平均速率。
[0018]可選的,所述方法還包括:
[0019]當(dāng)所述當(dāng)前占用大小不大于所述預(yù)設(shè)閾值時,向所述交換機下發(fā)所述待處理數(shù)據(jù)包所對應(yīng)的流表。
[0020]可選的,所述方法還包括:
[0021]當(dāng)所述當(dāng)前占用大小等于所述流表空間滿值時,不向所述交換機下發(fā)所述待處理數(shù)據(jù)包所對應(yīng)的流表或通過代替流表空間中滿足預(yù)設(shè)條件的流表的方式向所述交換機下發(fā)所述待處理數(shù)據(jù)包所對應(yīng)的流表。
[0022]第二方面,本發(fā)明實施例還提供了一種下發(fā)流表的裝置,應(yīng)用于軟件定義網(wǎng)絡(luò)SDN中的控制器,所述SDN還包括交換機,所述裝置包括:
[0023]流表占用空間獲得模塊,用于在接收所述交換機發(fā)送的包含待處理數(shù)據(jù)包的流表請求后,獲得所述交換機的流表空間的當(dāng)前占用大小;
[0024]信譽值獲得模塊,用于當(dāng)所述當(dāng)前占用大小大于預(yù)設(shè)閾值且小于流表空間滿值時,獲得所述待處理數(shù)據(jù)包所對應(yīng)數(shù)據(jù)流的信譽值;
[0025]流表下發(fā)決策模塊,用于判斷所述信譽值與預(yù)設(shè)最小信譽值、預(yù)設(shè)最大信譽值的大小,若所述信譽值小于或等于預(yù)設(shè)最小信譽值,則不下發(fā)流表;若所述信譽值大于預(yù)設(shè)最小信譽值且小于預(yù)設(shè)最大信譽值,則根據(jù)預(yù)設(shè)概率標(biāo)準(zhǔn)向所述交換機下發(fā)所述待處理數(shù)據(jù)包所對應(yīng)的流表;若所述信譽值大于或等于預(yù)設(shè)最大信譽值,則依據(jù)接收數(shù)據(jù)包的時間順序,向所述交換機下發(fā)所述待處理數(shù)據(jù)包所對應(yīng)的流表。
[0026]可選的,所述流表下發(fā)決策模塊所采用的預(yù)設(shè)概率標(biāo)準(zhǔn)為:
[0027]獲得預(yù)設(shè)時間段內(nèi)所接收到的各個流表請求中的待處理數(shù)據(jù)包的信譽值;
[0028]將所獲得的多個信譽值中,位于預(yù)設(shè)最小信譽值和預(yù)設(shè)最大信譽值之間的多個信譽值做比較,針對最大信譽值對應(yīng)的待處理數(shù)據(jù)包下發(fā)對應(yīng)流表。
[0029]可選的,所述信譽值獲得模塊具體用于:
[0030]當(dāng)所述當(dāng)前占用大小大于預(yù)設(shè)閾值且小于流表空間滿值時,從預(yù)先存儲的各個數(shù)據(jù)流所對應(yīng)信譽值中,查找獲得所述待處理數(shù)據(jù)包所對應(yīng)數(shù)據(jù)流的信譽值;
[0031 ]其中,預(yù)先存儲的各個數(shù)據(jù)流的信譽值,由以下公式計算獲得:
[0032]c = (P-A)/P
[0033]其中,c為數(shù)據(jù)流的信譽值;P為該數(shù)據(jù)流的平均承諾速率;A為該數(shù)據(jù)流的實際平均速率。
[0034]可選的,所述流表下發(fā)決策模塊還用于:當(dāng)所述當(dāng)前占用大小不大于所述預(yù)設(shè)閾值時,向所述交換機下發(fā)所述待處理數(shù)據(jù)包所對應(yīng)的流表。
[0035]可選的,所述流表下發(fā)決策模塊還用于:當(dāng)所述當(dāng)前占用大小等于所述流表空間滿值時,不向所述交換機下發(fā)所述待處理數(shù)據(jù)包所對應(yīng)的流表或通過代替流表空間中滿足預(yù)設(shè)條件的流表的方式向所述交換機下發(fā)所述待處理數(shù)據(jù)包所對應(yīng)的流表。
[0036]本發(fā)明實施例中,根據(jù)數(shù)據(jù)流在網(wǎng)絡(luò)中的屬于實際特性的信譽值來決定是否下發(fā)流表,具體的,在