本發(fā)明實(shí)施例涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種Radius協(xié)議業(yè)務(wù)數(shù)據(jù)的關(guān)聯(lián)方法及裝置。
背景技術(shù):
遠(yuǎn)程認(rèn)證撥號(hào)用戶服務(wù)(Remote authentication dial-in user service,RADIUS)(或稱遠(yuǎn)程用戶撥號(hào)認(rèn)證)是一種在網(wǎng)絡(luò)接入設(shè)備和認(rèn)證服務(wù)器之間承載認(rèn)證、授權(quán)、計(jì)費(fèi)和配置信息的協(xié)議。Radius協(xié)議是在認(rèn)證、授權(quán)、計(jì)費(fèi)方面應(yīng)用最為廣泛的協(xié)議之一。Radius采用典型的客戶/服務(wù)器(Client/Server)結(jié)構(gòu),它的客戶端可以是任意運(yùn)行Radius客戶端軟件的計(jì)算機(jī)。
當(dāng)我們通過有線方式來上網(wǎng)時(shí),數(shù)據(jù)可分為兩種:認(rèn)證類數(shù)據(jù)和業(yè)務(wù)類數(shù)據(jù)。認(rèn)證類數(shù)據(jù)是我們接入網(wǎng)絡(luò)時(shí)需要認(rèn)證通過,并且進(jìn)行計(jì)費(fèi)的協(xié)議數(shù)據(jù);業(yè)務(wù)數(shù)據(jù)是我們接入網(wǎng)絡(luò)后,所做的各種應(yīng)用層協(xié)議的訪問數(shù)據(jù)。業(yè)務(wù)數(shù)據(jù)的使用,只有通過認(rèn)證協(xié)議的關(guān)聯(lián)才可以確定上網(wǎng)用戶的身份。在固網(wǎng)的認(rèn)證協(xié)議中,使用Radius協(xié)議進(jìn)行計(jì)費(fèi)認(rèn)證,通過Radius協(xié)議可以將業(yè)務(wù)數(shù)據(jù)與信令數(shù)據(jù)進(jìn)行有效的關(guān)聯(lián)。然而,在當(dāng)前IP地址越來越匱乏的時(shí)候,使用網(wǎng)絡(luò)地址轉(zhuǎn)換(Network address translation,NAT)技術(shù),可以將一個(gè)IP地址同時(shí)分給多個(gè)用戶使用,并將NAT信令攜帶在Radius協(xié)議中,這些使用同一個(gè)IP的用戶,需要將不同的業(yè)務(wù)數(shù)據(jù)關(guān)聯(lián)給各自的上網(wǎng)賬號(hào)。
在將業(yè)務(wù)數(shù)據(jù)關(guān)聯(lián)信令數(shù)據(jù)的過程中,上網(wǎng)用戶每次在進(jìn)行認(rèn)證上網(wǎng)的過程,Radius服務(wù)器會(huì)為用戶分配一個(gè)IP地址供其上網(wǎng)使用,在這種情況下,可以通過分配的IP地址,將業(yè)務(wù)數(shù)據(jù)和認(rèn)證數(shù)據(jù)進(jìn)行關(guān)聯(lián)。圖1示出了上述關(guān)聯(lián)過程。在使用NAT技術(shù)以后,上網(wǎng)的多個(gè)用戶會(huì)分配到同一個(gè)IP地址,此時(shí)的關(guān)聯(lián)因?yàn)椴煌挠脩羰褂猛粋€(gè)IP地址,使用之前的關(guān)聯(lián)方案,無法有效的將業(yè)務(wù)數(shù)據(jù)關(guān)聯(lián)到正確的上網(wǎng)賬號(hào)。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)上述技術(shù)問題,本發(fā)明實(shí)施例提供了一種Radius協(xié)議業(yè)務(wù)數(shù)據(jù)的關(guān)聯(lián)方法及裝置,以在使用NAT的場景下有效的將業(yè)務(wù)數(shù)據(jù)關(guān)聯(lián)到正確的信令信息。
一方面,本發(fā)明實(shí)施例提供了一種Radius協(xié)議業(yè)務(wù)數(shù)據(jù)的關(guān)聯(lián)方法,所述方法包括:
接收用戶的業(yè)務(wù)數(shù)據(jù);
獲取所述業(yè)務(wù)數(shù)據(jù)中包含的特征信息;
根據(jù)所述特征信息,通過查找預(yù)存的Radius節(jié)點(diǎn)信息,將所述業(yè)務(wù)數(shù)據(jù)關(guān)聯(lián)至Radius協(xié)議中對(duì)應(yīng)的信令信息。
另一方面,本發(fā)明實(shí)施例還提供了一種Radius協(xié)議業(yè)務(wù)數(shù)據(jù)的關(guān)聯(lián)裝置,所述裝置包括:
業(yè)務(wù)接收模塊,用于接收用戶的業(yè)務(wù)數(shù)據(jù);
特征獲取模塊,用于獲取所述業(yè)務(wù)數(shù)據(jù)中包含的特征信息;
關(guān)聯(lián)模塊,用于根據(jù)所述特征信息,通過查找預(yù)存的Radius節(jié)點(diǎn)信息,將所述業(yè)務(wù)數(shù)據(jù)關(guān)聯(lián)至Radius協(xié)議中對(duì)應(yīng)的信令信息。
本發(fā)明實(shí)施例提供的Radius協(xié)議業(yè)務(wù)數(shù)據(jù)的關(guān)聯(lián)方法及裝置,通過接收用戶的業(yè)務(wù)數(shù)據(jù),獲取所述業(yè)務(wù)數(shù)據(jù)中包含的特征信息,以及根據(jù)所述特征信息,通過查找預(yù)存的Radius節(jié)點(diǎn)信息,將所述業(yè)務(wù)數(shù)據(jù)關(guān)聯(lián)至Radius協(xié)議中對(duì)應(yīng)的信令信息,從而在使用NAT的場景下有效的將業(yè)務(wù)數(shù)據(jù)關(guān)聯(lián)到正確的信令信息。
附圖說明
通過閱讀參照以下附圖所作的對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本發(fā)明的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
圖1是現(xiàn)有技術(shù)提供的非NAT用戶的業(yè)務(wù)數(shù)據(jù)關(guān)聯(lián)過程的示意圖;
圖2是本發(fā)明第一實(shí)施例提供的Radius協(xié)議業(yè)務(wù)數(shù)據(jù)的關(guān)聯(lián)方法的流程圖;
圖3是本發(fā)明第一實(shí)施例提供的Radius節(jié)點(diǎn)信息的構(gòu)成示意圖;
圖4是本發(fā)明第二實(shí)施例提供的Radius協(xié)議業(yè)務(wù)數(shù)據(jù)的關(guān)聯(lián)方法中關(guān)聯(lián)操作的流程圖;
圖5是本發(fā)明第三實(shí)施例提供的Radius協(xié)議業(yè)務(wù)數(shù)據(jù)的關(guān)聯(lián)方法的流程圖;
圖6是本發(fā)明第一實(shí)施例提供的NAT用戶的業(yè)務(wù)數(shù)據(jù)關(guān)聯(lián)過程的示意圖;
圖7是本發(fā)明第四實(shí)施例提供的Radius協(xié)議業(yè)務(wù)數(shù)據(jù)的關(guān)聯(lián)裝置的結(jié)構(gòu)圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說明。可以理解的是,此處所描述的具體實(shí)施例僅僅用于解釋本發(fā)明,而非對(duì)本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部結(jié)構(gòu)。
第一實(shí)施例
本實(shí)施例提供了Radius協(xié)議業(yè)務(wù)數(shù)據(jù)的關(guān)聯(lián)方法的一種技術(shù)方案。在該技術(shù)方案中,Radius協(xié)議業(yè)務(wù)數(shù)據(jù)的關(guān)聯(lián)方法由其對(duì)應(yīng)的Radius協(xié)議業(yè)務(wù)數(shù)據(jù)的關(guān)聯(lián)裝置執(zhí)行。并且,Radius協(xié)議業(yè)務(wù)數(shù)據(jù)的關(guān)聯(lián)裝置集成在Radius協(xié)議的服務(wù)器當(dāng)中。
參見圖2,Radius協(xié)議業(yè)務(wù)數(shù)據(jù)的關(guān)聯(lián)方法包括:
S21,接收用戶的業(yè)務(wù)數(shù)據(jù)。
接收到的用戶的業(yè)務(wù)數(shù)據(jù)中可能包含NAT信息,也可能不包含NAT信息。對(duì)于包含NAT信息的情況,其對(duì)應(yīng)的用戶可以被稱為NAT用戶;對(duì)于不包含NAT信息的情況,其對(duì)應(yīng)的用戶被稱為非NAT用戶。
NAT用戶與非NAT用戶的主要區(qū)別在于,非NAT用戶使用的IP地址在網(wǎng)絡(luò)中不會(huì)出現(xiàn)重復(fù)。也就是說,根據(jù)非NAT用戶使用的IP地址能夠唯一的確定該非NAT用戶。而這一點(diǎn)對(duì)于NAT用戶來說則完全相反,也就是說,在采用NAT技術(shù)之后,對(duì)于外網(wǎng)來說,不同的NAT用戶可能會(huì)使用同一個(gè)IP地址。
S22,獲取所述業(yè)務(wù)數(shù)據(jù)中包含的特征信息。
可以理解的是,在接收到的業(yè)務(wù)數(shù)據(jù)中包含特征信息。具體的,所述特征信息是所述業(yè)務(wù)數(shù)據(jù)的來源IP地址。而且,更進(jìn)一步的,這樣的來源IP地址可以是IPv4地址,也可以是IPv6地址。
S23,根據(jù)所述特征信息,通過查找預(yù)存的Radius節(jié)點(diǎn)信息,將所述業(yè)務(wù)數(shù)據(jù)關(guān)聯(lián)至Radius協(xié)議中對(duì)應(yīng)的信令信息。
在Radius協(xié)議業(yè)務(wù)數(shù)據(jù)的關(guān)聯(lián)方法的運(yùn)行本地,根據(jù)Radius協(xié)議的信令數(shù)據(jù),預(yù)存有Radius節(jié)點(diǎn)信息。不同用戶的Radius節(jié)點(diǎn)信息,以散列表的形式存儲(chǔ)在方法的運(yùn)行本地。
當(dāng)提取到業(yè)務(wù)數(shù)據(jù)中的特征信息,也就是IP地址之后,利用上述IP地址查找預(yù)存的Radius節(jié)點(diǎn)信息,通過上述查找到的Radius節(jié)點(diǎn)信息,找到對(duì)應(yīng)的信令信息,并最終將上述業(yè)務(wù)信息關(guān)聯(lián)至所述信令信息。
具體的,所述Radius節(jié)點(diǎn)信息包括:用戶名、IP地址、SESSION_ID、起始端口,以及末尾端口。并且,Radius節(jié)點(diǎn)信息以散列表的形式存儲(chǔ)。圖3示出了這種散列表的存儲(chǔ)結(jié)構(gòu)。參見圖3,利用散列表的存儲(chǔ)結(jié)構(gòu),能夠依據(jù)特征信息,也就是IP地址,更為高效的查找到Radius節(jié)點(diǎn)信息中的信息項(xiàng)。
采用本實(shí)施例提供的Radius協(xié)議業(yè)務(wù)數(shù)據(jù)的關(guān)聯(lián)方法的優(yōu)勢在于,方便后期的維護(hù),減少人力對(duì)Radius協(xié)議后期的協(xié)議分析和二次開發(fā)和支持。而且,本實(shí)施例提供的Radius協(xié)議業(yè)務(wù)數(shù)據(jù)的關(guān)聯(lián)方法能夠適應(yīng)不同Radius服務(wù)器對(duì)NAT用戶配置的不同的端口范圍。
本實(shí)施例通過接收用戶的業(yè)務(wù)數(shù)據(jù),獲取所述業(yè)務(wù)數(shù)據(jù)中包含的特征信息,以及根據(jù)所述特征信息,通過查找預(yù)存的Radius節(jié)點(diǎn)信息,將所述業(yè)務(wù)數(shù)據(jù)關(guān)聯(lián)至Radius協(xié)議中對(duì)應(yīng)的信令信息,在使用NAT的場景下有效的將業(yè)務(wù)數(shù)據(jù)關(guān)聯(lián)到正確的信令信息。
第二實(shí)施例
本實(shí)施例以本發(fā)明上述實(shí)施例為基礎(chǔ),進(jìn)一步的提供了所述Radius協(xié)議業(yè)務(wù)數(shù)據(jù)的關(guān)聯(lián)方法中關(guān)聯(lián)操作的一種技術(shù)方案。在該技術(shù)方案中,根據(jù)所述特征信息,通過查找預(yù)存的Radius節(jié)點(diǎn)信息,將所述業(yè)務(wù)數(shù)據(jù)關(guān)聯(lián)至Radius協(xié)議中對(duì)應(yīng)的信令信息包括:根據(jù)所述IP地址在散列表中查找對(duì)應(yīng)的步長信息;根據(jù)所述步長信息,獲取對(duì)應(yīng)的Radius節(jié)點(diǎn)信息;根據(jù)所述Radius節(jié)點(diǎn)信息,與Radius協(xié)議的對(duì)應(yīng)信令信息關(guān)聯(lián)。
參見圖4,根據(jù)所述特征信息,通過查找預(yù)存的Radius節(jié)點(diǎn)信息,將所述業(yè)務(wù)數(shù)據(jù)關(guān)聯(lián)至Radius協(xié)議中對(duì)應(yīng)的信令信息包括:
S41,根據(jù)所述IP地址在散列表中查找對(duì)應(yīng)的步長信息。
在本實(shí)施例中步長信息是指,Radius節(jié)點(diǎn)信息中起始端口與末尾端口之間的差值。例如,一個(gè)特定的Radius節(jié)點(diǎn)信息中起始端口是2048,末尾端口是4096,則該Radius節(jié)點(diǎn)信息的步長值是2048。
S42,根據(jù)所述步長信息,獲取對(duì)應(yīng)的Radius節(jié)點(diǎn)信息。
具體的,根據(jù)所述步長信息獲取對(duì)應(yīng)的Radius節(jié)點(diǎn)信息包括:若所述步長信息的取值是0,直接獲取對(duì)應(yīng)的Radius節(jié)點(diǎn)信息;若所述步長信息的取值大于0,通過Radius節(jié)點(diǎn)信息中預(yù)存的指針,獲取對(duì)應(yīng)的Radius節(jié)點(diǎn)信息。
當(dāng)步長信息的取值是0時(shí),用戶是非NAT用戶,而當(dāng)步長信息的取值大于0時(shí),用戶是NAT用戶。對(duì)于非NAT用戶,由于在網(wǎng)絡(luò)中不存在與他使用相同IP地址的其他用戶,因此可以直接獲取其對(duì)應(yīng)的Radius節(jié)點(diǎn)信息。而對(duì)于NAT用戶,由于在網(wǎng)絡(luò)中可能存在與他使用相同IP地址的其他用戶,因此需要查找預(yù)存的Radius節(jié)點(diǎn)信息,才能獲取到其對(duì)應(yīng)的,準(zhǔn)確的Radius節(jié)點(diǎn)信息。
S43,根據(jù)所述Radius節(jié)點(diǎn)信息,與Radius協(xié)議的對(duì)應(yīng)信令信息關(guān)聯(lián)。
查找到對(duì)應(yīng)的Radius節(jié)點(diǎn)信息之后,根據(jù)查找到的Radius節(jié)點(diǎn)信息,獲取對(duì)應(yīng)的Radius信令信息。所述Radius信令信息可以是用戶的上網(wǎng)賬號(hào)。獲取到上述Radius信令信息之后,將上述業(yè)務(wù)數(shù)據(jù)與所述Radius信令信息進(jìn)行關(guān)聯(lián)。
根據(jù)本實(shí)施例提供的方法執(zhí)行信令數(shù)據(jù)的關(guān)聯(lián),不僅支持常規(guī)的Radius協(xié)議對(duì)業(yè)務(wù)數(shù)據(jù)的關(guān)聯(lián),而且支持Radius協(xié)議中攜帶NAT信息對(duì)業(yè)務(wù)數(shù)據(jù)的關(guān)聯(lián)。
本實(shí)施例通過根據(jù)所述IP地址在散列表中查找對(duì)應(yīng)的步長信息,根據(jù)所述步長信息,獲取對(duì)應(yīng)的Radius節(jié)點(diǎn)信息,以及根據(jù)所述Radius節(jié)點(diǎn)信息,與Radius協(xié)議的對(duì)應(yīng)信令信息關(guān)聯(lián),不僅實(shí)現(xiàn)了對(duì)信令信息的關(guān)聯(lián),而且實(shí)現(xiàn)了對(duì)NAT用戶及非NAT用戶同時(shí)的支持。
第三實(shí)施例
本實(shí)施例以本發(fā)明上述實(shí)施例為基礎(chǔ),進(jìn)一步的提供了Radius協(xié)議業(yè)務(wù)數(shù)據(jù)的關(guān)聯(lián)方法的一種技術(shù)方案。在該技術(shù)方案中,Radius協(xié)議業(yè)務(wù)數(shù)據(jù)的關(guān)聯(lián)方法還包括:在接收用戶的業(yè)務(wù)數(shù)據(jù)之前,通過對(duì)接收到的信令數(shù)據(jù)的解析,預(yù)存所述Radius節(jié)點(diǎn)信息。
參見圖5,Radius協(xié)議業(yè)務(wù)數(shù)據(jù)的關(guān)聯(lián)方法包括:
S51,通過對(duì)接收到的信令數(shù)據(jù)的解析,預(yù)存所述Radius節(jié)點(diǎn)信息。
在本實(shí)施例中不僅包含業(yè)務(wù)數(shù)據(jù)與信令信息的關(guān)聯(lián)過程,還包含關(guān)聯(lián)過程中使用的重要信息——Radius節(jié)點(diǎn)信息的預(yù)存過程。
更為具體的,Radius節(jié)點(diǎn)信息是根據(jù)接收到的信令數(shù)據(jù)的解析而預(yù)存的。
S52,接收用戶的業(yè)務(wù)數(shù)據(jù)。
S53,獲取所述業(yè)務(wù)數(shù)據(jù)中包含的特征信息。
S54,根據(jù)所述特征信息,通過查找預(yù)存的Radius節(jié)點(diǎn)信息,將所述業(yè)務(wù)數(shù)據(jù)關(guān)聯(lián)至Radius協(xié)議中對(duì)應(yīng)的信令信息。
圖6示出了本實(shí)施例提供的Radius協(xié)議業(yè)務(wù)數(shù)據(jù)的關(guān)聯(lián)方法的過程。參見圖6,在接收到Radius協(xié)議的信令數(shù)據(jù)時(shí),對(duì)上述信令數(shù)據(jù)進(jìn)行解析,根據(jù)解析結(jié)果預(yù)存Radius節(jié)點(diǎn)信息的散列表。當(dāng)接收到NAT用戶的業(yè)務(wù)數(shù)據(jù)時(shí),通過將業(yè)務(wù)數(shù)據(jù)中提取的IP地址,也就是前述實(shí)施例中描述的特征信息與散列表中的Radius節(jié)點(diǎn)信息進(jìn)行匹配,從而完成業(yè)務(wù)數(shù)據(jù)與信令信息之間的匹配。
本實(shí)施例通過在接收用戶的業(yè)務(wù)數(shù)據(jù)之前,通過對(duì)接收到的信令數(shù)據(jù)的解析,預(yù)存所述Radius節(jié)點(diǎn)信息,在使用NAT的場景下有效的將業(yè)務(wù)數(shù)據(jù)關(guān)聯(lián)到正確的信令信息。
第四實(shí)施例
本實(shí)施例提供了Radius協(xié)議業(yè)務(wù)數(shù)據(jù)的關(guān)聯(lián)裝置的一種技術(shù)方案。參見圖7,在該技術(shù)方案中,Radius協(xié)議業(yè)務(wù)數(shù)據(jù)的關(guān)聯(lián)裝置包括:業(yè)務(wù)接收模塊72、特征獲取模塊73,以及關(guān)聯(lián)模塊74。
所述業(yè)務(wù)接收模塊72用于接收用戶的業(yè)務(wù)數(shù)據(jù)。
所述特征獲取模塊73用于獲取所述業(yè)務(wù)數(shù)據(jù)中包含的特征信息。
所述關(guān)聯(lián)模塊74用于根據(jù)所述特征信息,通過查找預(yù)存的Radius節(jié)點(diǎn)信息,將所述業(yè)務(wù)數(shù)據(jù)關(guān)聯(lián)至Radius協(xié)議中對(duì)應(yīng)的信令信息。
進(jìn)一步的,所述特征信息包括:用戶的IP地址,所述Radius節(jié)點(diǎn)信息包括:用戶名、IP地址、SESSION_ID、起始端口,以及末尾端口。
進(jìn)一步的,所述關(guān)聯(lián)模塊74包括:步長查找單元、節(jié)點(diǎn)獲取單元,以及信令關(guān)聯(lián)單元。
所述步長查找單元用于根據(jù)所述IP地址在散列表中查找對(duì)應(yīng)的步長信息。
所述節(jié)點(diǎn)獲取單元用于根據(jù)所述步長信息,獲取對(duì)應(yīng)的Radius節(jié)點(diǎn)信息,其中,所述步長信息是指所述起始端口與所述末尾端口之間的差值。
所述信令關(guān)聯(lián)單元用于根據(jù)所述Radius節(jié)點(diǎn)信息,與Radius協(xié)議的對(duì)應(yīng)信令信息關(guān)聯(lián)。
進(jìn)一步的,所述節(jié)點(diǎn)獲取單元具體用于:若所述步長信息的取值是0,直接獲取對(duì)應(yīng)的Radius節(jié)點(diǎn)信息;若所述步長信息的取值大于0,通過Radius節(jié)點(diǎn)信息中預(yù)存的指針,獲取對(duì)應(yīng)的Radius節(jié)點(diǎn)信息。
進(jìn)一步的,Radius協(xié)議業(yè)務(wù)數(shù)據(jù)的關(guān)聯(lián)裝置還包括:節(jié)點(diǎn)預(yù)存模塊71。
所述節(jié)點(diǎn)預(yù)存模塊71用于在接收用戶的業(yè)務(wù)數(shù)據(jù)之前,通過對(duì)接收到的信令數(shù)據(jù)的解析,預(yù)存所述Radius節(jié)點(diǎn)信息。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域技術(shù)人員而言,本發(fā)明可以有各種改動(dòng)和變化。凡在本發(fā)明的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。