專利名稱:一種以太網(wǎng)認證接入的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機網(wǎng)絡(luò)中的寬帶接入的方法,具體地說,涉及一種以太網(wǎng)接入的方法。
背景技術(shù):
隨著因特網(wǎng)(Internet)的高速發(fā)展,寬帶接入方式層出不窮,其中以太網(wǎng)以其較高的性能價格比逐漸占據(jù)了寬帶接入的大部分市場。但是傳統(tǒng)的以太網(wǎng)接入方式缺乏可管理性,無法實現(xiàn)對用戶的認證、授權(quán)和計費等功能。運營商只能采用包月的方式,這對用戶和運營商來說都可能存在一定程度上的不公平。而隨后出現(xiàn)的幾種常見的以太網(wǎng)接入方法,雖然解決了用戶的認證和授權(quán)等功能,但是必須在用戶的主機上安裝客戶端軟件,可操作性較差,下面分別對這幾種技術(shù)做簡單介紹①以太網(wǎng)上的點對點協(xié)議(PPP over Ethernet,英文縮略PPPoE)認證方式的出現(xiàn)在一定程度上解決了以太網(wǎng)的可管理性問題,但是它需要用戶安裝PPPoE客戶端軟件(用戶操作系統(tǒng)平臺不同,客戶端軟件也不同),增加了運營和工程維護的成本。同時由于用戶收發(fā)的分組都進行了PPPoE的封裝,增大了用戶主機中央處理器(英文縮略CPU)和PPPoE接入設(shè)備處理的負荷,下降了數(shù)據(jù)包處理的效率。
②動態(tài)主機分配協(xié)議(英文縮略DHCP)認證,通過DHCP服務(wù)器(DHCP Server)動態(tài)分配給用戶Internet協(xié)議(英文縮略IP)地址,但是它只適合固定用戶上網(wǎng),并且只能統(tǒng)計時間,如需統(tǒng)計流量,則必須在用戶接入處配備能統(tǒng)計流量的交換機,另外防止地址沖突和地址盜用也需有相應(yīng)交換機配合才能實現(xiàn)。
③基于端口的認證規(guī)范(IEEE 802.1x),采用“可控端口”和“不可控端口”的邏輯功能,從而可以實現(xiàn)業(yè)務(wù)與認證的分離,由遠程用戶撥入服務(wù)器(英文縮略Radius)和寬帶接入服務(wù)器(英文縮略BAS)利用不可控的邏輯端口共同完成對用戶的認證與控制,業(yè)務(wù)報文直接承載在正常的二層報文上通過可控端口進行交換;所以通過認證之后的數(shù)據(jù)包是無需封裝的純數(shù)據(jù)包,需要在客戶機上安裝客戶端軟件。
發(fā)明內(nèi)容
本發(fā)明的目的是克服上述以太網(wǎng)接入方法存在的問題和不足,提供一種以太網(wǎng)認證接入的方法,即通過WEB認證對用戶進行認證、授權(quán)和計費,實現(xiàn)以太網(wǎng)接入的可管理性和可運營性,同時賦予用戶和電信運營商以最簡單的操作方式。WEB是一種目前網(wǎng)絡(luò)中最為常用的網(wǎng)頁瀏覽技術(shù)。
本發(fā)明的目的是這樣實現(xiàn)的
采用了獨特的雙網(wǎng)頁服務(wù)器(WEB Server)技術(shù),其中嵌入式網(wǎng)頁服務(wù)器(WEB Server)負責(zé)監(jiān)聽用戶請求,返回用戶登陸驗證頁面;外部網(wǎng)頁服務(wù)器(WEB Server)負責(zé)接收用戶的驗證信息和反饋給用戶信息;利用用戶訪問列表(ACL)操作,實現(xiàn)對用戶的訪問控制和帶寬限制;網(wǎng)絡(luò)接入服務(wù)器(NAS)與外部網(wǎng)頁服務(wù)器(WEB Server)的通信方法和消息格式;獨特的強制門戶技術(shù),將未經(jīng)驗證的用戶請求進行強制重定向;網(wǎng)絡(luò)接入服務(wù)器(NAS)上域名系統(tǒng)(DNS)的數(shù)據(jù)報文透傳功能;網(wǎng)絡(luò)接入服務(wù)器(NAS)上支持網(wǎng)絡(luò)處理器架構(gòu),進行對數(shù)據(jù)報的高速并發(fā)處理。
本發(fā)明旨在實現(xiàn)如下操作過程①用戶端用戶在上網(wǎng)前首先打開網(wǎng)頁瀏覽器,輸入欲訪問的網(wǎng)頁地址,這時因為用戶尚未通過身份認證和授權(quán),將會被重新定向到認證網(wǎng)頁,要求用戶輸入運營商提供的用戶名和口令。如果用戶輸入正確的用戶名和口令,將會返回認證成功頁面,這時用戶可自由訪問網(wǎng)絡(luò)資源。如果用戶輸入錯誤的用戶名和口令,將會返回認證失敗頁面,提示用戶錯誤信息,用戶無法訪問網(wǎng)絡(luò)資源,必須進行重新認證。
②運營商可在具備WEB認證接入功能的寬帶接入設(shè)備上實時監(jiān)測目前登陸的用戶狀態(tài)、IP地址、MAC地址、虛擬局域網(wǎng)(英文縮略VLAN)標簽、流入字節(jié)數(shù)、流入數(shù)據(jù)包數(shù)、流出字節(jié)數(shù)、流出數(shù)據(jù)包數(shù)等信息,并可通過手動增加、刪除用戶訪問控制列表(ACL)的方法實現(xiàn)對用戶的接入控制,這樣可以實現(xiàn)某些特殊用戶無需進行身份驗證即可上網(wǎng),限制某些惡意攻擊網(wǎng)絡(luò)的用戶的訪問權(quán)限。
本發(fā)明提供了用戶管理、安全管理、業(yè)務(wù)管理和計費管理等功能。
①用戶管理用戶到運營商那里進行開戶登記,在用戶進行通信時對用戶進行認證、授權(quán),保證合法用戶正常通信,杜絕非法用戶入侵,同時可以針對用戶進行帶寬限制,有效地控制用戶的帶寬;②安全管理保障用戶數(shù)據(jù)(單播地址的幀)的安全性,隔離攜帶有用戶個人信息的廣播消息,如地址解析協(xié)議(英文縮略ARP)、DHCP消息等,防止關(guān)鍵設(shè)備受到攻擊,在具備WEB認證接入功能的設(shè)備上了實現(xiàn)用戶IP地址與介質(zhì)訪問控制(英文縮略MAC)地址的綁定,防止非法用戶使用網(wǎng)絡(luò)資源;③業(yè)務(wù)管理支持組播業(yè)務(wù),為保證服務(wù)質(zhì)量(英文縮略QoS)提供一定手段;④計費管理提供有關(guān)計費的詳細信息,為不同的計費方式提供相應(yīng)的原始信息,計費問題對于任何一種接入方式都是必需的。
本發(fā)明通過以下步驟實現(xiàn)①實現(xiàn)網(wǎng)絡(luò)接入服務(wù)器(英文縮略NAS)端功能。
NAS通過內(nèi)嵌的網(wǎng)頁服務(wù)器(英文Web Server)實現(xiàn)接收用戶請求返回登錄認證界面,實現(xiàn)與外部Web server的通信,交換用戶相關(guān)信息,同時實現(xiàn)Radius客戶端功能。
下面依次介紹NAS上各模塊功能的實現(xiàn)*內(nèi)嵌的Web Server創(chuàng)建一個HTTP協(xié)議規(guī)范的80端口的監(jiān)聽進程。對于用戶首次登錄發(fā)起的Web請求,內(nèi)嵌的Web Server接收該請求,創(chuàng)建一個子進程處理該用戶的WEB請求,然后返回到監(jiān)聽狀態(tài)。子進程將直接向用戶返回認證登陸頁面。該數(shù)據(jù)通信過程嚴格遵循RFC1945和RFC2068協(xié)議規(guī)范。
*WEB認證的ACL(訪問控制列表)表項的操作與維護ACL表項是通過用戶的源IP、源MAC和用戶的VLAN三級綁定,唯一標識一個通過認證的合法用戶。ACL表項包含的數(shù)據(jù)有用戶的源IP、源MAC、源虛擬局域網(wǎng)標簽(英文縮略VLAN ID)(如果第二層設(shè)備支持VLAN劃分)用戶流入、流出的數(shù)據(jù)包的個數(shù)和字節(jié)數(shù)。
用戶可用帶寬(帶寬限制功能)用戶IDACL表項的哈希(英文縮略HASH)索引為了簡化Web Server端應(yīng)用程序的開發(fā),NAS與Web Server之間以用戶的IP地址作為相關(guān)ACL表項的鍵值。這樣為了實現(xiàn)IP/MAC/VLAN的三級綁定,寬帶接入服務(wù)器必須提前截獲用戶第一個IP數(shù)據(jù)報,從數(shù)據(jù)報文中提取用戶的IP/MAC/VLAN等信息。為了保證這種綁定可唯一標識用戶,當(dāng)不同用戶使用同一IP地址時,則判定綁定表沖突,同時刪除這兩個用戶的三級綁定表項。ACL表項的操作包括添加和刪除。添加操作是當(dāng)用戶的登錄信息通過Radius服務(wù)器的鑒權(quán)后,將用戶的三級綁定信息添加到表項中,同時ACL表項中記錄用戶的流量信息。如果用戶通過認證,但沒有查找到對應(yīng)的三級綁定表項,表示網(wǎng)絡(luò)中發(fā)生了IP地址沖突,則不需創(chuàng)建該用戶ACL表項,拒絕用戶訪問網(wǎng)絡(luò)。ACL表項的刪除操作,當(dāng)用戶斷開網(wǎng)絡(luò)時,將ACL表項刪除,同時刪除相對應(yīng)的IP/MAC/VLAN三級綁定表。ACL表項的維護,ACL表項采用HASH算法的兩級索引結(jié)構(gòu)進行存儲。對每一條ACL表項產(chǎn)生一個老化定時器,維護ACL表項的有效性。當(dāng)老化定時器超時時,檢查ACL表項中的用戶流量信息是否發(fā)生變化,即對于在定時器時間間隔內(nèi)流量沒有發(fā)生變化的用戶判定為離線狀態(tài),刪除對應(yīng)的ACL表項,否則判定用戶仍在使用網(wǎng)絡(luò),重新啟動老化定時器,進行新一輪的表項老化判斷。
*NAS與Web Server之間的通信通信采用用戶數(shù)據(jù)報協(xié)議(英文縮略UDP)的通信,使用私有的UDP端口8888(可變)。數(shù)據(jù)報格式如圖1所示,由消息類型(Code)、消息長度(Length)、消息內(nèi)容(Data)組成。其中Code和Length字段各占一個字節(jié),消息內(nèi)容的長度由Length的值確定。
Code字段為1時,表示從Web Server發(fā)往NAS的用戶信息;Code字段為2時,表示NAS發(fā)往Web Server有關(guān)認證結(jié)果的信息。
Data字段的標識數(shù)據(jù)部分,數(shù)據(jù)部分的報文格式是類型、長度、值(英文縮略TLV)形式的可擴展的選項,其中選項是沒有固定順序的。如圖2所示,由數(shù)據(jù)類型(Type)、數(shù)據(jù)長度(Length)、值(Value)組成,其中Type和Length各占一個字節(jié),值的長度由Length的值確定。
Code字段為1時,定義的基本選項字段有用戶名—用戶登錄時使用的用戶名字段,占64字節(jié);口令—用戶登錄的口令,占64字節(jié);用戶源IP地址—標識一個用戶,用于建立與ACL表項的對應(yīng),占4字節(jié);NAS的標識—通常是NAS接口IP地址,用于標識于Web Server通信的服務(wù)器,占4字節(jié);用戶的會話ID—作為Radius Server對用戶連接的標識號,占2字節(jié);用戶操作—0表示用戶連接網(wǎng)絡(luò),1表示用戶斷開網(wǎng)絡(luò),占1字節(jié);Code字段為2時,定義的基本選項有用戶名—用戶登錄時使用的用戶名字段,占64字節(jié);用戶的會話ID—作為Radius Server對用戶連接的標識號,占2字節(jié);認證結(jié)果字段—證結(jié)果字段為0時,表示正在認證中;認證結(jié)果字段為1時,表示認證通過;認證結(jié)果字段為2時,表示認證被拒絕。占1字節(jié)。
當(dāng)NAS端接收到Web Server發(fā)來的code=1的數(shù)據(jù)報后,提取相關(guān)的用戶認證請求信息,根據(jù)RFC2865等協(xié)議規(guī)定的Radius規(guī)范,構(gòu)造相應(yīng)的Radius數(shù)據(jù)報進行認證。
當(dāng)NAS接收到Radius Server返回的認證結(jié)果,則提取其中的用戶名、用戶會話標識(Session ID),并連同認證的結(jié)果構(gòu)造成類型2的UDP數(shù)據(jù)報,轉(zhuǎn)交給Web Server。
*DHCP轉(zhuǎn)遞(Relay)功能支持用戶從不在同一網(wǎng)段的DHCP Server處分配IP地址以及聯(lián)結(jié)網(wǎng)絡(luò)所需的其他信息。該實現(xiàn)遵照RFC2131和RFC2132規(guī)范。
強制門戶功能在用戶通過WEB認證之前,對于用戶任意輸入的WEB請求,寬帶服務(wù)器都將強制返回用戶登錄認證頁面。該功能的實現(xiàn)方法是,當(dāng)寬帶接入服務(wù)器接收到用戶的WEB訪問請求(即訪問TCP的80端口)時,首先搜索ACL表項,檢查該用戶是否通過認證。對于已通過認證的用戶,則正常的轉(zhuǎn)發(fā)用戶的網(wǎng)絡(luò)訪問請求;對于沒有通過認證的用戶,則從用戶請求的數(shù)據(jù)報中解析出用戶訪問的IP地址,然后寬帶接入服務(wù)器創(chuàng)建一個虛擬的端口,分配該目的IP地址給虛擬端口,偽裝成用戶所訪問的網(wǎng)站地址,接收用戶的HTTP請求,提交給NAS上的內(nèi)嵌的Web Server。從而用戶可以得到登錄的頁面。
DNS數(shù)據(jù)報文的透傳功能。
為了支持強制門戶功能,當(dāng)用戶通過認證前,輸入域名時,寬帶接入服務(wù)器必須能夠允許DNS的域名解析報文的傳送。在寬帶接入服務(wù)器端有兩種可行的方案一種方案是在寬帶接入服務(wù)器端指定若干個DNS服務(wù)器的IP地址,允許未經(jīng)認證的用戶可以直接訪問這些IP地址;另一種方案是寬帶接入服務(wù)器對于所有DNS數(shù)據(jù)報(即UDP目的端口為53的數(shù)據(jù)報)進行轉(zhuǎn)發(fā)。前者實現(xiàn)簡單,適合于使用DHCPServer分配DNS Server的用戶,只需在寬帶接入服務(wù)器端注冊DHCPServer可分配的所有DNS服務(wù)器的IP地址,但不支持用戶自行指定的DNS Server;后者適用于一般的情況,是較完整地解決方案。
*用戶帶寬限制使用漏斗算法,采用丟包的策略對每一個用戶的流量進行限制。啟動一個計時器,單位時間內(nèi)給相應(yīng)的內(nèi)存空間寫數(shù)據(jù),該數(shù)據(jù)就是在單位時間內(nèi)的流量。計算在單位時間內(nèi)通過NAS流量,讓該流量不能超過寫到內(nèi)存空間里的數(shù)據(jù),如果超過該數(shù)據(jù),就丟掉數(shù)據(jù)包,從而起到帶寬限制的作用。
*用戶數(shù)據(jù)處理用戶數(shù)據(jù)處理主要完成用戶數(shù)據(jù)包的轉(zhuǎn)發(fā)、過濾、進出流量(字節(jié)數(shù)、數(shù)據(jù)包數(shù))的記錄等功能,本發(fā)明可以用于傳統(tǒng)的CPU轉(zhuǎn)發(fā)的NAS中,同時支持基于最新網(wǎng)絡(luò)處理器架構(gòu)的NAS。其中網(wǎng)絡(luò)處理器是適應(yīng)現(xiàn)代高速網(wǎng)絡(luò),針對各種流量處理優(yōu)化而設(shè)計的一種專用處理器,采用了多處理器和并行技術(shù),一方面保持了基于通用寄存器(英文縮略GPP)設(shè)計的靈活性,另一方面消除了傳統(tǒng)CPU的速率瓶頸問題,實現(xiàn)了數(shù)據(jù)包的線速處理。
下面以網(wǎng)絡(luò)處理器架構(gòu)為例,介紹實現(xiàn)數(shù)據(jù)平面操作的步驟。
完成基本的數(shù)據(jù)轉(zhuǎn)發(fā)功能。
基本數(shù)據(jù)轉(zhuǎn)發(fā)功能大致分為兩類分類與決策。分類是網(wǎng)絡(luò)處理器對接收到的數(shù)據(jù)包進行解析、校驗,并確定如何進行處理和轉(zhuǎn)發(fā)的過程。決策是網(wǎng)絡(luò)處理器按分類結(jié)果進行必要的編輯和發(fā)送(包括送至上層協(xié)議?;蜣D(zhuǎn)發(fā)到某個物理網(wǎng)絡(luò))的過程。
ACL表項查詢、分類功能針對WEB認證方案,網(wǎng)絡(luò)處理器依據(jù)ACL表項對接收到的數(shù)據(jù)報進行分類和轉(zhuǎn)發(fā)。先對接收到的數(shù)據(jù)報進行解析,從數(shù)據(jù)報頭中提取用戶的IP地址和MAC地址作為關(guān)鍵字,對ACL表項進行查詢,如果找到對應(yīng)的表項,則表示用戶已通過認證,相應(yīng)的進行快速轉(zhuǎn)發(fā);如果沒有找到相應(yīng)的表項,則用戶未經(jīng)授權(quán),相應(yīng)的轉(zhuǎn)到認證過程,或丟棄該報文。在網(wǎng)絡(luò)處理器的查表過程中,同樣的使用了Hash算法的快速索引技術(shù)。
記費原始信息記錄針對每個用戶(每條ACL表項)對所有的流入、流出數(shù)據(jù)包和字節(jié)數(shù)進行記錄,并存放在ACL表項的相應(yīng)字段中。
Web Server端實現(xiàn)讀取用戶提交的登錄信息,與NAS進行用戶數(shù)據(jù)的交換,控制用戶相關(guān)的Radius的認證和計費。
下面依次介紹NAS上各模塊功能的實現(xiàn)*Web Server端實現(xiàn)的接收功能。
啟動一個線程監(jiān)聽私有的UDP端口8888,來接收NAS端發(fā)來的數(shù)據(jù)。解析數(shù)據(jù)中包含的用戶名和用戶會話ID以及認證結(jié)果,將此三項信息組成一條表項加入到數(shù)據(jù)庫中。然后返回到監(jiān)聽狀態(tài)。
數(shù)據(jù)庫可采用Microsoft Office的組件Access。該數(shù)據(jù)庫僅需維護一張表,每一條表項對應(yīng)三個屬性用戶名、用戶ID、用戶的登錄狀態(tài)。用戶的登錄狀態(tài)有接收功能模塊提供。
登錄的響應(yīng)頁面采用動態(tài)服務(wù)器頁面(英文縮略ASP)技術(shù)實現(xiàn)。
在用戶提交登錄請求時,調(diào)用Web Server端的ISAPI,該動態(tài)連接庫(DLL)中包含一個發(fā)送功能的函數(shù)。Web Server從提交頁面中直接獲取用戶名和口令信息,同時得到隱藏在頁面中的寬帶接入服務(wù)器標識(某個接口IP地址)。然后Web Server將這些信息作為發(fā)送函數(shù)的入口參數(shù),通過私有的UDP通信,發(fā)送給NAS的UDP 8888端口。同時給用戶返回一個認證等待的頁面。該頁面包含一個定時器,定勢的檢查數(shù)據(jù)庫中項對應(yīng)的用戶的登錄結(jié)果狀態(tài)。如果結(jié)果狀態(tài)值為1,則返回用戶登錄成功的頁面;如果結(jié)果狀態(tài)值為2,則返回用戶登錄失敗的頁面,并請用戶檢查用戶名和口令后重新登錄;在定時器重啟多次后,仍沒有查詢到相應(yīng)的認證結(jié)果,則返回網(wǎng)絡(luò)繁忙的頁面,此時表示W(wǎng)eb Server沒有接收到NAS發(fā)來的認證結(jié)果報文,可能是由于網(wǎng)絡(luò)狀況的惡化,導(dǎo)致該報文丟失或時延過大。在提取數(shù)據(jù)庫中相應(yīng)的認證結(jié)果后,從數(shù)據(jù)庫中將該用戶的認證結(jié)果表項刪除。定時器的長度可根據(jù)實際的網(wǎng)絡(luò)環(huán)境設(shè)置在1-10秒范圍內(nèi),重啟次數(shù)設(shè)置為5次。時間間隔過小,將導(dǎo)致時延稍長的UDP認證結(jié)果報文不能在定時器重啟期間到達Web Server,從用戶通過認證也可能得到網(wǎng)絡(luò)繁忙的超時響應(yīng)頁面;時間間隔過長,可以緩解上述的情況。默認的選擇定時器時長為5秒鐘。
*用戶斷開連接當(dāng)用戶通過登陸頁面斷開連接時,同樣的調(diào)用ISAPI,將用戶提交的用戶名口令信息通過DLL的發(fā)送函數(shù)轉(zhuǎn)發(fā)給NAS,由NAS向Radius Server發(fā)起斷開網(wǎng)絡(luò)連接和停止計費的請求,同時刪除用戶對應(yīng)的ACL表項。
本發(fā)明具有以下優(yōu)點和積極效果①不需要用戶安裝任何的客戶端軟件,簡化了用戶的操作;②用戶的操作系統(tǒng)平臺無關(guān),只需要在認證網(wǎng)頁上輸入正確的用戶名和密碼就能上網(wǎng),在三層設(shè)備上實現(xiàn)用戶IP地址與MAC地址的綁定;③用戶管理、安全管理、業(yè)務(wù)管理和計費管理的集成保證了管理員操作起來非常方便;④利用用戶訪問列表(ACL)操作,實現(xiàn)對用戶的訪問控制和帶寬限制;⑤獨特的強制門戶技術(shù),將未經(jīng)驗證的用戶請求進行強制重定向。
圖1-NAS與Web Server之間的通信采用的UDP數(shù)據(jù)報的格式;圖2-圖1中Data字段的標識數(shù)據(jù)部分;圖3-本發(fā)明總體模塊流程圖;
圖4-用戶上網(wǎng)過程中各部分處理和通信的示意圖;圖5-用戶典下網(wǎng)過程中各部分處理和通信的示意圖;圖6-ACL的索引和源(MAC+IP)的索引的表項;圖7-MAC表項;圖8-ACL表項。
其中1-監(jiān)聽,從Web Server發(fā)出的用戶申請;2-下網(wǎng);3-上網(wǎng);4-通知Radius Server認證并開始計費;5-通知Radius Server直接停止計費;6-認證失敗,接收到Radius Server返回認證失敗的結(jié)果;7-認證及計費成功,接收到Radius Server返回認證和計費成功的結(jié)果;8-添加或刪除ACL表項;9-根據(jù)7的結(jié)果返回Web Server成功消息;10-根據(jù)6的結(jié)果返回Web Server失敗消息;11-用戶打開瀏覽器,輸入網(wǎng)址;12-RAS返回強制重定向至認證界面;13-用戶提交信息,請求上網(wǎng);14-收集用戶信息,請求上網(wǎng);15-向Radius server發(fā)認證請求;
16-返回認證通過消息;17-向Radius server發(fā)計費請求;18-返回計費消息;19-返回用戶接入成功信息,并更新數(shù)據(jù)庫;20-定時刷新檢查用戶接入成功與否數(shù)據(jù)庫;21-返回用戶接入成功界面;22-用戶提交信息,請求斷網(wǎng);23-收集用戶信息,請求斷網(wǎng),停止計費;24-返回用戶相應(yīng)信息;25-源MAC和IP索引字段,占2字節(jié);26-IP和ACL表項索引字段,占2字節(jié);27-下一條表項索引(16比特);28-前一條表項索引(16比特);29-源IP(32比特);30-源MAC高位(0-3字節(jié));31-源MAC低位(5-6字節(jié));32-保留,占2字節(jié);33-下一條表項索引(16比特);34-前一條表項索引(16比特);35-源IP(32比特);36-發(fā)送數(shù)據(jù)包(32比特);37-發(fā)送字節(jié)數(shù)(32比特);
38-接收數(shù)據(jù)包(32比特);39-接收字節(jié)數(shù)(32比特);40-源MAC高位(0-3字節(jié));41-源MAC低位(5-6字節(jié));42-保留,占2字節(jié);43-流限制值(16比特);44-保留,占2字節(jié);45-保留,占4字節(jié);①-Web Server,網(wǎng)頁服務(wù)器,專門用于偵聽和根據(jù)偵聽結(jié)果給用戶返回相應(yīng)的界面;②-Radius Server,認證服務(wù)器,專門用于用戶的身份驗證、授權(quán)以及認證;③-ACL模塊,主要用于用戶的存儲相關(guān)信息(如IP、MAC、用戶ID以及該用戶上網(wǎng)的流量)。
④-用戶端,用戶主機;⑤-NAS端,網(wǎng)絡(luò)接入服務(wù)器,實現(xiàn)數(shù)據(jù)包的轉(zhuǎn)發(fā)、存儲以及處理等功能下面結(jié)合附圖詳細說明圖1中,NAS與Web Server之間的通信采用的UDP數(shù)據(jù)報的格式,由消息類型(Code)、消息長度(Length)、消息內(nèi)容(Data)組成。其中Code和Length字段各占一個字節(jié),消息內(nèi)容的長度由Length的值確定。Code字段為1時,表示從Web Server發(fā)往NAS的用戶信息;Code字段為2時,表示NAS發(fā)往Web Server有關(guān)認證結(jié)果的信息。
圖2中,是圖1中Data字段的標識數(shù)據(jù)部分,數(shù)據(jù)部分的報文格式是類型、長度、值(英文縮略TLV)形式的可擴展的選項,由數(shù)據(jù)類型(Type)、數(shù)據(jù)長度(Length)、值(Value)組成,其中Type和Length各占一個字節(jié),值的長度由Length的值確定。
圖3中,本發(fā)明總體模塊流程簡要描繪了WEB認證接入的過程其中*監(jiān)聽1-上網(wǎng)3-通知認證并開始計費4-Radius Server②-或認證失敗6-返回失敗消息10-Web Server①-監(jiān)聽1;或認證及計費成功7-返回成功消息9-Web Server①-監(jiān)聽1;或ACL模塊③。
*監(jiān)聽1-下網(wǎng)2-通知直接停止計費5-Radius Server②-或認證失敗6-返回失敗消息10-Web Server①-監(jiān)聽1;或認證及計費成功7-返回成功消息9-Web Server①-監(jiān)聽1;或ACL模塊③。
整個WEB接入的過程為用戶打開瀏覽器,通過重定向的功能到缺省的認證界面,這時主機已經(jīng)與NAS發(fā)生了通信,已經(jīng)獲得該主機的IP和MAC地址,一方面WEB SERVER根據(jù)返回相應(yīng)的頁面,另一方面,NAS向RADIUS SERVER發(fā)出該用戶的認證請求,RADIUS SERVER根據(jù)用戶的信息進行驗證,并向NAS返回認證通過或者不通過的消息,NAS也根據(jù)不同的消息進行不同的處理,如果通過認證,要求ACL模塊添加ACL表項外,另外需要WEB SERVER返回成功的界面;若不通過,要求WEB SERVER返回不成功的界面。斷網(wǎng)的流程和上網(wǎng)的過程一樣。
圖4中,用戶上網(wǎng)過程是用戶端④-用戶打開瀏覽器,輸入網(wǎng)址11-NAS端⑤-RAS返回強制重定向至認證界面12-用戶端④-用戶提交信息,請求上網(wǎng)13-Web Server①-收集用戶信息,請求上網(wǎng)14-NAS端⑤-向Radius server發(fā)認證請求15-Web Server①-返回認證通過消息16-NAS端⑤-向Radius server發(fā)計費請求17-WebServer①-返回計費消息18NAS端⑤-返回用戶接入成功信息,并更新數(shù)據(jù)庫19-Web Server①-返回用戶接入成功界面21。
NAS端通過內(nèi)嵌的網(wǎng)頁服務(wù)器(英文Web Server)實現(xiàn)接收用戶請求返回登錄認證界面,實現(xiàn)與外部Web server的通信,交換用戶相關(guān)信息,同時支持標準的Radius協(xié)議;Web Server端實現(xiàn)讀取用戶提交的登錄信息,與NAS進行用戶數(shù)據(jù)的交換,控制用戶相關(guān)的Radius的認證和計費。
圖5中,用戶下網(wǎng)過程是用戶端④-用戶提交信息,請求斷網(wǎng)22-Web Server①-收集用戶信息,請求斷網(wǎng),停止計費23-NAS端⑤-返回用戶相應(yīng)信息24。
當(dāng)用戶下網(wǎng)時,WEB Server將用戶提交的用戶名口令信息通過DLL的發(fā)送函數(shù)轉(zhuǎn)發(fā)給NAS,由NAS向Radius Server發(fā)起斷開網(wǎng)絡(luò)連接和停止計費的請求,同時刪除用戶對應(yīng)的ACL表項。
圖6是ACL的索引和源(MAC+IP)的索引的表項,用于NAS快速檢索ACL表項;
圖7是MAC表項,用于建立用戶MAC地址和IP地址之間的綁定關(guān)系(如果有VLAN ID,還應(yīng)加上VLAN ID字段);圖8是ACL表項,用于記錄用戶的源IP地址、源MAC地址、流入、流出字節(jié)數(shù)、數(shù)據(jù)包數(shù)等信息,實現(xiàn)對用戶的訪問控制;具體實施方式
對于線速操作的NAS設(shè)備,應(yīng)用WEB認證的接入方式,數(shù)據(jù)包不發(fā)生任何阻塞,實際處理效率高于90%,而使用PPPoE的接入方式,用戶主機CPU和NAS的處理效率均下降到原來的50%左右,可見使用該方案可以提高NAS的處理效率,同時對用戶主機CPU不增加額外的數(shù)據(jù)包封裝和解封裝的負荷。
目前本發(fā)明已經(jīng)應(yīng)用于武漢烽火網(wǎng)絡(luò)有限責(zé)任公司的R4001、R4101 NAS寬帶接入服務(wù)器中,并已開通工程實際使用。同時,本方案又可用于無線局域網(wǎng)(Wireless LAN)的接入認證設(shè)備(AccessController)。
權(quán)利要求
1.一種以太網(wǎng)認證接入的方法,通過網(wǎng)頁(WEB)認證的方法實現(xiàn)對用戶的認證、授權(quán)、計費和帶寬限制;其特征在于采用了獨特的雙網(wǎng)頁服務(wù)器(WEB Server)技術(shù),其中嵌入式網(wǎng)頁服務(wù)器(WEB Server)負責(zé)監(jiān)聽用戶請求,返回用戶登陸驗證頁面;外部網(wǎng)頁服務(wù)器(WEB Server)負責(zé)接收用戶的驗證信息和反饋給用戶信息;利用用戶訪問列表(ACL)操作,實現(xiàn)對用戶的訪問控制和帶寬限制;網(wǎng)絡(luò)接入服務(wù)器(NAS)與外部網(wǎng)頁服務(wù)器(WEB Server)的通信方法和消息格式;獨特的強制門戶技術(shù),將未經(jīng)驗證的用戶請求進行強制重定向;網(wǎng)絡(luò)接入服務(wù)器(NAS)上域名系統(tǒng)(DNS)的數(shù)據(jù)報文透傳功能;網(wǎng)絡(luò)接入服務(wù)器(NAS)上支持網(wǎng)絡(luò)處理器架構(gòu),進行對數(shù)據(jù)報的高速并發(fā)處理。
全文摘要
本發(fā)明公開了一種以太網(wǎng)認證接入的方法,涉及計算機網(wǎng)絡(luò)中的寬帶接入的方法。本發(fā)明使用了獨特的雙網(wǎng)頁服務(wù)器(WEB Server)技術(shù),利用用戶訪問列表(ACL)操作,實現(xiàn)對用戶的訪問控制和帶寬限制,獨特的強制門戶技術(shù),能將未通過授權(quán)用戶的請求進行強制重定向。本發(fā)明是通過網(wǎng)頁(WEB)認證的方法實現(xiàn)對用戶的認證、授權(quán)、計費和帶寬限制,不需要用戶安裝任何的客戶端軟件,簡化了用戶的操作,且與用戶的操作系統(tǒng)平臺無關(guān),運營管理簡單易行,因此具有廣闊的應(yīng)用前景。
文檔編號H04L12/00GK1403952SQ0213909
公開日2003年3月19日 申請日期2002年9月24日 優(yōu)先權(quán)日2002年9月24日
發(fā)明者張人杰, 路文波, 孫志磊, 彭濤 申請人:武漢郵電科學(xué)研究院