一種基于SDN的Goose報文流表過濾方法
【專利摘要】本發明涉及一種基于SDN的Goose報文流表過濾方法,所述方法包括(1)控制器中配置流表的第一條流表項;(2)判斷是否配置第一條流表項;(3)控制器中配置流表的第二條流表項;(4)判斷是否配置第二條流表項。本發明通過基于SDN的流表,動態的對G00SE報文的過濾進行配置。該方法可以提高G00SE報文過濾的實時性,并有效提高更新配置信息的運維效率。
【專利說明】一種基于SDN的Goose報文流表過濾方法
【技術領域】
[0001] 本發明涉及一種報文流表過濾方法,具體講涉及一種基于SDN的Goose報文流表 過濾方法。
【背景技術】
[0002] 面向通用對象的變電站事件(GOOSE)是IEC61850標準用于解決智能電子設備 (IED)之間實時信號通信的多播通信機制。智能變電站采用IEC61850統一通信協議,通常 分為過程層、間隔層和站控層,間隔層和站控層設備、過程層和間隔層設備通過通信網絡互 聯,用于控制開關跳閘和合閘的G00SE報文通過此通信網絡傳輸,因此其實時性非常關鍵。
[0003] 目前常用的G00SE報文過濾方法均是基于交換設備的靜態配置,即每種過濾配置 都嵌入在設備/節點內部。當網絡流量較大或出現其他特殊情況時,個別設備處理能力的 不足會增加處理時延,降低G00SE報文過濾的效率,甚至導致系統崩潰。同時,當過濾的相 關配置需要修改或更新時,需要逐臺設備進行更新維護,將耗費大量的人力與時間資源。
【發明內容】
[0004] 針對現有技術的不足,本發明提供一種基于SDN的Goose報文流表過濾方法,通 過在控制器中依據OpenFlow協議設置流表(Flow Table)的流表項(Flow Entry)與行動 (Action),從而控制特定報文的轉發行為,實現基于集中控制的Goose報文過濾。本發明在 基于SDN的流表中設置包頭域的特定閾值,通過報文解析,從而提取并過濾Goose報文,實 現集中控制式的快速有效Goose報文過濾,保證變電站Goose報文的實時通信。
[0005] 通過將交換設備的控制上移至控制器,通過基于SDN的流表,動態的對G00SE報文 的過濾進行配置。該方法可以提高G00SE報文過濾的實時性,并有效提高更新配置信息的 運維效率。
[0006] 本發明的目的是采用下述技術方案實現的:
[0007] 一種基于SDN的Goose報文流表過濾方法,其改進之處在于,所述方法包括 [0008] (1)控制器中配置流表的第一條流表項;
[0009] (2)判斷是否配置第一條流表項;
[0010] (3)控制器中配置流表的第二條流表項;
[0011] (4)判斷是否配置第二條流表項。
[0012]優選的,所述方法包括在控制器中配置兩條流表項,進入指定端口的報文依次匹 配這兩條流表項中的內容,報文同時匹配兩條流表項時,則為G00SE報文,報文不能匹配其 中任何一條流表項時,為非G00SE報文。
[0013]優選的,所述步驟⑴包括設置輸入端口,設置介于0x010CCD010000到 0x010CCD0101FF之間的目的MAC地址,設置〇x81〇〇的以太網類型。
[0014]優選的,所述步驟(2)包括通過端口的報文滿足步驟(D時,設置Vlan id,設置 vlan優先級,設置action類型為入隊操作,并設置enqUeue p〇rt =1,設備queue id = l; 當通過端口 1的報文不滿足步驟(1)時,則轉向步驟(3),匹配第二條流表項。
[0015] 進一步地,所述步驟(2)包括報文匹配介于0X010CCD010000到0X010CCD0101FF 之間的目的mac地址的第一條流表項時,Ether type為0X8100時,為報文設置vlan id和 vlan優先級,為匹配第一條流表項的報文進行標記;匹配第一條流表項的報文將執行入隊 操作,返回原輸入端口,不匹配第一條流表項的報文將匹配第二條流表項。
[0016] 優選的,所述步驟(3)包括設置輸入端口 ingress port = 1,設置以太網類型為 0x88B8,設置 vlan id = 2,設置 vlan priority = 1。
[0017] 優選的,所述步驟(4)包括通過端口的報文滿足步驟(3)時,設置action類型為 轉發操作,并設置output port = 2 ;當通過端口的報文不滿足步驟(1)且不滿足步驟(3) 時,執行默認轉發操作,該報文將從端口轉發出去。
[0018] 進一步地,所述步驟(4)包括匹配第一條流表項并返回原輸入端口的報文將匹配 第二條流表項,即當報文的vlan id與vlan優先級相同,且Ether type為0x88B8時,該報 文將被判定為G00SE報文,執行過濾端口的轉發操作,否則,執行輸入端口的轉發操作;不 匹配第一條流表項的報文將與第二條流表項進行匹配,該報文將被判定為非G00SE報文, 并執行輸入端口的轉發操作。
[0019] 與現有技術比,本發明的有益效果為:
[0020] 本發明采用了基于SDN的集中式控制,通過對流表進行配置,快速、實時的實現 G00SE報文的過濾。同時,通過動態的對G00SE報文進行過濾,有效提高了更新配置信息的 運維效率。
[0021] 本發明SDN的流表中設置包頭域的特定閾值,通過報文解析,從而提取并過濾 Goose報文,實現集中控制式的快速有效Goose報文過濾,保證變電站Goose報文的實時通 ?目。
【專利附圖】
【附圖說明】
[0022] 圖1為本發明提供的一種基于SDN的Goose報文流表過濾方法流程圖。
【具體實施方式】
[0023] 下面結合附圖對本發明的【具體實施方式】作進一步的詳細說明。
[0024] 如圖1所示,本發明一種基于SDN的Goose報文流表過濾方法具體如下:
[0025]在控制器中配置兩條流表項,所有進入指定端口的報文將依次匹配這兩條流表項 中的內容,當報文同時匹配兩條流表項時,則為G00SE報文,當報文不能匹配其中任何一條 流表項時,為非G00SE報文。
[0026] (1)在控制器中配置流表的第一條流表項。設置輸入端口 1(如ingress port = 1),設置目的MAC地址介于0x010CCD010000到0x010CCD0101FF之間,設置以太網類型為 0x8100。
[0027] (2)配置第一條流表項的行動Action。當通過端口 1的報文滿足步驟(1)時,設 置 vlan id (如 vlan id = 2),設置 vlan 優先級(如 vlan priority =1),設置 action 類 型為入隊操作,并設直enqueue port = 1,設備queue id = 1。當通過端口 1的報文不滿 足步驟(1)時,則轉向步驟(3),匹配第二條流表項。
[0028] 當報文匹配第一條流表項時,即目的mac地址介于OxOlOCCDOlOOOO到 OxOlOCCDOlOlFF之間,Ether type為0XS100時,為報文設置vlan id和vlan優先級,為匹 配第一條流表項的報文進行標記。匹配第一條流表項的報文將執行入隊操作,返回原輸入 端口(如:ingress port = 1,則返回的enqueue port = 1),不匹配第一條流表項的報文 將匹配第二條流表項。
[0029] (3)在控制器中配置流表的第二條流表項。設置輸入端口 ingress port = 1,設 置以太網類型為0x88B8,設置vlan id = 2,設置vlan priority = 1。
[0030] (4)配置第二條流表項的行動Action。當通過端口 1的報文滿足步驟(3)時,設 置action類型為轉發操作,并設置output port = 2,當通過端口 1的報文不滿足步驟(D 且不滿足步驟(3)時,執行默認轉發操作,該報文將從端口 1轉發出去。
[0031] 不匹配第一條流表項的報文將與第二條流表項進行匹配,由于沒有設置指定的 vlan id與vlan優先級,該報文將被判定為非G00SE報文,并執行輸入端口的轉發操作(如 output port = 1) 〇
[0032] 匹配第一條流表項并返回原輸入端口的報文將匹配第二條流表項,即當報文的 vlan id與vlan優先級與保護點2中所述的相同,且Ether type為0x88B8時,執行過濾 端口的轉發操作(如output port = 2),否則,執行輸入端口的轉發操作(如output port =1)。(此時,非GOOSE報文將從端口 1轉發出去,GOOSE報文將從端口 2轉發出去,實現 了 G00SE報文的過濾。)
[0033] 最后應當說明的是:以上實施例僅用以說明本發明的技術方案而非對其限制,所 屬領域的普通技術人員參照上述實施例依然可以對本發明的【具體實施方式】進行修改或者 等同替換,這些未脫離本發明精神和范圍的任何修改或者等同替換,均在申請待批的本發 明的權利要求保護范圍之內。
【權利要求】
1. 一種基于SDN的Goose報文流表過濾方法,其特征在于,所述方法包括 (1) 控制器中配置流表的第一條流表項; (2) 判斷是否配置第一條流表項; (3) 控制器中配置流表的第二條流表項; (4) 判斷是否配置第二條流表項。
2. 如權利要求1所述的一種基于SDN的Goose報文流表過濾方法,其特征在于,所述 方法包括在控制器中配置兩條流表項,進入指定端口的報文依次匹配這兩條流表項中的內 容,報文同時匹配兩條流表項時,則為goose報文,報文不能匹配其中任何一條流表項時, 為非GOOSE報文。
3. 如權利要求1所述的一種基于SDN的Goose報文流表過濾方法,其特征在于,所述 步驟⑴包括設置輸入端口,設置介于〇x〇l〇CCD010000到OxOlOCCDOlOlFF之間的目的MAC 地址,設置0x8100的以太網類型。
4·如權利要求1所述的一種基于SDN的Goose報文流表過濾方法,其特征在于,所述步 驟(2)包括通過端口的報文滿足步驟(丨)時,設置vlan id,設置vlan優先級,設置acti〇n 類型為入隊操作,并設置enqueue port = 1,設備queue id = 1 ;當通過端口 1的報文不滿 足步驟(1)時,則轉向步驟(3),匹配第二條流表項。
5.如權利要求4所述的一種基于SDN的Goose報文流表過濾方法,其特征在于,所述步 驟(2)包括報文匹配介于〇x〇l〇CCD010000到OxOlOCCDOlOlFF之間的目的mac地址的第一 條流表項時,Ether type為0X8100時,為報文設置vlan id和vlan優先級,為匹配第一條 流表項的報文進行標記;匹配第一條流表項的報文將執行入隊操作,返回原輸入端口,不匹 配第一條流表項的報文將匹配第二條流表項。
6·如權利要求1所述的一種基于SDN的Goose報文流表過濾方法,其特征在于,所述步 驟(3)包括設置輸入端口 ingress port = 1,設置以太網類型為0x88B8,設置vlan id = 2,設置 vlan priority = 1。
7.如權利要求1所述的一種基于SDN的Goose報文流表過濾方法,其特征在于,所述步 驟(4)包括通過端口的報文滿足步驟(3)時,設置action類型為轉發操作,并設置output port = 2 ;當通過端口的報文不滿足步驟(1)且不滿足步驟(3)時,執行默認轉發操作,該 報文將從端口轉發出去。
8·如權利要求7所述的一種基于SDN的Goose報文流表過濾方法,其特征在于,所述步 驟(4)包括匹配第一條流表項并返回原輸入端口的報文將匹配第二條流表項,即當報文的 vlan id與vlan優先級相同,且Ether type為0x88B8時,該報文將被判定為GOOSE報文, 執行過濾端口的轉發操作,否則,執行輸入端口的轉發操作;不匹配第一條流表項的報文將 與第二條流表項進行匹配,該報文將被判定為非G00SE報文,并執行輸入端口的轉發操作。
【文檔編號】H04L12/741GK104219151SQ201410484545
【公開日】2014年12月17日 申請日期:2014年9月19日 優先權日:2014年9月19日
【發明者】劉川, 吳鵬, 陳磊, 陶靜, 吳軍民, 張剛, 黃在朝, 黃輝, 葛劍飛, 鄧輝, 王瑋, 沈文, 喻強, 姚啟桂, 于海, 虞躍, 張增華, 王向群, 李春龍, 孫曉艷, 于鵬飛, 陳偉, 任杰, 黃治 申請人:國家電網公司, 中國電力科學研究院, 國網上海市電力公司