《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于SDN的無線網(wǎng)絡(luò)接入控制
基于SDN的無線網(wǎng)絡(luò)接入控制
2016年電子技術(shù)應(yīng)用第2期
鄧 康1,張勝利1,代明軍1,丁 凡1,2,王 暉1
1.深圳大學(xué) 信息工程學(xué)院,廣東 深圳518000;2.韶關(guān)學(xué)院 物理與機(jī)電工程學(xué)院,廣東 韶關(guān)512005
摘要: 傳統(tǒng)網(wǎng)絡(luò)架構(gòu)封閉、僵化,很難部署新型網(wǎng)絡(luò)協(xié)議和應(yīng)用。軟件定義網(wǎng)絡(luò)SDN將數(shù)據(jù)轉(zhuǎn)發(fā)層面和控制層面分離,并開放了網(wǎng)絡(luò)的可編程接口,通過控制器來管理終端的接入和數(shù)據(jù)轉(zhuǎn)發(fā),提高了靈活性和可控性。提出了一種采用MAC地址的訪問控制策略,使網(wǎng)絡(luò)接入更加安全與便捷,并部署在現(xiàn)實(shí)網(wǎng)絡(luò)中,用實(shí)驗(yàn)證明了該策略的可行性和可靠性。
中圖分類號(hào): TN929.21
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.02.025
中文引用格式: 鄧康,張勝利,代明軍,等. 基于SDN的無線網(wǎng)絡(luò)接入控制[J].電子技術(shù)應(yīng)用,2016,42(2):92-94,98.
英文引用格式: Deng Kang,Zhang Shengli,Dai Mingjun,et al. SDN based wireless network access authentication[J].Application of Electronic Technique,2016,42(2):92-94,98.
SDN based wireless network access authentication
Deng Kang1,Zhang Shengli1,Dai Mingjun1,Ding Fan2,Wang Hui1
1.College of Information Engineering,Shenzhen University,Shenzhen 518000,China; 2.School of Physics and Mechanical & Electrical Engineering,Shaoguan College,Shaoguan 512005,China
Abstract: Traditional network architecture is closed and ossified. It’s difficult to deploy new network protocols and novel applications, In software defined network, the control an data planes are decoupled, which provide a new network management solutions, and the network of programmable ability has been opened. Manage terminal access and data forwarding through the controller, and Improved flexibility and controllability. A novel network architecture accounting for MAC control and network security has been proposed of this paper, deployed in real networks. The feasibility and reliability of this method is proved by experiments.
Key words : software defined network;OpenFlow;MAC;access authentication

0 引言

    隨著互聯(lián)網(wǎng)的快速發(fā)展,網(wǎng)絡(luò)用戶的數(shù)量增長迅猛,特別是移動(dòng)智能終端用戶,如何管理移動(dòng)終端成為管理員必須要考慮的問題。傳統(tǒng)網(wǎng)絡(luò)采用垂直分層結(jié)構(gòu),將控制邏輯和數(shù)據(jù)轉(zhuǎn)發(fā)耦合到交換機(jī)、路由器等網(wǎng)絡(luò)設(shè)備中。這些網(wǎng)絡(luò)設(shè)備都是封閉的,其中的網(wǎng)絡(luò)協(xié)議和專利為設(shè)備商所特有,因此科研人員和網(wǎng)絡(luò)管理人員很難實(shí)驗(yàn)和部署新型網(wǎng)絡(luò)協(xié)議和應(yīng)用。對(duì)于大規(guī)模的網(wǎng)絡(luò)管理,傳統(tǒng)網(wǎng)絡(luò)已經(jīng)顯現(xiàn)出它的不足。為了解決現(xiàn)有TCP/IP體系架構(gòu)所面臨的問題,世界各國的科研工作者都在積極開展未來互聯(lián)網(wǎng)的研究,軟件定義網(wǎng)絡(luò)(Software Defined Network,SDN[1])就是在這種技術(shù)背景下產(chǎn)生的。

    SDN這種新型網(wǎng)絡(luò)架構(gòu)將傳統(tǒng)TCP/IP體系網(wǎng)絡(luò)分為數(shù)據(jù)平面和控制平面,數(shù)據(jù)平面只負(fù)責(zé)底層數(shù)據(jù)的轉(zhuǎn)發(fā),控制層面來決策數(shù)據(jù)轉(zhuǎn)發(fā)。控制器開放北向接口NBI,使得一些新型網(wǎng)絡(luò)應(yīng)用能迅速部署??刂破骱蚐DN交換機(jī)之間通過安全通道相連,并按照OpenFlow[2]協(xié)議規(guī)則來管理和配置交換機(jī)。OpenFlow協(xié)議最初是由斯坦福大學(xué)的Nick McKeown教授[2]提出,開放網(wǎng)絡(luò)基金會(huì)ONF對(duì)基于OpenFlow的無線SDN進(jìn)行了詳細(xì)介紹,并發(fā)布了相關(guān)白皮書文檔[3]。本文就是基于控制層面的北向API接口,實(shí)現(xiàn)了一種基于MAC地址的訪問控制策略,并將該應(yīng)用部署到實(shí)驗(yàn)室網(wǎng)絡(luò)中,通過實(shí)驗(yàn)驗(yàn)證了可行性和實(shí)用性。

1 傳統(tǒng)網(wǎng)絡(luò)的無線接入管理

1.1 WEP 接入認(rèn)證

    WEP是802.11b中定義的一種加密方式,目的是為WLAN提供和有線網(wǎng)絡(luò)LAN同級(jí)別的安全性。由于WLAN是基于無線電磁波的傳輸,沒有固定封閉的傳輸媒介,無法提供端到端的安全傳輸,因此更容易被入侵,現(xiàn)在已經(jīng)基本被淘汰。

1.2 WPA接入認(rèn)證

    WPA有WPA和WPA2兩個(gè)標(biāo)準(zhǔn),是為了解決WEP的弱點(diǎn)而產(chǎn)生的,現(xiàn)在已替代了WEP加密。WPA-PSK采用TKIP加密方式,密匙越長越安全。WPA2是增強(qiáng)型版本,新增了AES加密方式,WPA2-PSK則支持TKIP和AES兩種加密方式,是現(xiàn)有的加密方式中相對(duì)最安全的一種。

1.3 WEB認(rèn)證方式

    WEB認(rèn)證是一種應(yīng)用層接入管理方式,在這種方式中,管理員創(chuàng)建一個(gè)開放模式的無線接入點(diǎn),用戶接入后訪問網(wǎng)絡(luò)時(shí),被強(qiáng)制重定向到指定的認(rèn)證網(wǎng)頁,要求輸入正確的賬號(hào)和密碼才能繼續(xù)訪問網(wǎng)絡(luò)。即使是同一個(gè)用戶,在每次斷開連接后,這種接入認(rèn)證方式需要再次輸入賬戶名和密碼,因此不是很便捷。

1.4 MAC-ACL接入控制

    MAC-ACL直接利用MAC地址認(rèn)證控制接入,這種接入方式也需要接入服務(wù)器(例如Radius),用來判斷MAC地址是否合法。此種方法必須預(yù)先知道哪些MAC地址是合法的,由于每一個(gè)終端的MAC地址唯一,可以用分級(jí)權(quán)限訪問實(shí)現(xiàn)。

2 基于SDN的無線MAC地址訪問控制

    上述接入認(rèn)證方式各有優(yōu)劣,如WEP和WPA加密認(rèn)證算法方式已被證明存在漏洞,常用于家庭個(gè)人WiFi網(wǎng)絡(luò);WEB接入認(rèn)證雖然安全,但是每次輸入密碼會(huì)影響使用的便捷;MAC-ACL雖然可以自動(dòng)認(rèn)證,但是首次獲得合法MAC地址的過程較為麻煩。而且,目前多數(shù)網(wǎng)絡(luò)設(shè)備的轉(zhuǎn)發(fā)功能和認(rèn)證功能在一起,隨著用戶規(guī)模的增加,管理的開銷成為影響網(wǎng)絡(luò)性能的重要因素。本文主要探索高效安全的無線網(wǎng)絡(luò)接入管理方式。

2.1 采用SDN架構(gòu)的無線接入網(wǎng)

    SDN將網(wǎng)絡(luò)的控制邏輯和數(shù)據(jù)轉(zhuǎn)發(fā)分開,形成應(yīng)用層、控制層和基礎(chǔ)設(shè)施層三個(gè)層次,如圖1所示。

tx1-t1.gif

    應(yīng)用層:包含各種網(wǎng)絡(luò)應(yīng)用程序,實(shí)現(xiàn)交換機(jī)的數(shù)據(jù)轉(zhuǎn)發(fā)、負(fù)載均衡、流量控制和防火墻等功能。控制器開放北向接口,用戶可以開發(fā)并部署自己的應(yīng)用。本文所提出的MAC地址訪問控制就是北向接口的應(yīng)用。

    控制層:控制邏輯,即控制器??刂破鞯木W(wǎng)絡(luò)控制功能主要包括南向接口協(xié)議OpenFlow、鏈路發(fā)現(xiàn)、拓?fù)涔芾怼⒉呗远ㄖ坪拖掳l(fā)流表等。控制器南向接口與SDN交換設(shè)備相連,控制器通過交換設(shè)備上報(bào)的信息進(jìn)行統(tǒng)一的監(jiān)控和管理??刂破鞲鶕?jù)應(yīng)用層程序執(zhí)行相應(yīng)策略,而策略定制和下發(fā)流表則是控制器利用南向接口的下行通道對(duì)網(wǎng)絡(luò)設(shè)備實(shí)施統(tǒng)一控制。

    基礎(chǔ)設(shè)施層:主要由一些網(wǎng)絡(luò)設(shè)備組成,如OpenFlow交換機(jī),無線OpenFlow接入點(diǎn)。這些網(wǎng)絡(luò)設(shè)備接控制器的南向接口,控制器與設(shè)備之間通過安全通道連接,采用OpenFlow協(xié)議通信。控制器通過在OpenFlow交換機(jī)中產(chǎn)生流表控制數(shù)據(jù)的轉(zhuǎn)發(fā)。

2.2 MAC地址接入控制算法設(shè)計(jì)

    由于SDN的靈活性和開放性,很多科研人員積極將SDN架構(gòu)引入到無線接入網(wǎng)中。Nick McKeown教授提出的OpenRoads[4],采用SDN架構(gòu)來管理WiFi和WiMAX。SoftRAN[5]提出了軟件定義無線接入網(wǎng)架構(gòu),用控制器來管理無線資源。但這些無線SDN網(wǎng)絡(luò)架構(gòu)都未提及網(wǎng)絡(luò)的安全性,本文從安全防護(hù)角度,研究實(shí)現(xiàn)了基于MAC地址的自動(dòng)訪問控制策略,下面介紹具體算法。

    MAC接入控制算法:白名單模式

    handle_PacketIn( )

        { get dst_mac  src_mac  input  output }

    if dst_mac  ==  mutlicast

        then flood  (判斷是否為廣播地址)

    if dst_mac  in  flowtable

        then  {

             if src_mac in white list

                    then actions = output.port

             }

    else actions = drop

    控制器和OpenFlow交換機(jī)連接并運(yùn)行時(shí),首先要進(jìn)行的工作是鏈路發(fā)現(xiàn)??刂破魍ㄟ^定時(shí)的發(fā)送包含LLDP數(shù)據(jù)包的Packet_out消息給與其相連的OpenFlow交換機(jī),交換機(jī)收到消息后立即發(fā)往到所有端口,并根據(jù)交換機(jī)反饋回來的Packet_in消息獲取交換機(jī)信息。因而LLDP數(shù)據(jù)包是一種廣播包,不需要通過控制器下發(fā)流表來決定轉(zhuǎn)發(fā)。通過鏈路發(fā)現(xiàn)后,控制器可以學(xué)習(xí)到全局網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),配置管理相應(yīng)的下發(fā)流表,控制數(shù)據(jù)的轉(zhuǎn)發(fā)。

    在MAC地址訪問控制程序中,定義了packet_in_handler( )、add_flow( )和drop_flow( ) 三個(gè)函數(shù)。packet_in_handler( )函數(shù)用來對(duì)發(fā)送進(jìn)來的數(shù)據(jù)包進(jìn)行處理,首先判斷目的地址dst是否在交換機(jī)中,若在,則匹配相應(yīng)的流表,完成轉(zhuǎn)發(fā);若不在,則設(shè)置為OFPP_FLOOD,這是泛洪轉(zhuǎn)發(fā)邏輯端口,泛洪轉(zhuǎn)發(fā)不產(chǎn)生流表。判斷完目的地址后,再來看源地址src。從數(shù)據(jù)包pkt中提取src,用send(src)將源地址送往MAC認(rèn)證服務(wù)器,并將其與白名單中的MAC地址列表匹配。如果src在白名單中,則可以斷定用戶是合法用戶,此時(shí)向控制器返回FLAG1,控制器收到FLAG1標(biāo)識(shí)后,通過add_flow( )生成轉(zhuǎn)發(fā)流表,轉(zhuǎn)發(fā)動(dòng)作actions=output。如果源地址不在白名單中,則向控制器返回FLAG2,控制器收到FLAG2后,直接產(chǎn)生丟棄流表,轉(zhuǎn)發(fā)動(dòng)作actions=drop。這樣OpenFlow交換機(jī)中就有了用戶端口到外網(wǎng)端口的轉(zhuǎn)發(fā)規(guī)則。同理,從外網(wǎng)端口送來數(shù)據(jù)包時(shí),src地址就是外網(wǎng)端口的MAC地址,同上述情況一樣,先查找流表,若沒有匹配成功,則送往控制器,控制器對(duì)于從外網(wǎng)端口送來的數(shù)據(jù)包,直接產(chǎn)生轉(zhuǎn)發(fā)流表。

    因此,只有白名單用戶在訪問外網(wǎng)時(shí),才產(chǎn)生從用戶端口到外網(wǎng)端口的轉(zhuǎn)發(fā)流表,其他非法用戶則產(chǎn)生丟棄流表,這樣就可通過白名單上的MAC地址控制用戶網(wǎng)絡(luò)接入。

2.3 MAC地址認(rèn)證服務(wù)器

    MAC地址認(rèn)證服務(wù)器的工作流程如圖2。

tx1-t2.gif

    MAC地址認(rèn)證服務(wù)器的功能主要是接收控制器送來的src地址,并與白名單對(duì)比,判斷該src地址是否為合法用戶。然后將返回結(jié)果送給控制器,讓控制器產(chǎn)生相應(yīng)的流表。

3 實(shí)驗(yàn)驗(yàn)證

    通過在實(shí)驗(yàn)室部署無線SDN網(wǎng)絡(luò)來測試算法應(yīng)用程序的正確性,搭建的網(wǎng)絡(luò)如圖3。

tx1-t3.gif

    實(shí)驗(yàn)所用設(shè)備有:2臺(tái)電腦,無線OpenFlow交換機(jī),筆記本和支持WiFi的智能手機(jī)。其中一臺(tái)電腦作為控制器,控制器為Ryu,安裝在Ubuntu 12.04 LTS桌面版系統(tǒng)上。另一臺(tái)作為MAC地址認(rèn)證服務(wù)器,提供認(rèn)證登錄和提取MAC地址功能。無線OpenFlow交換機(jī)是采用市場上的家用路由器TP-Link 841n無線路由器,在運(yùn)行部分添加了OpenFlow模塊的OpenWrt系統(tǒng),創(chuàng)建一個(gè)WiFi熱點(diǎn),使該WLAN端口也支持OpenFlow。

    用戶連接到無線熱點(diǎn)后,首次連接訪問外網(wǎng)時(shí),將該用戶重定向到MAC地址認(rèn)證服務(wù)器。此時(shí)用戶端會(huì)跳轉(zhuǎn)至Web登錄界面,要求輸入用戶名和密碼。登錄成功后,用戶的MAC地址被存儲(chǔ)到白名單上,用戶再次請(qǐng)求訪問外網(wǎng)時(shí),MAC認(rèn)證服務(wù)器可以通知控制器產(chǎn)生相應(yīng)的轉(zhuǎn)發(fā)流表,這樣通過認(rèn)證的用戶就可以訪問外網(wǎng)。當(dāng)用戶斷開后,下一次再連接無線網(wǎng)絡(luò)時(shí),由于它的MAC地址已經(jīng)存儲(chǔ)在白名單中,MAC地址認(rèn)證服務(wù)器會(huì)直接通知控制器產(chǎn)生相應(yīng)的轉(zhuǎn)發(fā)流表。用戶再次連接上網(wǎng)時(shí),可以不用輸入賬號(hào)和密碼而直接訪問外網(wǎng)。

    為了測試該MAC地址訪問控制功能,用戶A是筆記本,用戶B是支持WiFi的手機(jī)。打開無線網(wǎng)絡(luò),連接無線OpenFlow接入點(diǎn)。用戶A正確輸入了賬號(hào)和密碼,完成認(rèn)證,MAC地址被加入到白名單。

    在本系統(tǒng)中,由于用戶A完成登錄認(rèn)證,所以MAC地址被存儲(chǔ)在MAC地址認(rèn)證服務(wù)器的表單中(即白名單用戶),而用戶B沒有登錄認(rèn)證,屬于非法用戶,所以用戶A可以正常訪問外網(wǎng),而用戶B無法直接訪問外網(wǎng)。

    經(jīng)過如上測試步驟之后,OpenFlow交換機(jī)產(chǎn)生轉(zhuǎn)發(fā)流表。圖4為dpctl指令查看的流表,省去了部分非關(guān)鍵字段,從OpenFlow所產(chǎn)生的轉(zhuǎn)發(fā)流表中選擇4條具有代表性的流表規(guī)則。下面,結(jié)合圖4中的流表規(guī)則來說明本文所提算法的合理性和正確性。

tx1-t4.gif

    用戶A的MAC地址為74:86:7a:48:2b:23,B的MAC地址為70:72:3c:d5:c4:36,外網(wǎng)的MAC地址為28:c6:8e:c6:37:c0。其中,actions為空就是丟棄數(shù)據(jù)包行為。

    控制器下發(fā)了4條流表,port 1連接外網(wǎng),port 4為無線OpenFlow端口。用戶A和用戶B都連在無線端口上。用戶A—Internet,Internet—用戶A,用戶B—Internet,Internet—用戶B。用戶A完成登錄認(rèn)證,其MAC地址就存儲(chǔ)到白名單中,控制器下發(fā)對(duì)其到Internet的正常轉(zhuǎn)發(fā)行為流表。而用戶B沒有通過認(rèn)證,MAC地址不在其中,對(duì)其向外網(wǎng)轉(zhuǎn)發(fā)的數(shù)據(jù)包下發(fā)丟棄流表。這樣就可以通過流表規(guī)則控制無線用戶對(duì)網(wǎng)絡(luò)的訪問。

4 結(jié)論

    基于無線SDN的MAC地址訪問控制,可以在傳統(tǒng)加密方式基礎(chǔ)上增加一道有力的安全防護(hù),而這樣做的代價(jià)僅僅是控制器上的一個(gè)應(yīng)用程序,無需再買其他的專用設(shè)備,節(jié)省了成本開銷。本文提出了無線網(wǎng)絡(luò)接入認(rèn)證方法,白名單用戶首次認(rèn)證成功后,立即產(chǎn)生轉(zhuǎn)發(fā)流表,而其他非法用戶則產(chǎn)生丟棄流表,阻止其訪問外網(wǎng),該方法切實(shí)可靠。

參考文獻(xiàn)

[1] SDN Architecture[OL].https://www.opennetworking.org/images/stories/downloads/sdn-resources/technical-reports/SDN-architecture-overview-1.0.pdf.

[2] MCKEOWN N,ANDERSON T,BALAKRISHNAN H,et al.OpenFlow: enabling innovation in campus networks[J].ACM SIGCOMM Computer Communication Review,2008,38(2):69-74.

[3] ONF Solution Brief.OpenFlow-Enabled Mobile and Wireless Networks.September 2013.http://www.opennetworking.org.

[4] YAP K K,KOBAYASHI M,SHERWOOD R,et al.OpenRoads:Empowering research in mobile networks[J].ACM SIGCOMM Computer Communication Review,2010,40(1):125-126.

[5] GUDIPATI A,PERRY D,LI L E,et al.SoftRAN:Software defined radio access network[C].Proceedings of the second ACM SIGCOMM workshop on Hot topics in software defined networking.ACM,2013:25-30.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。