一種基于sdn的虛擬網(wǎng)絡(luò)優(yōu)化方法
【專利摘要】本發(fā)明公開了一種基于SDN的虛擬網(wǎng)絡(luò)優(yōu)化方法,以解決日常DDOS攻擊中,攻擊源主機(jī)難以定位,網(wǎng)絡(luò)災(zāi)難恢復(fù)速度慢的問題。本發(fā)明針對(duì)傳統(tǒng)的靜態(tài)VLAN,提出一種基于SDN的多層次VLAN優(yōu)化方法,在不改動(dòng)原有的VLAN配置的情況下,使用基于SDN的OpenFlow技術(shù)將VLAN的配置實(shí)現(xiàn)動(dòng)態(tài)化,對(duì)每個(gè)主機(jī)的網(wǎng)絡(luò)身份加入置信標(biāo)簽,來實(shí)現(xiàn)SDN對(duì)每臺(tái)網(wǎng)絡(luò)主機(jī)的身份識(shí)別,減少網(wǎng)絡(luò)風(fēng)暴發(fā)生時(shí)所需的人工干預(yù),增加了整個(gè)網(wǎng)絡(luò)的健壯性和穩(wěn)定性,大大提高了遭遇特定網(wǎng)絡(luò)攻擊后整個(gè)網(wǎng)絡(luò)恢復(fù)正常的收斂速度。
【專利說明】-種基于SDN的虛擬網(wǎng)絡(luò)優(yōu)化方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種虛擬網(wǎng)絡(luò)管理的優(yōu)化方法,屬于SDN安全【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002] 隨著網(wǎng)絡(luò)信息技術(shù)的飛速發(fā)展,互聯(lián)網(wǎng)在四十多年的歷史里,已經(jīng)成為了整個(gè)世 界不可或缺的基礎(chǔ)設(shè)施,互聯(lián)網(wǎng)深入到人們生活的各個(gè)方面,給人們的學(xué)習(xí)、生活帶來了巨 大的便利。
[0003] 經(jīng)過幾十年的發(fā)展,互聯(lián)網(wǎng)的體積越來越大,基于網(wǎng)絡(luò)的各種業(yè)務(wù)對(duì)互聯(lián)網(wǎng)的要 求越來越高,過于巨大的壓力之下,安全問題,性能瓶頸等也隨著互聯(lián)網(wǎng)的發(fā)展逐漸暴露出 來。SDN的產(chǎn)生實(shí)現(xiàn)了網(wǎng)絡(luò)控制和物理網(wǎng)絡(luò)拓?fù)涞姆蛛x,從而擺脫了硬件對(duì)網(wǎng)絡(luò)構(gòu)架的限 制,可以靈活動(dòng)態(tài)的堆網(wǎng)絡(luò)構(gòu)架進(jìn)行修改。
[0004] 網(wǎng)絡(luò)信息技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)的攻擊技術(shù)也層出不窮,各種DOS,DDOS,MAC欺 騙,流量劫持無時(shí)無刻威脅到人們?cè)诨ヂ?lián)網(wǎng)生活中的安全。由于傳統(tǒng)的網(wǎng)絡(luò)設(shè)備對(duì)一個(gè)主 機(jī)端口加入網(wǎng)絡(luò)時(shí),需要將端口與事先定義好的VLAN號(hào)進(jìn)行綁定,當(dāng)主機(jī)進(jìn)入網(wǎng)絡(luò)時(shí),該 主機(jī)所連接的端口就會(huì)自動(dòng)的被分配到實(shí)現(xiàn)定義好的VLAN中,實(shí)現(xiàn)VLAN的管理,但是這樣 存在的問題就在于,當(dāng)一臺(tái)惡意主機(jī)試圖通過該端口加入到VLAN中,并且試圖控制其他主 機(jī)進(jìn)行DDOS攻擊時(shí),傳統(tǒng)網(wǎng)絡(luò)并不能及時(shí)區(qū)分可疑和可信主機(jī),對(duì)網(wǎng)絡(luò)攻擊的抵抗力也會(huì) 非常小。
【發(fā)明內(nèi)容】
[0005] 本次發(fā)明是針對(duì)傳統(tǒng)的靜態(tài)VLAN提出的一種基于SDN的多層次VLAN優(yōu)化方法, 其目的在于實(shí)現(xiàn)在不改動(dòng)原有的VLAN配置的情況下,使用基于SDN的OpenFlow技術(shù)將 VLAN的配置實(shí)現(xiàn)動(dòng)態(tài)化,來解決日常DDOS攻擊中,攻擊源主機(jī)難以定位,網(wǎng)絡(luò)災(zāi)難恢復(fù)速 度慢的問題,大大減輕了配置人員的工作量,加快在動(dòng)態(tài)配置中整個(gè)VLAN的收斂速度,從 而達(dá)到優(yōu)化的目的。
[0006] 本發(fā)明米用雙controller的網(wǎng)絡(luò)拓?fù)?,分別標(biāo)記為Cl、C2 ;就本發(fā)明的安全策略 中針對(duì)新主機(jī)在虛擬網(wǎng)絡(luò)分片slice間動(dòng)態(tài)遷移情況,需要建立一個(gè)slice的單向傳輸通 道,建立兩個(gè)slice都可見的list_host□列表。本發(fā)明的技術(shù)方案具體為:
[0007] 在slicel層建立一個(gè)list_host_slicel □列表,當(dāng)新主機(jī)進(jìn)入局域網(wǎng),在控制器 Cl上新建映射,并對(duì)每臺(tái)主機(jī)設(shè)立一個(gè)初始加入時(shí)間t_init字段;
[0008] 再將該新主機(jī)的MAC地址與相應(yīng)的寬口建立映射;
[0009] 對(duì)該新主機(jī)的流表進(jìn)行修改,使其指向預(yù)先做好鏡像的Nginx服務(wù)器;將每個(gè)主 機(jī)設(shè)立的"初始加入時(shí)間"加上可信期(該可信期為每臺(tái)主機(jī)在slicel層的停留時(shí)間,用 戶可自行定義)形成新的結(jié)束時(shí)間,若該結(jié)束時(shí)間〉當(dāng)前系統(tǒng)時(shí)間,則新主機(jī)將停留在 slicel 層上;
[0010] 若主機(jī)結(jié)束時(shí)間〉當(dāng)前時(shí)間且無發(fā)生DDOS攻擊,則slicel層的監(jiān)視線程每隔一 個(gè)時(shí)間間隔(考慮到網(wǎng)絡(luò)系統(tǒng)性能,時(shí)間間隔最好設(shè)置在30秒左右,以保證高效且安全的 掃描效率)會(huì)掃描一次主機(jī)列表,將該主機(jī)的ip和mac以及對(duì)應(yīng)該主機(jī)為源的所有的流 表,以一種主機(jī)參數(shù)列表list_host □的形式傳入slice2層,同時(shí)刪除slicel上的主機(jī)信 息和流表配置;
[0011] 上述新主機(jī)在slice2進(jìn)行泛洪處理尋找C2控制器,將slice2層設(shè)定一個(gè)同樣的 主機(jī)列表list_host_slice2□,用于每臺(tái)主機(jī)的初始加入時(shí)間t_init字段,狀態(tài)字段0, 1。
[0012] 若主機(jī)結(jié)束時(shí)間〉當(dāng)前時(shí)間,當(dāng)網(wǎng)絡(luò)發(fā)生DDOS時(shí),會(huì)對(duì)最后一個(gè)進(jìn)入的,即t_ init時(shí)間與當(dāng)前時(shí)間差最小的主機(jī)進(jìn)行VLANID的修改,該主機(jī)將會(huì)被劃分到一個(gè)預(yù)先 設(shè)置好的VLAN中,隔離與其他主機(jī)的通信,但是能夠提供最基本的服務(wù)和外網(wǎng)的訪問;若 DDOS仍然未停止,則繼續(xù)加入置信時(shí)間未到的主機(jī),直到?jīng)]有新主機(jī)為止。
[0013] 若siice2層沒有發(fā)生DDOS攻擊,則新主機(jī)將停留在所屬的正常VLAN中,在置信 時(shí)間到達(dá)以后刪除對(duì)應(yīng)的生存時(shí)間。
[0014] 進(jìn)一步,本方法將真實(shí)網(wǎng)絡(luò)環(huán)境一分為二,將可信的和不可信的主機(jī)分開放置。
[0015] 進(jìn)一步,本方法把不可信的主機(jī)放置在臨時(shí)局域網(wǎng)中,而不是直接刪除。
[0016] 本發(fā)明是基于SDN網(wǎng)絡(luò)環(huán)境的開放性和傳統(tǒng)網(wǎng)絡(luò)DDOS攻擊具有一定的潛伏期所 設(shè)計(jì)的網(wǎng)絡(luò)策略,對(duì)每個(gè)主機(jī)的網(wǎng)絡(luò)身份加入置信標(biāo)簽,來實(shí)現(xiàn)SDN對(duì)每臺(tái)網(wǎng)絡(luò)主機(jī)的身 份識(shí)別。將真實(shí)網(wǎng)絡(luò)環(huán)境一分為二,可信的和不可信的主機(jī)分開放置,并把不可信的主機(jī)放 置在臨時(shí)局域網(wǎng)中,而不是直接刪除。本方法能夠減少網(wǎng)絡(luò)風(fēng)暴發(fā)生時(shí)所需的人工干預(yù),增 加了整個(gè)網(wǎng)絡(luò)的健壯性和穩(wěn)定性,大大提高了遭遇特定網(wǎng)絡(luò)攻擊后整個(gè)網(wǎng)絡(luò)恢復(fù)正常的收 斂速度。
【專利附圖】
【附圖說明】
[0017] 圖1是網(wǎng)絡(luò)平面物理拓?fù)鋱D。
[0018] 圖2是虛擬網(wǎng)絡(luò)分片之間的通信示意圖。
[0019] 圖3是本發(fā)明流程圖。
【具體實(shí)施方式】
[0020] 下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。
[0021] 實(shí)施例1
[0022] 如圖1所示,本發(fā)明的拓?fù)錇殡pcontroller的網(wǎng)絡(luò)拓?fù)?,兩個(gè)controller匯聚在 一個(gè)基于OpenFlow協(xié)議開發(fā)的FlowVisor開源虛擬化工具上,F(xiàn)lowVisor虛擬化工具可以 對(duì)同一個(gè)網(wǎng)絡(luò)進(jìn)行的流量或者拓?fù)溥M(jìn)行分片化管理,實(shí)現(xiàn)每個(gè)分片的邏輯策略都獨(dú)立的運(yùn) 行在各自的虛擬網(wǎng)絡(luò)分片中互不影響。由于分片管理獨(dú)立化的關(guān)系,每個(gè)controller只能 控制一個(gè)si ice,不同si ice之間的controller不能共享流表或者主機(jī)信息,所以這是本發(fā) 明必須采用雙controller的原因,就本發(fā)明的安全策略中針對(duì)新主機(jī)在slice間動(dòng)態(tài)遷移 情況,需要建立一個(gè)slice的單向傳輸通道,用于遷移滿足遷移條件的主機(jī)(如圖2所示)。
[0023] 本發(fā)明建立兩個(gè)slice都可見的list_host□列表,列表中包含的字段有一個(gè)每 臺(tái)主機(jī)的初始加入時(shí)間t_init字段,狀態(tài)字段0, 1,主機(jī)的host_ip字段和host_mac字段 以及對(duì)應(yīng)該主機(jī)為源的所有流表,slicel層中會(huì)始終啟動(dòng)一個(gè)監(jiān)視線程watch_thread_l, 每過一定的時(shí)間(不會(huì)太長),便會(huì)把滿足條件的主機(jī)狀態(tài)字段置為1。
[0024] 在slice2層會(huì)另起一個(gè)監(jiān)視線程watch_thread_2定時(shí)將所有的滿足條件的主機(jī) 狀態(tài)字段為1的主機(jī)配置建立相應(yīng)的流表,并將其從list_host□中刪除,同時(shí)重新設(shè)置 一個(gè)加入slice2層的加入時(shí)間給每個(gè)新進(jìn)主機(jī),用于完成對(duì)slice2層新主機(jī)的置信期的 判斷。
[0025] 將slice2層設(shè)定一個(gè)同樣的主機(jī)列表list_host_slice2□,用于每臺(tái)主機(jī)的初 始加入時(shí)間t_init字段,狀態(tài)字段0, 1,主機(jī)的host_ip字段和host_mac字段以及對(duì)應(yīng)該 主機(jī)為源的所有流表,當(dāng)網(wǎng)絡(luò)發(fā)生DDOS時(shí),會(huì)對(duì)最后一個(gè)進(jìn)入的,即時(shí)間與當(dāng)前時(shí) 間差最小的主機(jī)進(jìn)行VLANID的修改,該主機(jī)將會(huì)被劃分到一個(gè)預(yù)先設(shè)置好的VLAN中(該 VLAN只能訪問特定的服務(wù)器,不能對(duì)主服務(wù)器進(jìn)行任何訪問),若DDOS仍然未停止,則繼續(xù) 加入置信時(shí)間未到的主機(jī),直到?jīng)]有新主機(jī)為止,若沒有發(fā)生DDOS攻擊,則在置信時(shí)間到 達(dá)以后會(huì)對(duì)list_host_slice2□中對(duì)于的主機(jī)列表進(jìn)行刪除。
[0026] 實(shí)施例2
[0027] 本發(fā)明的流程如圖3所示,假設(shè)有一臺(tái)臺(tái)式或者移動(dòng)網(wǎng)絡(luò)設(shè)備加入網(wǎng)絡(luò),該情景 僅對(duì)TCP協(xié)議的80端口的syn攻擊進(jìn)行防護(hù),其他單一方法攻擊均可,那么【具體實(shí)施方式】 為:
[0028] (1)首先為新建主機(jī)建立一個(gè)字典表項(xiàng),用于存儲(chǔ)新進(jìn)主機(jī)的各個(gè)參數(shù),只要是新 進(jìn)主機(jī)未達(dá)到時(shí)間標(biāo)準(zhǔn)的都必須從slicel層,也就是基礎(chǔ)層開始進(jìn)入,并為其創(chuàng)建Nginx 鏡像服務(wù)器重定向流表,使其訪問重定向的Nginx服務(wù)器:
[0029]
【權(quán)利要求】
1. 一種基于SDN的虛擬網(wǎng)絡(luò)優(yōu)化方法,其特征在于,包括如下步驟: 步驟1)當(dāng)新主機(jī)進(jìn)入局域網(wǎng),在控制器C1上新建映射,并對(duì)每臺(tái)主機(jī)設(shè)立一個(gè)初始加 入時(shí)間t_init字段; 步驟2)將所述新主機(jī)的MAC地址與相應(yīng)的寬口建立映射; 步驟3)對(duì)所述新主機(jī)的流表進(jìn)行修改,使其指向預(yù)先做好鏡像的Nginx服務(wù)器; 步驟4)對(duì)每個(gè)主機(jī)設(shè)立的初始加入時(shí)間加上可信期形成新的結(jié)束時(shí)間,若該結(jié)束時(shí) 間〉當(dāng)前時(shí)間,則所述新主機(jī)將停留在slicel層上; 步驟5)若所述新主機(jī)的結(jié)束時(shí)間〉當(dāng)前時(shí)間且無發(fā)生DDOS攻擊,則所述slicel層的 監(jiān)視線程每隔一個(gè)時(shí)間間隔會(huì)掃描一次主機(jī)列表,將該新主機(jī)的ip和mac以及對(duì)應(yīng)的流表 以一種主機(jī)參數(shù)列表list_host □的形式傳入slice2層,同時(shí)刪除slicel上的主機(jī)信息 和流表配置; 步驟6)所述新主機(jī)在slice2層進(jìn)行泛洪處理尋找C2控制器,并重新對(duì)所述新主機(jī)設(shè) 立新的加入時(shí)間; 步驟7)若所述新主機(jī)的結(jié)束時(shí)間〉當(dāng)前時(shí)間且slice2層無發(fā)生DDOS攻擊,則所述新 主機(jī)將停留在所屬的正常VLAN中并刪除對(duì)應(yīng)的生存時(shí)間; 步驟8)若所述新主機(jī)的結(jié)束時(shí)間〉當(dāng)前時(shí)間且發(fā)生DDOS攻擊,則所述新主機(jī)的流表 將被修改VLANID,將其導(dǎo)入至提前定義好的VLAN中,隔離與其他主機(jī)的通信。
2. 根據(jù)權(quán)利要求1所述的方法,其特征是,本方法將真實(shí)網(wǎng)絡(luò)環(huán)境一分為二,將可信的 和不可信的主機(jī)分開放置。
3. 根據(jù)權(quán)利要求1或2所述的方法,其特征是,步驟8)中把不可信的主機(jī)放置在臨時(shí) 局域網(wǎng)中,而不是直接刪除。
【文檔編號(hào)】H04L29/06GK104394140SQ201410677532
【公開日】2015年3月4日 申請(qǐng)日期:2014年11月21日 優(yōu)先權(quán)日:2014年11月21日
【發(fā)明者】陳丹偉, 戈今杰, 王志偉, 王少輝 申請(qǐng)人:南京郵電大學(xué)