一種sdn流轉發(fā)的數(shù)量限制方法和控制系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明涉及數(shù)據(jù)處理領域,特別是涉及一種SDN流轉發(fā)的數(shù)量限制方法和控制系統(tǒng)。
【背景技術】
[0002]傳統(tǒng)的數(shù)據(jù)流數(shù)量的限制方法是基于端口和VLAN,建立數(shù)據(jù)流與SDN交換機端口之間的映射關系的表項,當SDN交換機接收到需要轉發(fā)的數(shù)據(jù)流時,首先學習數(shù)據(jù)流的源地址,與接收端口建立映射關系;然后根據(jù)目標數(shù)據(jù)流地址查詢映射關系的表項,如果命中相關表項,SDN交換機將數(shù)據(jù)流從相應端口轉發(fā);否則,SDN交換機將數(shù)據(jù)流在其所屬VLAN內廣播。
[0003]在我們目前的SDN交換機中,端口上對數(shù)據(jù)流地址的數(shù)量沒有限制,允許一個端口配置或者學習多個數(shù)據(jù)流地址,直到創(chuàng)建的表項填滿為止,無法精確定位數(shù)據(jù)流,粒度比較粗。為了限制端口的過量數(shù)據(jù)流地址,我們需要限制端口的數(shù)據(jù)流數(shù)量。
【發(fā)明內容】
[0004]本發(fā)明主要解決的技術問題是提供一種SDN流轉發(fā)的數(shù)量限制方法和控制系統(tǒng),能夠動態(tài)對端口,SDN交換機和全網SDN流進行數(shù)目限制,從而實現(xiàn)全網SDN流數(shù)目控制。
[0005]為解決上述技術問題,本發(fā)明采用的一個技術方案是:提供一種SDN流轉發(fā)的數(shù)量限制方法,包括:SDN控制器接收一 SDN交換機處理并上報的SDN流,并實時計算SDN流的數(shù)量;SDN控制器設定第一閾值、第二閾值及第三閾值,用SDN流的數(shù)量依次與第一閾值、第二閾值及第三閾值做比較;在SDN控制器判定SDN流的數(shù)量大時,丟棄SDN流,否則繼續(xù)與下一閾值做比較;判定SDN流的數(shù)量小于第一閾值、第二閾值及第三閾值時,SDN控制器根據(jù)SDN流的信息向SDN交換機轉發(fā)SDN流。
[0006]其中,在SDN控制器接收一 SDN交換機處理并上報的SDN流的步驟中,SDN交換機處理SDN流的方式是學習和老化兩種方式中的任意一種,在學習或老化SDN流后上報SDN控制器。
[0007]其中,在控制器接收一 SDN交換機處理并上報的SDN流的步驟之前,SDN控制器向SDN交換機下發(fā)流表,流表至少包含限制SDN流數(shù)量的指令,SDN流中,與流表匹配的第一部分SDN流根據(jù)流表進行轉發(fā),未與流表匹配的第二部分SDN流上報SDN控制器。
[0008]其中,限制SDN流數(shù)量的指令至少包括匹配字段和動作字段,其中,匹配字段至少包括第一閾值、第二閾值和第三閾值,第一閾值是全網SDN流的數(shù)量閾值,第二閾值是SDN交換機SDN流的數(shù)量閾值,第三閾值是SDN交換機的端口 SDN流的數(shù)量閾值;動作字段是使SDN控制器實時計算得到SDN流的數(shù)量與匹配字段比較。
[0009]其中,SDN控制器實時計算得到SDN流的數(shù)量大于匹配字段時,丟棄SDN流。
[0010]其中,SDN流的信息至少包括MAC地址信息、鏈路層發(fā)現(xiàn)協(xié)議信息和流特征碼,SDN控制器根據(jù)SDN流的信息確定轉發(fā)路徑,將SDN流轉發(fā)到轉發(fā)路徑對應的SDN交換機的端□ O
[0011]為解決上述技術問題,本發(fā)明采用的一個技術方案是:提供一種SDN流轉發(fā)的數(shù)量限制系統(tǒng),包括:客戶端,用于產生SDN流;SDN交換機,用于處理SDN流,并將SDN流上報SDN控制器;SDN控制器,用于計算SDN交換機上報的SDN流的數(shù)量,設定第一閾值、第二閾值及第三閾值,并將SDN流的數(shù)量依次與第一閾值、第二閾值及第三閾值做比較,且當判定SDN流的數(shù)量大時,丟棄SDN流,否則繼續(xù)與下一閾值做比較,并在SDN控制器根據(jù)SDN流的信息向SDN交換機轉發(fā)SDN流。
[0012]其中,SDN交換機處理SDN流的方式是學習和老化兩種方式中的任意一種,SDN交換機在學習或老化SDN流后上報SDN控制器。
[0013]其中,SDN控制器向SDN交換機下發(fā)流表,流表至少包含限制SDN流數(shù)量的指令,指令至少包括匹配字段和動作字段;其中,SDN流中,與流表匹配的第一部分SDN流根據(jù)流表進行轉發(fā),未與流表匹配的第二部分SDN流上報SDN控制器。
[0014]其中,SDN控制器包括計算機制、設定機制、判斷機制和轉發(fā)機制;計算機制用于實時計算SDN交換機上報的SDN流的數(shù)量;設定機制用于設定匹配字段,匹配字段至少包括第一閾值、第二閾值和第三閾值,第一閾值是全網SDN流的數(shù)量閾值,第二閾值是SDN交換機SDN流的數(shù)量閾值,第三閾值是SDN交換機的端口 SDN流的數(shù)量閾值;判斷機制用于根據(jù)動作字段是使SDN控制器實時計算得到SDN流的數(shù)量與匹配字段比較;轉發(fā)機制用于根據(jù)SDN流的信息確定轉發(fā)路徑,將SDN流轉發(fā)到轉發(fā)路徑對應的SDN交換機的端口。
[0015]區(qū)別于現(xiàn)有技術,本發(fā)明的SDN流轉發(fā)的數(shù)量限制方法將利用SDN控制器實時計算SDN交換機上報的SDN流的數(shù)量,將SDN流的數(shù)量分別依次和三個閾值比較,在SDN流的數(shù)量大于任意一個閾值時丟棄SDN流,在SDN流的數(shù)量小于所有閾值時,SDN控制器根據(jù)SDN流的信息向SDN交換機轉發(fā)SDN流,SDN控制器能夠動態(tài)對端口、SDN交換機和全網SDN流進行數(shù)目限制,從而實現(xiàn)全網SDN流數(shù)目控制。
【附圖說明】
[0016]圖1是本發(fā)明提供的一種SDN流轉發(fā)的數(shù)量限制方法的第一實施方式的流程示意圖;
[0017]圖2是本發(fā)明提供的一種SDN流轉發(fā)的數(shù)量限制方法的第二實施方式的流程示意圖;
[0018]圖3是本發(fā)明提供的一種SDN流轉發(fā)的數(shù)量限制系統(tǒng)的第一實施方式的流程示意圖。
【具體實施方式】
[0019]下面結合【具體實施方式】對本發(fā)明的技術方案作進一步更詳細的描述。顯然,所描述的實施例僅僅是本發(fā)明的一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都應屬于本發(fā)明保護的范圍。
[0020]SDN是軟件定義網絡(Software Defined Network, SDN),是一種新型網絡創(chuàng)新架構,是網絡虛擬化的一種實現(xiàn)方式,其核心技術通過將網絡設備控制面與數(shù)據(jù)面分離開來,從而實現(xiàn)了網絡流量的靈活控制,使網絡作為管道變得更加智能。傳統(tǒng)的網絡架構中,根據(jù)業(yè)務需求部署上線以后,無法對網絡中的數(shù)據(jù)流的數(shù)量進行控制。在互聯(lián)網大數(shù)據(jù)瞬息萬變的業(yè)務環(huán)境下,網絡的高穩(wěn)定與高性能還不足以滿足業(yè)務需求,靈活性和敏捷性反而更為關鍵。SDN所做的事是將網絡設備上的控制權分離出來,由集中的控制器管理,無須依賴底層網絡設備(路由器、SDN交換機、防火墻),屏蔽了來自底層網絡設備的差異。而控制權是完全開放的,用戶可以根據(jù)需求動態(tài)對端口、SDN交換機和全網的數(shù)據(jù)流進行數(shù)目限制,從而實現(xiàn)全網SDN流數(shù)目控制,從而更加靈活和智能,無需繁瑣操作。
[0021]參閱圖1,圖1是本發(fā)明提供的一種SDN流轉發(fā)的數(shù)量限制方法的第一實施方式的流程示意圖。該方法的步驟包括:
[0022]SlOl:SDN控制器接收一 SDN交換機處理并上報的SDN流,并實時計算SDN流的數(shù)量。
[0023]SDN交換機為SDN交換機,SDN交換機處理并上報SDN數(shù)據(jù)流。本實施方式中,具體為SDN交換機進行學習和老化MAC地址信息,SDN交換機設置一 MAC地址表,包含MAC地址和對應的端口。每一 MAC地址進入SDN交換機時審查源MAC地址,進行查找,如果MAC地址表中沒有包含這個MAC地址,SDN交換機會創(chuàng)建一個新條目,包括源MAC地址和接收端口。若有去往這個MAC地址的數(shù)據(jù),SDN交換機則往對應的端口進行轉發(fā)。SDN交換機中的MAC地址條目有一定的生存時間,每學習一個MAC地址條目都附加一個時間值,稱為老化時間。老化時間是一個影響交換機學習進程的參數(shù),默認為300秒。從一個地址記錄加入地址表以后開始計時,如果在老化時間內各端口未收到源地址為該MAC地址的數(shù)據(jù),這些地址將從動態(tài)轉發(fā)地址表(由源MAC地址、目的MAC地址和它們相對應的交換機的端口號)中被刪除。SDN交換機學習或老化MAC地址信息,形成SDN流,立即上報給SDN控制器。SDN控制器接收SDN交換機上報的SDN流,并實時計算SDN流的數(shù)量,進入步驟S102。
[0024]S102 =SDN控制器依次用SDN流的數(shù)量與第一閾值、第二閾值及第三閾值做比較。
[0025]SDN控制器中預設第一閾值、第二閾值及第三閾值,其中第一閾值時全局閾值,可設定為整個網絡中SDN流數(shù)量的閾值,第二閾值是SDN交換機中SDN流數(shù)量的閾值,第三閾值是SDN交換機的端口中SDN流數(shù)量的閾值,且三個閾值的數(shù)值依次減少。然后進入步驟S103,以SDN控制器實時計算得到SDN流的數(shù)量和上述三個閾值進行比較。
[0026]S103:在SDN控制器判定SDN流的數(shù)量大時,丟棄SDN流,否則繼續(xù)與下一閾值做比較;判定SDN流的數(shù)量小于第一閾值、第二閾值及第三閾值時,SDN控制器根據(jù)SDN流的信息向SDN交換機轉發(fā)SDN流。
[0027]SDN控制器用實時計算得到SDN流的數(shù)量和第一閾值相比,若SDN流的數(shù)量大于第一閾值,則SDN控制器丟棄SDN流,反之則繼續(xù)用SDN流的數(shù)量和第二閾值相比,若SDN流的數(shù)量大于第二閾值,則SDN控制器丟棄SDN流,反之則繼續(xù)用SDN流的數(shù)量和第三閾值相比,若SDN流的數(shù)量大于第三閾值,則SDN控制器丟棄SDN流,反之,SDN控制器根據(jù)SDN流的信息,如MAC地址信息、LLDP信息和流特征碼計算流轉發(fā)路徑,向該SDN交換機的端口轉發(fā)SDN流。
[0028]區(qū)別于現(xiàn)有技術,本發(fā)明的SDN流轉發(fā)的數(shù)量限制方法將利用SDN控制器實時計算SDN交換機上報的SDN流的數(shù)量,將SDN流的數(shù)量分別依次和三個閾值比較,在SDN流的數(shù)量大于任意一個閾值時丟棄SDN流,在SDN流的數(shù)量小于所有閾值時,SDN控制器根據(jù)SDN流的信息向SDN交換機轉發(fā)SDN流,SDN控制器能夠動態(tài)對端口,SDN交換機和全網SDN流進行數(shù)目限制,從而實現(xiàn)全網SDN流數(shù)目控制。
[0029]參閱圖2,圖2是本發(fā)明提供的一種SDN流轉發(fā)的數(shù)量限制方法的第二實施方式的流程示意圖。該方法的步驟包括:
[0030]S201:SDN控制器向SDN交換機下發(fā)流表。
[0031]在SDN交換機向SDN控制器上報SDN流之前,SDN控制器首先向SDN交換機下發(fā)流表,該流表包含限制SDN流數(shù)量的指令,限制SDN流數(shù)量的指令至少包括匹配字段和動作字段。將SDN流分類為第一部分SDN流和第二部分SDN流,其中第一部分SDN流和流表匹配,直接按照流表轉發(fā)第一部分SDN流。未匹配流表的第二部分SDN流則被SDN控制器上報給SDN控制器,進入步驟S202。
[0032]S202:SDN控制器接收一 SDN交換機處理并上報的SDN流,并實時計算SDN流的數(shù)量。
[0033]對于前述未匹配流表的第二部分SDN流,與前一實施方