otocol,用戶數(shù)據(jù)報(bào)協(xié)議)端口中的一個(gè)條件,或是上述多個(gè) 條件的"與"關(guān)系,或是上述多個(gè)條件的"或"關(guān)系;目的端條件,其是目的MC地址、目的IP 地址、目的TCP端口、目的UDP端口中的一個(gè)條件,或是上述多個(gè)條件的"與"關(guān)系,或是上 述多個(gè)條件的"或"關(guān)系;動作,其包含允許或拒絕;方向,其包含In方向和Out方向,In方 向表示在報(bào)文進(jìn)入時(shí)使用ACL進(jìn)行過濾,Out方向表示報(bào)文離開時(shí)使用ACL進(jìn)行過濾。其 中,所述的源端條件和目的端條件的字段格式為{偏移,長度}。
[0026]
如圖4所示,所述的S3中,具體包含以下步驟: 531、 SDN交換機(jī)將未與交換機(jī)流表匹配的報(bào)文發(fā)送至SDN控制器; 532、 SDN控制器判斷報(bào)文是否匹配ACL Profile表中的其中一條ACL條目中的源端條 件和目的端條件;如不匹配,則丟棄報(bào)文;如匹配,則繼續(xù)執(zhí)行S33 ; 533、 對于與報(bào)文匹配的ACL條目,判斷其動作是否為允許;如為拒絕,則丟棄報(bào)文;如 為允許,則繼續(xù)執(zhí)行S4。
[0027] 進(jìn)一步,所述的S32中,具體包含以下步驟: 5321、 讀取ACL Profile表中的一條ACL條目; 5322、 判斷報(bào)文是否匹配該ACL條目中的源端條件;如匹配,則繼續(xù)執(zhí)行S323 ;如不匹 配,則繼續(xù)執(zhí)行S324; 5323、 判斷報(bào)文是否匹配該ACL條目中的目的端條件;如匹配,則繼續(xù)執(zhí)行S33 ;如不匹 配,則繼續(xù)執(zhí)行S324; 5324、 判斷當(dāng)前ACL條目是否為ACL Profile表中的最后一條ACL條目,如不是,則繼 續(xù)讀取ACL Profile表中的下一條ACL條目,并返回執(zhí)行S322 ;如是,則將報(bào)文匹配Deny Any條目,并丟棄報(bào)文。
[0028] 如圖5所示,所述的S5中,具體包含以下步驟: 551、 SDN控制器設(shè)置老化時(shí)間; 552、 對于設(shè)置了 ACL條目規(guī)則且已經(jīng)與報(bào)文匹配的SDN交換機(jī),刷新其老化時(shí)間; 553、 對于設(shè)置了 ACL條目規(guī)則但尚未與報(bào)文匹配的SDN交換機(jī),計(jì)算其設(shè)置ACL條目 規(guī)則后所經(jīng)過的時(shí)間,并判斷是否超過老化時(shí)間;如未超過,則返回執(zhí)行S53 ;如超過,則繼 續(xù)執(zhí)行S54; 554、 刪除SDN交換機(jī)上的ACL條目規(guī)則,以避免過多占用流表資源,保證流表性能。
[0029] 所述的ACL條目規(guī)則采用多級流表結(jié)構(gòu),如圖6所示,其中第一級流表TableO用 于匹配入端口 In方向,后續(xù)N級流表Tablel~TableN用于匹配源端條件,再接著的M級 流表TableN+1~TableN+M用于匹配目的端條件,最后一級流表TableN+M+1用于匹配出端 口 Out方向。其中,In方向和Out方向的匹配是互斥的。
[0030] 所述的ACL條目規(guī)則中還包含用于識別報(bào)文第七層的用戶字段Flow Match,其能 夠識別某個(gè)具體用戶,從而支持協(xié)議無感知的流表設(shè)計(jì)。該用戶字段Flow Match的結(jié)構(gòu)如 下表所示,
如圖7所示,以下通過一個(gè)具體實(shí)施例,簡單描述本發(fā)明在模擬測試環(huán)境中的運(yùn)行程 序,本實(shí)施例中,以Internet用戶需要訪問計(jì)算資源A。
[0031] 先按照圖7所示進(jìn)行組網(wǎng),其中SDN交換機(jī)Sl接入Internet,SDN交換機(jī)S2和S3 為中間轉(zhuǎn)發(fā)接點(diǎn),SDN交換機(jī)S4連接計(jì)算資源A、B、C。
[0032] SDN控制器首先確定最佳轉(zhuǎn)發(fā)路徑S1-S2-S4,并向位于該轉(zhuǎn)發(fā)路徑上的SDN交換 機(jī)SI,S2和S4下發(fā)ACL條目規(guī)則(源端條件:Any ;目的端條件:計(jì)算資源A的IP地址;動 作:允許;方向:In)。
[0033] 但是由于路徑SI和S2之間發(fā)生斷鏈,從而SDN控制器再次重新確定轉(zhuǎn)發(fā)路徑 S1-S3-S4,并向位于該轉(zhuǎn)發(fā)路徑上的SDN交換機(jī)S1,S3和S4下發(fā)ACL條目規(guī)則(源端條件: Any ;目的端條件:計(jì)算資源A的IP地址;動作:允許;方向:In),并按照該轉(zhuǎn)發(fā)路徑發(fā)送 Internet用戶的報(bào)文。
[0034] 而設(shè)置在SDN交換機(jī)S2上的ACL條目規(guī)則,由于一直沒有報(bào)文與之匹配,在一定 老化之間之后被刪除。
[0035] 綜上所述,本發(fā)明所提供的基于SDN的訪問控制列表運(yùn)行系統(tǒng)和方法,其基于SDN 架構(gòu),SDN控制器可以根據(jù)用戶需求自動生成端對端的全網(wǎng)ACL規(guī)則,擴(kuò)展的ACL流表采用 協(xié)議無感知的設(shè)計(jì),可以精確地識別到具體用戶;并且SDN控制器能自動計(jì)算完成訪問控 制列表的生成,簡化了網(wǎng)絡(luò)維護(hù)工作。
[0036] 盡管本發(fā)明的內(nèi)容已經(jīng)通過上述優(yōu)選實(shí)施例作了詳細(xì)介紹,但應(yīng)當(dāng)認(rèn)識到上述的 描述不應(yīng)被認(rèn)為是對本發(fā)明的限制。在本領(lǐng)域技術(shù)人員閱讀了上述內(nèi)容后,對于本發(fā)明的 多種修改和替代都將是顯而易見的。因此,本發(fā)明的保護(hù)范圍應(yīng)由所附的權(quán)利要求來限定。
【主權(quán)項(xiàng)】
1. 一種基于SDN的訪問控制列表運(yùn)行系統(tǒng),基于路由器設(shè)置,其特征在于,包含: 多個(gè)SDN交換機(jī),其中至少一個(gè)SDN交換機(jī)與Internet用戶連接,至少一個(gè)SDN交換 機(jī)與網(wǎng)絡(luò)資源連接,其余SDN交換機(jī)為中間轉(zhuǎn)發(fā)接點(diǎn); SDN控制器,其分別與各個(gè)所述的SDN交換機(jī)相連接。2. -種基于SDN的訪問控制列表運(yùn)行方法,基于權(quán)利要求1所述的訪問控制列表運(yùn)行 系統(tǒng)實(shí)現(xiàn),其特征在于,包含以下步驟: 51、 SDN控制器獲取網(wǎng)絡(luò)結(jié)構(gòu)和網(wǎng)絡(luò)資源,并向所有SDN交換機(jī)下發(fā)交換機(jī)流表; 52、 SDN交換機(jī)接收用戶發(fā)出的報(bào)文,并查詢交換機(jī)流表進(jìn)行匹配;如報(bào)文與交換機(jī)流 表相匹配,則按交換機(jī)流表的規(guī)則轉(zhuǎn)發(fā)報(bào)文;如報(bào)文與交換機(jī)流表不相匹配,則繼續(xù)執(zhí)行 S3 ; 53、 SDN交換機(jī)將未與交換機(jī)流表匹配的報(bào)文發(fā)送至SDN控制器,并由SDN控制器對該 報(bào)文與ACL Profile表進(jìn)行匹配;將未與ACL Profile表中任意ACL條目相匹配的報(bào)文丟 棄; 54、 對于與ACL Profile表中某一 ACL條目相匹配的報(bào)文,由SDN控制器確定其轉(zhuǎn)發(fā)路 徑,在轉(zhuǎn)發(fā)路徑經(jīng)過的所有SDN交換機(jī)接口上設(shè)置與該報(bào)文相匹配的ACL條目規(guī)則,并將該 報(bào)文按所選擇的轉(zhuǎn)發(fā)路徑進(jìn)行轉(zhuǎn)發(fā); 55、 對SDN交換機(jī)上設(shè)置的ACL條目規(guī)則設(shè)置老化機(jī)制,將一定老化時(shí)間內(nèi)未被報(bào)文匹 配的ACL條目規(guī)則刪除。3. 如權(quán)利要求2所述的基于SDN的訪問控制列表運(yùn)行方法,其特征在于,所述的Sl中, 具體包含以下步驟: Sl 1、SDN控制器根據(jù)LLDP協(xié)議獲知全網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu); 512、 SDN控制器獲取計(jì)算資源,存儲資源和網(wǎng)絡(luò)資源在網(wǎng)絡(luò)中的分布和位置; 513、 SDN控制器向所有SDN交換機(jī)下發(fā)交換機(jī)流表,在SDN交換機(jī)上設(shè)置該交換機(jī)流 表的規(guī)則。4. 如權(quán)利要求2所述的基于SDN的訪問控制列表運(yùn)行方法,其特征在于,所述的ACL Prof iIe表中還包含位于所有ACL條目之后的Deny Any條目,其表示任何一個(gè)與之前各ACL 條目都不匹配的報(bào)文將會被拒絕。5. 如權(quán)利要求4所述的基于SDN的訪問控制列表運(yùn)行方法,其特征在于,所述的ACL條 目的字段結(jié)構(gòu)包含: 源端條件,其是源MAC地址、源IP地址、源TCP端口、源UDP端口中的一個(gè)條件,或是上 述多個(gè)條件的"與"關(guān)系,或是上述多個(gè)條件的"或"關(guān)系; 目的端條件,其是目的MAC地址、目的IP地址、目的TCP端口、目的UDP端口中的一個(gè) 條件,或是上述多個(gè)條件的"與"關(guān)系,或是上述多個(gè)條件的"或"關(guān)系; 動作,其包含允許或拒絕; 方向,其包含In方向和Out方向,In方向表示在報(bào)文進(jìn)入時(shí)使用ACL進(jìn)行過濾,Out方 向表示報(bào)文離開時(shí)使用ACL進(jìn)行過濾。6. 如權(quán)利要求5所述的基于SDN的訪問控制列表運(yùn)行方法,其特征在于,所述的S3中, 具體包含以下步驟: S31、SDN交換機(jī)將未與交換機(jī)流表匹配的報(bào)文發(fā)送至SDN控制器; 532、 SDN控制器判斷報(bào)文是否匹配ACL Profile表中的其中一條ACL條目中的源端條 件和目的端條件;如不匹配,則丟棄報(bào)文;如匹配,則繼續(xù)執(zhí)行S33 ; 533、 對于與報(bào)文匹配的ACL條目,判斷其動作是否為允許;如為拒絕,則丟棄報(bào)文;如 為允許,則繼續(xù)執(zhí)行S4。7. 如權(quán)利要求6所述的基于SDN的訪問控制列表運(yùn)行方法,其特征在于,所述的S32 中,具體包含以下步驟: 5321、 讀取ACL Profile表中的一條ACL條目; 5322、 判斷報(bào)文是否匹配該ACL條目中的源端條件;如匹配,則繼續(xù)執(zhí)行S323 ;如不匹 配,則繼續(xù)執(zhí)行S324; 5323、 判斷報(bào)文是否匹配該ACL條目中的目的端條件;如匹配,則繼續(xù)執(zhí)行S33 ;如不匹 配,則繼續(xù)執(zhí)行S324; 5324、 判斷當(dāng)前ACL條目是否為ACL Profile表中的最后一條ACL條目,如不是,則繼 續(xù)讀取ACL Profile表中的下一條ACL條目,并返回執(zhí)行S322 ;如是,則將報(bào)文匹配Deny Any條目,并丟棄報(bào)文。8. 如權(quán)利要求7所述的基于SDN的訪問控制列表運(yùn)行方法,其特征在于,所述的S5中, 具體包含以下步驟: 551、 SDN控制器設(shè)置老化時(shí)間; 552、 對于設(shè)置了 ACL條目規(guī)則且已經(jīng)與報(bào)文匹配的SDN交換機(jī),刷新其老化時(shí)間; 553、 對于設(shè)置了 ACL條目規(guī)則但尚未與報(bào)文匹配的SDN交換機(jī),計(jì)算其設(shè)置ACL條目 規(guī)則后所經(jīng)過的時(shí)間,并判斷是否超過老化時(shí)間;如未超過,則返回執(zhí)行S53 ;如超過,則繼 續(xù)執(zhí)行S54 ; 554、 刪除SDN交換機(jī)上的ACL條目規(guī)則。9. 如權(quán)利要求8所述的基于SDN的訪問控制列表運(yùn)行方法,其特征在于,所述的ACL條 目規(guī)則采用多級流表結(jié)構(gòu),其中第一級流表用于匹配入端口 In方向,后續(xù)N級流表用于匹 配源端條件,再接著的M級流表用于匹配目的端條件,最后一級流表用于匹配出端口 Out方 向。10. 如權(quán)利要求9所述的基于SDN的訪問控制列表運(yùn)行方法,其特征在于,所述的ACL 條目規(guī)則中還包含用于識別報(bào)文第七層的用戶字段,其能夠識別某個(gè)具體用戶。
【專利摘要】一種基于SDN的訪問控制列表運(yùn)行方法,基于訪問控制列表運(yùn)行系統(tǒng)實(shí)現(xiàn),包含:S1、SDN控制器獲取網(wǎng)絡(luò)結(jié)構(gòu)和資源,向SDN交換機(jī)下發(fā)交換機(jī)流表;S2、SDN交換機(jī)接收報(bào)文,如與交換機(jī)流表相匹配則按規(guī)則轉(zhuǎn)發(fā),如不匹配則將報(bào)文發(fā)至SDN控制器;S3、SDN控制器對報(bào)文進(jìn)行ACL Profile匹配,匹配不成功丟棄報(bào)文,匹配成功則確定轉(zhuǎn)發(fā)路徑;S4、在轉(zhuǎn)發(fā)路徑經(jīng)過的所有SDN交換機(jī)上設(shè)置ACL條目規(guī)則,并將報(bào)文轉(zhuǎn)發(fā);S5、將一定老化時(shí)間內(nèi)未被報(bào)文匹配的ACL條目規(guī)則刪除。本發(fā)明能自動計(jì)算完成訪問控制列表的生成,并根據(jù)用戶需求自動生成端對端的全網(wǎng)ACL規(guī)則,簡化了網(wǎng)絡(luò)維護(hù)工作。
【IPC分類】H04L12/757, H04L12/741, H04L29/06
【公開號】CN104994065
【申請?zhí)枴緾N201510260147
【發(fā)明人】翟躍
【申請人】上海斐訊數(shù)據(jù)通信技術(shù)有限公司
【公開日】2015年10月21日
【申請日】2015年5月20日