專利名稱:支持IPv6多地址接入的業(yè)務控制方法和設備的制作方法
技術領域:
本發(fā)明涉及下一代互聯網環(huán)境中IPv6接入認證技術,更具體地,本發(fā)明涉及一種 利用RADIUS協(xié)議屬性擴展而實現的IPv6多地址接入控制方法和設備。
背景技術:
隨著近幾年IPv6技術得到不斷完善和IPv6網絡的不斷擴大,IPv6技術的商業(yè)應 用也越來越受到重視,各種IPv6的產品設備也隨著環(huán)境的完善進入市場。對于網絡運營商 或者多數網絡管理方來說,單單有IPv6的設備還不能滿足需求,還需要能夠用于IPv6網絡 環(huán)境的網絡接入控制方法,這樣才能解決下一代互聯中對接入用戶的各種權限控制、認證 登陸等問題。但是,由于IPv6地址生成方式的多樣性,往往一臺機器會擁有多個不同的IPv6地 址,而在RADIUS協(xié)議中,并沒有提供對IPv6多地址接入的支持。而且,在現有技術中,尚不 存在對具有多個不同的IPv6地址的接入請求進行接入控制的機制,最新的RFC協(xié)議文檔中 也只提供了對單IPv6接入的理論支持。
發(fā)明內容
為此,本發(fā)明旨在解決上述技術問題。具體地,本發(fā)明通過對RADIUS協(xié)議進行擴 展,實現了 IPv6多地址接入。根據本發(fā)明的一個方面,提供了一種支持IPv6多地址接入的業(yè)務控制方法,包 括在接入控制網關處,接收包含用戶信息和多個IPv6地址的接入請求,通過將多個IPv6 地址進行拼接而形成RADIUS認證請求,并將該RADIUS認證請求發(fā)送至RADIUS認證服務 器;以及在RADIUS認證服務器處,接收并解析RADIUS認證請求以獲得RADIUS認證請求中 包含的多個IPv6地址,對用戶信息和每一個IPv6地址進行認證和授權,并向接入控制網關 返回RADIUS認證結果。優(yōu)選地,該方法還包括如果RADIUS認證結果指示用戶信息認證通過,則接入控 制網關根據RADIUS認證結果為多個IPv6地址開通相應的訪問權限。優(yōu)選地,將多個IPv6地址拼接后保存在RADIUS認證請求的Called-Station-Id 屬性字段中。優(yōu)選地,RADIUS協(xié)議利用FreeRadius庫來實現。根據本發(fā)明的另一個方面,提供了一種支持IPv6多地址接入的接入控制網關,包 括地址拼接單元,被配置為接收包含用戶信息和多個IPv6地址的接入請求,通過將多個 IPv6地址進行拼接而形成RADIUS認證請求,并將該RADIUS認證請求發(fā)送至RADIUS認證服 務器;以及結果處理單元,被配置為接收并處理來自RADIUS認證服務器的RADIUS認證結^ ο優(yōu)選地,地址拼接單元將多個IPv6地址拼接后保存在RADIUS認證請求的 Called-Station-Id 屬性字段中。
優(yōu)選地,結果處理單元還被配置為如果RADIUS認證結果指示用戶信息認證通 過,根據RADIUS認證結果為多個IPv6地址開通相應的訪問權限。優(yōu)選地,接入控制網 關利用Linux系統(tǒng)來實現,而RADIUS協(xié)議利用FreeRadius庫 來實現。根據本發(fā)明的又一個方面,提供了一種支持IPv6多地址接入的RADIUS認證服務 器,包括數據庫單元,被配置為存儲用戶認證信息和地址權限信息;以及認證單元,被配 置為接收并解析來自接入控制網關的RADIUS認證請求以獲得RADIUS認證請求中包含的 多個IPv6地址,利用數據庫單元中存儲的用戶認證信息和地址權限信息,對用戶信息和每 一個IPv6地址進行認證和授權,并向接入控制網關返回RADIUS認證結果。優(yōu)選地,認證單元對RADIUS認證請求的CalIed-Station-Id屬性字段進行解析, 以獲得多個IPv6地址。優(yōu)選地,RADIUS認證服務器利用Linux系統(tǒng)來實現,而RADIUS協(xié)議利用 FreeRadius庫來實現。與現有技術相比,本發(fā)明能夠處理一個用戶帶有多個不同IPv6地址的接入請求, 并且能夠方便地為該用戶提供多個IPv6地址的認證與授權接入控制。從而,本發(fā)明可以在 下一代互聯網環(huán)境中為運營商和用戶提供多地址接入。
通過下面結合
本發(fā)明的優(yōu)選實施例,將使本發(fā)明的上述及其它目的、特 征和優(yōu)點更加清楚,其中圖1是示出了根據本發(fā)明一個實施例的IPv6多地址接入控制系統(tǒng)的示意圖;圖2是示出了根據本發(fā)明一個實施例的接入控制網關的框圖;圖3是示出了根據本發(fā)明一個實施例的RADIUS認證服務器的框圖;以及圖4是示出了根據本發(fā)明一個實施例的支持IPv6多地址接入的業(yè)務控制方法的 流程圖。
具體實施例方式為了清楚詳細的闡述本發(fā)明的實現過程,下面給出了一些本發(fā)明的具體實施例。 參照附圖對本發(fā)明的實例進行詳細說明,為了清楚起見,在描述過程中省略了對于本發(fā)明 來說是不必要的細節(jié)和功能,以防止對本發(fā)明的理解造成混淆。圖1是示出了根據本發(fā)明一個實施例的IPv6多地址接入控制系統(tǒng)100的示意圖。 該系統(tǒng)100包括登陸客戶端110、接入控制網關120和RADIUS認證服務器130。登陸客戶端110是用戶當前使用的請求開通網絡的計算機??蛻舳?10需要通過 登陸認證后才能開通網絡訪問服務。具體地,客戶端110可以通過訪問指定頁面或者使用 指定登陸程序進行登陸,登陸數據將被傳送到接入控制網關120。接入控制網關120與登陸客戶端110和外網相連,并負責對用戶的接入設置和通 過的數據包進行權限訪問控制。具體地,接入控制網關120從登陸客戶端110接收用戶登 陸時的數據,并向RADIUS服務器130提交認證。之后,接入控制網關120從RADIUS服務器 130接收認證結果,并向登陸客戶端110返回用戶登陸結果。
登陸成功后,接入控制網關120對所經過的每個網絡數據分組執(zhí)行過濾處理,利 用權限判斷數據分組將要被轉發(fā)還是丟棄。每段地址的權限可以靈活的設定。如果將不同 的網絡段設置為不同的權限,那么接入控制網關120對各網絡段的數據分組的處理就會不 同,從而能夠實現向用戶開放不同類型的服務。接入控制網關120可以通過各種技術來實現。例如,在本發(fā)明的一個具體實施例 中,接入控制網關120是基于Linux系統(tǒng)而實現的IPv6控制網關,其中,利用FreeRadius 開發(fā)庫實現本發(fā)明的RADIUS協(xié)議。RADIUS認證服務器130與接入控制網關120相連,用于接收由接入控制網關120 發(fā)送的認證請求等,并將認證結果返回接入控制網關120。同樣,RADIUS認證服務器130可以通過各種技術來實現。例如,在本發(fā)明的一個 具體實施例中,利用Free Radius開源程序在Linux服務器上實現RADIUS認證服務器130。 其中,對FreeRadius的認證規(guī)則進行設置,使其使用授權數據庫中的數據 對用戶信息進行 認證。圖2是示出了根據本發(fā)明一個實施例的接入控制網關200的框圖。接入控制網關 200包括地址拼接單元210和結果處理單元220。地址拼接單元210在其輸入201上接收來自登陸客戶端110的IPv6多地址接入 請求。該請求包括用戶信息以及登陸客戶端110的多個IPv6地址。接下來,地址拼接單 元210將多個IPv6地址分別轉化成字符串并拼接在一起,然后將其保存于RADIUS協(xié)議的 Called-Station-Id屬性中。下面以一個具體實例說明具體拼接過程。根據RADIUS標準協(xié)議,Called-Station-Id屬性的具體格式如下Type|Length|String其中Type字段占用一個字節(jié),其值為30,此值是RADIUS協(xié)議為 Called-Station-Id屬性分配的代號。Length字段占用一個字節(jié),其值為Type、Length、 String三個字段的長度總和。String字段代表CalIed-Station-Id字段的實際值,RADIUS 標準協(xié)議規(guī)定其占用長度范圍為大于等于1字節(jié)小于等于253字節(jié)。假設當前要認證的IPv6地址有四個,分別為200121a:da8::92001:21a:da8::102001:21a:da8::112001:21a:da8::12在一個實施例中,以分號為分隔符將其拼接在一起,拼接后的字串為 2001:21a:da8::9 ;200121a:da810 ;200121a:da811 ;200121a:da812。本領域的技術人員可以理解,也可以用其他字符作為分隔符,只要該字符是IPv6 地址中規(guī)定不使用的字符、可起到分隔作用即可。因此,在上面的示例中,將四個地址封裝后形成的Called-Station-Id屬性的具 體內容為30 I 68 I 2001 21a: da8 9 ;2001 21a: da8 10 ;2001 21a: da8 11 ; 2001:21a:da8::12。此外,需要說明的是,對用戶信息合法性的認證并不由接入控制網關200完成,而是由下文詳細描述的RADIUS認證服務器完成。因此,地址拼接單元210將用戶信息連同所 生成的Called-Station-Id屬性一并組成為RADIUS認證請求,并在其輸出202上向RADIUS 認證服務器發(fā)送該RADIUS認證請求。
結果處理單元220在其輸入203上接收來自RADIUS認證服務器的認證結果。如 果用戶信息認證通過,則結果處理單元220為所提交的IPv6多地址接入請求中的多個IPv6 地址開通相應的訪問權限。最后,結果處理單元220在其輸出204上向登陸客戶端110返回 登陸結果。登陸結果可分為登陸成功和登陸出錯兩種類型,而登陸出錯又可分為兩種類型, 一種是用戶身份不合法,比如無此用戶或密碼錯誤等;一種是此用戶所提交IPv6地址全都 無法取得合法的授權。圖3是示出了根據本發(fā)明一個實施例的RADIUS認證服務器300的框圖。RADIUS 認證服務器300包括認證單元310和數據庫單元320。其中,認證單元310在其輸入301 上接收來自接入控制網關200的RADIUS認證請求。然后,認證單元310根據數據庫單 元320中相應的用戶信息來驗證登陸用戶的合法性,并對RADIUS認證請求中所包含的 Called-Station-Id屬性進行解析,以獲得相應的多個IPv6地址。接下來,如果用戶信息認 證通過,則認證單元310利用數據庫單元320中已保存的地址權限信息,對解析得到的每個 IPv6地址分別進行認證和授權。最后,認證單元310在其輸出302上將認證結果返回給接 入控制網關200。在本發(fā)明的一個實施例中,使用FreeRadius開發(fā)RADIUS協(xié)議,其中將多個IPv6 地址分別轉化成字符串并拼在一起,并保存于RADIUS協(xié)議的Called-Station-Id屬性中。 通過該RADIUS協(xié)議,實現了接入控制網關200與RADIUS服務器300之間的通信。然而, 本領域的技術人員可以理解,本發(fā)明的實現并不僅僅依賴于FreeRadius庫,其它任何支持 RADIUS協(xié)議的開發(fā)庫都可以用來實現本發(fā)明。圖4是示出了根據本發(fā)明一個實施例的支持IPv6多地址接入的業(yè)務控制方法400 的流程圖。方法400在步驟S401開始。在步驟S403,接入控制網關接收IPv6多地址接入請求??蛻舳说顷憰r會將用戶身 份信息以及本機的多個IPv6地址通過IPv6多地址接入請求傳送到接入控制網關。在步驟S405,接入控制網關將多個IPv6地址分別轉化成字符串并拼在一起,并保 存在RADIUS協(xié)議的Called-Station-Id屬性中。在步驟S407,接入控制網關利用Called-Station-Id屬性和用戶信息,生成 RADIUS認證請求,并將其發(fā)送給RADIUS認證服務器。在步驟S409,RADIUS認證服務器接收成RADIUS認證請求,并根據數據庫中的用戶 信息驗證登陸用戶的合法性。此外,RADIUS認證服務器解析Called-Station-Id屬性以獲 得其中保存的多個IPv6地址。在步驟S411,RADIUS認證服務器利用數據庫中已保存的地址權限信息對每個 IPv6地址分別進行認證與授權。然后,RADIUS認證服務器將認證結果返回接入控制網關。在步驟S413,接入控制網關對認證結果進行分析。如果用戶信息的認證通過,則在 步驟S415根據RADIUS認證服務器對每個IPv6地址的認證結果而設置相應的權限。否則, 不對IPv6地址的權限進行設置,處理直接進行至步驟S417。在步驟S417,接入控制網關將登陸結果返回給登陸客戶端。
最后,方法400在步驟S419處結束。 至此已經結合優(yōu)選實施例對本發(fā)明進行了描述。應該理解,本領域技術人員在不 脫離本發(fā)明的精神和范圍的情況下,可以進行各種其它的改變、替換和添加。因此,本發(fā)明 的范圍不局限于上述特定實施例,而應由所附權利要求所限定。
權利要求
一種支持IPv6多地址接入的業(yè)務控制方法,包括在接入控制網關處,接收包含用戶信息和多個IPv6地址的接入請求,通過將多個IPv6地址進行拼接而形成RADIUS認證請求,并將該RADIUS認證請求發(fā)送至RADIUS認證服務器;以及在RADIUS認證服務器處,接收并解析RADIUS認證請求以獲得RADIUS認證請求中包含的多個IPv6地址,對用戶信息和每一個IPv6地址進行認證和授權,并向接入控制網關返回RADIUS認證結果。
2.如權利要求1所述的支持IPv6多地址接入的業(yè)務控制方法,還包括如果RADIUS認證結果指示用戶信息認證通過,則接入控制網關根據RADIUS認證結果 為多個IPv6地址開通相應的訪問權限。
3.如權利要求1所述的支持IPv6多地址接入的業(yè)務控制方法,其中,將多個IPv6地址 拼接后保存在RADIUS認證請求的Called-Station-Id屬性字段中。
4.如權利要求1至3中任意一項所述的支持IPv6多地址接入的業(yè)務控制方法,其中, 接入控制網關利用Linux系統(tǒng)來實現,而RADIUS協(xié)議利用FreeRadius庫來實現。
5.一種支持IPv6多地址接入的接入控制網關,包括地址拼接單元,用于接收包含用戶信息和多個IPv6地址的接入請求,通過將多個IPv6 地址進行拼接而形成RADIUS認證請求,并將該RADIUS認證請求發(fā)送至RADIUS認證服務 器;以及結果處理單元,用于接收并處理來自RADIUS認證服務器的RADIUS認證結果。
6.如權利要求5所述的支持IPv6多地址接入的接入控制網關,其中,所述地址拼接單 元將多個IPv6地址拼接后保存在RADIUS認證請求的CalIed-Station-Id屬性字段中。
7.如權利要求5所述的支持IPv6多地址接入的接入控制網關,其中,如果RADIUS認證 結果指示用戶信息認證通過,則所述結果處理單元根據RADIUS認證結果為多個IPv6地址 開通相應的訪問權限。
8.如權利要求5所述的支持IPv6多地址接入的接入控制網關,其中,接入控制網關利 用Linux系統(tǒng)來實現,而RADIUS協(xié)議利用FreeRadius庫來實現。
9.一種支持IPv6多地址接入的RADIUS認證服務器,包括數據庫單元,用于存儲用戶認證信息和地址權限信息;以及認證單元,用于接收并解析來自接入控制網關的RADIUS認證請求以獲得RADIUS認證 請求中包含的多個IPv6地址,利用數據庫單元中存儲的用戶認證信息和地址權限信息,對 用戶信息和每一個IPv6地址進行認證和授權,并向接入控制網關返回RADIUS認證結果。
10.如權利要求8所述的支持IPv6多地址接入的RADIUS認證服務器,其中,所述認證 單元對RADIUS認證請求的Called-Station-Id屬性字段進行解析,以獲得多個IPv6地址。
全文摘要
本發(fā)明提供了一種支持IPv6多地址接入的業(yè)務控制方法,包括在接入控制網關處,接收包含用戶信息和多個IPv6地址的接入請求,通過將多個IPv6地址進行拼接而形成RADIUS認證請求,并將該RADIUS認證請求發(fā)送至RADIUS認證服務器;以及在RADIUS認證服務器處,接收并解析RADIUS認證請求以獲得RADIUS認證請求中包含的多個IPv6地址,對用戶信息和每一個IPv6地址進行認證和授權,并向接入控制網關返回RADIUS認證結果。本發(fā)明還提供了一種支持IPv6多地址接入的接入控制網關和一種支持IPv6多地址接入的RADIUS認證服務器。本發(fā)明能夠處理一個用戶帶有多個不同IPv6地址的接入請求,并且能夠方便地為該用戶提供多個IPv6地址的認證與授權接入控制。
文檔編號H04L29/12GK101867585SQ201010212920
公開日2010年10月20日 申請日期2010年6月30日 優(yōu)先權日2010年6月30日
發(fā)明者吳建平, 李星, 李松, 胡松, 黃友俊 申請人:賽爾網絡有限公司