韋必忠,李 嘉,何 倩,胡啟偉,柴華昕
(1.桂林電子科技大學(xué)計算機科學(xué)與工程學(xué)院,廣西桂林 541004; 2.桂林電子科技大學(xué)信息與通信學(xué)院,廣西桂林 541004)
基于PPPoE和虛擬專用網(wǎng)的多運營商鏈路共享認(rèn)證方法
韋必忠1,李 嘉1,何 倩2,胡啟偉2,柴華昕2
(1.桂林電子科技大學(xué)計算機科學(xué)與工程學(xué)院,廣西桂林 541004; 2.桂林電子科技大學(xué)信息與通信學(xué)院,廣西桂林 541004)
針對電信、聯(lián)通、移動和校園網(wǎng)等多個網(wǎng)絡(luò)運營商共存的大學(xué)校園,提出基于PPPo E和虛擬專用網(wǎng)的多運營商鏈路共享認(rèn)證方法。設(shè)計統(tǒng)一的多運營商網(wǎng)絡(luò)共享架構(gòu),實現(xiàn)了Windows和Linux多運營商撥號認(rèn)證客戶端。實驗結(jié)果表明,該方法能夠?qū)崿F(xiàn)多運營商鏈路共享,具有較好的安全性能,可滿足用戶需求。
多運營商;PPPo E;VPN;網(wǎng)絡(luò)共享架構(gòu);撥號認(rèn)證客戶端
在寬帶接入技術(shù)中,以太網(wǎng)接入技術(shù)由于其價格低廉、速度快、效率高等優(yōu)點,得到高校和其他用戶的青睞。但是,傳統(tǒng)以太網(wǎng)接入方式不能提供身份驗證、按流量計費及IP地址管理等功能。為保留現(xiàn)有的以太網(wǎng)結(jié)構(gòu),彌補以太網(wǎng)在接入管理方面的缺點,以太網(wǎng)技術(shù)與PPP[1]協(xié)議的管理控制功能結(jié)合的PPPo E協(xié)議得到運營商的認(rèn)可并廣泛應(yīng)用[2]。
PPPoE可以很好滿足AAA認(rèn)證要求,并且在管理控制、精確計費、網(wǎng)絡(luò)安全等方面有諸多優(yōu)點,在小區(qū)、學(xué)校等需要網(wǎng)絡(luò)運營的場所得到廣泛應(yīng)用[3]。邊永濤[4]將VLAN技術(shù)與PPPoE相結(jié)合,采用BRAS和RADIUS接入認(rèn)證,完成了PPPoE在校園網(wǎng)中的部署,取得理想效果。
隨著在校用戶不斷增多及對網(wǎng)絡(luò)需求的多樣化,校園網(wǎng)絡(luò)在高校師生的學(xué)習(xí)、生活中占據(jù)越來越重要地位。校園寬帶接入網(wǎng)絡(luò)勢必成為多家運營商的競技場地,電信、聯(lián)通、移動和校園網(wǎng)等多個網(wǎng)絡(luò)運營商共存的模式越來越普遍。盧玉濤[5]提出一種多運營商共用一套接入服務(wù)器和寬帶接入網(wǎng)絡(luò)的方法,通過在接入服務(wù)器上建立多個PPPoE的IP地址段,給不同ISP用戶分配不同的IP地址段,在服務(wù)器出口處依據(jù)IP將用戶數(shù)據(jù)包轉(zhuǎn)發(fā)到對應(yīng)運營商的路由設(shè)備上,從而實現(xiàn)多運營商共用接入服務(wù)器和寬帶接入網(wǎng)絡(luò)的方法。北京城市熱點采用二次認(rèn)證的方式實現(xiàn)多運營商寬帶認(rèn)證[6]。以上2種方法雖然實現(xiàn)了多運營商撥號認(rèn)證,卻難以解決運營商共享鏈路和一次登錄認(rèn)證的問題,不利于統(tǒng)一管理和維護。
針對這個問題,采用PPPo E與VPN技術(shù)相結(jié)合,設(shè)計一種基于PPPoE的多運營商鏈路共享系統(tǒng)架構(gòu),實現(xiàn)多運營商撥號認(rèn)證客戶端。由此解決上述問題,使得校園組網(wǎng)模式簡潔,避免了重復(fù)布線帶來的線路復(fù)雜及維護困難問題,同時降低了各運營商成本,也方便學(xué)生根據(jù)服務(wù)質(zhì)量及資費等選擇不同的運營商,滿足不同的上網(wǎng)需求。
PPPoE即以太網(wǎng)上點對點協(xié)議提供在廣播式網(wǎng)絡(luò)如以太網(wǎng)中多臺主機連接到遠(yuǎn)端訪問集中器上的一種標(biāo)準(zhǔn),是在以太網(wǎng)中傳播PPP幀信息的技術(shù)[7]。PPPo E協(xié)議利用以太網(wǎng)將大量用戶主機組成網(wǎng)絡(luò),通過遠(yuǎn)端接入設(shè)備連入因特網(wǎng),可實現(xiàn)對每個接入主機的控制、計費功能。
基于PPPo E的以太網(wǎng)取代傳統(tǒng)的PSTN,不僅與原有窄帶用戶接入認(rèn)證體系一致,且具有以下優(yōu)勢[8-11]:沿襲Modem撥號方式,不改變用戶的上網(wǎng)習(xí)慣;可動態(tài)分配IP地址,有效防止IP沖突;可實現(xiàn)用戶與接入設(shè)備端到端連接,能有效進行用戶隔離,從而防范病毒,如ARP攻擊等;實現(xiàn)基于時間或流量的精準(zhǔn)計費及基于賬號的用戶管理。
2.1 多運營商鏈路共享需求分析
為滿足學(xué)生不同需求,大學(xué)校園引入電信、聯(lián)通、移動和校園網(wǎng)等多家運營商。但是,傳統(tǒng)校園網(wǎng)絡(luò)中各運營商分別建設(shè)、各自管理且線路鋪設(shè)復(fù)雜,不便統(tǒng)一管理和維護。傳統(tǒng)校園網(wǎng)基本網(wǎng)絡(luò)拓?fù)淙鐖D1所示。
學(xué)校一般采用按流量計費策略,給看視頻、下載等流量需求比較大的學(xué)生造成很大困擾。在共享學(xué)校資源和訪問校園內(nèi)部網(wǎng)絡(luò)的時候又需要使用校園網(wǎng),頻繁切換網(wǎng)絡(luò)給學(xué)生上網(wǎng)造成極大不便。針對這種情況,多運營商共享鏈路體現(xiàn)出巨大優(yōu)勢。共享鏈路有以下優(yōu)點:
圖1 傳統(tǒng)網(wǎng)絡(luò)拓?fù)鋱DFig.1 Traditional network topology
1)避免重復(fù)布線,節(jié)約運營商建設(shè)成本;
2)使用統(tǒng)一管理平臺,方便管理和維護;
3)方便學(xué)生根據(jù)需求自由選擇網(wǎng)絡(luò);
4)不會造成流量穿越;
5)可靈活擴展,便于引入新運營商。
2.2 多運營商鏈路共享架構(gòu)設(shè)計
電信、移動、聯(lián)通等網(wǎng)絡(luò)運營商采用PPPoE網(wǎng)絡(luò)認(rèn)證協(xié)議,構(gòu)建包括客戶端、接入服務(wù)器、網(wǎng)橋的PPPoE引導(dǎo)系統(tǒng)。多個網(wǎng)絡(luò)運營商用戶在一條以太網(wǎng)鏈路上實現(xiàn)共享上網(wǎng)。多運營商引導(dǎo)系統(tǒng)各模塊之間關(guān)系如圖2所示。
圖2 PPPoE引導(dǎo)系統(tǒng)Fig.2 PPPoE guidance system
客戶端是PPPoE引導(dǎo)系統(tǒng)的入口,實現(xiàn)與用戶的交互;接入服務(wù)器是連接客戶端和網(wǎng)橋的中介,主要完成用戶上網(wǎng)信息登記、客戶端監(jiān)控及對網(wǎng)橋的配置;網(wǎng)橋則實現(xiàn)對PPPo E發(fā)現(xiàn)階段數(shù)據(jù)單元的引導(dǎo)工作。
用戶通過多運營商客戶端將連接請求消息發(fā)送到接入服務(wù)器。接入服務(wù)器首先根據(jù)與客戶端之間的私有協(xié)議判定消息包是否正確或被篡改過;如果消息包正確,則開始進行拆包操作,判定消息包類型,并提取用戶信息,根據(jù)提交的IP地址,得到對應(yīng)的網(wǎng)橋地址,并發(fā)送放開消息請求給網(wǎng)橋,同時將用戶信息如用戶名、設(shè)備Mac、IP地址及運營商類型等信息存入數(shù)據(jù)庫進行登記,更新登錄時間。網(wǎng)橋?qū)PPo E握手消息轉(zhuǎn)發(fā)給相應(yīng)的運營商,并返回狀態(tài)信息到接入服務(wù)器,然后客戶端向不同運營商的PPPo E服務(wù)器發(fā)送登陸認(rèn)證消息,從而實現(xiàn)多運營商共用鏈路。
用戶選擇需要接入的運營商,輸入用戶名和密碼就可以連接網(wǎng)絡(luò),這與傳統(tǒng)撥號上網(wǎng)方式類似,延續(xù)了用戶的習(xí)慣,并能滿足不同的上網(wǎng)需求。從運營商的角度來看,基于PPPoE協(xié)議實現(xiàn)多運營商撥號認(rèn)證,對現(xiàn)存網(wǎng)絡(luò)結(jié)構(gòu)進行的變更也最小,很大程度上避免了運營商的重復(fù)投資,降低了運營商的運營成本。鏈路共享網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖3所示。
圖3 鏈路共享網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)Fig.3 Link sharing network topology
實現(xiàn)多運營商鏈路共享需要解決用戶流量穿越及運營商隔離問題。VPN技術(shù)通過公用網(wǎng)絡(luò)建立一個臨時的、安全的連接,是一條穿過混亂公用網(wǎng)絡(luò)的安全、穩(wěn)定隧道。在校園網(wǎng)中采用VPN網(wǎng)關(guān)技術(shù)既可以實現(xiàn)校園網(wǎng)與外網(wǎng)連接,也可以把校園網(wǎng)與Internet隔離。通過建立VPN通道,不同用戶可在一個以太網(wǎng)上實現(xiàn)共享上網(wǎng)。使用PPPo E和VPN相結(jié)合設(shè)計的多運營商網(wǎng)絡(luò)共享架構(gòu),用戶在入網(wǎng)前借助校園網(wǎng)的DHCP服務(wù)器獲取合法的私網(wǎng)地址,然后以L2TP(二層隧道協(xié)議)封裝公網(wǎng)流量,同時加密用戶私網(wǎng)的IP地址,利用VPN的標(biāo)簽來標(biāo)識不同的運營商網(wǎng)絡(luò),在共享架構(gòu)系統(tǒng)中實現(xiàn)對網(wǎng)絡(luò)標(biāo)簽的修改,將用戶請求由校園以太鏈路路由至運營商的LNS服務(wù)器,從而起到引導(dǎo)作用,實現(xiàn)與Internet互聯(lián)。組網(wǎng)方式靈活,避免了額外敷設(shè)線路,只需在核心層設(shè)備上連接各運營商的LNS設(shè)備,對原有校園拓?fù)渚W(wǎng)絡(luò)改動較小。
撥號認(rèn)證客戶端是基于PPPoE和VPN的整個多運營商鏈路共享系統(tǒng)中非常重要的一個模塊,是實現(xiàn)多運營商中客戶端到服務(wù)器的鏈路建立和PPPo E撥號的關(guān)鍵??蛻舳藨?yīng)用程序?qū)⒂脩粽埱筇峤坏浇尤敕?wù)器,并通過旁路網(wǎng)橋引導(dǎo)到不同的運營商。多運營商客戶端工作流程如圖4所示。
圖4 多運營商客戶端工作流程Fig.4 The procedure of multi-operators’client
客戶端具體工作流程為:
1)用戶登錄客戶端連接程序,選擇需要接入的運營商,輸入賬號、密碼。由客戶端程序按照標(biāo)準(zhǔn)格式組裝通信包發(fā)送請求消息到接入服務(wù)器,通信包格式如表1所示。其中:operator表示運營商編號;opt表示請求狀態(tài);checksum表示數(shù)據(jù)部分Hash值。
表1 通信包格式Tab.1 The format of communication packet
2)接入服務(wù)器首先判定消息包是否正確,若正確則進行拆包,并提取用戶請求信息,同時向客戶端回應(yīng)已經(jīng)放開,提示可向PPPoE服務(wù)器發(fā)送登陸認(rèn)證消息。
選擇2017年3—12月在新疆醫(yī)科大學(xué)第一附屬醫(yī)院神經(jīng)外科參與住院醫(yī)師規(guī)范化培訓(xùn)學(xué)員54名,隨機分為兩組,PBL組采用PBL教學(xué)法,SBME-PBL組采用PBL結(jié)合SBME教學(xué)法,每組臨床學(xué)習(xí)工作時間均為2個月。各組規(guī)培生在性別、年齡、規(guī)培前的理論考試成績等方面差異均無統(tǒng)計學(xué)意義(P>0.05),詳見表1。
3)客戶端根據(jù)接入服務(wù)器的回應(yīng)信息,向?qū)?yīng)運營商的PPPo E服務(wù)器發(fā)送登錄認(rèn)證消息。
多運營商客戶端功能模塊如圖5所示。
圖5 多運營商客戶端功能模塊Fig.5 The function module of multi-operators’client
4.1 Windows撥號認(rèn)證實現(xiàn)
Windows下采用Delphi實現(xiàn)客戶端應(yīng)用程序。具體步驟為:
1)在Delphi 7中編譯添加Dialup控件,利用RAS實現(xiàn)Windows底層撥號,建立連接功能。
2)利用Windows輔助API模塊iphlpapi.dll得到Adapter Info的信息,包括用戶主機Mac、網(wǎng)關(guān)等地址信息,并按照通信包格式組裝,通過UDP用戶請求消息發(fā)送到接入服務(wù)器。
3)在接收到接入服務(wù)器的正確響應(yīng)信息后,調(diào)用撥號函數(shù)Dial向PPPo E服務(wù)器發(fā)送登錄認(rèn)證消息,進而連接網(wǎng)絡(luò)。
4.2 Linux撥號認(rèn)證實現(xiàn)
Linux下基于rp-pppoe,采用C語言實現(xiàn)多運營商客戶端到服務(wù)器的鏈路建立及PPPo E撥號。
考慮到完整實現(xiàn)PPPoE撥號比較復(fù)雜,通過Linux下開源撥號軟件rp-pppoe實現(xiàn)底層撥號。具體實現(xiàn)步驟為:
1)進入rp-pppoe源碼目錄,修改src/scripts目錄下pppoe-setup配置腳本,通過source命令將用戶配置文件中自定義的變量導(dǎo)入pppoe-setup腳本,使其在程序執(zhí)行過程中自動調(diào)用,無需用戶進行繁瑣設(shè)置。
2)使用ioctl獲取IP、Mac等客戶機信息,并通過Socket發(fā)送UDP通信包,將用戶請求消息發(fā)送到接入服務(wù)器。
3)在接收到接入服務(wù)器的正確響應(yīng)信息后,調(diào)用rp-pppoe的撥號程序向PPPoE服務(wù)器發(fā)送登錄認(rèn)證消息,進而連接網(wǎng)絡(luò)。
5.1 功能及界面
多運營商撥號認(rèn)證客戶端及測試如圖6、7所示。用戶選擇需要接入的運營商,輸入賬號、密碼之后進行信息配置并建立撥號連接,這樣延續(xù)了傳統(tǒng)撥號上網(wǎng)方式,用戶容易接受。
圖6 Windows撥號認(rèn)證客戶端Fig.6 Windows dial-up authentication client
圖7 Linux撥號認(rèn)證客戶端Fig.7 Linux dial-up authentication client
5.2 安全分析
與傳統(tǒng)撥號工具比較,多運營商撥號認(rèn)證客戶端實現(xiàn)了多運營商共用鏈路功能,在安全性方面也有一定優(yōu)勢。首先,客戶端與接入服務(wù)器之間的私有通信協(xié)議包經(jīng)過Hash值的保護,能防止協(xié)議包被竊取和篡改,從而保證用戶信息安全。其次,接入服務(wù)器記錄用戶賬號、IP、Mac等信息,并適時更新,若發(fā)現(xiàn)異常即通知網(wǎng)橋關(guān)閉鏈路并強制用戶下線。最后,用戶上線后,服務(wù)器通過心跳機制保持與客戶機聯(lián)系,如果規(guī)定時間內(nèi)沒有收到心跳包,則將用戶下線,保證了用戶正常使用網(wǎng)絡(luò),避免了用戶由于異常斷線而造成的損失,使客戶端具有防破解功能。
5.3 客戶端性能
實驗在Windows XP/7/8及Linux版本等多個操作系統(tǒng)下進行測試。以Windows7及RHEL為例進行撥號測試并抽取10組數(shù)據(jù)。測試環(huán)境及撥號時間如表2和圖8所示。
表2 實驗環(huán)境參數(shù)Tab.2 The parameters of experimental environment
圖8 撥號認(rèn)證時間Fig.8 Dial-up authentication time
經(jīng)過測試,Win7下單次撥號時間為1.8 s,Linux下單次撥號時間為2.4 s,程序內(nèi)存消耗分別為2948 kB和2028 k B。由于用戶機配置及網(wǎng)絡(luò)狀況不同,撥號時間會有相應(yīng)差異。在Linux下有配置文件的讀寫,也會對撥號時間造成影響。
校園中普遍存在多個不同運營商網(wǎng)絡(luò),傳統(tǒng)運營商接入認(rèn)證及接入方式繁瑣不統(tǒng)一,難以實現(xiàn)多運營商鏈路共享,容易造成重復(fù)建設(shè),也不利于學(xué)校統(tǒng)一管理。針對電信、移動、聯(lián)通和校園網(wǎng)等多個網(wǎng)絡(luò)運營商共存模式,基于PPPo E和VPN設(shè)計了統(tǒng)一的多運營商網(wǎng)絡(luò)共享架構(gòu),實現(xiàn)多運營商撥號認(rèn)證客戶端,使師生能夠根據(jù)需求方便地在校園網(wǎng)和運營商之間切換使用,不用更換線路,從而滿足不同用戶的上網(wǎng)需求。系統(tǒng)已經(jīng)在多家校園網(wǎng)得到應(yīng)用,具有廣闊應(yīng)用前景。
[1] Simpson W.The point-to-point protocol(PPP)[EB/ OL].(1994-07-05)[2015-02-15].http://tools.ietf.org/ html/rfc1661.
[2] Mamakos L,Lidl K,Evarts J,et al.A method for transmitting PPP over ethernet(PPPoE)[EB/OL].(1999-02-10)[2015-02-15].http://tools.ietf.org/html/ rfc2516.
[3] 樂德廣,郭東輝,吳伯僖.PPPoE技術(shù)及其在寬帶接入系統(tǒng)中的應(yīng)用[J].計算機應(yīng)用研究,2003,20(3):130-132. [4] 邊永濤.PPPo E在校園網(wǎng)中的應(yīng)用[J].計算機與信息技術(shù),2008,26(8):47-50.
[5] 盧玉濤.一種多運營商共用一套接入服務(wù)器和寬帶接入網(wǎng)絡(luò)的方法[P].中國專利:CN101699810A,2010-04-28.
[6] 北京城市熱點資訊有限公司.高校多運營商共建模式下寬帶認(rèn)證計費系統(tǒng)技術(shù)建議書[EB/OL].(2014-05-20) [2015-02-15].http://www.doc88.com/p-3887916979403. html.
[7] 李健,劉俊民,王曉明,等.一個安全寬帶接入系統(tǒng)的建立[J].計算機工程,2012,38(6):126-128.
[8] 周俊杰.校園網(wǎng)中三種常用認(rèn)證計費技術(shù)的對比分析[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2009,29(9):47-49.
[9] 廖春盛,梁卓明.PPPoE協(xié)議及其在校園網(wǎng)絡(luò)中的應(yīng)用[J].華南師范大學(xué)學(xué)報:自然科學(xué)版,2003,35(2):34-39.
[10] 肖媛娥,康永平.校園網(wǎng)中PPPo E上網(wǎng)方式的設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2009,16(25):7118-7119.
[11] 楊巋,劉堯輝.校園網(wǎng)PPPo E和802.1x認(rèn)證方式的對比[J].微計算機信息,2012,25(9):359-361.
編輯:翁史振 見習(xí)編輯:陳汝偉
A multi-operators sharing links authentication method based on PPPoE and virtual private network
Wei Bizhong1,Li Jia1,He Qian2,Hu Qiwei2,Chai Huaxin2
(1.School of Computer Science and Engineering,Guilin University of Electronic Technology,Guilin 541004,China;2.School of Information and Communication Engineering,Guilin University of Electronic Technology,Guilin 541004,China)
The traditional operators’access authentication methods are hard to realize the link sharing of multi-operators.According to the university campus with multiple network operators including Telecom,Unicom,Mobile and local network,an authentication method based on PPP over Ethernet(PPPoE)and virtual private network(VPN)is proposed to share a same link for multiple network operators.A uniform network sharing architecture for multi-operators is designed and the multioperators dial-up authentication client programs for Windows and Linux are realized.Experimental results show the method has good secure performance and meets requirements of different users.
multi-operators;PPPoE;VPN;network sharing architecture;dial-up authentication client
TP393
:A
:1673-808X(2015)04-0340-05
2015-03-17
國家自然基金(61201250,61163057,61163058);國家科技支撐計劃(2012BAH18F00);廣西自然科學(xué)基金(2012GXNSFBA053174)
韋必忠(1972―),男,廣西來賓人,副教授,研究方向為計算機應(yīng)用技術(shù)、圖象處理與模式識別、數(shù)據(jù)挖掘。E-mail:wbz@guet.edu.cn
韋必忠,李嘉,何倩,等.基于PPPoE和虛擬專用網(wǎng)的多運營商鏈路共享認(rèn)證方法[J].桂林電子科技大學(xué)學(xué)報,2015,35(4):340-344.