專利名稱:檢測(cè)客戶端連接狀態(tài)的方法、裝置以及Radius服務(wù)器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種檢測(cè)客戶端連接狀態(tài)的方法、裝置以及 Radius服務(wù)器。
背景技術(shù):
802. IX協(xié)議是基于Client/Server (客戶端/服務(wù)器端模式)的訪問(wèn)控制和認(rèn)證 協(xié)議。它可以限制未經(jīng)授權(quán)的用戶/設(shè)備通過(guò)接入端口訪問(wèn)LAN (Local Area Network,局 域網(wǎng))/WLAN(Wireless Local AreaNetwork,無(wú)線局域網(wǎng))。在獲得交換機(jī)或LAN提供的 各種業(yè)務(wù)之前,802. lx對(duì)連接到交換機(jī)端口上的用戶/設(shè)備進(jìn)行認(rèn)證。在認(rèn)證通過(guò)之前, 802. lx只允許EAPOL(Extensible Authentication Protocolover LAN,基于局域網(wǎng)的擴(kuò)展 認(rèn)證協(xié)議)數(shù)據(jù)通過(guò)設(shè)備連接的交換機(jī)端口 ;認(rèn)證通過(guò)以后,正常的數(shù)據(jù)可以順利地通過(guò) 以太網(wǎng)端口。 Radius (Remote Authentication Dial In User Service,遠(yuǎn)禾呈用戶撥號(hào)認(rèn)證系 統(tǒng)),是一種在NAS (Network Access Server,網(wǎng)絡(luò)接入服務(wù)器)和共享認(rèn)證服務(wù)器間傳輸 認(rèn)證、授權(quán)和配置信息的協(xié)議。RADIUS使用UDP作為其傳輸協(xié)議。此外RADIUS也負(fù)責(zé)傳送 網(wǎng)絡(luò)接入服務(wù)器和共享計(jì)費(fèi)服務(wù)器間的計(jì)費(fèi)信息。
Radius主要特征如下 Client/Server :網(wǎng)絡(luò)接入服務(wù)器作為Radius的客戶端,負(fù)責(zé)將用戶信息傳遞給 指定的Radius服務(wù)器,然后根據(jù)返回信息進(jìn)行操作。Radius服務(wù)器負(fù)責(zé)接收用戶連接請(qǐng) 求,認(rèn)證用戶后,返回所有必要的配置信息以便客戶端為用戶提供服務(wù)。Radius服務(wù)器可以 作為其他Radius服務(wù)器或認(rèn)證服務(wù)器的代理。 網(wǎng)絡(luò)安全客戶端與Radius服務(wù)器之間的通信是通過(guò)共享密鑰的使用來(lái)鑒別的,
這個(gè)共享密鑰不會(huì)通過(guò)網(wǎng)絡(luò)傳送。此外,任何用戶口令在客戶機(jī)和Radius服務(wù)器間發(fā)送時(shí)
都需要進(jìn)行加密過(guò)程,以避免有人通過(guò)嗅探非安全網(wǎng)絡(luò)可得到用戶密碼。 靈活認(rèn)證機(jī)制Radius服務(wù)器支持多種用戶認(rèn)證方法。當(dāng)用戶提供了用戶名和原
始口令后,Radius服務(wù)器可支持PPP PAP或CHAP, UNIX登錄和其它認(rèn)證機(jī)制。 協(xié)議的可擴(kuò)充性所有的事務(wù)都是由不同長(zhǎng)度的"屬性_長(zhǎng)度_值"的三元組構(gòu)成
的。新的屬性值的加入不會(huì)影響到原有協(xié)議的執(zhí)行。 EAP(Extensible Authentication Protocol,擴(kuò)展認(rèn)證協(xié)議),把認(rèn)證方法禾口網(wǎng)絡(luò) 接入的類型進(jìn)行了分離,是一個(gè)IETF(InternetEngineering Task Force,互聯(lián)網(wǎng)工程任務(wù) 組)標(biāo)準(zhǔn)。EAP報(bào)文是PPP(Point-to-Point Protocol,點(diǎn)到點(diǎn)協(xié)議)報(bào)文的擴(kuò)展,PPP報(bào)文 是為在同等單元之間傳輸數(shù)據(jù)包這樣的簡(jiǎn)單鏈路設(shè)計(jì)的鏈路層協(xié)議。通信過(guò)程中采用TCP/ IP協(xié)議,支持多種認(rèn)證機(jī)制,本身具有良好的擴(kuò)展性。它不會(huì)在鏈路控制階段選定一個(gè)特定 的認(rèn)證機(jī)制,而是把這種選擇推遲到認(rèn)證階段,這使認(rèn)證者在確定具體的認(rèn)證機(jī)制前可以 獲得更多的信息。并且它允許使用后端服務(wù)器,這種后端服務(wù)器實(shí)際是執(zhí)行各種不同的認(rèn) 證機(jī)制。EAP是一種封裝模式,其具體的加密算法具有很大的可擴(kuò)展性,除了按照EAP報(bào)文
4格式封裝外,報(bào)文內(nèi)的數(shù)據(jù)段是可以由程序開(kāi)發(fā)者任意修改的,而且長(zhǎng)度沒(méi)有限定。 EAPOL是認(rèn)證用戶在認(rèn)證成功前想交換機(jī)發(fā)起的認(rèn)證請(qǐng)求的報(bào)文類型。 SNMP (Simple Network Management Protocol,簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議)的核心是幫助
管理員簡(jiǎn)化對(duì)一些支持SNMP設(shè)備設(shè)置的操作(也包括這些信息的收集)。例如,使用SNMP
可以關(guān)閉路由器的一個(gè)端口,也可以查看以太網(wǎng)端口的工作速率。SNMP還可以監(jiān)控交換機(jī)
的溫度,在出現(xiàn)過(guò)高現(xiàn)象進(jìn)行報(bào)警。SNMP通常和管理路由器相關(guān)聯(lián),實(shí)際上SNMP可以用于
管理很多類型的設(shè)備。 目前,在802. IX系統(tǒng)的認(rèn)證模型下,Radius服務(wù)器與在線用戶管理模塊進(jìn)行聯(lián) 動(dòng),當(dāng)Radius服務(wù)器收到記賬開(kāi)始報(bào)文后,用戶上線,相應(yīng)用戶信息添加到在線用戶列表; 當(dāng)Radius服務(wù)器收到記賬結(jié)束報(bào)文后,用戶下線,相應(yīng)用戶信息從在線用戶列表中刪除。
發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中由于802. lX是基于UDP(user datagramprotocol,用戶數(shù) 據(jù)報(bào)文協(xié)議)協(xié)議的,存在丟包現(xiàn)象,當(dāng)UDP報(bào)文丟失,或接入交換機(jī)掉電導(dǎo)致用戶突然斷 線等異常情況發(fā)生時(shí),此時(shí)Radius服務(wù)器無(wú)法收到交換機(jī)發(fā)出的記賬結(jié)束報(bào)文,則在線用 戶列表不會(huì)刪除用戶記錄,也就是說(shuō),此時(shí)在線用戶列表里的用戶實(shí)際并沒(méi)有真實(shí)在線,即 展示給管理員的在線用戶信息是不可靠的。
發(fā)明內(nèi)容
本發(fā)明旨在提供一種檢測(cè)客戶端連接狀態(tài)的方法、裝置以及Radius服務(wù)器,能夠 解決現(xiàn)有技術(shù)中當(dāng)UDP報(bào)文丟失,或接入交換機(jī)掉電導(dǎo)致用戶突然斷線等異常情況發(fā)生 時(shí),在線用戶列表不會(huì)刪除用戶記錄,導(dǎo)致Radius服務(wù)器與接入交換機(jī)的在線用戶信息不 一致的問(wèn)題。 在本發(fā)明的實(shí)施例中,提供了一種檢測(cè)客戶端連接狀態(tài)的方法,包括以下步驟
Radius服務(wù)器失去客戶端的TCP連接后,如果超過(guò)第一設(shè)定時(shí)間無(wú)法與客戶端重 新建立TCP連接,發(fā)送SNMP報(bào)文給接入交換機(jī); 接入交換機(jī)根據(jù)SNMP報(bào)文對(duì)客戶端對(duì)應(yīng)的用戶是否在線進(jìn)行查詢,并將查詢結(jié) 果作為SNMP報(bào)文的響應(yīng); 如果查詢結(jié)果為客戶端對(duì)應(yīng)的用戶不在線,將用戶對(duì)應(yīng)的在線用戶記錄從在線用 戶列表中刪除。 在本發(fā)明的實(shí)施例中,還提供了一種檢測(cè)客戶端連接狀態(tài)的裝置,包括
SNMP報(bào)文模塊,用于在Radius服務(wù)器失去客戶端的TCP連接后,如果超過(guò)第一設(shè) 定時(shí)間無(wú)法與客戶端重新建立TCP連接,發(fā)送SNMP報(bào)文給接入交換機(jī),對(duì)客戶端對(duì)應(yīng)的用 戶是否在線進(jìn)行查詢; 更新模塊,用于根據(jù)SNMP報(bào)文的查詢結(jié)果對(duì)在線用戶列表進(jìn)行更新,當(dāng)查詢結(jié)果 為客戶端對(duì)應(yīng)的用戶不在線時(shí),將用戶對(duì)應(yīng)的在線用戶記錄從在線用戶列表中刪除。
在本發(fā)明實(shí)施例中,還提供了一種Radius服務(wù)器,包括上述的檢測(cè)客戶端連接狀 態(tài)的裝置。 在上述實(shí)施例中,當(dāng)Radius服務(wù)器失去客戶端的TCP連接后,并超過(guò)第一設(shè)定時(shí) 間無(wú)法與客戶端重新建立TCP連接時(shí),通過(guò)發(fā)送SNMP報(bào)文給接入交換機(jī),對(duì)客戶端的連接 狀態(tài)進(jìn)行查詢,當(dāng)查詢到客戶端對(duì)應(yīng)的用戶不在線時(shí),將用戶對(duì)應(yīng)的在線用戶記錄從在線用戶列表中刪除,從而使得Radius服務(wù)器與接入交換機(jī)的在線用戶信息保持一致,以確保 管理員看到的在線用戶信息是最新的,克服了現(xiàn)有技術(shù)中當(dāng)UDP報(bào)文丟失,或接入交換機(jī) 掉電導(dǎo)致用戶突然斷線等異常情況發(fā)生時(shí),在線用戶列表不會(huì)刪除用戶記錄,導(dǎo)致Radius 服務(wù)器與接入交換機(jī)的在線用戶信息不一致的問(wèn)題。
此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)
明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中 圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的網(wǎng)絡(luò)連接拓?fù)涫疽鈭D; 圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的檢測(cè)客戶端連接狀態(tài)的方法流程圖; 圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的檢測(cè)客戶端連接狀態(tài)的裝置示意圖; 圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的Radius服務(wù)器結(jié)構(gòu)示意圖; 圖5示出了根據(jù)本發(fā)明一個(gè)優(yōu)選實(shí)施例的網(wǎng)絡(luò)連接狀態(tài)拓?fù)涫疽鈭D。
具體實(shí)施例方式
下面將參考附圖并結(jié)合實(shí)施例,來(lái)詳細(xì)說(shuō)明本發(fā)明。 在本發(fā)明的實(shí)施例中,使用SNMP來(lái)操作交換機(jī)向認(rèn)證客戶端發(fā)送短消息。交換 機(jī)為實(shí)現(xiàn)這一功能,需要定義私有的MIB (Management Information Base,基本管理信息) 和0ID (Ob jectldentif ier,對(duì)象標(biāo)識(shí)符)。MIB是一系列定義對(duì)象的集合,是網(wǎng)絡(luò)管理數(shù)據(jù) 的標(biāo)準(zhǔn),在這個(gè)標(biāo)準(zhǔn)里規(guī)定了網(wǎng)絡(luò)代理設(shè)備必須保存的數(shù)據(jù)項(xiàng)目,數(shù)據(jù)類型,以及允許在每 個(gè)數(shù)據(jù)項(xiàng)目中的操作。通過(guò)對(duì)這些數(shù)據(jù)項(xiàng)目的存取訪問(wèn),就可以得到該網(wǎng)關(guān)的所有統(tǒng)計(jì)內(nèi) 容。再通過(guò)對(duì)多個(gè)網(wǎng)關(guān)統(tǒng)計(jì)內(nèi)容的綜合分析即可實(shí)現(xiàn)基本的網(wǎng)絡(luò)管理。MIB的主要用途是 讓SMNP通過(guò)查詢或設(shè)置MIB中相應(yīng)對(duì)象的值,實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)設(shè)備狀態(tài)的監(jiān)視或管理。MIB是 一個(gè)樹(shù)形的結(jié)構(gòu),OID就是樹(shù)上的一個(gè)個(gè)節(jié)點(diǎn)。OID由樹(shù)上的一系列整數(shù)表示,整數(shù)之間用 點(diǎn)( )分隔開(kāi)。用戶MAC (media access control,介質(zhì)訪問(wèn)控制)是通過(guò)802. IX認(rèn)證上線 的用戶所使用的網(wǎng)卡的物理地址。NAS IP是NAS(Network Access Server,網(wǎng)絡(luò)接入服務(wù) 器)的IP地址。community是Radius服務(wù)器和網(wǎng)絡(luò)接入服務(wù)器進(jìn)行一些功能交互處理時(shí) 的必要密鑰。 圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的網(wǎng)絡(luò)連接拓?fù)涫疽鈭D,如圖1所示,包括提 供在線用戶管理模塊13的Radius服務(wù)器12(為便于理解網(wǎng)絡(luò)連接的拓?fù)浣Y(jié)構(gòu),圖1中將 Radius服務(wù)器12和在線用戶管理模塊13分離示出),支持802. IX認(rèn)證與支持SNMP讀寫(xiě) MIB的接入交換機(jī)14,以及支持?jǐn)?shù)據(jù)存儲(chǔ)功能的數(shù)據(jù)存儲(chǔ)器11。 Radius服務(wù)器12與在線用戶管理模塊13有交互,Radius服務(wù)器12在用戶上線 /用戶下線時(shí)通過(guò)接口調(diào)用告訴在線用戶管理模塊13 ; Radius服務(wù)器12與在線用戶管理模塊13均與數(shù)據(jù)存儲(chǔ)器11進(jìn)行交互;Radius 服務(wù)器12需要從數(shù)據(jù)存儲(chǔ)器11中讀取用戶名密碼以及接入交換機(jī)14的信息以便完成 Radius交互,而在線用戶管理模塊13則需要在接收到Radius服務(wù)器12的用戶上線/下線 接口調(diào)用之后,在數(shù)據(jù)存儲(chǔ)器11中添加/刪除在線用戶記錄; 客戶端PC15與接入交換機(jī)14連接以便發(fā)起認(rèn)證和交換機(jī)之間進(jìn)行EAP0L認(rèn)證交互,接入交換機(jī)14與Radius服務(wù)器12進(jìn)行Radius認(rèn)證交互,而在線用戶管理模塊13和 接入交換機(jī)14之間則進(jìn)行SNMP交互; 客戶端PC15通過(guò)Radius服務(wù)器12認(rèn)證后,Radius服務(wù)器12根據(jù)客戶端PC15 上傳的IP地址,主動(dòng)與客戶端PC15建立一個(gè)TCP連接。該TCP連接的狀態(tài)有以下幾種 ESTABLISHED :TCP連接已建立;LISTENING :TCP連接斷開(kāi),處于監(jiān)聽(tīng)狀態(tài);CL0SE_WAIT :TCP 連接已斷開(kāi)。 在本發(fā)明的實(shí)施例中,系統(tǒng)的管理員首先把需要接入的接入交換機(jī)信息,包括其 NAS IP與community以及其他需要的信息,存儲(chǔ)到數(shù)據(jù)存儲(chǔ)器。 用戶上線的時(shí)候,Radius服務(wù)器通過(guò)接口調(diào)用告知在線用戶管理模塊用戶上線以 及用戶的接入信息,包括從Radius報(bào)文中獲取到用戶名、用戶IP、用戶MAC、 NAS IP等信 息,而在線用戶管理模塊收到用戶上線的接口調(diào)用后,就將這些信息存儲(chǔ)到數(shù)據(jù)存儲(chǔ)器形 成一條在線用戶記錄;用戶下線的時(shí)候,Radius服務(wù)器通過(guò)接口調(diào)用告知在線用戶管理模 塊用戶下線以及用戶的接入信息,包括從Radius報(bào)文中獲取到用戶名、用戶IP、用戶MAC、 NAS IP等信息。而在線用戶管理模塊收到用戶下線的接口調(diào)用后,就根據(jù)這些信息把存儲(chǔ) 在數(shù)據(jù)存儲(chǔ)器的對(duì)應(yīng)在線用戶記錄刪除。 圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的檢測(cè)客戶端連接狀態(tài)的方法流程圖,包括以 下步驟 S102, Radius服務(wù)器失去客戶端的連接后,如果超過(guò)第一設(shè)定時(shí)間無(wú)法與客戶端 重新建立TCP連接,發(fā)送SNMP報(bào)文給接入交換機(jī); S104,接入交換機(jī)根據(jù)SNMP報(bào)文對(duì)客戶端對(duì)應(yīng)的用戶是否在線進(jìn)行查詢,并將查 詢結(jié)果作為SNMP報(bào)文的響應(yīng); S106,如果查詢結(jié)果為客戶端對(duì)應(yīng)的用戶不在線,將用戶對(duì)應(yīng)的在線用戶記錄從 在線用戶列表中刪除。 在本實(shí)施例中,當(dāng)Radius服務(wù)器失去客戶端的TCP連接后,并超過(guò)第一設(shè)定時(shí)間 無(wú)法與客戶端重新建立TCP連接時(shí),通過(guò)發(fā)送SNMP報(bào)文給接入交換機(jī),對(duì)客戶端的連接狀 態(tài)進(jìn)行查詢,當(dāng)查詢到客戶端對(duì)應(yīng)的用戶不在線時(shí),將用戶對(duì)應(yīng)的在線用戶記錄從在線用 戶列表中刪除,從而使得Radius服務(wù)器與接入交換機(jī)的在線用戶信息保持一致,以確保管 理員看到的在線用戶信息是最新的,克服了現(xiàn)有技術(shù)中當(dāng)UDP報(bào)文丟失,或接入交換機(jī)掉 電導(dǎo)致用戶突然斷線等異常情況發(fā)生時(shí),在線用戶列表不會(huì)刪除用戶記錄,導(dǎo)致Radius服 務(wù)器與接入交換機(jī)的在線用戶信息不一致的問(wèn)題。 優(yōu)選地,在上述檢測(cè)客戶端連接狀態(tài)的方法中,在Radius服務(wù)器失去客戶端的 TCP連接后,如果超過(guò)第一設(shè)定時(shí)間無(wú)法與客戶端重新建立TCP連接,發(fā)送SNMP報(bào)文給接入 交換機(jī)之前還包括以下步驟客戶端對(duì)應(yīng)的用戶通過(guò)Radius服務(wù)器認(rèn)證后,Radius服務(wù)器 根據(jù)客戶端上傳的用戶IP,主動(dòng)與客戶端建立TCP連接。 優(yōu)選地,在上述檢測(cè)客戶端連接狀態(tài)的方法中,還包括以下步驟如果查詢結(jié)果為 客戶端對(duì)應(yīng)的用戶在線,不對(duì)在線用戶列表作任何處理。 優(yōu)選地,在上述檢測(cè)客戶端連接狀態(tài)的方法中,Radius服務(wù)器失去客戶端的連接 后,如果超過(guò)第一設(shè)定時(shí)間無(wú)法與客戶端重新建立TCP連接,發(fā)送SNMP報(bào)文給接入交換機(jī) 具體包括在線用戶管理模塊讀取數(shù)據(jù)存儲(chǔ)器中的在線用戶列表,得到客戶端的在線用戶記錄;從在線用戶記錄中獲取客戶端對(duì)應(yīng)用戶的MAC與NAS IP,并根據(jù)NAS IP到數(shù)據(jù)存儲(chǔ) 器中讀取對(duì)應(yīng)設(shè)備信息的community值;根據(jù)接入交換機(jī)的MIB,將MAC與community組裝 成SNMP報(bào)文,并根據(jù)NAS IP把SNMP報(bào)文發(fā)送給相應(yīng)的接入交換機(jī)。 優(yōu)選地,在上述檢測(cè)客戶端連接狀態(tài)的方法中,根據(jù)接入交換機(jī)的MIB,將MAC與 community組裝成SNMP報(bào)文,并根據(jù)NASIP把SNMP報(bào)文發(fā)送給相應(yīng)的接入交換機(jī)具體包 括設(shè)定SNMP報(bào)文的類型為get類型;以及根據(jù)用戶的MAC、 community設(shè)定SNMP報(bào)文發(fā) 送的對(duì)象屬性,并在對(duì)象屬性中設(shè)定超時(shí)時(shí)間;根據(jù)NAS IP將組裝好的SNMP報(bào)文發(fā)給在線 用戶記錄對(duì)應(yīng)的接入交換機(jī)。 優(yōu)選地,在上述檢測(cè)客戶端連接狀態(tài)的方法中,接入交換機(jī)根據(jù)SNMP報(bào)文對(duì)客戶 端對(duì)應(yīng)的用戶是否在線進(jìn)行查詢,并將查詢結(jié)果作為SNMP報(bào)文的響應(yīng)具體包括接入交換 機(jī)對(duì)SNMP報(bào)文中的community進(jìn)行校驗(yàn);若其與接入交換機(jī)自身的community —致,則在 接入交換機(jī)維護(hù)的在線MAC列表中查找上述MAC。在本實(shí)施例中,若查詢結(jié)果存在該用戶的 MAC,則返回用戶在線。 優(yōu)選地,在上述檢測(cè)客戶端連接狀態(tài)的方法中,還包括以下步驟若其與接入交換 機(jī)自身的community不一致,則丟棄SNMP報(bào)文。 優(yōu)選地,在上述檢測(cè)客戶端連接狀態(tài)的方法中,還包括以下步驟如果接入交換機(jī) 經(jīng)過(guò)SNMP報(bào)文中的超時(shí)時(shí)間后,仍未響應(yīng)SNMP報(bào)文,將用戶對(duì)應(yīng)的在線用戶記錄刪除。
用戶使用客戶端認(rèn)證上線后,在線用戶管理模塊將用戶的接入信息存儲(chǔ)到數(shù)據(jù) 存儲(chǔ)器形成在線用戶記錄,顯示該用戶在線,此時(shí)Radius服務(wù)器與該客戶端的連接狀態(tài) 為ESTABLISHED ;當(dāng)異常情況發(fā)生時(shí),Radius服務(wù)器失去該客戶端的連接,連接狀態(tài)變?yōu)?LISTENING,此時(shí)在線用戶管理模塊不做任何操作,即該用戶仍然顯示在線狀態(tài)。當(dāng)Radius 服務(wù)器與客戶端的連接狀態(tài)變?yōu)長(zhǎng)ISTENING,分為兩種情況 1)如果Radius服務(wù)器在一個(gè)超時(shí)時(shí)間內(nèi)能夠與該客戶端重新建立連接,則連接 狀態(tài)恢復(fù)為ESTABLISHED ; 2)如果Radius服務(wù)器在經(jīng)過(guò)一個(gè)超時(shí)時(shí)間后仍然無(wú)法與該客戶端重新建立連 接,則連接狀態(tài)變?yōu)镃LOSE_WAIT。 在本發(fā)明的實(shí)施例中,Radius服務(wù)器分別與通過(guò)認(rèn)證的每個(gè)客戶端之間均建立一 個(gè)TCP連接,當(dāng)Radius服務(wù)器與某個(gè)客戶端的連接狀態(tài)變?yōu)镃LOSE_WAIT時(shí),則在相應(yīng)的 接入交換機(jī)上查詢?cè)摽蛻舳说倪B接狀態(tài),即可達(dá)成對(duì)已在線的上網(wǎng)用戶是否在線的檢測(cè)目 的,使Radius服務(wù)器與接入交換機(jī)的在線用戶保持一致。 圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的檢測(cè)客戶端連接狀態(tài)的裝置示意圖,包括
SNMP報(bào)文模塊10,用于在Radius服務(wù)器失去客戶端的TCP連接后,如果超過(guò)第一 設(shè)定時(shí)間無(wú)法與客戶端重新建立TCP連接,發(fā)送SNMP報(bào)文給接入交換機(jī);
查詢模塊20,用于通過(guò)接入交換機(jī)根據(jù)SNMP報(bào)文對(duì)客戶端對(duì)應(yīng)的用戶是否在線 進(jìn)行查詢,并將查詢結(jié)果作為SNMP報(bào)文的響應(yīng); 更新模塊30,用于當(dāng)查詢結(jié)果為客戶端對(duì)應(yīng)的用戶不在線時(shí),將用戶對(duì)應(yīng)的在線 用戶記錄從在線用戶列表中刪除。 在本實(shí)施例中,當(dāng)Radius服務(wù)器失去客戶端的TCP連接后,并超過(guò)第一設(shè)定時(shí)間 無(wú)法與客戶端重新建立TCP連接時(shí),通過(guò)發(fā)送SNMP報(bào)文給接入交換機(jī),對(duì)客戶端的連接狀態(tài)進(jìn)行查詢,當(dāng)查詢到客戶端對(duì)應(yīng)的用戶不在線時(shí),將用戶對(duì)應(yīng)的在線用戶記錄從在線用 戶列表中刪除,從而使得Radius服務(wù)器與接入交換機(jī)的在線用戶信息保持一致,以確保管 理員看到的在線用戶信息是最新的,克服了現(xiàn)有技術(shù)中當(dāng)UDP報(bào)文丟失,或接入交換機(jī)掉 電導(dǎo)致用戶突然斷線等異常情況發(fā)生時(shí),在線用戶列表不會(huì)刪除用戶記錄,導(dǎo)致Radius服 務(wù)器與接入交換機(jī)的在線用戶信息不一致的問(wèn)題。 在本實(shí)施例中,檢測(cè)客戶端連接狀態(tài)的裝置包含在Radius服務(wù)器的在線用戶管 理模塊中,用于對(duì)客戶端的連接狀態(tài)進(jìn)行檢測(cè)。 優(yōu)選地,在上述檢測(cè)客戶端連接狀態(tài)的裝置中,SNMP報(bào)文模塊具體包括獲取單 元,用于通過(guò)在線用戶管理模塊讀取數(shù)據(jù)存儲(chǔ)器中的在線用戶列表,得到客戶端的在線用 戶記錄;參數(shù)單元,用于從在線用戶記錄中獲取客戶端的用戶MAC與NAS IP,并根據(jù)NAS IP到數(shù)據(jù)存儲(chǔ)器中讀取對(duì)應(yīng)設(shè)備信息的community值;發(fā)送單元,用于根據(jù)接入交換機(jī)的 MIB,將用戶MAC與community組裝成SNMP報(bào)文,并根據(jù)NAS IP把SNMP報(bào)文發(fā)送給相應(yīng)的 接入交換機(jī)。 優(yōu)選地,在上述檢測(cè)客戶端連接狀態(tài)的裝置中,查詢模塊具體包括檢驗(yàn)單元,用 于通過(guò)接入交換機(jī)對(duì)SNMP報(bào)文中的community進(jìn)行校驗(yàn);查找單元,用于當(dāng)community與 接入交換機(jī)自身的community —致時(shí),在接入交換機(jī)維護(hù)的在線MAC列表中查找用戶MAC。
優(yōu)選地,在上述檢測(cè)客戶端連接狀態(tài)的裝置中,更新模塊包括超時(shí)單元,用于當(dāng) 經(jīng)過(guò)SNMP報(bào)文中設(shè)定的超時(shí)時(shí)間后,仍未收到SNMP報(bào)文的響應(yīng)時(shí),將用戶的在線用戶記錄 刪除。 圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的Radius服務(wù)器結(jié)構(gòu)示意圖,如圖4所示,
Radius服務(wù)器100包括上述實(shí)施例中的檢測(cè)客戶端連接狀態(tài)的裝置200。 在本實(shí)施例中,當(dāng)Radius服務(wù)器100失去客戶端的連接后,并超過(guò)第一設(shè)定時(shí)間
無(wú)法與客戶端重新建立TCP連接時(shí),通過(guò)檢測(cè)客戶端連接狀態(tài)的裝置200發(fā)送SNMP報(bào)文給
接入交換機(jī),對(duì)客戶端的連接狀態(tài)進(jìn)行查詢,當(dāng)查詢到客戶端對(duì)應(yīng)的用戶不在線時(shí),將用戶
的在線用戶記錄從在線用戶列表中刪除,從而使得Radius服務(wù)器100與接入交換機(jī)的在線
用戶信息保持一致,以確保管理員看到的在線用戶信息是最新的,克服了現(xiàn)有技術(shù)中當(dāng)UDP
報(bào)文丟失,或接入交換機(jī)掉電導(dǎo)致用戶突然斷線等異常情況發(fā)生時(shí),在線用戶列表不會(huì)刪
除用戶記錄,導(dǎo)致Radius服務(wù)器與接入交換機(jī)的在線用戶信息不一致的問(wèn)題。 圖5示出了根據(jù)本發(fā)明一個(gè)優(yōu)選實(shí)施例的網(wǎng)絡(luò)連接狀態(tài)拓?fù)涫疽鈭D,如圖5所示,
Radius服務(wù)器與在線用戶管理模塊有交互,Radius服務(wù)器在用戶上線/用戶下線時(shí)通過(guò)接
口調(diào)用告訴在線用戶管理模塊,Radius服務(wù)器與在線用戶管理模塊均與數(shù)據(jù)存儲(chǔ)器進(jìn)行交互。 n臺(tái)客戶端PC與同一臺(tái)接入交換機(jī)連接以便發(fā)起認(rèn)證和交換機(jī)之間進(jìn)行EAPOL認(rèn) 證交互,m臺(tái)接入交換機(jī)與同一臺(tái)Radius服務(wù)器進(jìn)行Radius交互,并與在線用戶管理模塊 進(jìn)行SNMP交互。 n臺(tái)客戶端通過(guò)Radius服務(wù)器認(rèn)證后,Radius服務(wù)器根據(jù)每個(gè)客戶端PC上傳的 IP地址,分別與每個(gè)客戶端PC之間均建立一個(gè)TCP連接。 圖5實(shí)施例的優(yōu)點(diǎn)在于,一臺(tái)Radius服務(wù)器最多可以負(fù)載n*m臺(tái)客戶端PC進(jìn)行 認(rèn)證,資源利用率高;在現(xiàn)有的802. IX架構(gòu)下實(shí)施,不必改變拓?fù)浣Y(jié)構(gòu),實(shí)施成本較低。
9
申請(qǐng)?zhí)枮镃N200810084178. 3專利申請(qǐng)公開(kāi)了一種檢查郵件服務(wù)器是否有新郵件 到達(dá)的郵件服務(wù)器動(dòng)態(tài)輪詢方法;申請(qǐng)?zhí)枮镃N200810176419. 7的專利申請(qǐng)公開(kāi)了一種統(tǒng) 計(jì)在線用戶數(shù)量的方法,具體為用戶終端定期向Web服務(wù)器發(fā)送通知消息,以通知Web服 務(wù)器用戶當(dāng)前的在線狀態(tài),而Web服務(wù)器每次接收到通知消息時(shí)將數(shù)據(jù)庫(kù)內(nèi)保存的用戶在 線記錄中該用戶的最近訪問(wèn)時(shí)間更新為當(dāng)前的系統(tǒng)時(shí)間,以及定期根據(jù)各用戶的用戶在線 記錄分別確定其相應(yīng)的最近訪問(wèn)時(shí)間,將最近訪問(wèn)時(shí)間歸屬至設(shè)定時(shí)間范圍的用戶確定為 在線用戶,并統(tǒng)計(jì)在線用戶的數(shù)量。 專利200810084178. 3的原理是定時(shí)輪詢,專利200810176419. 7的原理是定時(shí)主
動(dòng)上報(bào),這兩個(gè)專利所采用技術(shù)手段都是"周期性查詢"也就是俗稱的"輪詢"的手段,而周
期性使得基于該手段的方案存在兩個(gè)缺陷一個(gè)缺陷是事件即時(shí)發(fā)生無(wú)法及時(shí)反饋需要等
待周期的到來(lái)才能進(jìn)行觸發(fā),第二個(gè)缺陷是由于每次都是進(jìn)行全部發(fā)送/探查,導(dǎo)致該操
作占用服務(wù)器資源較大,而實(shí)際上絕大部分在線用戶都是不需要進(jìn)行同步的;本發(fā)明實(shí)施
例中采用的是事件觸發(fā)的思想,其本質(zhì)與定時(shí)同步完全不同,避免了上面兩個(gè)專利的兩個(gè)
缺陷,具有實(shí)時(shí)性較好,占用資源較少,很好地克服了前兩個(gè)專利的缺陷。 從以上的描述中,可以看出,本發(fā)明上述的實(shí)施例實(shí)現(xiàn)了如下技術(shù)效果 實(shí)現(xiàn)了在802. IX認(rèn)證體系下檢測(cè)在線用戶的功能,通過(guò)Radius服務(wù)器與客戶端
的長(zhǎng)連接技術(shù)特征(Radius服務(wù)器和客戶端在認(rèn)證通過(guò)后建立TCP連接),從而使Radius
服務(wù)器與接入交換機(jī)的在線用戶信息保持一致(服務(wù)器就可通過(guò)長(zhǎng)連接的狀態(tài)變化第一
時(shí)間獲知用戶的在線狀態(tài)變化),可確保管理員即時(shí)看到的在線用戶信息真實(shí)可靠。 顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用
的計(jì)算裝置來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成
的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而,可以將它們存儲(chǔ)
在存儲(chǔ)裝置中由計(jì)算裝置來(lái)執(zhí)行,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們
中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來(lái)實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的
硬件和軟件結(jié)合。 以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技 術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修 改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種檢測(cè)客戶端連接狀態(tài)的方法,其特征在于,包括以下步驟Radius服務(wù)器失去客戶端的TCP連接后,如果超過(guò)第一設(shè)定時(shí)間無(wú)法與所述客戶端重新建立TCP連接,發(fā)送SNMP報(bào)文給接入交換機(jī);所述接入交換機(jī)根據(jù)所述SNMP報(bào)文對(duì)所述客戶端對(duì)應(yīng)的用戶是否在線進(jìn)行查詢,并將查詢結(jié)果作為所述SNMP報(bào)文的響應(yīng);如果所述查詢結(jié)果為所述用戶不在線,將所述用戶的在線用戶記錄從在線用戶列表中刪除。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,在Radius服務(wù)器失去客戶端的TCP連接 后,如果超過(guò)第一設(shè)定時(shí)間無(wú)法與所述客戶端重新建立TCP連接,發(fā)送SNMP報(bào)文給接入交 換機(jī)之前還包括以下步驟客戶端對(duì)應(yīng)的用戶通過(guò)Radius服務(wù)器認(rèn)證后,所述Radius服務(wù)器根據(jù)所述客戶端上 傳的用戶IP,主動(dòng)與所述客戶端建立TCP連接。
3. 根據(jù)權(quán)利要求l所述的方法,其特征在于,Radius服務(wù)器失去客戶端的連接后,如果 超過(guò)第一設(shè)定時(shí)間無(wú)法與所述客戶端重新建立TCP連接,發(fā)送SNMP報(bào)文給接入交換機(jī)具體 包括在線用戶管理模塊讀取數(shù)據(jù)存儲(chǔ)器中的在線用戶列表,得到所述客戶端對(duì)應(yīng)用戶的在 線用戶記錄;從所述在線用戶記錄中獲取所述用戶的MAC與NAS IP,并根據(jù)所述NAS IP到所述數(shù)據(jù) 存儲(chǔ)器中讀取對(duì)應(yīng)設(shè)備信息的community值;根據(jù)接入交換機(jī)的MIB,將所述用戶的MAC與所述community組裝成SNMP報(bào)文,并根據(jù) 所述NAS IP把所述SNMP報(bào)文發(fā)送給相應(yīng)的接入交換機(jī)。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,根據(jù)接入交換機(jī)的MIB,將所述用戶MAC 與所述community組裝成SNMP報(bào)文,并根據(jù)所述NAS IP把所述SNMP報(bào)文發(fā)送給相應(yīng)的接 入交換機(jī)具體包括設(shè)定SNMP報(bào)文的類型為get類型;以及根據(jù)所述用戶MAC、所述community設(shè)定SNMP報(bào)文發(fā)送的對(duì)象屬性,并在所述對(duì)象屬性 中設(shè)定超時(shí)時(shí)間;根據(jù)所述NAS IP將組裝好的所述SNMP報(bào)文發(fā)給所述在線用戶記錄對(duì)應(yīng)的接入交換機(jī)。
5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述接入交換機(jī)根據(jù)所述SNMP報(bào)文對(duì)所 述客戶端是否在線進(jìn)行查詢,并將查詢結(jié)果作為所述SNMP報(bào)文的響應(yīng)具體包括所述接入交換機(jī)對(duì)所述SNMP報(bào)文中的community進(jìn)行校驗(yàn);若其與所述接入交換機(jī)自身的community —致,則在所述接入交換機(jī)維護(hù)的在線MAC 列表中查找所述用戶MAC。
6. 根據(jù)權(quán)利要求4所述的方法,其特征在于,還包括以下步驟如果所述接入交換機(jī)經(jīng)過(guò)所述SNMP報(bào)文中的所述超時(shí)時(shí)間后,仍未響應(yīng)所述SNMP報(bào) 文,將所述用戶的在線用戶記錄刪除。
7. —種檢測(cè)客戶端連接狀態(tài)的裝置,其特征在于,包括SNMP報(bào)文模塊,用于在Radius服務(wù)器失去客戶端的TCP連接后,如果超過(guò)第一設(shè)定時(shí)間無(wú)法與所述客戶端重新建立TCP連接,發(fā)送SNMP報(bào)文給接入交換機(jī),對(duì)所述客戶端對(duì)應(yīng) 的用戶是否在線進(jìn)行查詢;更新模塊,用于根據(jù)所述SNMP報(bào)文的查詢結(jié)果對(duì)在線用戶列表進(jìn)行更新,當(dāng)所述查詢 結(jié)果為所述用戶不在線時(shí),將所述用戶的在線用戶記錄刪除。
8. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述SNMP報(bào)文模塊具體包括 獲取單元,用于通過(guò)在線用戶管理模塊讀取數(shù)據(jù)存儲(chǔ)器中的在線用戶列表,得到所述客戶端對(duì)應(yīng)用戶的在線用戶記錄;參數(shù)單元,用于從所述在線用戶記錄中獲取所述用戶的MAC與NAS IP,并根據(jù)所述NAS IP到所述數(shù)據(jù)存儲(chǔ)器中讀取對(duì)應(yīng)設(shè)備信息的community值;發(fā)送單元,用于根據(jù)接入交換機(jī)的MIB,將所述用戶的MAC與所述community組裝成 SNMP報(bào)文,并根據(jù)所述NASIP把所述SNMP報(bào)文發(fā)送給相應(yīng)的接入交換機(jī)。
9. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述更新模塊包括 超時(shí)單元,用于當(dāng)經(jīng)過(guò)所述SNMP報(bào)文中設(shè)定的超時(shí)時(shí)間后,仍未收到所述SNMP報(bào)文的 響應(yīng)時(shí),將所述用戶的在線用戶記錄刪除。
10. —種Radius服務(wù)器,其特征在于,包括根據(jù)權(quán)利要求7-9中任一項(xiàng)所述的檢測(cè)客戶 端連接狀態(tài)的裝置。
全文摘要
本發(fā)明公開(kāi)了一種檢測(cè)客戶端連接狀態(tài)的方法、裝置以及Radius服務(wù)器,其中,方法包括以下步驟Radius服務(wù)器失去客戶端的TCP連接后,如果超過(guò)第一設(shè)定時(shí)間無(wú)法與客戶端重新建立TCP連接,發(fā)送SNMP報(bào)文給接入交換機(jī);接入交換機(jī)根據(jù)SNMP報(bào)文對(duì)客戶端對(duì)應(yīng)的用戶是否在線進(jìn)行查詢,并將查詢結(jié)果作為SNMP報(bào)文的響應(yīng);如果查詢結(jié)果為客戶端對(duì)應(yīng)的用戶不在線,將客戶端對(duì)應(yīng)的在線用戶記錄從在線用戶列表中刪除。本發(fā)明使得Radius服務(wù)器與接入交換機(jī)的在線用戶信息保持一致,以確保管理員看到的在線用戶信息是最新的。
文檔編號(hào)H04L29/06GK101707587SQ200910092989
公開(kāi)日2010年5月12日 申請(qǐng)日期2009年9月21日 優(yōu)先權(quán)日2009年9月21日
發(fā)明者楊鑫偉, 燕丹 申請(qǐng)人:北京星網(wǎng)銳捷網(wǎng)絡(luò)技術(shù)有限公司