趙江云,董 平,高德云
(北京交通大學(xué)電子信息工程學(xué)院,北京 100044)
近些年來(lái),中國(guó)高鐵事業(yè)發(fā)展迅速,在國(guó)內(nèi)外取得了令人矚目的成就。同時(shí),中國(guó)互聯(lián)網(wǎng)事業(yè)也在蓬勃發(fā)展,人們對(duì)隨時(shí)隨地接入網(wǎng)絡(luò)的要求也日益增強(qiáng)。高鐵列車(chē)具有高速運(yùn)動(dòng)、強(qiáng)封閉性等特點(diǎn),造成列車(chē)上用戶終端設(shè)備無(wú)線數(shù)據(jù)信道頻繁切換、帶寬小、性能衰減等問(wèn)題[1]。這對(duì)高鐵上的移動(dòng)互聯(lián)網(wǎng)接入提出了挑戰(zhàn)。為了應(yīng)對(duì)這些挑戰(zhàn),多種車(chē)地通信方案被提出[2-5]?;谒淼兰夹g(shù)的移動(dòng)路由系統(tǒng)設(shè)計(jì)出全新的路由器體系結(jié)構(gòu),提供了解決車(chē)地通信問(wèn)題的可行方法。
當(dāng)前情況下,移動(dòng)路由系統(tǒng)使用隧道技術(shù),為高鐵乘客的互聯(lián)網(wǎng)接入需求提供解決方案??紤]到路由系統(tǒng)的安全性和計(jì)費(fèi)收費(fèi)等需求,需要加入認(rèn)證機(jī)制。本文設(shè)計(jì)并實(shí)現(xiàn)的認(rèn)證機(jī)制,能夠結(jié)合移動(dòng)路由系統(tǒng)軟硬件條件和特殊的架構(gòu),在不影響路由系統(tǒng)數(shù)據(jù)轉(zhuǎn)發(fā)功能的前提下,具有輕便、高效的特點(diǎn),能很好地滿足實(shí)際需求。
移動(dòng)路由系統(tǒng)基于隧道技術(shù)。普遍地,隧道技術(shù)實(shí)現(xiàn)構(gòu)成可以分為2 部分,即客戶端與服務(wù)端[6]。與此相對(duì)應(yīng),如圖1 所示,移動(dòng)路由系統(tǒng)也由2 個(gè)主要部分組成,其中車(chē)載設(shè)備被稱(chēng)為多鏈路無(wú)線接入路由器MAR(Multilink Access Router),地面服務(wù)器被稱(chēng)為多鏈路邊緣路由器MER(Multilink Edge Router)[7]。
圖1 基于隧道技術(shù)的移動(dòng)路由系統(tǒng)
MAR 是部署在高鐵上的車(chē)載設(shè)備,其用戶設(shè)備接口是WiFi 接口,這與普通路由器無(wú)異。區(qū)別于一般的路由器,MAR 的出口是多塊3G 網(wǎng)卡,而普通路由器出口一般是寬帶連接或者以太網(wǎng)線。MER 是部署在地面的網(wǎng)絡(luò)實(shí)體,它通過(guò)有線以太網(wǎng)鏈路和公網(wǎng)相連。
移動(dòng)路由系統(tǒng)中的隧道技術(shù)使用了Linux 下的TUN/TAP 設(shè)備,TUN/TAP 設(shè)備能夠在用戶空間和內(nèi)核空間交換數(shù)據(jù)報(bào)[8]。高鐵上多個(gè)用戶設(shè)備形成的子網(wǎng)稱(chēng)為移動(dòng)子網(wǎng)[9]。MAR 作為隧道的一端,通過(guò)操作路由,將移動(dòng)子網(wǎng)的用戶數(shù)據(jù)報(bào)通過(guò)內(nèi)核協(xié)議棧發(fā)送到虛擬網(wǎng)卡TUN。應(yīng)用程序?qū)?shù)據(jù)報(bào)從虛擬網(wǎng)卡讀出到用戶空間,將數(shù)據(jù)報(bào)作為隧道數(shù)據(jù)報(bào)的載荷部分,為其加隧道報(bào)頭[10],從3G 網(wǎng)卡通過(guò)公網(wǎng)發(fā)送到MER。MER 作為隧道的另一端,應(yīng)用程序從TUN設(shè)備上收到數(shù)據(jù)報(bào)之后去掉隧道報(bào)頭,就能露出原來(lái)的數(shù)據(jù)報(bào)。移動(dòng)子網(wǎng)產(chǎn)生的數(shù)據(jù)報(bào)通過(guò)隧道封裝解封之后,就能與普通有線接入設(shè)備產(chǎn)生的數(shù)據(jù)報(bào)一樣,將請(qǐng)求通過(guò)MER 發(fā)送至公網(wǎng),并獲得響應(yīng)。
圖2 MAR 數(shù)據(jù)流向
如圖2 所示,當(dāng)在高鐵惡劣的無(wú)線鏈路質(zhì)量情況下,3G 網(wǎng)卡沒(méi)能成功撥號(hào)取得IP 地址時(shí),網(wǎng)絡(luò)應(yīng)用程序及時(shí)將隧道數(shù)據(jù)報(bào)調(diào)度去往別的撥號(hào)成功的3G網(wǎng)卡發(fā)出;當(dāng)某塊3G 網(wǎng)卡的地址變換時(shí),迅速關(guān)閉該網(wǎng)卡上的隧道連接,建立起新的隧道連接,就能繼續(xù)進(jìn)行數(shù)據(jù)傳輸。對(duì)于移動(dòng)子網(wǎng)內(nèi)的用戶設(shè)備來(lái)說(shuō),與外網(wǎng)的連接始終未能中斷,高速移動(dòng)環(huán)境下3G 網(wǎng)卡地址的頻繁變換對(duì)它們是沒(méi)有影響的,這樣就成功解決了移動(dòng)子網(wǎng)的數(shù)據(jù)通信問(wèn)題。
移動(dòng)路由系統(tǒng)中MAR 和MER 均采用x86 架構(gòu)硬件平臺(tái),軟件平臺(tái)為L(zhǎng)inux 的Fedora 或者Ubuntu版本。認(rèn)證機(jī)制的實(shí)現(xiàn)需要結(jié)合該軟硬件條件。
目前主要的互聯(lián)網(wǎng)認(rèn)證技術(shù)有以下3 種方法:PPPoE 認(rèn)證、IEEE802.1x 認(rèn)證和基于Web 的認(rèn)證[11-12]。相比于PPPoE 認(rèn)證和IEEE802.1X 認(rèn)證,Web 認(rèn)證只需要終端用戶設(shè)備安裝有Web 瀏覽器即可,降低了對(duì)終端用戶設(shè)備的配置要求,同時(shí),便于認(rèn)證系統(tǒng)的升級(jí)與完善[13]。綜上所述,移動(dòng)路由系統(tǒng)中認(rèn)證機(jī)制應(yīng)該采用Web 認(rèn)證技術(shù)。
認(rèn)證機(jī)制應(yīng)該達(dá)到如下基本要求:用戶訪問(wèn)放行網(wǎng)段,認(rèn)證機(jī)制應(yīng)予以直接放行;用戶訪問(wèn)分放行網(wǎng)段,應(yīng)首先使用瀏覽器進(jìn)行Web 認(rèn)證,輸入正常用戶名和密碼之后,再次訪問(wèn)放行網(wǎng)段,認(rèn)證機(jī)制不再?gòu)棾龅卿浾J(rèn)證頁(yè)面,并進(jìn)行流量統(tǒng)計(jì),否則無(wú)法訪問(wèn)非放行網(wǎng)段。
1.2.1 認(rèn)證機(jī)制的功能實(shí)體
1)用戶終端設(shè)備:可以是筆記本電腦、手機(jī)等通過(guò)WiFi 接口連接MAR 的、支持Web 瀏覽器的智能終端。
2)數(shù)據(jù)報(bào)標(biāo)記模塊:根據(jù)數(shù)據(jù)報(bào)的源IP,目的IP和源PORT,目的PORT 打上不同的標(biāo)記。標(biāo)記結(jié)果作為數(shù)據(jù)報(bào)導(dǎo)向模塊判斷的依據(jù)。主要依靠Linux下Netfilter/iptables[14-15]的mark 模塊實(shí)現(xiàn)。
3)數(shù)據(jù)報(bào)導(dǎo)向模塊:根據(jù)數(shù)據(jù)報(bào)上的標(biāo)記,進(jìn)行數(shù)據(jù)報(bào)的放行、攔截或者重定向到認(rèn)證與注銷(xiāo)模塊。主要是Netfiler/iptables 的ACCEPT、DROP 策略和NAT 機(jī)制。
4)認(rèn)證與注銷(xiāo)模塊:為用戶提供認(rèn)證登錄和認(rèn)證注銷(xiāo)服務(wù)。主要是Linux 下的PHP 腳本和MySQL數(shù)據(jù)庫(kù)部分。
5)流量統(tǒng)計(jì)模塊:統(tǒng)計(jì)用戶的上網(wǎng)行為,如上網(wǎng)時(shí)長(zhǎng)、上下行流量等信息。主要包括定時(shí)更新腳本和數(shù)據(jù)庫(kù)部分。
1.2.2 認(rèn)證機(jī)制的位置設(shè)計(jì)
對(duì)于MAR,所有的數(shù)據(jù)報(bào)都必須經(jīng)過(guò)WiFi 網(wǎng)卡轉(zhuǎn)發(fā)到虛擬網(wǎng)卡,進(jìn)入隧道,從3G 網(wǎng)卡發(fā)出,或是從3G 網(wǎng)卡接收,出隧道,從虛擬網(wǎng)卡轉(zhuǎn)發(fā)回WiFi 網(wǎng)卡。
上網(wǎng)行為由用戶終端主動(dòng)發(fā)起。因此,認(rèn)證機(jī)制的認(rèn)證依據(jù)應(yīng)該是用戶設(shè)備產(chǎn)生數(shù)據(jù)報(bào)的網(wǎng)絡(luò)層的源IP、目的IP 和傳輸層的源PORT、目的PORT。在MAR 的3G 網(wǎng)卡上,數(shù)據(jù)報(bào)的形態(tài)必然為隧道數(shù)據(jù)報(bào),已經(jīng)產(chǎn)生隧道開(kāi)銷(xiāo),即將發(fā)送出去。作為隧道報(bào)出口的3G 網(wǎng)卡的網(wǎng)卡名稱(chēng)、IP 地址和數(shù)量都是動(dòng)態(tài)變化的。同時(shí),TUN 設(shè)備是所有用戶數(shù)據(jù)報(bào)的必經(jīng)之地,是數(shù)據(jù)報(bào)形態(tài)變化的連接點(diǎn)。因此,認(rèn)證機(jī)制應(yīng)該針對(duì)用戶設(shè)備產(chǎn)生的原始數(shù)據(jù)報(bào),而非隧道數(shù)據(jù)報(bào),其作用點(diǎn)主要在于WiFi 網(wǎng)卡和虛擬網(wǎng)卡設(shè)備TUN,而非3G 網(wǎng)卡。
TUN/TAP 設(shè)備全部使用軟件實(shí)現(xiàn),卻能像運(yùn)行于操作系統(tǒng)上的軟件一樣提供與硬件的網(wǎng)絡(luò)設(shè)備一樣完全相同的功能。所以,完全可以將TUN 設(shè)備作為下行流量的入口來(lái)看待。對(duì)應(yīng)地,WiFi 網(wǎng)卡則是上行流量的入口。
用戶數(shù)據(jù)報(bào)進(jìn)入MAR,交予內(nèi)核協(xié)議棧處理。首先進(jìn)入Netfilter 機(jī)制的PREROUTING 鏈。Netfilter的Mangle 表支持用戶自定義鏈的定義,為了方便對(duì)數(shù)據(jù)報(bào)進(jìn)行統(tǒng)一的標(biāo)識(shí),需要預(yù)先定義一些自定義鏈,分別為:AM_UP_INCOMING、AM_UP_EXCEPTIONS、AM_UP_AUTHORIZED、AM_DOWN_INCOMING、AM_DOWN_EXCEPTIONS、AM_DOWN_AUTHORIZED。
通過(guò)操作iptables 規(guī)則,使移動(dòng)子網(wǎng)通過(guò)WiFi 網(wǎng)卡wlan0 發(fā)往外網(wǎng)的包,首先跳轉(zhuǎn)到PREROUTING鏈進(jìn)行規(guī)則匹配:
在AM_UP_INCOMING 進(jìn)行目的地址的區(qū)分。若數(shù)據(jù)報(bào)是去往放行網(wǎng)段,則跳轉(zhuǎn)到AM_UP_EXCEPTIONS 鏈進(jìn)行匹配,反之,則去往AM_UP_AUTHORIZED 鏈進(jìn)行規(guī)則匹配。如果目的地址沒(méi)有被指明是放行網(wǎng)段的地址,則默認(rèn)是去往非放行網(wǎng)段。
同理,為了將下行流量進(jìn)行用戶自定義鏈的匹配,iptables 應(yīng)該首先進(jìn)行如下配置:
這樣從外網(wǎng)經(jīng)過(guò)虛擬網(wǎng)卡tun0 發(fā)往移動(dòng)子網(wǎng)的包,就首先跳轉(zhuǎn)到AM_DOWN_INCOMING 鏈進(jìn)行規(guī)則匹配。若數(shù)據(jù)報(bào)是來(lái)自放行網(wǎng)段,則跳轉(zhuǎn)到AM_DOWN_EXCEPTIONS 鏈進(jìn)行匹配,反之,則去往AM_DOWN_AUTHORIZED 鏈進(jìn)行規(guī)則匹配。
上行和下行流量都已經(jīng)根據(jù)業(yè)務(wù)進(jìn)行了區(qū)分,下一步使用Netfilter/iptables 的mark 模塊,打上標(biāo)記,進(jìn)行標(biāo)識(shí)。標(biāo)記的意義如表1 所示。
表1 流量標(biāo)記及其意義
數(shù)據(jù)報(bào)導(dǎo)向模塊采用的是默認(rèn)攔截,指定放行的策略。
對(duì)于經(jīng)過(guò)PREROUTING 鏈被打上標(biāo)記的數(shù)據(jù)報(bào),數(shù)據(jù)報(bào)導(dǎo)向模塊直接予以放行。沒(méi)有被打上標(biāo)記的部分?jǐn)?shù)據(jù)報(bào),視為首先需要進(jìn)行用戶的登錄認(rèn)證。在PREROUTING 鏈上添加 iptables 規(guī)則,將其DROP。但是為了實(shí)現(xiàn)主動(dòng)彈出登錄認(rèn)證頁(yè)面的要求,還需要指定開(kāi)放DNS、HTTP 端口,其主要處理過(guò)程如圖3 所示。
圖3 數(shù)據(jù)報(bào)導(dǎo)向模塊工作流程
放行DNS 數(shù)據(jù)報(bào)的目的在于便于瀏覽器找到URL 對(duì)應(yīng)的IP 地址,否則將無(wú)法進(jìn)一步觸發(fā)HTTP請(qǐng)求。放行HTTP 請(qǐng)求的目的在于登錄認(rèn)證,彈出登錄認(rèn)證界面。所以需要在合適的位置將HTTP 重定向到本地認(rèn)證服務(wù)器監(jiān)聽(tīng)端口80 上[16]。因此,需要在NAT 表上部署如下的重定向規(guī)則:
若用戶發(fā)起的URL 請(qǐng)求只有域名,即<域名>,獲得DNS 響應(yīng)和經(jīng)過(guò)REDIRECT 規(guī)則之后,URL 請(qǐng)求變?yōu)椋颊J(rèn)證服務(wù)器的IP 地址>,此時(shí)將網(wǎng)站的缺省文件定義為認(rèn)證網(wǎng)站的首頁(yè),就能在用戶的瀏覽器中彈出認(rèn)證網(wǎng)站首頁(yè)。如果用戶發(fā)起的URL 是<域名+路徑名+文件名>,經(jīng)過(guò)DNS 和REDIRECT 之后,URL 請(qǐng)求變?yōu)椋颊J(rèn)證服務(wù)器IP 地址+路徑名+文件名>,但是在認(rèn)證服務(wù)器網(wǎng)站上并沒(méi)有這樣的路徑名和文件名,此時(shí)會(huì)出現(xiàn)HTTP 的404 NOT FOUND錯(cuò)誤。需要將網(wǎng)站的404 NOT FOUND 錯(cuò)誤定義為認(rèn)證網(wǎng)站的首頁(yè)。
2.3.1 數(shù)據(jù)庫(kù)的設(shè)計(jì)
用戶終端設(shè)備的瀏覽器中彈出認(rèn)證網(wǎng)站首頁(yè)之后,就看到要求用戶輸入用戶名和密碼的輸入框。通過(guò)網(wǎng)頁(yè)的方式驗(yàn)證用戶名和密碼,必然需要數(shù)據(jù)庫(kù)的支持。關(guān)于保存用戶身份信息的數(shù)據(jù)表關(guān)鍵字段設(shè)計(jì)如表2 所示。
表2 用戶身份信息數(shù)據(jù)表關(guān)鍵字段
認(rèn)證機(jī)制還需要記錄的用戶行為,關(guān)于記錄用戶行為的數(shù)據(jù)表關(guān)鍵字段設(shè)計(jì)如表3 所示。
表3 用戶行為信息數(shù)據(jù)表關(guān)鍵字段
2.3.2 認(rèn)證的處理
用戶在彈出的Web 頁(yè)面輸入用戶名和密碼(以及驗(yàn)證碼),認(rèn)證服務(wù)器收到用戶提交的數(shù)據(jù)之后,去數(shù)據(jù)庫(kù)查詢匹配。如果用戶名和密碼都正確,就需要放行該用戶的請(qǐng)求。也就是,從該IP 地址產(chǎn)生的數(shù)據(jù)報(bào)和去往該IP 的數(shù)據(jù)報(bào)都予以放行。
用戶設(shè)備的IP 地址,通過(guò)認(rèn)證服務(wù)器PHP 網(wǎng)頁(yè)腳本的$_SERVER["REMOTE_ADDR"]獲得。獲得用戶設(shè)備IP 地址之后,首先組裝能夠通過(guò)PHP 腳本執(zhí)行的Linux 系統(tǒng)命令$command_up 和$command_down,其形式如下:
通過(guò)PHP 的shell_exec()函數(shù)執(zhí)行上述2 條命令,為該IP 產(chǎn)生的上行、下行數(shù)據(jù)報(bào)分別打上標(biāo)記0x02 和0x04。命令執(zhí)行成功之后,跳轉(zhuǎn)到登錄成功界面,提示用戶可以正常上網(wǎng)。
2.3.3 注銷(xiāo)的處理
當(dāng)接收到用戶發(fā)起的注銷(xiāo)請(qǐng)求時(shí),同樣通過(guò)PHP腳本執(zhí)行Linux 系統(tǒng)命令,將該用戶設(shè)備IP 地址對(duì)應(yīng)的iptables 規(guī)則刪除,這樣該IP 地址產(chǎn)生的數(shù)據(jù)報(bào)又沒(méi)有mark 標(biāo)記,下次訪問(wèn)非放行網(wǎng)站時(shí)又需要進(jìn)行認(rèn)證。
iptables 工具的-L 選項(xiàng)能夠用來(lái)查看IP 地址的流量情況。通過(guò)下面2 條iptables 的命令,能夠分別查看地址為$2 的上行流量為$8,地址為$2 的下行流量為$9。
其中acct_input_update()函數(shù)和acct_output_update()函數(shù)的主要功能結(jié)構(gòu)如圖4 所示。
圖4 流量統(tǒng)計(jì)函數(shù)主要結(jié)構(gòu)
通過(guò)Linux 下的crontab 服務(wù),定時(shí)執(zhí)行上述命令,就能取出所有接入MAR 的用戶終端設(shè)備的上下行流量,并將統(tǒng)計(jì)結(jié)果存入數(shù)據(jù)庫(kù),從而能夠?qū)γ總€(gè)用戶終端設(shè)備進(jìn)行流量統(tǒng)計(jì)和計(jì)費(fèi)。
圖5 移動(dòng)路由系統(tǒng)實(shí)驗(yàn)拓?fù)?/p>
網(wǎng)絡(luò)拓?fù)淙鐖D5 所示。使用安裝了WiFi 模塊和3G 網(wǎng)卡模塊的PC 平臺(tái)充當(dāng)MAR,2 塊不同制式的3G 網(wǎng)卡能夠撥號(hào)成功,順利獲取IP 地址。用戶終端設(shè)備通過(guò)WiFi 接入MAR。地面上,一臺(tái)具有公網(wǎng)IP地址的服務(wù)器作為隧道的終點(diǎn),充當(dāng)MER 的角色。
實(shí)驗(yàn)中,用戶終端設(shè)備通過(guò)DHCP 獲得的私網(wǎng)地址為192.168.20.127,CDMA 和WCDMA 制式的3G網(wǎng)卡撥號(hào)成功。MAR 接口配置信息和路由狀態(tài)信息具體如圖6 所示。
圖6 MAR 網(wǎng)卡接口及路由狀態(tài)信息
如圖7 所示,用戶終端設(shè)備192.168.20.127 向1.1.1.1 發(fā)出Http 請(qǐng)求。由于192.168.20.127 地址沒(méi)有經(jīng)過(guò)認(rèn)證,而1.1.1.1 處于非放行網(wǎng)段,請(qǐng)求所以被重定向到192.168.20.1 的80 端口上來(lái)。此時(shí),彈出如圖8 所示登錄認(rèn)證界面。
圖7 WiFi 網(wǎng)卡上抓包結(jié)果
圖8 認(rèn)證網(wǎng)站首頁(yè)
在登錄認(rèn)證界面,輸入正確的用戶名和密碼之后,192.168.20.127 發(fā)出的請(qǐng)求包不再被重定向,能夠順利通過(guò)移動(dòng)路由系統(tǒng)發(fā)出并獲得響應(yīng)。
圖9 上行流量查詢結(jié)果
執(zhí)行流量查詢語(yǔ)句后,得到如圖9 所示結(jié)果。圖中清晰顯示192.168.20.127 地址的上行流量為152831 bytes,并且被成功打上標(biāo)記0x2。
通過(guò)對(duì)移動(dòng)路由系統(tǒng)認(rèn)證機(jī)制的研究和實(shí)現(xiàn),完善了移動(dòng)路由系統(tǒng)的功能。測(cè)試結(jié)果表明,在移動(dòng)路由系統(tǒng)特殊的架構(gòu)情況下,認(rèn)證機(jī)制能夠支持移動(dòng)路由系統(tǒng),正常地完成登錄、注銷(xiāo)和流量統(tǒng)計(jì)功能,具有良好的穩(wěn)定性和可靠性,適合大規(guī)模網(wǎng)絡(luò)的部署。此外,要達(dá)到使用一個(gè)用戶帳戶在多個(gè)MAR 上進(jìn)行登錄認(rèn)證,還需要將保存用戶身份和行為信息的數(shù)據(jù)庫(kù)集中部署在MER,或者同步MAR 和MER 上的數(shù)據(jù)庫(kù)。這項(xiàng)功能,還需要進(jìn)一步研究與開(kāi)發(fā)。
[1]朱廷武,常德遠(yuǎn).高速鐵路寬帶無(wú)線接入的幾種技術(shù)方案分析[J].鐵道通信信號(hào),2008,44(3):40-43.
[2]Fokum D T,F(xiàn)rost V S.A survey on methods for broadband Internet access on trains[J].IEEE Communications Surveys & Tutorials,2010,12(2):171-185.
[3]Lannoo B,Colle D,Pickavet M,et al.Radio-over-fiberbased solution to provide broadband Internet access to train passengers[J].IEEE Communications Magazine,2007,45(2):56-62.
[4]Pareit D,Gheysens N,Van Leeuwen T,et al.QoS-enabled Internet-on-train network architecture:Inter-working by MMP-SCTP versus MIP[C]// Proceedings of the 7th International Conference on Telecommunications.2007:1-6.
[5]Ishizu K,Kuroda M,Harada H.Bullet-train network architecture for broadband and real-time access[C]// Proceedings of the 12th IEEE Symposium on Computers and Communications.2007:241-248.
[6]宮興琦.高速移動(dòng)環(huán)境下連接及擁塞控制的研究與實(shí)現(xiàn)[D].北京:北京交通大學(xué),2014.
[7]吳楠.高速移動(dòng)互聯(lián)網(wǎng)中多形態(tài)并行隧道技術(shù)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京交通大學(xué),2014.
[8]龍湘君,邵棟,榮國(guó)平.基于TUN/TAP 與UDP 打洞技術(shù)的虛擬局域網(wǎng)[J].計(jì)算機(jī)應(yīng)用與軟件,2011,28(7):224-227.
[9]Devarapalli V,Wakikawa R,Petrescu A,et al.RFC3963,Network Mobility (NEMO)Basic Support Protocol[S].
[10]陳華兵.基于Linux 的IPv4_v6 虛擬隧道路由器設(shè)計(jì)[D].太原:太原科技大學(xué),2009.
[11]劉志權(quán).基于WEB 方式的網(wǎng)絡(luò)接入認(rèn)證系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].廣州:華南理工大學(xué),2011.
[12]朱建勛.基于WEB 和RADIUS 的無(wú)線局域網(wǎng)接入認(rèn)證系統(tǒng)[D].成都:西南交通大學(xué),2006.
[13]馬燕,范植華.Web/Portal 認(rèn)證技術(shù)研究[J].微電子學(xué)與計(jì)算機(jī),2014,21(8):76-79.
[14]Welte H.The Netfilter framework in Linux 2.4[C]// Proceedings of Linux Kongress.2000.
[15]宋敬彬,孫海濱.Linux 網(wǎng)絡(luò)編程[M].北京:清華大學(xué)出版社,2010:486-489.
[16]張曉軍,呂潔,張蓓.HTTP 重定向在網(wǎng)關(guān)認(rèn)證中的應(yīng)用[J].大連理工大學(xué)學(xué)報(bào),2005,45(S1):48-51.