亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于軟件定義網(wǎng)絡(luò)的訪問控制列表運行系統(tǒng)和方法

文檔序號:9276799閱讀:549來源:國知局
基于軟件定義網(wǎng)絡(luò)的訪問控制列表運行系統(tǒng)和方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種基于軟件定義網(wǎng)絡(luò)(SDN,Software Defined Network)的訪問控 制列表(ACL,Access Control List)運行系統(tǒng)和方法,能根據(jù)需求自動生成端對端的全網(wǎng) ACL規(guī)則,屬于網(wǎng)絡(luò)通信安全領(lǐng)域。
【背景技術(shù)】
[0002] 為了保護內(nèi)部網(wǎng)絡(luò)資源不被他人侵?jǐn)_,提供允許或阻止業(yè)務(wù)來往的網(wǎng)絡(luò)通信安全 機制是非常必要的。因此為了保護網(wǎng)絡(luò)的安全,最普遍的方案就是ACL。ACL是路由器和交 換機接口的指令列表,其基本用途是限制訪問網(wǎng)絡(luò)的用戶,其通過使用包過濾技術(shù),對經(jīng)過 路由器的數(shù)據(jù)包按照設(shè)定的規(guī)則進行過濾,可以使數(shù)據(jù)包有選擇的通過路由器,以起到防 火墻的作用。
[0003] ACL由一組規(guī)則組成,在規(guī)則中定義允許或拒絕通過路由器的條件。ACL的過濾是 在路由器上讀取第三層及第四層包頭中的信息如源地址、目的地址、源端口、目的端口等, 根據(jù)預(yù)先定義好的規(guī)則對數(shù)據(jù)包進行過濾,從而達到訪問控制的目的。一般情況下,ACL的 過濾依據(jù)主要包括源MAC (Media Access Control,媒體訪問控制)地址、目的MAC地址、源 IP地址、目的IP地址和四層協(xié)議字段等。
[0004] 而ACL的限制內(nèi)容通常包括:1、允許哪些用戶訪問網(wǎng)絡(luò),這是根據(jù)用戶的IP地址 進行的限制;2、允許用戶訪問的類型,如允許http和ftp的訪問,但拒絕Telnet的訪問,這 是根據(jù)用戶使用的上層協(xié)議進行的限制。
[0005] ACL是由多條判斷指令組成的。每條指令給出一個條件和處理方式(也就是允許 或拒絕)。路由器對收到的數(shù)據(jù)包按照判斷指令的書寫次序進行檢查,當(dāng)遇到相匹配的條件 時,就按照指定的處理方式進行處理。ACL中各指令的書寫次序非常重要,如果一個數(shù)據(jù)包 和其中某一個判斷指令的條件相匹配時,該數(shù)據(jù)包的匹配過程就結(jié)束了,剩下的條件指令 就直接被忽略了。
[0006] 傳統(tǒng)的ACL存在其局限性,由于ACL是使用包過濾技術(shù)來實現(xiàn)的,過濾的依據(jù)又 僅僅只是第三層和第四層包頭中的部分信息,這種技術(shù)具有一些固有的局限性,具體包括 以下兩大缺點,一是無法識別到具體的用戶,無法識別到應(yīng)用內(nèi)部的權(quán)限級別等;另外,ACL 的配置是基于一臺路由器,如果要實現(xiàn)端對端的權(quán)限控制目的,要求網(wǎng)絡(luò)管理員對具體業(yè) 務(wù)和網(wǎng)絡(luò)拓?fù)浞浅A私?,對于一個較大規(guī)模的網(wǎng)絡(luò),這項工作顯然不夠輕松,而且非常容易 出錯。

【發(fā)明內(nèi)容】

[0007] 本發(fā)明的目的在于提供一種基于SDN的訪問控制列表運行系統(tǒng)和方法,能自動計 算完成訪問控制列表的生成,并根據(jù)用戶需求自動生成端對端的全網(wǎng)ACL規(guī)則,簡化了網(wǎng) 絡(luò)維護工作。
[0008] 為了達到上述目的,本發(fā)明提供一種基于SDN的訪問控制列表運行系統(tǒng),其基于 路由器設(shè)置,包含:多個SDN交換機,其中,至少一個SDN交換機與Internet用戶連接,至少 一個SDN交換機與網(wǎng)絡(luò)資源連接,其余SDN交換機為中間轉(zhuǎn)發(fā)接點;SDN控制器,其分別與 各個所述的SDN交換機相連接。
[0009]本發(fā)明還提供一種基于SDN的訪問控制列表運行方法,其基于所述的訪問控制列 表運行系統(tǒng)實現(xiàn),具體包含以下步驟: 51、 SDN控制器獲取網(wǎng)絡(luò)結(jié)構(gòu)和網(wǎng)絡(luò)資源,并向所有SDN交換機下發(fā)交換機流表; 52、 SDN交換機接收用戶發(fā)出的報文,并查詢交換機流表進行匹配;如報文與交換機流 表相匹配,則按交換機流表的規(guī)則轉(zhuǎn)發(fā)報文;如報文與交換機流表不相匹配,則繼續(xù)執(zhí)行 S3; 53、 SDN交換機將未與交換機流表匹配的報文發(fā)送至SDN控制器,并由SDN控制器對該 報文與ACL Profile表進行匹配;將未與ACL Profile表中任意ACL條目相匹配的報文丟 棄; 54、 對于與ACL Profile表中某一 ACL條目相匹配的報文,由SDN控制器確定其轉(zhuǎn)發(fā)路 徑,在轉(zhuǎn)發(fā)路徑經(jīng)過的所有SDN交換機接口上設(shè)置與該報文相匹配的ACL條目規(guī)則,并將該 報文按所選擇的轉(zhuǎn)發(fā)路徑進行轉(zhuǎn)發(fā); 55、 對SDN交換機上設(shè)置的ACL條目規(guī)則設(shè)置老化機制,將一定老化時間內(nèi)未被報文匹 配的ACL條目規(guī)則刪除。
[0010]所述的Sl中,具體包含以下步驟: Sl 1、SDN控制器根據(jù)LLDP協(xié)議獲知全網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu); 512、 SDN控制器獲取計算資源,存儲資源和網(wǎng)絡(luò)資源在網(wǎng)絡(luò)中的分布和位置; 513、 SDN控制器向所有SDN交換機下發(fā)交換機流表,在SDN交換機上設(shè)置該交換機流 表的規(guī)則。
[0011] 所述的ACL Profi Ie表中還包含位于所有ACL條目之后的Deny Any條目,其表示 任何一個與之前各ACL條目都不匹配的報文將會被拒絕。
[0012]所述的ACL條目的字段結(jié)構(gòu)包含:源端條件,其是源MAC地址、源IP地址、源TCP端口、源UDP端口中的一個條件,或是上述多個條件的"與"關(guān)系,或是上述多個條件的"或" 關(guān)系;目的端條件,其是目的MAC地址、目的IP地址、目的TCP端口、目的UDP端口中的一個 條件,或是上述多個條件的"與"關(guān)系,或是上述多個條件的"或"關(guān)系;動作,其包含允許或 拒絕;方向,其包含In方向和Out方向,In方向表示在報文進入時使用ACL進行過濾,Out 方向表示報文離開時使用ACL進行過濾。
[0013] 所述的S3中,具體包含以下步驟: 531、 SDN交換機將未與交換機流表匹配的報文發(fā)送至SDN控制器; 532、 SDN控制器判斷報文是否匹配ACL Profile表中的其中一條ACL條目中的源端條 件和目的端條件;如不匹配,則丟棄報文;如匹配,則繼續(xù)執(zhí)行S33; 533、 對于與報文匹配的ACL條目,判斷其動作是否為允許;如為拒絕,則丟棄報文;如 為允許,則繼續(xù)執(zhí)行S4。
[0014] 所述的S32中,具體包含以下步驟: 5321、 讀取ACL Profile表中的一條ACL條目; 5322、 判斷報文是否匹配該ACL條目中的源端條件;如匹配,則繼續(xù)執(zhí)行S323 ;如不匹 配,則繼續(xù)執(zhí)行S324; 5323、 判斷報文是否匹配該ACL條目中的目的端條件;如匹配,則繼續(xù)執(zhí)行S33 ;如不匹 配,則繼續(xù)執(zhí)行S324; 5324、 判斷當(dāng)前ACL條目是否為ACL Profile表中的最后一條ACL條目,如不是,則繼 續(xù)讀取ACL Profile表中的下一條ACL條目,并返回執(zhí)行S322 ;如是,則將報文匹配Deny Any條目,并丟棄報文。
[0015] 所述的S5中,具體包含以下步驟: 551、 SDN控制器設(shè)置老化時間; 552、 對于設(shè)置了 ACL條目規(guī)則且已經(jīng)與報文匹配的SDN交換機,刷新其老化時間; 553、 對于設(shè)置了 ACL條目規(guī)則但尚未與報文匹配的SDN交換機,計算其設(shè)置ACL條目 規(guī)則后所經(jīng)過的時間,并判斷是否超過老化時間;如未超過,則返回執(zhí)行S53 ;如超過,則繼 續(xù)執(zhí)行S54 ; 554、 刪除SDN交換機上的ACL條目規(guī)則。
[0016] 所述的ACL條目規(guī)則采用多級流表結(jié)構(gòu),其中第一級流表用于匹配入端口 In方 向,后續(xù)N級流表用于匹配源端條件,再接著的M級流表用于匹配目的端條件,最后一級流 表用于匹配出端口 Out方向。
[0017] 所述的ACL條目規(guī)則中還包含用于識別報文第七層的用戶字段,其能夠識別某個 具體用戶。
[0018] 綜上所述,本發(fā)明所提供的基于SDN的訪問控制列表運行系統(tǒng)和方法,其基于SDN 架構(gòu),SDN控制器可以根據(jù)用戶需求自動生成端對端的全網(wǎng)ACL規(guī)則,擴展的ACL流表采用 協(xié)議無感知的設(shè)計,可以精確地識別到具體用戶;并且SDN控制器能自動計算完成訪問控 制列表的生成,簡化了網(wǎng)絡(luò)維護工作。
【附圖說明】
[0019] 圖1為本發(fā)明中基于SDN的訪問控制列表運行系統(tǒng)的結(jié)構(gòu)示意圖; 圖2為本發(fā)明中基于SDN的訪問控制列表運行方法的流程圖; 圖3為本發(fā)明中SDN控制器獲取網(wǎng)絡(luò)結(jié)構(gòu)、資源信息并下發(fā)ACL流表的流程圖; 圖4為本發(fā)明中SDN控制器對報文進行ACL Profile匹配的流程圖; 圖5為本發(fā)明中對ACL條目規(guī)則設(shè)置老化機制的流程圖; 圖6為本發(fā)明中ACL條目規(guī)則的結(jié)構(gòu)示意圖; 圖7為本發(fā)明中基于SDN的訪問控制列表運行模擬環(huán)境的示意圖。
【具體實施方式】
[0020] 以下結(jié)合圖1~圖7,通過詳細(xì)說明一個較佳的具體實施例,對本發(fā)明做進一步闡 述。
[0021] 如圖1所示,為本發(fā)明提供的基于SDN的訪問控制列表運行系統(tǒng),其基于路由器設(shè) 置,包含:多個SDN交換機,其中,至少一個SDN交換機Sl與Internet用戶連接,至少一個 SDN交換機S4與網(wǎng)絡(luò)資源連接,其余SDN交換機S2和S3為中間轉(zhuǎn)發(fā)接點;SDN控制器,其 分別與各個所述的SDN交換機相連接。
[0022] 如圖2所示,本發(fā)明還提供一種基于SDN的訪問控制列表運行方法,具體包含以下 步驟: 51、 SDN控制器獲取網(wǎng)絡(luò)結(jié)構(gòu)和網(wǎng)絡(luò)資源,并向所有SDN交換機下發(fā)交換機流表; 52、 SDN交換機接收用戶發(fā)出的報文,并查詢交換機流表進行匹配;如報文與交換機流 表相匹配,則按交換機流表的規(guī)則轉(zhuǎn)發(fā)報文;如報文與交換機流表不相匹配,則繼續(xù)執(zhí)行 S3 ; 53、 SDN交換機將未與交換機流表匹配的報文發(fā)送至SDN控制器,并由SDN控制器對該 報文與ACL Profile表進行匹配;將未與ACL Profile表中任意ACL條目相匹配的報文丟 棄; 54、 對于與ACL Profile表中某一 ACL條目相匹配的報文,由SDN控制器確定其轉(zhuǎn)發(fā)路 徑,在轉(zhuǎn)發(fā)路徑經(jīng)過的所有SDN交換機接口上設(shè)置與該報文相匹配的ACL條目規(guī)則(也稱為 下發(fā)ACL流表),并將該報文按所選擇的轉(zhuǎn)發(fā)路徑進行轉(zhuǎn)發(fā); 55、 對SDN交換機上設(shè)置的ACL條目規(guī)則設(shè)置老化機制,將一定老化時間內(nèi)未被報文匹 配的ACL條目規(guī)則刪除。
[0023] 如圖3所示,所述的S1中,具體包含以下步驟: SlUSDN控制器根據(jù)LLDP (Link Layer Discovery Protocol,鏈路層發(fā)現(xiàn)協(xié)議)協(xié)議 獲知全網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu); 512、 SDN控制器獲取計算資源,存儲資源和網(wǎng)絡(luò)資源在網(wǎng)絡(luò)中的分布和位置; 513、 SDN控制器向所有SDN交換機下發(fā)交換機流表,在SDN交換機上設(shè)置該交換機流 表的規(guī)則。
[0024] 所述的ACL Profile表中除了包含多個ACL條目,還包含位于整個ACL Profile 表最后(即所有ACL條目之后)的拒絕所有條目(Deny Any),其表示任何一個與之前各ACL 條目都不匹配的報文將會被拒絕。
[0025] 如下表所示,為所述的ACL Profile表的ACL條目的字段結(jié)構(gòu),包含:源端條件, 其是源MAC地址、源IP地址、源TCP (Transmission Control Protocol,傳輸控制協(xié)議)端 口、源UDP (User Datagram Pr
當(dāng)前第1頁1 2