一種基于Openflow的虛擬防火墻傳輸控制方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明屬于網(wǎng)絡(luò)資源虛擬化技術(shù)領(lǐng)域,尤其涉及一種基于Openf low的虛擬防火墻 傳輸控制方法及系統(tǒng)。
【背景技術(shù)】
[0002] 當(dāng)今,由于網(wǎng)絡(luò)資源需求日益增多,網(wǎng)絡(luò)硬件由于高強(qiáng)度運(yùn)算需求,高能源消耗等 多個(gè)因素,單一物理硬件的負(fù)載過(guò)重,已難以滿足當(dāng)前網(wǎng)絡(luò)對(duì)于資源的需求。同時(shí),由于不 同距離,速度與拓?fù)浼軜?gòu)的網(wǎng)絡(luò)相互建立連接,導(dǎo)致拓?fù)鋸?fù)雜多變,缺少統(tǒng)一抽象性。分布 式的網(wǎng)絡(luò)架構(gòu)導(dǎo)致數(shù)據(jù)流量模式需要對(duì)橫向數(shù)據(jù)流的動(dòng)態(tài)增減變化進(jìn)行實(shí)時(shí)調(diào)整。作為網(wǎng) 絡(luò)核心的路由器,需承載的功能不斷擴(kuò)展導(dǎo)致其性能和功能的不堪重負(fù)。隨著云計(jì)算與大 數(shù)據(jù)的引入,網(wǎng)絡(luò)中云計(jì)算與大數(shù)據(jù)依賴于集中化管理與預(yù)先設(shè)定的計(jì)算模式,而數(shù)據(jù)的 聚合與劃分操作需要構(gòu)建多臺(tái)服務(wù)器的網(wǎng)絡(luò)流量模式。網(wǎng)絡(luò)復(fù)雜多變,對(duì)于硬件需求不斷 提升,硬件防火墻在面對(duì)海量數(shù)據(jù)與請(qǐng)求時(shí),受制于硬件限制;同時(shí),控制與轉(zhuǎn)發(fā)處于同一 平面,導(dǎo)致防火墻擁塞或者溢出。將網(wǎng)絡(luò)資源虛擬化技術(shù)的運(yùn)用于防火墻技術(shù)中,可隱藏復(fù) 雜的防火墻物理結(jié)構(gòu),統(tǒng)一管理網(wǎng)絡(luò)邏輯層,動(dòng)態(tài)配置最優(yōu)資源。SDN所倡導(dǎo)的控制與轉(zhuǎn)發(fā) 分離、邏輯上集中化的控制、豐富靈活的開(kāi)放編程接口,可處理當(dāng)前防火墻實(shí)現(xiàn)成本高、海 量數(shù)據(jù)處理效率底等瓶頸問(wèn)題,提高網(wǎng)絡(luò)的靈活性與可控性,保證內(nèi)網(wǎng)與終端的安全。SDN 的設(shè)計(jì)目的在于增強(qiáng)網(wǎng)絡(luò)的靈活性,將軟硬件分離,將數(shù)據(jù)與邏輯分離,而SDN防火墻可通 過(guò)SDN實(shí)現(xiàn)其硬件虛擬化。
[0003] SDN防火墻由于將控制集中到SDN控制器中,可虛擬多個(gè)邏輯防火墻統(tǒng)一管理網(wǎng) 絡(luò),但模糊了防護(hù)的分層硬件的界限,增加防火墻安全復(fù)雜性,在短期內(nèi)不能完全替代傳統(tǒng) 防火墻的作用,但是SDN的作用也在不斷被完善。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的在于提供一種基于Openflow的虛擬防火墻傳輸控制方法及系統(tǒng),旨 在解決當(dāng)前防火墻實(shí)現(xiàn)成本高、海量數(shù)據(jù)處理效率底瓶頸的問(wèn)題。
[0005] 本發(fā)明是這樣實(shí)現(xiàn)的,一種基于Openf low的虛擬防火墻傳輸控制方法,所述基于 Openf low的虛擬防火墻傳輸控制方法包括以下步驟:
[0006] 數(shù)據(jù)包從主機(jī)發(fā)送后,通過(guò)虛擬防火墻上配置的虛擬網(wǎng)卡,防火墻內(nèi)核模塊提取 數(shù)據(jù)包的關(guān)鍵信息,虛擬防火墻通過(guò)防火墻定義的規(guī)則,與數(shù)據(jù)包關(guān)鍵信息進(jìn)行基礎(chǔ)映射; 若防火墻規(guī)則與關(guān)鍵信息匹配成功,則按照防火墻規(guī)則決定數(shù)據(jù)包的轉(zhuǎn)發(fā)端口及其路徑; 若無(wú)匹配,數(shù)據(jù)包將被傳送至用戶控件的處理隊(duì)列,等待相關(guān)防火墻規(guī)則的指定和下發(fā);
[0007] 防火墻過(guò)濾規(guī)則文件,rules. Conf ig為防火墻規(guī)則文件,數(shù)據(jù)包到達(dá)端口后,截取 數(shù)據(jù)包并對(duì)包頭進(jìn)行語(yǔ)法分析,提取出:封裝協(xié)議、IP源地址、IP目的地址、Mac地址、包輸入 端口和包輸出端口信息;
[0008] 若提取信息與防火墻規(guī)則不匹配,則此包不被允許通過(guò)防火墻,丟棄;若提取信息 與防火墻規(guī)則匹配,則此包允許傳輸接收;若提取信息不滿足任何防火墻規(guī)則,則此包被丟 棄。
[0009] 進(jìn)一步,關(guān)鍵信息包括:數(shù)據(jù)來(lái)源以太網(wǎng)端口,到達(dá)的交換機(jī)端口,來(lái)源IP地址,目 標(biāo)IP地址。
[0010] 進(jìn)一步,防火墻中數(shù)據(jù)包處理包括:數(shù)據(jù)包解析,數(shù)據(jù)包匹配,數(shù)據(jù)包丟棄,數(shù)據(jù)包 通過(guò)。
[0011] 進(jìn)一步,數(shù)據(jù)包頭解析與匹配包括:源IP地址匹配、目的IP地址匹配、傳輸協(xié)議匹 配、數(shù)據(jù)來(lái)源以太網(wǎng)端口匹配、到達(dá)的交換機(jī)端口匹配、優(yōu)先級(jí)匹配。
[0012] 進(jìn)一步,所述虛擬防火墻限制數(shù)據(jù)流經(jīng)包括:同一網(wǎng)絡(luò)和不同網(wǎng)絡(luò)中數(shù)據(jù)包的傳 輸。
[0013] 進(jìn)一步,同一網(wǎng)絡(luò)中,數(shù)據(jù)包的傳輸處于網(wǎng)絡(luò)A中的終端host2向網(wǎng)絡(luò)A的終端 host3發(fā)送數(shù)據(jù)包,防火墻限制數(shù)據(jù)流經(jīng)過(guò)程如下:
[0014] 終端host2將host3地址作為目標(biāo)地址,發(fā)送數(shù)據(jù)包Packet;
[0015] 交換機(jī)switchl檢測(cè)到鏈路中存在數(shù)據(jù)包,向控制器發(fā)送處理數(shù)據(jù)包請(qǐng)求;
[0016] 控制器策略應(yīng)用相應(yīng)請(qǐng)求,向交換機(jī)switchl下發(fā)流指令,將數(shù)據(jù)包目標(biāo)地址定義 為虛擬防火墻地址;
[0017] 交換機(jī)switchl根據(jù)控制器指定的路徑,將數(shù)據(jù)包Packet送達(dá)虛擬防火墻處,并等 待防火墻處理;
[0018] 防火墻根據(jù)控制器定義的防火墻規(guī)則進(jìn)行匹配,若Packet不合法,防火墻將可疑 數(shù)據(jù)包丟棄;若Packet合法,防火墻通知控制器:Packet合法,控制器將數(shù)據(jù)包重新定義到 網(wǎng)絡(luò)A的內(nèi)網(wǎng)鏈路;
[0019] 控制器向交換機(jī)switchl下達(dá)傳輸命令,switchl將數(shù)據(jù)包轉(zhuǎn)發(fā)至終端host3處。
[0020] 不同網(wǎng)絡(luò)中,數(shù)據(jù)包的傳輸,處于網(wǎng)絡(luò)A中的終端host2向網(wǎng)絡(luò)B的終端hosts發(fā)送 數(shù)據(jù)包,防火墻限制數(shù)據(jù)流經(jīng)過(guò)程如下:
[0021 ]網(wǎng)絡(luò)A的終端host2將網(wǎng)絡(luò)B的終端host8地址作為目標(biāo)地址,發(fā)送數(shù)據(jù)包Packet;
[0022] 交換機(jī)switchl檢測(cè)到鏈路中存在數(shù)據(jù)包,向控制器發(fā)送處理數(shù)據(jù)包請(qǐng)求;
[0023] 控制器策略應(yīng)用相應(yīng)請(qǐng)求,向交換機(jī)switchl下發(fā)流指令,將數(shù)據(jù)包目標(biāo)地址定義 為虛擬防火墻地址;
[0024] 交換機(jī)switchl根據(jù)控制器指定的路徑,將數(shù)據(jù)包Packet送達(dá)虛擬防火墻處,并等 待防火墻處理;
[0025] 防火墻根據(jù)控制器定義的防火墻規(guī)則進(jìn)行匹配,若Packet不合法,防火墻將可疑 數(shù)據(jù)包丟棄;若Packet合法,防火墻通知控制器:Packet合法,控制器將數(shù)據(jù)包重新定義到 網(wǎng)絡(luò)B的外網(wǎng)鏈路;
[0026] Packe t通過(guò)外網(wǎng)鏈路傳輸,數(shù)據(jù)包達(dá)到網(wǎng)絡(luò)B的防火墻處,并等待防火墻B處理; [0027]防火墻根據(jù)控制器定義的防火墻規(guī)則進(jìn)行匹配,若Packet不合法,防火墻B將可疑 數(shù)據(jù)包丟棄;若Packet合法,防火墻通知控制器:Packet合法,控制器向防火墻下達(dá)命令,將 Packet重新定義到網(wǎng)絡(luò)B的內(nèi)網(wǎng)鏈路;
[0028] 控制器向交換機(jī)switch2下達(dá)傳輸命令,swicth2將數(shù)據(jù)包轉(zhuǎn)發(fā)至終端host8。
[0029]本發(fā)明的另一目的在于提供一種所述基于Openflow的虛擬防火墻傳輸控制方法 的虛擬防火墻傳輸控制系統(tǒng),所述虛擬防火墻傳輸控制系統(tǒng)包括:
[0030] 數(shù)據(jù)包匹配模塊,數(shù)據(jù)包從主機(jī)發(fā)送后,通過(guò)虛擬防火墻上配置的虛擬網(wǎng)卡,防火 墻內(nèi)核模塊提取數(shù)據(jù)包的關(guān)鍵信息,虛擬防火墻通過(guò)防火墻定義的規(guī)則,與數(shù)據(jù)包關(guān)鍵信 息進(jìn)行基礎(chǔ)映射;若防火墻規(guī)則與關(guān)鍵信息匹配成功,則按照防火墻規(guī)則決定數(shù)據(jù)包的轉(zhuǎn) 發(fā)端口及其路徑;若無(wú)匹配,數(shù)據(jù)包將被傳送至用戶控件的處理隊(duì)列,等待相關(guān)防火墻規(guī)則 的指定和下發(fā);
[0031] 包頭信息提取模塊,防火墻過(guò)濾規(guī)則文件,rules.Config為防火墻規(guī)則文件,數(shù)據(jù) 包到達(dá)端口后,截取數(shù)據(jù)包并對(duì)包頭進(jìn)行語(yǔ)法分析,提取出:封裝協(xié)議、IP源地址、IP目的地 址、Mac地址、包輸入端口和包輸出端口信息;
[0032] 轉(zhuǎn)發(fā)匹配模塊,若提取信息與防火墻規(guī)則不匹配,則此包不被允許通過(guò)防火墻,丟 棄;若提取信息與防火墻規(guī)則匹配,則此包允許傳輸接收;若提取信息不滿足任何防火墻規(guī) 貝IJ,則此包被丟棄。
[0033]進(jìn)一步,所述基于Openf low的虛擬防火墻傳輸控制系統(tǒng)進(jìn)一步包括:內(nèi)網(wǎng)模塊、終 端、虛擬交換機(jī)、控制器、防火墻;
[0034]內(nèi)網(wǎng)模塊,用于控制內(nèi)網(wǎng)數(shù)據(jù)傳輸;
[0035]終端,與虛擬交換機(jī)連接,是數(shù)據(jù)的發(fā)出端或接受端發(fā)出數(shù)據(jù)或者接受數(shù)據(jù);
[0036]虛擬交換機(jī),用于實(shí)現(xiàn)數(shù)據(jù)包轉(zhuǎn)發(fā)將接受的數(shù)據(jù)包通過(guò)指定的端口發(fā)出;
[0037]控制器,與內(nèi)網(wǎng)模塊連接,用于根據(jù)數(shù)據(jù)包解析的結(jié)果和轉(zhuǎn)發(fā)規(guī)則匹配以判定對(duì) 對(duì)應(yīng)數(shù)據(jù)包的操作;
[0038]防火墻,與內(nèi)網(wǎng)模塊和控制器連接,用于包頭解析,分離出IP地址,MAC地址,將解 析數(shù)據(jù)與防火墻定義的規(guī)則進(jìn)行匹配。
[0039] 本發(fā)明提供的基于Openf low的虛擬防火墻傳輸控制方法及系統(tǒng),通過(guò)對(duì)經(jīng)過(guò)防火 墻的數(shù)據(jù)包進(jìn)行解析獲取數(shù)據(jù)包中傳輸控制信息(包括:源IP地址、目的IP地址、傳輸協(xié)議、 數(shù)據(jù)來(lái)源以太網(wǎng)端口、到達(dá)的交換機(jī)端口),再將獲取的數(shù)據(jù)包傳輸控制信息與 ru I e s. Conf i g中的控制信息進(jìn)行匹配(包括:源IP地址匹配、目的IP地址匹配、傳輸協(xié)議匹 配、數(shù)據(jù)來(lái)源以太網(wǎng)端口匹配、到達(dá)的交換機(jī)端口匹配、優(yōu)先級(jí)匹配),根據(jù)匹配結(jié)果決定對(duì) 數(shù)據(jù)包的操作。將信息安全知識(shí)與計(jì)算機(jī)網(wǎng)絡(luò)知識(shí)結(jié)合,研究網(wǎng)絡(luò)安全技術(shù)方向;學(xué)習(xí)新型 網(wǎng)絡(luò)技術(shù):軟件定義網(wǎng)技術(shù)(簡(jiǎn)稱SDN),了解新型網(wǎng)絡(luò)架構(gòu);通過(guò)運(yùn)用軟件定義網(wǎng)技術(shù),學(xué)習(xí) 虛擬化技術(shù),并實(shí)現(xiàn)虛擬化防火墻技術(shù);結(jié)合軟件定義網(wǎng)技術(shù)的優(yōu)點(diǎn),通過(guò)軟件編程,提高 網(wǎng)絡(luò)的靈活性與可控性,對(duì)網(wǎng)絡(luò)進(jìn)行分層自主配置,進(jìn)而解決當(dāng)前防火墻實(shí)現(xiàn)成本高、海量 數(shù)據(jù)處理效率底等瓶頸問(wèn)題,保證內(nèi)網(wǎng)與終端的安全;將防火墻搭建于SDN的控制器中,在 軟件平面實(shí)現(xiàn)了硬件防火墻的功能:實(shí)現(xiàn)了對(duì)多個(gè)網(wǎng)絡(luò)的傳輸數(shù)據(jù)的掃描監(jiān)控,對(duì)特定服 務(wù)端口的監(jiān)聽(tīng)管理,對(duì)特殊站點(diǎn)的訪問(wèn)控制,可保護(hù)整個(gè)網(wǎng)絡(luò)。
【附圖說(shuō)明】
[0040] 圖1是本發(fā)明實(shí)施例提供的基于Openf low的虛擬防火墻傳輸控制方法流程圖。
[0041] 圖2是本發(fā)明實(shí)施例提供的基于Openf low的虛擬防火墻傳輸控制系統(tǒng)結(jié)構(gòu)示意 圖;
[0042] 圖中:1、內(nèi)網(wǎng)模塊;I-1、終端;1 -2、虛擬交換機(jī);2、控制器;3、防火墻。
[0043]圖3是本發(fā)明實(shí)施例提供的交換機(jī)中數(shù)據(jù)包處理流程示意圖。
[0044]圖4是本發(fā)明實(shí)施例提供的數(shù)據(jù)包頭解析