王奇 劉紫亮 黃逸翠 張永芳
【摘要】? ? 隨著信息技術(shù)的發(fā)展,互聯(lián)網(wǎng)的發(fā)展日新月異。在互聯(lián)網(wǎng)時代,人們的教育、娛樂和購物陣地已經(jīng)轉(zhuǎn)移,甚至工作方式也轉(zhuǎn)移到網(wǎng)絡(luò)平臺[1]。網(wǎng)絡(luò)的穩(wěn)定性、安全性成為大眾關(guān)心話題,對網(wǎng)絡(luò)維護(hù)提出了新的要求。本文將通過傳統(tǒng)網(wǎng)絡(luò)和以O(shè)penFlow為核心的SDN服務(wù)鏈的對比研究,從而為實際網(wǎng)絡(luò)部署提供有效參考。
【關(guān)鍵詞】? ? SDN? ? OpenFlow? ? 服務(wù)鏈
引言
隨著信息技術(shù)的飛速發(fā)展,電商等數(shù)字經(jīng)濟(jì)產(chǎn)業(yè)也隨之蓬勃發(fā)展。在移動端、大流量應(yīng)用并不普及的時代,基于傳統(tǒng)的TCP/IP模型設(shè)計的網(wǎng)絡(luò)結(jié)構(gòu),能夠通過串聯(lián)WAF、IPS、IDS、FireWall、Qos、堡壘機(jī)等安全設(shè)備,并制定合理的安全策略來抵御來自外部的攻擊、以及突發(fā)情況。
近年來,互聯(lián)網(wǎng)技術(shù)發(fā)展進(jìn)入了大流量時代,一大批如抖音、快手、火山視頻、斗魚直播等“殺手”級應(yīng)用井噴發(fā)展,對網(wǎng)絡(luò)的各個節(jié)點(diǎn)的正常運(yùn)行帶來了極大的挑戰(zhàn)。尤其是以高校、大型企業(yè)為代表的用戶,面臨大流量、多設(shè)備等問題,其網(wǎng)絡(luò)節(jié)點(diǎn)在處理數(shù)據(jù)流時的穩(wěn)定性極其重要。在遇到大量數(shù)據(jù)流、物理攻擊以及網(wǎng)絡(luò)攻擊時其網(wǎng)絡(luò)是否能夠正常運(yùn)行。這對網(wǎng)絡(luò)的安全性、可靠性、可擴(kuò)展性等方面提出了新的要求,本文將從OpenFlow協(xié)議、服務(wù)鏈的角度進(jìn)行論述。
一、傳統(tǒng)鏈路
傳統(tǒng)的網(wǎng)絡(luò)基于TCP/IP模型,如圖1所示選用三層交換機(jī)作為核心交換機(jī)以便于網(wǎng)絡(luò)的擴(kuò)展,并串聯(lián)WAF、IPS、FW、出口路由。
1.1 工作方式
當(dāng)PCA通過HTTP訪問百度官網(wǎng),由于IP地址是由數(shù)字組成且不方便記憶,在使用百度域名時,通過DNS解析得到百度IP地址180.101.49.11。PCA得知通往百度的目的IP地址,未知百度服務(wù)器的MAC地址。此時,PCA通過子網(wǎng)掩碼計算得出百度IP地址與自己不在同一個網(wǎng)段,PCA向網(wǎng)關(guān)發(fā)送ARP報文以獲取網(wǎng)關(guān)的MAC地址,核心交換機(jī)端口1收ARP數(shù)據(jù)報后解封裝后發(fā)現(xiàn)目的IP地址時自己,核心交換機(jī)做出響應(yīng)并將PCA的MAC地址放進(jìn)自己的緩存MAC地址表中,此時的源、目的地址為網(wǎng)關(guān)(核心交換機(jī))的MAC和PCA的MAC。PCA收到來自網(wǎng)關(guān)的ARP響應(yīng)報文,解封裝得到網(wǎng)關(guān)的MAC。故PCA封裝數(shù)據(jù)包如圖2所示,從以太口發(fā)出。網(wǎng)關(guān)的1端口收到報文解封裝,發(fā)現(xiàn)目的MAC地址為端口MAC,繼續(xù)解封裝發(fā)現(xiàn)目的IP為180.101.49.11,非本機(jī)的IP,通過查路由表得知下一跳IP地址10.0.0.2/24,卻不知道其MAC地址,發(fā)送ARP請求報文。
WAF(二層代理透明模式)的1端口收到從網(wǎng)關(guān)2端口發(fā)出的報文,通過解析報文匹配規(guī)則庫,發(fā)現(xiàn)報文符合安全規(guī)則,代為轉(zhuǎn)發(fā)數(shù)據(jù)報至IPS的1端口,ISP(二層透明模式)解析封裝類比安全庫,判斷安全放行數(shù)據(jù)報。FW(三層模式)的1端口收到報文后解封裝發(fā)現(xiàn)IP地址為本機(jī)地址,回應(yīng)ARP包將本端口的MAC地址打包封裝發(fā)送給網(wǎng)關(guān)。網(wǎng)關(guān)收到回應(yīng)報文后,更改源、目的MAC地址,繼續(xù)向FW發(fā)送數(shù)據(jù)報;FW收到WAF轉(zhuǎn)發(fā)的數(shù)據(jù)報后,解封裝并查表得到下一跳地址為出口路由地址(第一次會話時無出口路由的MAC),向出口路由發(fā)送ARP請求報文,得到出口路由的MAC地址。出口路由查表下一跳的IP地址,到ISP處繼續(xù)查表得到百度的網(wǎng)關(guān)IP,最終到達(dá)百度的服務(wù)器。
百度服務(wù)器收到SYN請求后,對PCA進(jìn)行ACK響應(yīng)并發(fā)送SYN請求報,PCA收到來自百度服務(wù)器的報文后,再次發(fā)送ACK應(yīng)答報文。百度服務(wù)器收到響應(yīng)報文后,此時PCA與百度服務(wù)器的通話鏈路已經(jīng)開啟,可以進(jìn)行會話。
1.2傳統(tǒng)鏈路的不足之處
由于傳統(tǒng)鏈路的核心節(jié)點(diǎn)主要以串聯(lián)為主,面對內(nèi)部攻擊、外部入侵時處理速度較慢,可能造成網(wǎng)絡(luò)的延時甚至網(wǎng)絡(luò)癱瘓;遇到主機(jī)數(shù)量幾何倍增加時,其網(wǎng)絡(luò)的可擴(kuò)展性較差;此外,人臉識別、網(wǎng)頁瀏覽、影音視頻等應(yīng)用的緩存日志的內(nèi)存過大,其處理的能力較弱,也會造成網(wǎng)絡(luò)的崩潰。
二、基于SDN的服務(wù)鏈
SDN(software defined network)在當(dāng)今的計算機(jī)網(wǎng)絡(luò)聲名顯赫,其內(nèi)容豐富,卻未被一些組織或企業(yè)進(jìn)行標(biāo)準(zhǔn)定義。SDN要求網(wǎng)絡(luò)系統(tǒng)中的控制平面和轉(zhuǎn)發(fā)平面必須分離[2]。在轉(zhuǎn)發(fā)平面,網(wǎng)絡(luò)管理員的意志最重要,與協(xié)議無關(guān)。SDN的架構(gòu)如圖3所示,應(yīng)用層,不同應(yīng)用通過控制層開放的API管理控制設(shè)備的報文轉(zhuǎn)發(fā)功能;控制層,由SDN軟件組成,與下層可用OpenFlow協(xié)議通信;基礎(chǔ)設(shè)施層,由網(wǎng)絡(luò)設(shè)備(交換機(jī)、路由器、防火墻等)組成。
2.1什么是OpenFlow
SDN是一個框架,不是一門技術(shù);它的核心是OpenFlow協(xié)議。OpenFlow協(xié)議是由斯坦福大學(xué)提出來的,最初的出發(fā)點(diǎn)是為了更好地構(gòu)建用于研究的網(wǎng)絡(luò)[1]。傳統(tǒng)的網(wǎng)絡(luò)中,路由器等網(wǎng)絡(luò)節(jié)點(diǎn)既要數(shù)據(jù)傳輸又要控制處理。而OpenFlow的典型特點(diǎn)是將數(shù)據(jù)面(發(fā)送數(shù)據(jù)包的網(wǎng)絡(luò))和控制面分離,是一種可實現(xiàn)多種功能的技術(shù),能夠?qū)崿F(xiàn)多種現(xiàn)象
2.2什么是服務(wù)鏈
一直以來,網(wǎng)絡(luò)出口會串接很多的設(shè)備,比如,防火墻、WAF、IPS、抗DDOS攻擊、上網(wǎng)行為、防毒墻等安全及性能管理設(shè)備,我們把這些設(shè)備稱為服務(wù)節(jié)點(diǎn)(Service Node)。當(dāng)網(wǎng)絡(luò)流量按照業(yè)務(wù)邏輯所要求的順序,經(jīng)過這些節(jié)點(diǎn),這就是服務(wù)鏈。
2.3 基于SDN的服務(wù)鏈
傳統(tǒng)網(wǎng)絡(luò)與網(wǎng)絡(luò)拓?fù)渚o密結(jié)合,彈性不足,一旦設(shè)備部署完畢之后不易調(diào)整,會涉及重新布線、業(yè)務(wù)中斷等一系列問題?;贠penFlow的服務(wù)鏈,能夠解決傳統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)的不足之處。由于SDN中北向接口的可編程性,服務(wù)鏈可以通過北向接口與OpenFlow Controller進(jìn)行通信。OpenFlow Switch通過OpenFlow Controller和南向接口對服務(wù)鏈的流量進(jìn)行控制和轉(zhuǎn)發(fā) [4]。在OpenFlow Switch上并行掛載WAF、IPS、FW等安全設(shè)備,如圖4所示。
PC機(jī)訪問外網(wǎng)時,數(shù)據(jù)包進(jìn)入OpenFlow Switch 的接口1,查看流表0中的流表項匹配字段,如圖5所示。如果流表0無法匹配,轉(zhuǎn)流表1繼續(xù)匹配,流表1中無表項匹配則轉(zhuǎn)流表N,直到匹配成功,執(zhí)行行動。若最終無匹配,則OpenFlow Switch向控制器發(fā)送Packet-IN包,尋求解決方案。其流程如圖6所示。
當(dāng)OpenFlow交換機(jī)的并行掛載的FW掉線時,其表項號自動刪除表項號8直接執(zhí)行表項號9。
2.4 SDN服務(wù)鏈的優(yōu)勢
(1)割接
在添加、減少物理設(shè)備時,不需要像傳統(tǒng)服務(wù)鏈那樣選時中斷設(shè)備;直接服務(wù)將服務(wù)節(jié)點(diǎn)上線或下線,大大降低網(wǎng)絡(luò)割接的難度,減輕網(wǎng)絡(luò)管理人員負(fù)擔(dān)。
(2)編排
在不改變物理拓?fù)浣Y(jié)構(gòu)的情況下,通過拖拽設(shè)備圖標(biāo)的方式進(jìn)行網(wǎng)絡(luò)調(diào)整,從而更改業(yè)務(wù)流量出入服務(wù)節(jié)點(diǎn)的路徑。發(fā)現(xiàn)內(nèi)部攻擊時,可以將圖5中的防火墻位置調(diào)整到離內(nèi)網(wǎng)近側(cè),保障網(wǎng)絡(luò)的安全通暢。
(3)健康檢查
對服務(wù)節(jié)點(diǎn)中的設(shè)備的物理接口、管理IP可達(dá)性、流量比閾值等狀態(tài)實時監(jiān)控,在遇到服務(wù)鏈掛載設(shè)備異常時提供自動下線功能,確保服務(wù)鏈在各種層面的故障下不斷網(wǎng)。
(4)服務(wù)映射
可以根據(jù)應(yīng)用場景的需求,靈活地調(diào)整流量。服從管理員的意志,使流量通過不同的安全設(shè)備。
三、總結(jié)
本文詳細(xì)地講述了傳統(tǒng)網(wǎng)絡(luò)架構(gòu)與SDN網(wǎng)絡(luò)架構(gòu)下的服務(wù)鏈,以及OpenFlow的轉(zhuǎn)發(fā)原理。通過對比發(fā)現(xiàn),配置網(wǎng)絡(luò)變得越來越麻煩,因為網(wǎng)絡(luò)操作員必須執(zhí)行越來越復(fù)雜的網(wǎng)絡(luò)管理任務(wù)。兩個主要原因是:低層次設(shè)備的網(wǎng)絡(luò)設(shè)備;改變網(wǎng)絡(luò)狀態(tài)[5]。在大數(shù)據(jù)時代,傳統(tǒng)網(wǎng)絡(luò)處理爆炸性流量越來越力不從心。SDN的出現(xiàn),即時解決了傳統(tǒng)網(wǎng)絡(luò)的不足,也為公眾提供了安全、穩(wěn)定、可靠、靈活的網(wǎng)絡(luò)環(huán)境;為網(wǎng)絡(luò)管理人員減輕了運(yùn)行維護(hù)的壓力、強(qiáng)化排故能力。
參? 考? 文? 獻(xiàn)
[1]侯麗波.大數(shù)據(jù)時代泛關(guān)系下個人信息安全保護(hù)研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2020(10)
[2]晃通[日],宮永直樹[日],巖田淳[日].圖解OpenFlow[M].人民郵電出版社,2016
[3]范恂毅,張曉和.新一代SDN VMware NSX網(wǎng)絡(luò)原理與實踐[M].人民郵電出版社,2016
[4]周凱.基于SDN安全服務(wù)鏈的研究與設(shè)計[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2020(7)
[5] Hyojoon Kim ,Nick Feamster. Improving Network Management with Software Defined Networking[J]. IEEE Communications Magazine,2013