夏哲學 石燕華 徐知輝
摘 要:建立高效可靠的網絡管理策略,一直是網絡建設的重點和難點。SDN技術的出現,為這一課題提供了全新的思路。本課題基于SDN網絡技術,通過對局域網管理的策略的研究,提出了基于不同優先級,不同時間范圍、不同協議、不同應用進程、不同主機或主機組等多維度組合的各種策略。從而實現有效管理復雜局域網絡,規范上網用戶行為的目的。
關鍵詞:關鍵詞:局域網;SDN技術;策略
軟件定義網絡(software-defined networking, SDN)技術明確區分了數據平面與控制平面。在數據平面,用簡單的硬件,實現單純的功能——分組高速轉發。在控制平面,以軟件方法描述網絡需求,進而決定在數據平面如何進行分組轉發,以適應各種不同的用戶應用需求(今天的或未來的)。SDN解耦了網絡基礎設施與網絡體系結構之間的依賴,正好為解決局域網管理監控系統,提供了全新的思路。
在策略的制定上,由于系統面向不同的用戶,用戶將從IP地址、物理地址、時間、協議、端口號、優先級等多方面來管理應用程序。因此,用戶所制定出的策略難免會產生一定的沖突。本系統將對不同用戶制定的策略規則進行沖突驗證檢查,并處理沖突差錯,根據輸入的策略參數生成一條或多條規則。最后將所制定的策略表以方便處理的方式下發給數據平面,從而實現對局域網的管理、監控。
1 匹配域和操作
1.1 Match匹配域
(1)MAC地址:存儲的為16進制數共12位,用以代表48二進制數的MAC地址,格式例如:00-0c-29-4d-3b-7b
(2)IP地址:存儲的為點分十進制形式的IP地址,用以表示32位二進制數的IP地址,格式例如:192.168.0.0/26(網段) 或192.168.0.7/32(主機)
(3)Datetime:存儲的為策略生效的日期信息,格式例如:2014-05-01
(4)Starttime:存儲的為日期基礎上的策略生效的時間起點,格式例如:08:05 或 19:08
(5)Endtime:存儲的為在日期基礎上的策略失效的時間終點,格式同上。
(6)Protocol:存儲的為管理的網絡協議類型,如ftp dns tcp udp icmp arp等等
(7)Port:存儲的為協議基礎上的對應的端口號(若有,如icmp無端口號),格式例如:2425 80 21
(8)Process:存儲的為網絡管理中要管理的應用程序名,格式例如:Feiq Web CS反恐
(9)Priority:存儲的為策略匹配過程中的優先級,數字大的優先級高,例如:4>2,則4的策略優先級高于2的策略,優先被匹配。
1.2 Action操作
指示相應的策略匹配的包應該執行的動作,動作例如:allow允許使用? forbid禁止使用等。
2 策略制定
用戶可以選擇Match域中任意幾項來制定策略。
2.1 通過物理地址、時間來管理某項進程
第一條策略:在某臺主機08:00-12:00禁止學生打Dota游戲。(這里就可以選擇Match域中的物理地址,日期,開始時間,結束時間,協議,端口號,應用進程這幾項參數來制定策略,限制學生打游戲)
第二條:該主機在09:00-10:00允許學生打Dota游戲。
這里策略之間就出現了沖突、歧義。為了解決這個問題:就添加了優先級這一項,優先級為:1-5,數字越大優先級越高。如上所述,如果第一條策略優先級為1,第二條優先級為2,這兩條策略就將進行重組,兩條策略變為三條策略。在08:00-09:00禁止學生打Dota游戲,9:00-10:00允許學生打Dota游戲,10:00-12:00禁止學生打Dota,將其存取在數據庫中。
因此,如果添加的策略中出現相同的物理地址,相同的應用進程,時間上出現沖突,那么就將進行策略沖突檢查并進行處理。
經分析,分類討論(此處只匹配物理地址,時間,應用進程,優先級)如下:
(1)當物理地址或者應用進程不相同時,所添加的策略不會存在沖突。
(2)當物理地址或者應用進程相同時,如果時間不沖突,那么所添加的策略也不會沖突。
2.2 通過IP地址塊,時間限制統一進程
根據實際應用意義,如果單獨通過限制某個IP地址對局域網管理是沒有任何意義的,因為用戶可以隨時更改IP地址。因此,這里需要限制IP地址塊來制定策略。
經分析,此處所添加的策略在IP地址上和時間上都可能會和已存在的策略存在沖突。那么,當添加一條策略時,首先應該將此策略的IP地址塊和已存在策略的IP地址塊進行沖突檢測,看IP地址塊是否包含或者不包含(判斷IP地址塊是否包含,本系統采用的方法是將IP地址塊拆分,取出掩碼位數和網絡號,然后將網絡號轉換為二進制數,然后逐位比較二進制數,通過掩碼數和二進制逐位比較情況來進行判斷)。
(1)如果IP地址塊相離,即使時間沖突,策略也不會沖突。
(2)如果IP地址塊出現包含情況,并且所填加的優先級不大于已存在的優先級,將彈出沒有足夠的優先級添加提示框。如果所填加的優先級大于已存在的優先級,那么將根據所添加策略的時間和已存在的策略時間進行分類討論,經分析,如果時間不沖突,所添加的策略也不會出現沖突。如果時間出現沖突,當所添加的策略的IP地址塊包含已存在的地址塊時,并且其時間也包含已存在策略的時間,此種情況,將刪除已存在的策略。其余所有情況,只需將策略按優先級由高到底排序,存在數據庫中即可。
3 遇到的問題及解決辦法
在策略制定的過程中,也遇到過不少問題,現選取有代表性的列舉如下。起初階段,由于疏忽,在設置IP地址數據格式時,將IP地址寫成的是IP地址段,這樣不僅不符合網絡管理的實際意義,而且IP地址段格式也不好處理,因此容易走彎路,白白耗費精力和時間。
例如:管理IP地址段。
第一條策略:IP地址在192.168.28.1/24--192.168.28.255/24范圍內的主機不允許Feiq聊天,優先級為1。
第二條策略:IP地址在192.168.28.100/24--192.168.28.150/24范圍內的主機允許Feiq聊天,優先級為2。
這兩條策略的IP地址段出現沖突,然后根據優先級,將IP地址段進行重組。將上述兩條策略重組為以下:
(1)IP地址在192.168.28.100/24--192.168.28.150/24范圍內的主機允許Feiq聊天;
(2)IP地址在192.168.28.1/24--192.168.28.99/24范圍內的主機不允許Feiq聊天;
(3)IP地址在192.168.28.151/24--192.168.28.255/24范圍內的主機不允許Feiq聊天。
將時間和IP地址段結合起來進行策略制定,由于時間和IP地址段都會存在沖突,兩個時間段組合存在5種情況(相離、包含、被包含、兩種相交情況),兩個IP地址段組合也會出現5種情況,如果同時添加時間和IP地址段參數,策略將出現5*5=25種情況。由于在認識上的局限性和不足,自己也在此耗費了不少的精力與時間。因此在做規劃之前一定要有大局觀念、全局意識,要仔細分析問題,深入思考,要明白自己所做的有沒有意義,結果能不能行得通,能不能滿足各種各種情況。
參考文獻:
[1]王峰,王茜.SDN核心技術剖析和實戰指南[M].電子工業出版社,2010.8.
[2]宋金玉,陳萍.數據庫原理與應用[M].清華大學出版社,2011.6.
[3]高屹.網絡應用程序設計[M].機械工業出版社,2008.8.