專利名稱:與radius服務(wù)器進行交互的方法和客戶端的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種與遠程身份認證撥入用戶服務(wù)協(xié)議 (Remote Authentication Dial In User ServiceProtocol,簡稱為 RADIUS)服務(wù)器進行交 互的方法和RADIUS客戶端。
背景技術(shù):
RADIUS 是 RFC 2865 “RADIUS” 禾口 RFC 2866 “RADIUS 記賬”中描述的業(yè)界標(biāo)準(zhǔn)協(xié) 議。其目的是為撥號用戶進行認證和計費。后來經(jīng)過多次改進,形成了一項通用的認證計 費協(xié)議。RADIUS是一種客戶端(Client)/服務(wù)器(Server)結(jié)構(gòu)的協(xié)議,它的客戶端最初就 是網(wǎng)絡(luò)接入服務(wù)器(Network Access Server,簡稱為NAQ,現(xiàn)在任何運行NAS軟件的計算 機都可以成為RADIUS的客戶端。RADIUS協(xié)議認證機制靈活,是一種可擴展的協(xié)議,它進行 的全部工作都是基于屬性-長度-值(Attribute-Length-Value)的三元組進行的。RADIUS的基本工作原理用戶接入RADIUS客戶端,RADIUS客戶端向RADIUS 服務(wù)器使用認證請求(Access-Require)數(shù)據(jù)包提交用戶信息,包括用戶名、密碼等相 關(guān)信息,其中,用戶密碼是經(jīng)過MD5加密的,雙方使用共享密鑰,這個密鑰不經(jīng)過網(wǎng)絡(luò)傳 播;RADIUS服務(wù)器對用戶名和密碼的合法性進行檢驗,必要時可以提出一個認證挑戰(zhàn) (Access-Challenge)數(shù)據(jù)包,要求進一步對用戶認證,也可以對RADIUS客戶端進行類似的 認證;如果合法,給RADIUS客戶端返回認證接受(Access-Accept)數(shù)據(jù)包,允許用戶進行 下一步工作,否則返回認證拒絕(Access-Reject)數(shù)據(jù)包,拒絕用戶訪問;如果允許訪問, RADIUS客戶端向RADIUS服務(wù)器提出計費請求(Account-Require)數(shù)據(jù)包,RADIUS服務(wù)器 響應(yīng)計費開始(Accoimt-Acc印t)數(shù)據(jù)包,對用戶的計費開始,同時用戶可以進行自己的相 關(guān)操作。RADIUS還支持代理和漫游功能。簡單地說,代理就是一臺服務(wù)器,可以作為其他 RADIUS服務(wù)器的代理,負責(zé)轉(zhuǎn)發(fā)RADIUS認證和計費數(shù)據(jù)包。所謂漫游功能,就是代理的一 個具體實現(xiàn),這樣可以讓用戶通過本來和其無關(guān)的RADIUS服務(wù)器進行認證。RADIUS服務(wù)器和RADIUS客戶端服務(wù)器通過用戶數(shù)據(jù)協(xié)議(User Date Protocol, 簡稱為UDP)進行通信,RADIUS服務(wù)器的1812端口負責(zé)認證,1813端口負責(zé)計費工作。采 用UDP的基本考慮是因為RADIUS客戶端和RADIUS服務(wù)器大多在同一個局域網(wǎng)中,使用UDP 更加快捷方便。RADIUS協(xié)議還規(guī)定了重傳機制。如果RADIUS客戶端向某個RADIUS服務(wù)器提交請 求沒有收到返回信息,那么可以要求備份RADIUS服務(wù)器重傳。由于有多個備份RADIUS服 務(wù)器,因此RADIUS客戶端進行重傳的時候,可以采用輪詢的方法。如果備份RADIUS服務(wù)器 的密鑰和以前RADIUS服務(wù)器的密鑰不同,則需要重新進行認證。RADIUS協(xié)議應(yīng)用范圍很廣,包括普通電話、上網(wǎng)業(yè)務(wù)計費,對虛擬專網(wǎng)(Virtual Private Network,簡稱為VPN)的支持可以使不同的撥入服務(wù)器的用戶具有不同權(quán)限。最近IEEE提出了 802. Ix標(biāo)準(zhǔn),這是一種基于端口的標(biāo)準(zhǔn),用于對無線網(wǎng)絡(luò)的接入認證,在認 證時也采用RADIUS協(xié)議。第CN101001156號中國專利申請存在以下不足該專利公開了一種遠程撥號接入 服務(wù)認證協(xié)議認證預(yù)付費的方法,僅僅是一種對RADIUS協(xié)議的實現(xiàn),實現(xiàn)的RADIUS客戶端 并不能適配不同廠商的RADIUS服務(wù)器,當(dāng)需要適配不同廠商的RADIUS服務(wù)器,就會束手無策。針對相關(guān)技術(shù)中同一 RADIUS客戶端無法與不同廠商的RADIUS服務(wù)器對接的問 題,目前尚未提出有效的解決方案。
發(fā)明內(nèi)容
針對相關(guān)技術(shù)中同一 RADIUS客戶端無法與不同廠商的RADIUS服務(wù)器對接的問題 而提出本發(fā)明,為此,本發(fā)明的主要目的在于提供一種與RADIUS服務(wù)器進行交互的方案, 以解決上述問題。為了實現(xiàn)上述目的,根據(jù)本發(fā)明的一個方面,提供了 一種與RADIUS服務(wù)器進行交 互的方法。根據(jù)本發(fā)明的與RADIUS服務(wù)器進行交互的方法包括=RADIUS客戶端根據(jù)RADIUS 服務(wù)器的類型獲取與RADIUS服務(wù)器進行消息交互所需要的屬性;RADIUS客戶端根據(jù)獲取 到的屬性與RADIUS服務(wù)器進行消息交互。優(yōu)選地,在RADIUS客戶端根據(jù)RADIUS服務(wù)器的類型獲取與RADIUS服務(wù)器進行消 息交互所需要的屬性之前,方法還包括預(yù)先保存多種類型的RADIUS服務(wù)器中的每種類型 的RADIUS服務(wù)器與RADIUS客戶端進行消息交互時需要的屬性。優(yōu)選地,預(yù)先保存多種類型RADIUS服務(wù)器中的每種類型的RADIUS服務(wù)器與 RADIUS客戶端進行消息交互時需要的屬性包括分別保存每種類型的RADIUS服務(wù)器與 RADIUS客戶端進行交互的每種類型的消息所需要的屬性,其中,與RADIUS客戶端進行交互 的消息至少包括以下之一認證請求消息、認證響應(yīng)消息、計費請求消息、計費響應(yīng)消息。優(yōu)選地,在RADIUS客戶端根據(jù)RADIUS服務(wù)器的類型獲取與RADIUS服務(wù)器進行消 息交互所需要的屬性包括=RADIUS客戶端根據(jù)RADIUS服務(wù)器的類型從RADIUS協(xié)議中所有 的標(biāo)準(zhǔn)屬性及擴展屬性的信息中獲取與RADIUS服務(wù)器進行消息交互所需要的屬性,其中, RADIUS協(xié)議中所有的標(biāo)準(zhǔn)屬性及擴展屬性的信息至少包括以下之一屬性的名稱、屬性的 編號、屬性值的類型、屬性值的含義。優(yōu)選地,RADIUS客戶端根據(jù)獲取到的屬性與RADIUS服務(wù)器進行消息交互包括 RADIUS客戶端根據(jù)每種類型RADIUS服務(wù)器與RADIUS客戶端進行交互時每種類型的消息對 應(yīng)的屬性鏈表封裝用于與每種類型RADIUS服務(wù)器進行交互的每種類型的消息。優(yōu)選地,在數(shù)據(jù)庫和/或配置文件中預(yù)先保存多種類型的RADIUS服務(wù)器中的每種 類型的RADIUS服務(wù)器與RADIUS客戶端進行消息交互時需要的屬性。為了實現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,還提供了 一種RADIUS客戶端。根據(jù)本發(fā)明的RADIUS客戶端包括獲取模塊,用于根據(jù)RADIUS服務(wù)器的類型獲取 與RADIUS服務(wù)器進行消息交互所需要的屬性;交互模塊,用于根據(jù)獲取到的屬性與RADIUS 服務(wù)器進行消息交互。
優(yōu)選地,該RADIUS客戶端還包括保存模塊,用于預(yù)先保存多種類型的RADIUS服 務(wù)器中的每種類型的RADIUS服務(wù)器與RADIUS客戶端進行消息交互時需要的屬性。優(yōu)選地,保存模塊包括第一保存子模塊,用于分別保存每種類型的RADIUS服務(wù) 器與RADIUS客戶端進行交互的每種類型的消息所需要的屬性,其中,與RADIUS客戶端進行 交互的消息至少包括以下之一認證請求消息、認證響應(yīng)消息、計費請求消息、計費響應(yīng)消 肩、ο優(yōu)選地,保存模塊還包括第二保存子模塊,用于保存RADIUS協(xié)議中所有的標(biāo)準(zhǔn) 屬性及擴展屬性的信息,其中,RADIUS協(xié)議中所有的標(biāo)準(zhǔn)屬性及擴展屬性的信息至少包括 以下之一屬性的名稱、屬性的編號、屬性值的類型、屬性值的含義。優(yōu)選地,交互模塊包括構(gòu)建子模塊,用于構(gòu)建每種類型RADIUS服務(wù)器與RADIUS 客戶端進行交互時每種類型的消息對應(yīng)的屬性鏈表;封裝子模塊,用于封裝用于與每種類 型RADIUS服務(wù)器進行交互的每種類型的消息。通過本發(fā)明,采用RADIUS客戶端根據(jù)RADIUS服務(wù)器的類型獲取與該RADIUS服務(wù) 器進行消息交互所需要的屬性,并根據(jù)獲取到的屬性與該RADIUS服務(wù)器進行交互,解決了 同一 RADIUS客戶端無法與不同廠商的RADIUS服務(wù)器對接的問題,進而完善了 RADIUS客戶 端的功能,提高了 RADIUS客戶端的靈活性和適應(yīng)性。
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā) 明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中圖1是本發(fā)明實施例的與RADIUS服務(wù)器進行交互的方法的流程圖;圖2是本發(fā)明實施例的適配不同RADIUS服務(wù)器的方法的系統(tǒng)結(jié)構(gòu)示意圖;圖3是本發(fā)明實施例的RADIUS客戶端啟動加載不同RADIUS服務(wù)器所需屬性的流 程圖;圖4是本發(fā)明實施例的一個呼叫的認證和計費流程圖;圖5是本發(fā)明實施例的RADIUS客戶端的結(jié)構(gòu)框圖;圖6是本發(fā)明實施例的RADIUS客戶端的優(yōu)選結(jié)構(gòu)框圖。
具體實施例方式功能概述考慮到相關(guān)技術(shù)中同一 RADIUS客戶端無法與不同廠商的RADIUS服務(wù)器對接的問 題,本發(fā)明實施例提供了一種與RADIUS服務(wù)器進行交互的方案,該方案的處理原則如下 RADIUS客戶端根據(jù)RADIUS服務(wù)器的類型獲取與RADIUS服務(wù)器進行消息交互所需要的屬 性;RADIUS客戶端根據(jù)獲取到的屬性與RADIUS服務(wù)器進行消息交互。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相 互組合。下面將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。在以下實施例中,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令 的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以 不同于此處的順序執(zhí)行所示出或描述的步驟。
方法實施例根據(jù)本發(fā)明的實施例,提供了一種與RADIUS服務(wù)器進行交互的方法,圖1是本發(fā) 明實施例的與RADIUS服務(wù)器進行,交互的方法的流程圖,如圖1所示,該方法包括如下的步 驟S102至步驟S104 步驟S102,RADIUS客戶端根據(jù)RADIUS服務(wù)器的類型獲取與RADIUS服務(wù)器進行消 息交互所需要的屬性。步驟S104,RADIUS客戶端根據(jù)獲取到的屬性與RADIUS服務(wù)器進行消息交互。優(yōu)選地,可以預(yù)先保存多種類型的RADIUS服務(wù)器中的每種類型的RADIUS服務(wù)器 與RADIUS客戶端進行消息交互時需要的屬性。具體地,可以分別保存每種類型的RADIUS 服務(wù)器與RADIUS客戶端進行交互的每種類型的消息所需要的屬性,其中,與RADIUS客戶端 進行交互的消息至少包括以下之一認證請求消息、認證響應(yīng)消息、計費請求消息、計費響 應(yīng)消息。優(yōu)選地,在步驟S102中,RADIUS客戶端根據(jù)RADIUS服務(wù)器的類型從RADIUS協(xié) 議中所有的標(biāo)準(zhǔn)屬性及擴展屬性的信息中獲取與RADIUS服務(wù)器進行消息交互所需要的屬 性,其中,RADIUS協(xié)議中所有的標(biāo)準(zhǔn)屬性及擴展屬性的信息至少包括以下之一屬性的名 稱、屬性的編號、屬性值的類型、屬性值的含義。優(yōu)選地,在步驟S104中,RADIUS客戶端根據(jù)每種類型RADIUS服務(wù)器與RADIUS客 戶端進行交互時每種類型的消息對應(yīng)的屬性鏈表封裝用于與每種類型RADIUS服務(wù)器進行 交互的每種類型的消息。優(yōu)選地,在數(shù)據(jù)庫和/或配置文件中預(yù)先保存多種類型的RADIUS服務(wù)器中的每種 類型的RADIUS服務(wù)器與RADIUS客戶端進行消息交互時需要的屬性。在本實施例中,可以通過但不限于RADIUS客戶端的實現(xiàn)模塊和數(shù)據(jù)配置模塊來 實現(xiàn),下面將結(jié)合實例對本發(fā)明實施例的實現(xiàn)過程進行詳細描述。RADIUS客戶端實現(xiàn)模塊,用于翻譯業(yè)務(wù)層發(fā)過來的認證和計費請求消息,封裝為 標(biāo)準(zhǔn)RADIUS協(xié)議消息格式,轉(zhuǎn)發(fā)到RADIUS服務(wù)器,同時把RADIUS服務(wù)器返回的響應(yīng)消息 返回到業(yè)務(wù)層;數(shù)據(jù)配置模塊,其中,配置數(shù)據(jù)可以以配置文件的方式存儲,也可以以數(shù)據(jù)庫方式 存儲。如果以配置文件方式存儲數(shù)據(jù),需要定義三個配置文件配置文件1 =RADIUS協(xié)議標(biāo)準(zhǔn)屬性及擴展屬性文件,定義了所有屬性的名稱、屬性 的編號、屬性的類型,及屬性的取值含義等信息。配置文件2 =RADIUS服務(wù)器要求屬性文件, 定義了 RADIUS客戶端與多種RADIUS服務(wù)器消息交互時分別需要攜帶的屬性信息。優(yōu)選地,還可以包括,配置文件3 =RADIUS配置文件,定義配置文件1和配置文件2 的文件名稱以及已適配的RADIUS服務(wù)器的類型,同時為以后擴展使用。例如,RADIUS客戶 端對于目前不支持的RADIUS服務(wù)器類型,可以通過在配置文件中增加相應(yīng)的配置,然后重 新加載這些配置就可以支持新的RADIUS類型(即,支持動態(tài)擴展)。如果以數(shù)據(jù)庫方式存儲數(shù)據(jù)配置,需要定義三張表表1,表2,表3和配置文件1, 配置文件2,配置文件3內(nèi)容相同。在本實施例中以配置文件存儲數(shù)據(jù)配置的方式為例進行說明,如果要使用數(shù)據(jù)庫 存儲數(shù)據(jù)配置的方式實現(xiàn),只需要把所有讀取配置文件部分替換為讀取數(shù)據(jù)庫表即可。
下面以配置文件1、2、3存儲數(shù)據(jù)配置的方式對與RADIUS服務(wù)器進行交互的流程 進行詳細的說明,該流程包括如下步驟步驟A.從配置文件3中讀取配置文件1和配置文件2的文件名;步驟B.從配置文件1中讀取RADIUS協(xié)議所有的屬性和一些屬性可能的取值,并 構(gòu)建基本屬性鏈表和屬性值含義鏈表;步驟C.從配置文件2中讀取不同RADIUS服務(wù)器要求的認證請求消息所需的屬 性,并根據(jù)不同的RADIUS服務(wù)器分別構(gòu)建認證請求消息所需的屬性鏈表;步驟D.從配置文件2中讀取不同RADIUS服務(wù)器要求的認證響應(yīng)消息所需的屬 性,并根據(jù)不同的RADIUS服務(wù)器分別構(gòu)建認證響應(yīng)消息所需的屬性鏈表;步驟E.從配置文件2中讀取不同RADIUS服務(wù)器要求的計費請求消息所需的屬 性,并根據(jù)不同的RADIUS服務(wù)器分別構(gòu)建計費請求消息所需的屬性鏈表,包括計費開始和 計費結(jié)束消息;步驟F.從配置文件2中讀取不同RADIUS服務(wù)器要求的計費響應(yīng)消息所需的屬 性,并根據(jù)不同的RADIUS服務(wù)器分別構(gòu)建計費響應(yīng)消息所需的屬性鏈表;步驟G.根據(jù)配置文件3中已適配的RADIUS服務(wù)器類型,在RADIUS客戶端配置需 要適配的RADIUS服務(wù)器及類型;步驟H.當(dāng)用戶接入RADIUS客戶端,需要RADIUS客戶端發(fā)出認證請求時,RADIUS 客戶端根據(jù)用戶配置的RADIUS服務(wù)器,步驟G配置的該RADIUS服務(wù)器的類型,并根據(jù)步驟 C構(gòu)建的認證請求消息所需的屬性鏈表,封裝適配該RADIUS服務(wù)器的認證請求消息;步驟I. RADIUS客戶端向RADIUS服務(wù)器發(fā)送認證請求消息;步驟J. RADIUS服務(wù)器向RADIUS客戶端發(fā)送認證響應(yīng)消息;步驟K.當(dāng)認證成功,需要RADIUS客戶端向RADIUS服務(wù)器發(fā)送計費請求消息時, 根據(jù)步驟G獲得RADIUS服務(wù)器類型,然后根據(jù)步驟E獲得該RADIUS服務(wù)器的計費請求消 息需要的屬性,封裝適配該服務(wù)器的計費請求消息;步驟L. RADIUS客戶端向RADIUS服務(wù)器發(fā)送計費請求消息;步驟M. RADIUS服務(wù)器向RADIUS客戶端發(fā)送計費響應(yīng)消息;本發(fā)明實施例與現(xiàn)有技術(shù)最大的區(qū)別是可以通過配置文件,同時根據(jù)在RADIUS 客戶端上對不同RADIUS服務(wù)器進行的配置,可以同時適配多種不同的RADIUS服務(wù)器,從而 使RADIUS客戶端功能比現(xiàn)有的技術(shù)全面、有較強的靈活性和適應(yīng)性。下面結(jié)合附圖對本發(fā)明實施例適配不同RADIUS服務(wù)器的方法進行說明。圖2是本發(fā)明實施例的適配不同RADIUS服務(wù)器的方法的系統(tǒng)結(jié)構(gòu)示意圖,如圖2 所示,本發(fā)明實施例的RADIUS客戶端是軟交換機(SoftSwitch,簡稱為SQ的一個模塊,可 以和不同的RADIUS服務(wù)器進行對接,適配不同的RADIUS服務(wù)器,這些RADIUS服務(wù)器可以 是相同廠商的RADIUS服務(wù)器,也可以是不同廠商的RADIUS服務(wù)器。為了適配各種不同廠商RADIUS服務(wù)器,需要在RADIUS客戶端上對每一個認證和 計費的服務(wù)器RADIUS Server的ID號,IP地址,端口號,服務(wù)器類型,共享密鑰等進行配置。圖3是本發(fā)明實施例的RADIUS客戶端啟動加載不同RADIUS服務(wù)器所需屬性的流 程圖,如圖3所示,以下對具體流程進行描述步驟301,RADIUS客戶端啟動。
步驟302,RADIUS客戶端讀取RADIUS配置文件3中的RADIUS配置文件,得到與該 RADIUS客戶端已適配的RADIUS服務(wù)器類型。步驟303,從該配置文件3中讀取配置文件1和配置文件2的文件名稱,即,RADIUS 協(xié)議的所有屬性(包括擴展屬性)配置文件的文件名稱(配置文件1)和區(qū)分不同RADIUS 服務(wù)器需要不同的屬性的配置文件名稱(配置文件2),其中,配置文件1中定義了 RADIUS 協(xié)議中所有屬性,包括屬性的名稱、屬性的編號、屬性值的類型等,同時還定義了一些屬性 的取值含義,配置文件2中定義了不同的RADIUS服務(wù)器的不同的RADIUS消息分別所需要 的屬性。步驟304,從配置文件1中讀取出這些屬性的名稱、屬性的編號、屬性值的類型及 屬性值的取值含義,并構(gòu)建基本屬性鏈表及屬性值含義鏈表。步驟305,通過讀取配置文件2得到認證請求消息所需攜帶的屬性,構(gòu)建認證請求 消息所需的屬性鏈表,其中,因為不同RADIUS服務(wù)器所需的認證請求屬性可能不同,因此 根據(jù)RADIUS服務(wù)器的不同,需要構(gòu)建不同的認證請求屬性鏈表。同理,步驟306、步驟307、步驟308分別是建立不同的認證響應(yīng)、計費請求、計費響 應(yīng)等消息所需屬性鏈表的過程。步驟309,當(dāng)步驟302-308都正確處理后,RADIUS客戶端啟動加載結(jié)束,表明 RADIUS客戶端已正確啟動,啟動加載流程結(jié)束。圖4是本發(fā)明實施例的一個呼叫的認證和計費流程圖,如圖4所示,一個需要 RADIUS服務(wù)器進行認證和計費的呼叫流程,其數(shù)據(jù)處理方法流程如下步驟401,用戶摘機,發(fā)起呼叫。步驟402,呼叫控制中心(Call Server,是SS上的模塊)判斷出該用戶有預(yù)付費 業(yè)務(wù),需要對該用戶進行認證請求,Call Server把請求轉(zhuǎn)發(fā)給RADIUS客戶端,同時攜帶該 用戶認證需要訪問的RADIUS服務(wù)器ID號。步驟403,RADIUS客戶端根據(jù)Call krver攜帶的RADIUS服務(wù)器ID號,從圖2說 明中查出配置的RADIUS服務(wù)器的IP地址,服務(wù)器類型等信息,然后根據(jù)服務(wù)器類型,從圖 3的305中查詢出該服務(wù)器類型所需要的認證請求屬性鏈表,根據(jù)這個鏈表進行RADIUS認 證請求消息(Access-Request)的封裝,并把封裝好的認證請求消息發(fā)送到RADIUS服務(wù)器, 封裝出來的認證請求消息是專門對本次呼叫訪問的RADIUS服務(wù)器的,這樣就達到了適配 本次認證訪問的RADIUS服務(wù)器的目的。步驟404,RADIUS服務(wù)器給RADIUS客戶端返回認證結(jié)果,即,認證響應(yīng)消息 (Access-Response)。步驟405,RADIUS客戶端根據(jù)RADIUS服務(wù)器的類型,將認證響應(yīng)消息做相應(yīng)的翻 譯,然后把認證結(jié)果返回給Call Server。步驟406,如果認證成功,Call krver控制接續(xù),通話開始后,Call krver通知 RADIUS客戶端計費開始,同時攜帶該用戶計費請求需要訪問的RADIUS服務(wù)器ID號。步驟407,RADIUS客戶端根據(jù)Call krver攜帶的RADIUS服務(wù)器ID號,從圖2說 明中查出配置的RADIUS服務(wù)器的IP地址,服務(wù)器類型等信息,然后根據(jù)服務(wù)器類型,從圖3 的307中查詢出該服務(wù)器類型所需要的計費請求屬性鏈表,根據(jù)這個鏈表進行RADIUS計費 請求消息(Account-Request)的封裝,并把封裝好的計費請求消息發(fā)送到RADIUS服務(wù)器,根據(jù)RADIUS協(xié)議規(guī)定,計費開始請求不需要響應(yīng)消息,本次呼叫的RADIUS認證流程結(jié)束。步驟408,當(dāng)用戶掛機,結(jié)束本次呼叫。步驟409,Call krver通知RADIUS客戶端計費結(jié)束409,同時攜帶該用戶計費請 求需要訪問的RADIUS服務(wù)器ID號;步驟410,RADIUS客戶端根據(jù)Call krver攜帶的RADIUS服務(wù)器ID號,從圖2說 明中查出配置的RADIUS服務(wù)器的IP地址,服務(wù)器類型等信息,然后根據(jù)服務(wù)器類型,從圖 3的307中查詢出該服務(wù)器類型所需要的計費請求屬性鏈表,根據(jù)這個鏈表進行RADIUS計 費結(jié)束請求消息的封裝,并把封裝好的計費結(jié)束請求消息發(fā)送到RADIUS服務(wù)器。步驟411,RADIUS服務(wù)器返回計費結(jié)束響應(yīng)消息(Account-Response),本次呼叫 的RADIUS計費流程結(jié)束。裝置實施例根據(jù)本發(fā)明的實施例,提供了一種RADIUS客戶端,該RADIUS客戶端對應(yīng)于上述的 方法實施例,在方法實施例中已經(jīng)進行過的說明在此不再贅述,下面是對該RADIUS客戶端 中的具體的模塊進行的說明,圖5是本發(fā)明實施例的RADIUS客戶端的結(jié)構(gòu)框圖;如圖5所 示,該RADIUS客戶端包括獲取模塊52、交互模塊54,下面對此結(jié)構(gòu)進行詳細的說明。獲取模塊52,用于根據(jù)RADIUS服務(wù)器的類型獲取與RADIUS服務(wù)器進行消息交互 所需要的屬性;交互模塊M,用于根據(jù)獲取到的屬性與RADIUS服務(wù)器進行消息交互。圖6是本發(fā)明實施例的RADIUS客戶端的優(yōu)選結(jié)構(gòu)框圖,如圖6所示,該RADIUS客 戶端還包括保存模塊62,用于預(yù)先保存多種類型的RADIUS服務(wù)器中的每種類型的RADIUS服 務(wù)器與RADIUS客戶端進行消息交互時需要的屬性。優(yōu)選地,保存模塊62還可以包括第一保存子模塊622,用于分別保存每種類型的 RADIUS服務(wù)器與RADIUS客戶端進行交互的每種類型的消息所需要的屬性,其中,與RADIUS 客戶端進行交互的消息至少包括以下之一認證請求消息、認證響應(yīng)消息、計費請求消息、 計費響應(yīng)消息。優(yōu)選地,保存模塊62還可以包括第二保存子模塊624,用于保存RADIUS協(xié)議中 所有的標(biāo)準(zhǔn)屬性及擴展屬性的信息,其中,RADIUS協(xié)議中所有的標(biāo)準(zhǔn)屬性及擴展屬性的信 息至少包括以下之一屬性的名稱、屬性的編號、屬性值的類型、屬性值的含義。優(yōu)選地,交互模塊M還包括構(gòu)建子模塊M2、封裝子模塊M4。下面對此進行詳 細說明。構(gòu)建子模塊M2,用于構(gòu)建每種類型RADIUS服務(wù)器與RADIUS客戶端進行交互時每 種類型的消息對應(yīng)的屬性鏈表;封裝子模塊M4,用于封裝用于與每種類型RADIUS服務(wù)器 進行交互的每種類型的消息。綜上所述,本發(fā)明實施例提供了一種與RADIUS服務(wù)器進行交互的方法和RADIUS 客戶端,通過采用配置文件,在RADIUS客戶端上對不同RADIUS服務(wù)器進行的配置,實現(xiàn)了 同一 RADIUS客戶端可以同時適配多個或不同類型的RADIUS服務(wù)器,完善了 RADIUS客戶端 的功能,提高了 RADIUS客戶端的靈活性和適應(yīng)性。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用 的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲 在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們 中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的 硬件和軟件結(jié)合。 以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技 術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修 改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種與遠程身份認證撥入用戶服務(wù)協(xié)議RADIUS服務(wù)器進行交互的方法,其特征在 于,包括RADIUS客戶端根據(jù)RADIUS服務(wù)器的類型獲取與所述RADIUS服務(wù)器進行消息交互所需 要的屬性;所述RADIUS客戶端根據(jù)獲取到的所述屬性與所述RADIUS服務(wù)器進行消息交互。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述RADIUS客戶端根據(jù)所述RADIUS服 務(wù)器的類型獲取與所述RADIUS服務(wù)器進行消息交互所需要的屬性之前,所述方法還包括預(yù)先保存多種類型的RADIUS服務(wù)器中的每種類型的RADIUS服務(wù)器與所述RADIUS客 戶端進行消息交互時需要的屬性。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,預(yù)先保存所述多種類型RADIUS服務(wù)器中 的所述每種類型的RADIUS服務(wù)器與所述RADIUS客戶端進行消息交互時需要的屬性包括分別保存所述每種類型的RADIUS服務(wù)器與所述RADIUS客戶端進行交互的每種類型的 消息所需要的屬性,其中,與所述RADIUS客戶端進行交互的消息至少包括以下之一認證 請求消息、認證響應(yīng)消息、計費請求消息、計費響應(yīng)消息。
4.根據(jù)權(quán)利要求1至權(quán)3中任一項所述的方法,其特征在于,在所述RADIUS客戶端根 據(jù)所述RADIUS服務(wù)器的類型獲取與所述RADIUS服務(wù)器進行消息交互所需要的屬性包括所述RADIUS客戶端根據(jù)所述RADIUS服務(wù)器的類型從RADIUS協(xié)議中所有的標(biāo)準(zhǔn)屬 性及擴展屬性的信息中獲取與所述RADIUS服務(wù)器進行消息交互所需要的屬性,其中,所述 RADIUS協(xié)議中所有的標(biāo)準(zhǔn)屬性及擴展屬性的信息至少包括以下之一屬性的名稱、屬性的 編號、屬性值的類型、屬性值的含義。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述RADIUS客戶端根據(jù)獲取到的所述屬 性與所述RADIUS服務(wù)器進行消息交互包括所述RADIUS客戶端根據(jù)所述每種類型RADIUS服務(wù)器與所述RADIUS客戶端進行交互 時所述每種類型的消息對應(yīng)的屬性鏈表封裝用于與所述每種類型RADIUS服務(wù)器進行交互 的所述每種類型的消息。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,在數(shù)據(jù)庫和/或配置文件中預(yù)先保存所述 多種類型的RADIUS服務(wù)器中的所述每種類型的RADIUS服務(wù)器與所述RADIUS客戶端進行 消息交互時需要的屬性。
7.一種RADIUS客戶端,其特征在于,包括獲取模塊,用于根據(jù)RADIUS服務(wù)器的類型獲取與所述RADIUS服務(wù)器進行消息交互所 需要的屬性;交互模塊,用于根據(jù)獲取到的所述屬性與所述RADIUS服務(wù)器進行消息交互。
8.根據(jù)權(quán)利要求7所述的RADIUS客戶端,還包括保存模塊,用于預(yù)先保存多種類型的RADIUS服務(wù)器中的每種類型的RADIUS服務(wù)器與 所述RADIUS客戶端進行消息交互時需要的屬性。
9.根據(jù)權(quán)利要求8所述的RADIUS客戶端,其特征在于,所述保存模塊包括第一保存子模塊,用于分別保存所述每種類型的RADIUS服務(wù)器與所述RADIUS客戶端 進行交互的每種類型的消息所需要的屬性,其中,與所述RADIUS客戶端進行交互的消息至 少包括以下之一認證請求消息、認證響應(yīng)消息、計費請求消息、計費響應(yīng)消息。
10.根據(jù)權(quán)利要求7至9中任一項所述的RADIUS客戶端,其特征在于,所述保存模塊還 包括第二保存子模塊,用于保存RADIUS協(xié)議中所有的標(biāo)準(zhǔn)屬性及擴展屬性的信息,其中, 所述RADIUS協(xié)議中所有的標(biāo)準(zhǔn)屬性及擴展屬性的信息至少包括以下之一屬性的名稱、屬 性的編號、屬性值的類型、屬性值的含義。
11.根據(jù)權(quán)利要求10所述的RADIUS客戶端,其特征在于,所述交互模塊包括構(gòu)建子模塊,用于構(gòu)建所述每種類型RADIUS服務(wù)器與所述RADIUS客戶端進行交互時 所述每種類型的消息對應(yīng)的屬性鏈表;封裝子模塊,用于封裝用于與所述每種類型RADIUS服務(wù)器進行交互的所述每種類型 的消息。
全文摘要
本發(fā)明公開了一種與遠程身份認證撥入用戶服務(wù)協(xié)議RADIUS服務(wù)器進行交互的方法,該方法包括RADIUS客戶端根據(jù)RADIUS服務(wù)器的類型獲取與RADIUS服務(wù)器進行消息交互所需要的屬性;RADIUS客戶端根據(jù)獲取到的屬性與RADIUS服務(wù)器進行消息交互。通過本發(fā)明完善了RADIUS客戶端的功能,提高了RADIUS客戶端的靈活性和適應(yīng)性。
文檔編號H04L9/32GK102045304SQ20091017989
公開日2011年5月4日 申請日期2009年10月20日 優(yōu)先權(quán)日2009年10月20日
發(fā)明者汪紹飛, 王國全, 王大振 申請人:中興通訊股份有限公司