專利名稱:探測(cè)nat設(shè)備上地址轉(zhuǎn)換條目存活時(shí)間的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種探測(cè)NAT(NetWOrk AddressTranslation,網(wǎng)絡(luò)地址轉(zhuǎn)換)設(shè)備上地址轉(zhuǎn)換條目存活時(shí)間的方法和裝置。
背景技術(shù):
IP多媒體子系統(tǒng)(IMS,IP Multimedia Subsystem)是下一代通信網(wǎng)絡(luò)的發(fā)展方向,旨在實(shí)現(xiàn)固定和移動(dòng)通信網(wǎng)絡(luò)的融合,為固定及移動(dòng)用戶提供豐富的數(shù)據(jù)及多媒體業(yè) 務(wù)。IMS采用SIP (Session Initiation Protocol)協(xié)議作為其多媒體會(huì)話控制協(xié)議, 來完成IMS網(wǎng)絡(luò)中多媒會(huì)話的建立、修改及終止等會(huì)話控制功能。IMS以IP網(wǎng)絡(luò)作為承載網(wǎng),在IP網(wǎng)絡(luò)中,由于各種各樣的原因,如IPV4地址數(shù) 量的日趨枯竭,網(wǎng)絡(luò)安全等,NAT設(shè)備被大量地部署在IP網(wǎng)絡(luò)中,用來進(jìn)行公私網(wǎng)地址的轉(zhuǎn) 換;在IMS環(huán)境中,IMS客戶端經(jīng)常需要通過NAT設(shè)備接入到IMS核心網(wǎng)。通常情況下,NAT設(shè)備具有單向性,如圖1所示,來自NAT設(shè)備一側(cè)(設(shè)定為A側(cè)) 的IP數(shù)據(jù)包先在NAT設(shè)備上打通一條IP通道,NAT會(huì)根據(jù)數(shù)據(jù)包的地址、端口等信息,創(chuàng) 建一條IP地址轉(zhuǎn)換條目,這樣另一側(cè)(設(shè)定為B側(cè))的數(shù)據(jù)包才可以通過。其中,建立的 IP通道有一個(gè)超時(shí)失效時(shí)間,如果在規(guī)定時(shí)間內(nèi)沒有數(shù)據(jù)包通過,通道就會(huì)被刪除,網(wǎng)絡(luò)就 會(huì)斷開,來自NAT設(shè)備B側(cè)的數(shù)據(jù)包就會(huì)被丟棄。在存在NAT設(shè)備的環(huán)境中,為了保證IMS客戶端和核心網(wǎng)之間的IP通道的正常雙 向互通,IMS客戶端和核心網(wǎng)之間必須定期發(fā)送數(shù)據(jù)包,來刷新NAT設(shè)備上的IP通道,一般 是由核心網(wǎng)接入設(shè)備(P-CSCF(Proxy Call Session ControlFunction,代理呼叫控制功能 實(shí)體)或SBC(SeSSi0n Border Controller,會(huì)話邊緣控制器))向客戶端定期發(fā)送SIP協(xié) 議的OPTIONS請(qǐng)求消息。下面結(jié)合圖2簡(jiǎn)要介紹其基本工作原理步驟S201、客戶端向NAT發(fā)送注冊(cè)請(qǐng)求消息。步驟S202、NAT為該客戶端分配IP通道條目。步驟S203、NAT向P-CSCF (SBC)發(fā)送客戶端注冊(cè)請(qǐng)求消息。步驟S204、P-CSCF(SBC)向 S-CSCF(Service Call Session Control Function, 服務(wù)呼叫控制功能實(shí)體)發(fā)送客戶端注冊(cè)請(qǐng)求消息。步驟S205、S-CSCF 向 P-CSCF(SBC)返回 2000K。步驟S206、P-CSCF (SBC)向 NAT 返回 2000K。步驟S207、NAT接收到2000K消息后,刷新原來創(chuàng)建的IP通道1,并向客戶端返回 2000K。步驟S208、在客戶端注冊(cè)成功后,為了保證客戶端在NAT設(shè)備上的IP通道不因 超時(shí)而失效,核心網(wǎng)接入設(shè)備(P-CSCF或SBC)根據(jù)配置的時(shí)間間隔,定期向客戶端發(fā)送 OPTIONS請(qǐng)求消息來刷新NAT上的IP通道。步驟S209、P-CSCF (SBC)向 NAT 發(fā)送 OPTIONS 請(qǐng)求消息。
步驟S210、NAT刷新IP通道并轉(zhuǎn)發(fā)OPTIONS請(qǐng)求給客戶端。步驟S211、客戶端返回2000K響應(yīng)給NAT。步驟S212、NAT 向 P-CSCF(SBC)返回 2000K。這樣就完成了一次NAT IP通道的刷新。通過這種定期地發(fā)送OPTIONS請(qǐng)求消息, 就可以保持相應(yīng)的IP連接的雙向互通性。上述傳統(tǒng)方法的工作原理能夠在一定程度范圍內(nèi)工作,但是有較大的缺陷接入IP網(wǎng)絡(luò)中有許多NAT設(shè)備,不同的NAT設(shè)備,其地址轉(zhuǎn)換條目的超時(shí)時(shí)間各 不相同,有的較大,有的較小,該參數(shù)通過人工方式一般較難獲取,因此IMS核心網(wǎng)接入設(shè) 備上配置的NAT IP通道刷新時(shí)間一般都是估計(jì)出來的,只能滿足部分NAT設(shè)備。刷新機(jī)制單一,由于無法動(dòng)態(tài)探測(cè)出各個(gè)NAT設(shè)備的IP通道超時(shí)時(shí)間,故只能配 置一個(gè)很小的時(shí)間來定期刷新所有的NAT設(shè)備,不能針對(duì)不同的NAT,采用不同的刷新時(shí) 間。最終的配置時(shí)間必須要小于最小的NAT設(shè)備IP通道超時(shí)時(shí)間,當(dāng)用戶量較大時(shí), 刷新消息處理會(huì)嚴(yán)重消耗核心網(wǎng)接入設(shè)備的CPU處理,導(dǎo)致設(shè)備性能下降??傊?,目前IMS環(huán)境中對(duì)NAT設(shè)備上的IP通道的刷新機(jī)制比較呆板不靈活,其根 源是尚沒有一種成熟的方法來動(dòng)態(tài)探測(cè)NAT設(shè)備的IP通道超時(shí)時(shí)間。
發(fā)明內(nèi)容
本發(fā)明提供一種探測(cè)NAT設(shè)備上地址轉(zhuǎn)換條目存活時(shí)間的方法和裝置,用以解決 現(xiàn)有技術(shù)中探測(cè)NAT設(shè)備的IP通道超時(shí)時(shí)間方法不成熟的問題。本發(fā)明提供一種探測(cè)NAT設(shè)備上地址轉(zhuǎn)換條目存活時(shí)間的方法,包括步驟1、接入設(shè)備向客戶端發(fā)送預(yù)設(shè)的周期信息,使客戶端按照所述周期信息向所 述接入設(shè)備發(fā)送探測(cè)消息;步驟2、所述接入設(shè)備接收并檢測(cè)所述客戶端發(fā)送的數(shù)據(jù)消息,與已接收的相鄰數(shù) 據(jù)消息的IP通道是否相同,若是,執(zhí)行步驟3,否則,執(zhí)行步驟4 ;步驟3、所述接入設(shè)備根據(jù)接收到的所述客戶端發(fā)送的數(shù)據(jù)消息的時(shí)間,與前一個(gè) 交互數(shù)據(jù)消息的時(shí)間,記錄時(shí)間間隔,并在所述客戶端發(fā)送的數(shù)據(jù)消息類型為探測(cè)消息時(shí), 調(diào)高所述周期信息,判斷調(diào)高后的周期信息是否達(dá)到預(yù)設(shè)最大值,若是,執(zhí)行步驟4 ;否則, 將所述調(diào)高后的周期信息作為預(yù)設(shè)的周期信息,返回步驟1 ;步驟4、所述接入設(shè)備以所述時(shí)間間隔中的最大值為NAT設(shè)備上地址轉(zhuǎn)換條目存 活時(shí)間。本發(fā)明所述方法中,接入設(shè)備向客戶端發(fā)送預(yù)設(shè)的周期信息的方式包括所述接入設(shè)備通過將所述預(yù)設(shè)的周期信息添加到注冊(cè)刷新消息的expires消息 頭中向所述客戶端發(fā)送;或者,所述接入設(shè)備通過將所述預(yù)設(shè)的周期信息添加到應(yīng)答響應(yīng)消息的消息頭中向所 述客戶端發(fā)送;或者,所述接入設(shè)備通過將所述預(yù)設(shè)的周期信息添加到預(yù)先與所述客戶端協(xié)商的私有 消息中向所述客戶端發(fā)送。本發(fā)明所述方法中,調(diào)高所述周期信息的方式包括按預(yù)設(shè)步進(jìn)遞增的調(diào)高所述
5周期信息;所述預(yù)設(shè)最大值為核心網(wǎng)指定的注冊(cè)刷新周期值。本發(fā)明所述方法中,接入設(shè)備檢測(cè)所述客戶端發(fā)送的數(shù)據(jù)消息與已接收的相鄰數(shù)據(jù)消息的IP通道是否相同的方式包括所述接入設(shè)備檢測(cè)所述客戶端發(fā)送的數(shù)據(jù)消息的IP通道條目信息與已接收的相 鄰數(shù)據(jù)消息的IP通道條目信息是否相同;所述IP通道條目信息包括IP地址和端口號(hào)。本發(fā)明所述方法中,所述接入設(shè)備記錄所述時(shí)間間隔,并在所述客戶端發(fā)送的數(shù) 據(jù)消息類型為非探測(cè)消息時(shí)還包括所述接入設(shè)備向核心網(wǎng)服務(wù)器發(fā)送當(dāng)前非探測(cè)消息,并將所述核心網(wǎng)服務(wù)器反饋 的處理結(jié)果通過NAT設(shè)備發(fā)送給所述客戶端。本發(fā)明還提供一種探測(cè)網(wǎng)絡(luò)地址轉(zhuǎn)換NAT設(shè)備上地址轉(zhuǎn)換條目存活時(shí)間的裝置, 包括周期信息下發(fā)單元,用于向客戶端發(fā)送預(yù)設(shè)的周期信息,使客戶端按照所述周期 信息向所述接入設(shè)備發(fā)送探測(cè)消息;數(shù)據(jù)消息檢測(cè)單元,用于接收并檢測(cè)所述客戶端發(fā)送的數(shù)據(jù)消息,與已接收的相 鄰數(shù)據(jù)消息的IP通道是否相同,若是,觸發(fā)數(shù)據(jù)消息處理單元;否則,觸發(fā)探測(cè)結(jié)果獲取單 元;數(shù)據(jù)消息處理單元,用于根據(jù)接收到的所述客戶端發(fā)送的數(shù)據(jù)消息的時(shí)間,與前 一個(gè)交互數(shù)據(jù)消息的時(shí)間,記錄時(shí)間間隔,并在所述客戶端發(fā)送的數(shù)據(jù)消息類型為探測(cè)消 息時(shí),調(diào)高所述周期信息,判斷調(diào)高后的周期信息是否達(dá)到預(yù)設(shè)最大值,若是,觸發(fā)探測(cè)結(jié) 果獲取單元;否則,將所述調(diào)高后的周期信息作為預(yù)設(shè)的周期信息,觸發(fā)所述周期信息下發(fā) 單元;探測(cè)結(jié)果獲取單元,用于以所述數(shù)據(jù)消息處理單元記錄的所述時(shí)間間隔中的最大 值為NAT設(shè)備上地址轉(zhuǎn)換條目存活時(shí)間。本發(fā)明所提供的裝置進(jìn)一步具有以下特點(diǎn)所述周期信息下發(fā)單元向客戶端發(fā)送預(yù)設(shè)的周期信息的方式包括通過將所述預(yù)設(shè)的周期信息添加到注冊(cè)消息的expires消息頭中向所述客戶端 發(fā)送;或者,通過將所述預(yù)設(shè)的周期信息添加到應(yīng)答響應(yīng)消息的消息頭中向所述客戶端發(fā)送; 或者,通過將所述預(yù)設(shè)的周期信息添加到預(yù)先與所述客戶端協(xié)商的私有消息中向所述 客戶端發(fā)送。所述數(shù)據(jù)消息處理單元中調(diào)高所述周期信息的方式包括按預(yù)設(shè)步進(jìn)遞增的調(diào)高 所述周期信息;所述預(yù)設(shè)最大值為核心網(wǎng)指定的注冊(cè)刷新周期值。所述數(shù)據(jù)消息檢測(cè)單元檢測(cè)客戶端發(fā)送的數(shù)據(jù)消息與已接收的相鄰數(shù)據(jù)消息的 IP通道是否相同的方式包括檢測(cè)所述客戶端發(fā)送的數(shù)據(jù)消息的IP通道條目信息與已接收的相鄰數(shù)據(jù)消息的 IP通道條目信息是否相同;所述IP通道條目信息包括IP地址和端口號(hào)。所述數(shù)據(jù)消息處理單元記錄所述時(shí)間間隔,并在所述客戶端發(fā)送的數(shù)據(jù)消息類型 為非注冊(cè)刷新消息時(shí),向核心網(wǎng)服務(wù)器發(fā)送當(dāng)前非探測(cè)消息,并將所述核心網(wǎng)服務(wù)器反饋的處理結(jié)果通過NAT設(shè)備發(fā)送給所述客戶端。與現(xiàn)有技術(shù)相比,本發(fā)明有益效果如下本發(fā)明提供的方法中,核心網(wǎng)接入設(shè)備通過控制客戶端按一定頻率發(fā)送探測(cè)消 息、記錄相鄰消息交互時(shí)間間隔,當(dāng)IP通道失效時(shí),就可以自動(dòng)探測(cè)出NAT設(shè)備上的IP通 道存活時(shí)間;對(duì)于不同的NAT設(shè)備,以不同的頻率發(fā)送探測(cè)消息,在用戶數(shù)量較多的情況 下,可以大大降低CPU的消耗和對(duì)帶寬的占用。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是 本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還 可以根據(jù)這些附圖獲得其他的附圖。圖1為現(xiàn)有技術(shù)中IMS系統(tǒng)組網(wǎng)結(jié)構(gòu)示意圖;圖2為現(xiàn)有技術(shù)中IMS環(huán)境中?;頝AT設(shè)備上IP通道的方法流程圖;圖3為本發(fā)明提供的探測(cè)NAT設(shè)備上地址轉(zhuǎn)換條目存活時(shí)間方法的流程圖;圖4為本發(fā)明具體示例提供的探測(cè)NAT設(shè)備上地址轉(zhuǎn)換條目存活時(shí)間方法的流程 圖;圖5為本發(fā)明提供的探測(cè)NAT設(shè)備上地址轉(zhuǎn)換條目存活時(shí)間裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍?;诂F(xiàn)有技術(shù)中動(dòng)態(tài)探測(cè)NAT設(shè)備的IP通道存活時(shí)間方法不成熟,不能夠準(zhǔn)確得 到各NAT設(shè)備上IP通道存活時(shí)間的問題,本發(fā)明提供一種探測(cè)NAT設(shè)備上地址轉(zhuǎn)換條目存 活時(shí)間的方法和裝置,所述方法為系統(tǒng)邊緣接入設(shè)備設(shè)定IP通道存活時(shí)間提供了數(shù)據(jù)支 持。其中,在IMS或軟交換核心網(wǎng)中,邊緣接入設(shè)備一般是指P-CSCF或SBC。為了清楚的表述本發(fā)明的實(shí)現(xiàn)過程,下面結(jié)合現(xiàn)有技術(shù)的相關(guān)理論,對(duì)本發(fā)明所 述方法的原理進(jìn)行闡述SIP客戶端必須先在核心網(wǎng)成功注冊(cè)后,才能使用SIP業(yè)務(wù);注冊(cè)成功后,客戶端 還要根據(jù)核心網(wǎng)指定的注冊(cè)刷新周期,定期向核心網(wǎng)發(fā)送注冊(cè)刷新消息來刷新在核心網(wǎng)保 存的注冊(cè)數(shù)據(jù)。核心網(wǎng)設(shè)定的客戶端注冊(cè)有效期時(shí)間,即核心網(wǎng)指定的注冊(cè)刷新周期(一般為 1800s以上)一般都遠(yuǎn)遠(yuǎn)大于NAT設(shè)備上的IP通道存活時(shí)間(該存活時(shí)間通常為幾十到幾 百秒不等),客戶端根據(jù)核心網(wǎng)設(shè)定的刷新周期發(fā)送注冊(cè)刷新消息時(shí),如果在該刷新周期內(nèi) 沒有其它消息,則NAT設(shè)備上所創(chuàng)建的IP通道很可能早就過期失效了,在失效期間,來自核 心網(wǎng)的請(qǐng)求就無法到達(dá)客戶端,進(jìn)而造成呼損。當(dāng)IP通道失效后,如果客戶端再次發(fā)送新消息時(shí),NAT—般會(huì)分配一個(gè)新的IP通道條目信息,該通道條目信息對(duì)應(yīng)變換后的端口號(hào)+IP地址,而該條目信息與客戶端注冊(cè) 時(shí)的端口號(hào)+IP地址是不一樣的。本發(fā)明就基于該條目信息的變化,作為IP通道失效的判 斷依據(jù),下面詳細(xì)闡述具體實(shí)現(xiàn)原理本發(fā)明所提供的方法為了能夠快速探測(cè)出NAT設(shè)備上的IP通道存活時(shí)間,其核心 思想是,接入設(shè)備必須能夠控制客戶端消息的發(fā)送(控制客戶端消息發(fā)送的原因是防止客 戶端一段時(shí)間內(nèi)不發(fā)送消息,導(dǎo)致IP通道失效),該控制方式可以通過向客戶端發(fā)送自定 義的周期信息,使客戶端根據(jù)周期信息規(guī)定的時(shí)間間隔發(fā)送探測(cè)消息。通過自行設(shè)定周期 信息,迫使客戶端主動(dòng)發(fā)送探測(cè)消息,有效的防止了客戶端一段時(shí)間內(nèi)沒有業(yè)務(wù)消息導(dǎo)致 IP通道失效的問題。其中,接入設(shè)備發(fā)送的自定義周期信息可以根據(jù)實(shí)際情況自行靈活設(shè) 定(例如,設(shè)定為30s到300s之間),從較小值開始,并在接收到IP地址+端口號(hào)未改變的 探測(cè)消息時(shí),按預(yù)設(shè)的步進(jìn)遞增當(dāng)前設(shè)定的周期信息,其中,遞增的步進(jìn)值可自行設(shè)定,但 應(yīng)該能夠較快收斂。需要說明的是,上述設(shè)定的周期值存在一最大值,該最大值優(yōu)選為核心 網(wǎng)指定的注冊(cè)刷新周期。在設(shè)定周期信息的相關(guān)規(guī)則后,接入設(shè)備檢測(cè)客戶端發(fā)送的數(shù)據(jù)消息(包括探測(cè) 消息和非探測(cè)消息)的IP地址和端口號(hào),并記錄客戶端和接入設(shè)備相鄰兩次數(shù)據(jù)消息交互 時(shí)間間隔,當(dāng)在檢測(cè)出IP通道條目信息發(fā)生變化時(shí)(表明NAT設(shè)備上的IP通道失效),以 記錄的時(shí)間間隔的最大值為對(duì)應(yīng)的地址轉(zhuǎn)換條目存活時(shí)間(即IP通道存活時(shí)間),探測(cè)結(jié)
束o值得注意的是,本發(fā)明所述方法中檢測(cè)IP通道是否失效并不限于判斷IP通道條 目信息是否發(fā)生改變這一種方式,對(duì)于IP通道變化后,引起的其他標(biāo)識(shí)信息的改變,都可 以作為檢測(cè)基準(zhǔn),也都在本發(fā)明的保護(hù)范圍之內(nèi)?;谏鲜鲈肀硎?,下面給出本發(fā)明提供的探測(cè)NAT設(shè)備上地址轉(zhuǎn)換條目存活時(shí) 間方法的具體實(shí)現(xiàn)過程,如圖3所示,包括以下步驟步驟S301、接入設(shè)備向客戶端發(fā)送預(yù)設(shè)的周期信息,使客戶端按照所述周期信息 向所述接入設(shè)備發(fā)送探測(cè)消息。步驟S302、接入設(shè)備接收并檢測(cè)所述客戶端發(fā)送的數(shù)據(jù)消息,與已接收的相鄰數(shù) 據(jù)消息的IP通道是否相同,若是,執(zhí)行步驟S303,否則,執(zhí)行步驟S305。其中,已接收的相鄰數(shù)據(jù)消息與接入設(shè)備當(dāng)前接收到的數(shù)據(jù)消息來自同一客戶端。并且本方法中,將數(shù)據(jù)消息劃分為探測(cè)消息和非探測(cè)消息兩種數(shù)據(jù)類型。步驟S303、接入設(shè)備根據(jù)接收到的客戶端發(fā)送的數(shù)據(jù)消息的時(shí)間,與前一個(gè)交互 數(shù)據(jù)消息的時(shí)間,記錄時(shí)間間隔,并在客戶端發(fā)送的數(shù)據(jù)消息類型為探測(cè)消息時(shí),調(diào)高所述 周期信息。其中,所述交互數(shù)據(jù)消息是指接入設(shè)備在接收到客戶端當(dāng)前發(fā)送的數(shù)據(jù)消息前, 接入設(shè)備接收到所述客戶端的數(shù)據(jù)消息,或者所述接入設(shè)備發(fā)送給所述客戶端的數(shù)據(jù)消 息;步驟S304、接入設(shè)備判斷調(diào)高后的周期值是否達(dá)到預(yù)設(shè)最大值,若是,執(zhí)行步驟 S305;否則,將調(diào)高后的周期信息作為預(yù)設(shè)的周期信息,返回步驟S301。步驟S305、接入設(shè)備以記錄的時(shí)間間隔中的最大值為NAT設(shè)備上地址轉(zhuǎn)換條目存活時(shí)間。本發(fā)明所述方法中,接入設(shè)備向客戶端發(fā)送周期信息,控制客戶端按一定頻率發(fā) 送探測(cè)消息的控制方式至少包括下述三種接入設(shè)備通過將預(yù)設(shè)的周期信息添加到注冊(cè)刷新消息的expires消息頭中向客 戶端發(fā)送;或者,接入設(shè)備通過將預(yù)設(shè)的周期信息添加到應(yīng)答響應(yīng)消息的消息頭中向客戶端發(fā)送; 或者,接入設(shè)備通過將預(yù)設(shè)的周期信息添加到預(yù)先與客戶端協(xié)商的私有消息中向客戶 端發(fā)送。下面就通過幾個(gè)具體實(shí)施例對(duì)不同控制方式的實(shí)現(xiàn)過程加以闡述實(shí)施例一本實(shí)施例是通過注冊(cè)刷新消息發(fā)送設(shè)定的周期信息,實(shí)現(xiàn)核心網(wǎng)對(duì)客戶端發(fā)送消 息頻率的控制,具體的,本實(shí)施例提供的方法流程包括以下步驟S11,接入設(shè)備接收到來自客戶端的注冊(cè)請(qǐng)求消息。S12,接入設(shè)備向核心網(wǎng)服務(wù)器發(fā)送該注冊(cè)請(qǐng)求消息,并在接收到來自核心網(wǎng)服務(wù) 器的2000K注冊(cè)成功消息時(shí),根據(jù)預(yù)設(shè)的周期信息修改注冊(cè)刷新周期expires消息頭的值, 轉(zhuǎn)發(fā)給客戶端。當(dāng)然,設(shè)定的周期信息通常為IP通道存活時(shí)間的最小值,例如,25 30s,然而,若 IP通道存活時(shí)間比當(dāng)前設(shè)定的還要短,則在當(dāng)前IP通道失效后,調(diào)整預(yù)設(shè)的周期信息,繼 續(xù)采用本方法進(jìn)行探測(cè)。S13,接入設(shè)備檢查來自該客戶端的數(shù)據(jù)消息的IP地址和端口號(hào),對(duì)比已接收的 相鄰數(shù)據(jù)消息的IP地址和端口號(hào)是否一致,若一致,執(zhí)行步驟S15 ;否則,執(zhí)行步驟S14。S14、接入設(shè)備以記錄的相鄰兩次數(shù)據(jù)消息交互時(shí)間間隔的最大值為NAT設(shè)備上 地址轉(zhuǎn)換條目存活時(shí)間。S15,記錄客戶端發(fā)送的數(shù)據(jù)消息與已交互的相鄰數(shù)據(jù)消息的交互時(shí)間間隔,并在 所述數(shù)據(jù)消息為客戶端根據(jù)接入設(shè)備設(shè)定的注冊(cè)刷新周期發(fā)送的注冊(cè)刷新消息時(shí),按預(yù)設(shè) 的步進(jìn)值遞增的調(diào)整當(dāng)前設(shè)定的周期信息。S16、接入設(shè)備判斷調(diào)高后的周期信息是否已大于等于核心網(wǎng)指定的注冊(cè)刷新周 期,若是,執(zhí)行步驟S14;否則,執(zhí)行步驟S17。S17、接入設(shè)備修改注冊(cè)刷新周期expires消息頭的值為調(diào)高后的周期值,向客戶 端反饋,使客戶端根據(jù)當(dāng)前周期信息發(fā)送注冊(cè)刷新消息。上述客戶端根據(jù)周期信息發(fā)送的注冊(cè)刷新消息即為原理部分表述的探測(cè)消息。實(shí)施例二本實(shí)施例是以目前已有的響應(yīng)消息或者接入設(shè)備與客戶端預(yù)先協(xié)商好的私有消 息發(fā)送周期信息,實(shí)現(xiàn)核心網(wǎng)對(duì)客戶端發(fā)送消息頻率的控制,具體的,本實(shí)施例提供的方法 流程包括以下步驟S21,接入設(shè)備按約定的消息格式向已注冊(cè)的客戶端發(fā)送預(yù)設(shè)的周期信息。當(dāng)然,預(yù)設(shè)的周期信息通常為IP通道存活時(shí)間的最小值,例如,25 30s,然而,若 IP通道存活時(shí)間比當(dāng)前設(shè)定的還要短,則在當(dāng)前IP通道失效后,調(diào)整預(yù)設(shè)的周期信息,繼續(xù)采用本方法進(jìn)行探測(cè)。S22,接入設(shè)備檢查來自所述客戶端的數(shù)據(jù)消息的IP地址和端口號(hào),對(duì)比已接收 的相鄰數(shù)據(jù)消息的IP地址和端口號(hào)是否一致,若一致,執(zhí)行步驟S24 ;否則,執(zhí)行步驟S23。S23、接入設(shè)備以記錄的相鄰兩次數(shù)據(jù)消息交互時(shí)間間隔的最大值為NAT設(shè)備上 地址轉(zhuǎn)換條目存活時(shí)間。S24,記錄當(dāng)前接收的數(shù)據(jù)消息與已交互的相鄰數(shù)據(jù)消息的交互時(shí)間間隔,并在所 述數(shù)據(jù)消息是客戶端根據(jù)接入設(shè)備設(shè)定的周期信息發(fā)送的探測(cè)消息時(shí),按預(yù)設(shè)的步進(jìn)值遞 增的調(diào)整當(dāng)前設(shè)定的周期信息。S25、接入設(shè)備判斷調(diào)高后的周期信息是否已大于等于核心網(wǎng)指定的注冊(cè)刷新周 期,若是,執(zhí)行步驟S23 ;否則,執(zhí)行步驟S26。S26、接入設(shè)備按約定的消息格式將調(diào)高后的周期信息發(fā)送給客戶端,使客戶端根 據(jù)當(dāng)前周期信息發(fā)送探測(cè)消息。下面結(jié)合圖4給出本發(fā)明所述方法的一個(gè)具體示例,并結(jié)合對(duì)實(shí)施例的描述,進(jìn) 一步給出本發(fā)明的技術(shù)細(xì)節(jié),使其能夠更好地說明本發(fā)明所述方法的具體實(shí)現(xiàn)過程。本示 例是以注冊(cè)刷新消息為例進(jìn)行說明的,具體包括以下步驟步驟S401、IMS客戶端發(fā)送初始注冊(cè)請(qǐng)求消息(Register消息)。步驟S402、NAT設(shè)備為該客戶端分配一個(gè)IP通道1。步驟S403、NAT向P-CSCF(SBC)轉(zhuǎn)發(fā)IMS客戶端的注冊(cè)請(qǐng)求消息。步驟S404、P-CSCF(SBC)記錄下注冊(cè)數(shù)據(jù)包的IP地址和端口號(hào)。步驟S405、P-CSCF (SBC)將注冊(cè)請(qǐng)求消息轉(zhuǎn)發(fā)給S-CSCF服務(wù)器。步驟S406、用戶注冊(cè)成功,S-CSCF向P-CSCF(SBC)回2000K響應(yīng)。步驟S407、P_CSCF(SBC)修改2000K消息中的Expires值為預(yù)設(shè)的注冊(cè)刷新周期。步驟S408、P-CSCF (SBC)向NAT設(shè)備轉(zhuǎn)發(fā)上述2000K響應(yīng)消息。步驟S409、NAT設(shè)備向客戶端轉(zhuǎn)發(fā)2000K響應(yīng)。步驟S410、客戶端根據(jù)響應(yīng)消息中Expires中的注冊(cè)刷新周期發(fā)送注冊(cè)刷新消 肩、o步驟S411、NAT轉(zhuǎn)發(fā)注冊(cè)刷新消息。步驟S412、P-CSCF(SBC)檢查注冊(cè)刷新消息的IP地址和端口號(hào),對(duì)比原來記錄的 注冊(cè)消息的IP地址和端口號(hào),若發(fā)現(xiàn)沒有改變,記錄和客戶端相鄰兩次消息交互的時(shí)間間 隔,并按預(yù)設(shè)步進(jìn)遞增Expires消息頭中注冊(cè)刷新周期的值。步驟S413、P-CSCF(SBC)自動(dòng)給客戶端回2000K注冊(cè)成功消息,該消息中攜帶有調(diào) 整后的注冊(cè)刷新周期信息。步驟S414、NAT 轉(zhuǎn)發(fā) 2000K 響應(yīng)。步驟S415、客戶端發(fā)送Invite (或其它非注冊(cè)刷新消息)請(qǐng)求消息。步驟S416、NAT轉(zhuǎn)發(fā)Invite (或其它非注冊(cè)刷新消息)請(qǐng)求消息。步驟S417、P-CSCF(SBC)檢查請(qǐng)求消息的IP地址和端口號(hào),對(duì)比注冊(cè)請(qǐng)求消息的 IP地址和端口號(hào),若沒有變化,記錄相鄰兩次消息交互的時(shí)間間隔。步驟S418、P-CSCF(SBC)轉(zhuǎn)發(fā)Invite (或其它非注冊(cè))請(qǐng)求消息給S-CSCF。步驟S419、請(qǐng)求成功,S-CSCF 2000K響應(yīng)。
步驟S420、P-CSCF (SBC)轉(zhuǎn)發(fā) 2000K 響應(yīng)。步驟S421、NAT 轉(zhuǎn)發(fā) 2000K 響應(yīng)。若NAT設(shè)備上的IP通道超時(shí)失效了,則有步驟S422、客戶端發(fā)送注冊(cè)刷新請(qǐng)求消息。步驟S423、NAT設(shè)備為該客戶端分配一個(gè)新的IP通道2。步驟S424、NAT轉(zhuǎn)發(fā)IMS客戶端的注冊(cè)刷新請(qǐng)求消息。步驟S425、P-CSCF(SBC)檢查注冊(cè)刷新消息的數(shù)據(jù)包IP地址和端口號(hào),對(duì)比原來 記錄的注冊(cè)消息的IP地址和端口號(hào),發(fā)現(xiàn)有不同,則將注冊(cè)消息的IP地址和端口號(hào)未改變 前記錄的相鄰兩次消息交互的最大時(shí)間間隔作為NAT上的IP通道超時(shí)時(shí)間,檢測(cè)結(jié)束。步驟S426、P-CSCF(SBC)將注冊(cè)刷新請(qǐng)轉(zhuǎn)發(fā)給S-CSCF。步驟S427、S-CSCF 回 2000K 響應(yīng)。步驟S428、P-CSCF(SBC)不再修改2000K響應(yīng)中的Expires消息頭的值,轉(zhuǎn)發(fā)給 NAT設(shè)備。步驟S429、NAT從IP通道2將2000K響應(yīng)轉(zhuǎn)發(fā)給客戶端。當(dāng)上述NAT上的IP通道超時(shí)時(shí)間被探測(cè)出來后,P-CSCF (SBC)就可以根據(jù)該超時(shí) 時(shí)間,定期發(fā)送OPTIONS請(qǐng)求消息或讓客戶端按相應(yīng)的時(shí)間頻率來發(fā)送注冊(cè)刷新消息,進(jìn) 行NAT上的IP通道?;钏⑿隆>C上所述,本發(fā)明所述方法中,核心網(wǎng)接入設(shè)備通過控制客戶端按一定頻率發(fā)送 探測(cè)消息、記錄相鄰消息交互時(shí)間間隔,當(dāng)IP通道失效時(shí),就可以自動(dòng)探測(cè)出NAT設(shè)備上的 IP通道存活時(shí)間;對(duì)于不同的NAT設(shè)備,以不同的頻率發(fā)送刷新消息,在用戶數(shù)量較多的情 況下,可以大大降低刷新消息對(duì)CPU的消耗,并減少刷新消息數(shù),降低對(duì)帶寬的占用,較大 地優(yōu)化了目前在IMS(或軟交換)環(huán)境下對(duì)NAT設(shè)備上的IP通道進(jìn)行?;钏⑿碌奶幚頇C(jī)制。本發(fā)明還提供一種探測(cè)NAT設(shè)備上地址轉(zhuǎn)換條目存活時(shí)間裝置,如圖5所示,包 括周期信息下發(fā)單元510,用于向客戶端發(fā)送預(yù)設(shè)的周期信息,使客戶端按照所述周 期信息向所述接入設(shè)備發(fā)送探測(cè)消息;數(shù)據(jù)消息檢測(cè)單元520,用于接收并檢測(cè)所述客戶端發(fā)送的數(shù)據(jù)消息,與已接收的 相鄰數(shù)據(jù)消息的IP通道是否相同,若是,觸發(fā)數(shù)據(jù)消息處理單元530 ;否則,觸發(fā)探測(cè)結(jié)果 獲取單元540 ;數(shù)據(jù)消息處理單元530,用于根據(jù)接收到的所述客戶端發(fā)送的數(shù)據(jù)消息的時(shí)間,與 前一個(gè)交互數(shù)據(jù)消息的時(shí)間,記錄時(shí)間間隔,并在所述客戶端發(fā)送的數(shù)據(jù)消息類型為探測(cè) 消息時(shí),調(diào)高所述周期信息,判斷調(diào)高后的周期信息是否達(dá)到預(yù)設(shè)最大值,若是,觸發(fā)探測(cè) 結(jié)果獲取單元540 ;否則,將所述調(diào)高后的周期信息作為預(yù)設(shè)的周期信息,觸發(fā)所述周期信 息下發(fā)單元510;探測(cè)結(jié)果獲取單元540,用于以所述數(shù)據(jù)消息處理單元530記錄的所述時(shí)間間隔 中的最大值為NAT設(shè)備上地址轉(zhuǎn)換條目存活時(shí)間。本發(fā)明所述裝置進(jìn)一步具有以下特點(diǎn)周期信息下發(fā)單元510向客戶端發(fā)送預(yù)設(shè)的周期信息的方式包括通過將預(yù)設(shè)的周期信息添加到注冊(cè)消息的expires消息頭中向所述客戶端發(fā)送;或者,通過將預(yù)設(shè)的周期信息添加到應(yīng)答響應(yīng)消息的消息頭中向所述客戶端發(fā)送;或 者,通過將預(yù)設(shè)的周期信息添加到預(yù)先與所述客戶端協(xié)商的私有消息中向所述客戶 端發(fā)送。數(shù)據(jù)消息處理單元530中調(diào)高周期信息的方式包括按預(yù)設(shè)步進(jìn)遞增的調(diào)高所述 周期信息;所述預(yù)設(shè)最大值為核心網(wǎng)指定的注冊(cè)刷新周期值。數(shù)據(jù)消息檢測(cè)單元520檢測(cè)客戶端發(fā)送的數(shù)據(jù)消息與已接收的相鄰數(shù)據(jù)消息的 IP通道是否相同的方式包括檢測(cè)所述客戶端發(fā)送的數(shù)據(jù)消息的IP通道條目信息與已接收的相鄰數(shù)據(jù)消息的 IP通道條目信息是否相同;所述IP通道條目信息包括IP地址和端口號(hào)。數(shù)據(jù)消息處理單元530記錄所述時(shí)間間隔,并在所述客戶端發(fā)送的數(shù)據(jù)消息類型 為非注冊(cè)刷新消息時(shí),向核心網(wǎng)服務(wù)器發(fā)送當(dāng)前非探測(cè)消息,并將所述核心網(wǎng)服務(wù)器反饋 的處理結(jié)果通過NAT設(shè)備發(fā)送給所述客戶端。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精 神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍 之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
一種探測(cè)網(wǎng)絡(luò)地址轉(zhuǎn)換NAT設(shè)備上地址轉(zhuǎn)換條目存活時(shí)間的方法,其特征在于,包括步驟1、接入設(shè)備向客戶端發(fā)送預(yù)設(shè)的周期信息,使客戶端按照所述周期信息向所述接入設(shè)備發(fā)送探測(cè)消息;步驟2、所述接入設(shè)備接收并檢測(cè)所述客戶端發(fā)送的數(shù)據(jù)消息,與已接收的相鄰數(shù)據(jù)消息的IP通道是否相同,若是,執(zhí)行步驟3,否則,執(zhí)行步驟4;步驟3、所述接入設(shè)備根據(jù)接收到的所述客戶端發(fā)送的數(shù)據(jù)消息的時(shí)間,與前一個(gè)交互數(shù)據(jù)消息的時(shí)間,記錄時(shí)間間隔,并在所述客戶端發(fā)送的數(shù)據(jù)消息類型為探測(cè)消息時(shí),調(diào)高所述周期信息,判斷調(diào)高后的周期信息是否達(dá)到預(yù)設(shè)最大值,若是,執(zhí)行步驟4;否則,將所述調(diào)高后的周期信息作為預(yù)設(shè)的周期信息,返回步驟1;步驟4、所述接入設(shè)備以所述時(shí)間間隔中的最大值為NAT設(shè)備上地址轉(zhuǎn)換條目存活時(shí)間。
2.如權(quán)利要求1所述的方法,其特征在于,所述接入設(shè)備向客戶端發(fā)送預(yù)設(shè)的周期信 息的方式包括所述接入設(shè)備通過將所述預(yù)設(shè)的周期信息添加到注冊(cè)刷新消息的expires消息頭中 向所述客戶端發(fā)送;或者,所述接入設(shè)備通過將所述預(yù)設(shè)的周期信息添加到應(yīng)答響應(yīng)消息的消息頭中向所述客 戶端發(fā)送;或者,所述接入設(shè)備通過將所述預(yù)設(shè)的周期信息添加到預(yù)先與所述客戶端協(xié)商的私有消息 中向所述客戶端發(fā)送。
3.如權(quán)利要求1所述的方法,其特征在于,調(diào)高所述周期信息的方式包括按預(yù)設(shè)步進(jìn) 遞增的調(diào)高所述周期信息;所述預(yù)設(shè)最大值為核心網(wǎng)指定的注冊(cè)刷新周期值。
4.如權(quán)利要求1或2或3所述的方法,其特征在于,所述接入設(shè)備檢測(cè)所述客戶端發(fā)送 的數(shù)據(jù)消息與已接收的相鄰數(shù)據(jù)消息的IP通道是否相同的方式包括所述接入設(shè)備檢測(cè)所述客戶端發(fā)送的數(shù)據(jù)消息的IP通道條目信息與已接收的相鄰數(shù) 據(jù)消息的IP通道條目信息是否相同;所述IP通道條目信息包括IP地址和端口號(hào)。
5.如權(quán)利要求1或2或3所述的方法,其特征在于,所述接入設(shè)備記錄所述時(shí)間間隔, 并在所述客戶端發(fā)送的數(shù)據(jù)消息類型為非探測(cè)消息時(shí)還包括所述接入設(shè)備向核心網(wǎng)服務(wù)器發(fā)送當(dāng)前非探測(cè)消息,并將所述核心網(wǎng)服務(wù)器反饋的處 理結(jié)果通過NAT設(shè)備發(fā)送給所述客戶端。
6.一種探測(cè)網(wǎng)絡(luò)地址轉(zhuǎn)換NAT設(shè)備上地址轉(zhuǎn)換條目存活時(shí)間的裝置,其特征在于,包括周期信息下發(fā)單元,用于向客戶端發(fā)送預(yù)設(shè)的周期信息,使客戶端按照所述周期信息 向所述接入設(shè)備發(fā)送探測(cè)消息;數(shù)據(jù)消息檢測(cè)單元,用于接收并檢測(cè)所述客戶端發(fā)送的數(shù)據(jù)消息,與已接收的相鄰數(shù) 據(jù)消息的IP通道是否相同,若是,觸發(fā)數(shù)據(jù)消息處理單元;否則,觸發(fā)探測(cè)結(jié)果獲取單元;數(shù)據(jù)消息處理單元,用于根據(jù)接收到的所述客戶端發(fā)送的數(shù)據(jù)消息的時(shí)間,與前一個(gè) 交互數(shù)據(jù)消息的時(shí)間,記錄時(shí)間間隔,并在所述客戶端發(fā)送的數(shù)據(jù)消息類型為探測(cè)消息時(shí),調(diào)高所述周期信息,判斷調(diào)高后的周期信息是否達(dá)到預(yù)設(shè)最大值,若是,觸發(fā)探測(cè)結(jié)果獲取 單元;否則,將所述調(diào)高后的周期信息作為預(yù)設(shè)的周期信息,觸發(fā)所述周期信息下發(fā)單元; 探測(cè)結(jié)果獲取單元,用于以所述數(shù)據(jù)消息處理單元記錄的所述時(shí)間間隔中的最大值為 NAT設(shè)備上地址轉(zhuǎn)換條目存活時(shí)間。
7.如權(quán)利要求6所述的裝置,其特征在于,所述周期信息下發(fā)單元向客戶端發(fā)送預(yù)設(shè) 的周期信息的方式包括通過將所述預(yù)設(shè)的周期信息添加到注冊(cè)消息的expires消息頭中向所述客戶端發(fā)送; 或者,通過將所述預(yù)設(shè)的周期信息添加到應(yīng)答響應(yīng)消息的消息頭中向所述客戶端發(fā)送;或者,通過將所述預(yù)設(shè)的周期信息添加到預(yù)先與所述客戶端協(xié)商的私有消息中向所述客戶 端發(fā)送。
8.如權(quán)利要求6所述的裝置,其特征在于,所述數(shù)據(jù)消息處理單元中調(diào)高所述周期信 息的方式包括按預(yù)設(shè)步進(jìn)遞增的調(diào)高所述周期信息;所述預(yù)設(shè)最大值為核心網(wǎng)指定的注冊(cè)刷新周期值。
9.如權(quán)利要求6或7或8所述的裝置,其特征在于,所述數(shù)據(jù)消息檢測(cè)單元檢測(cè)所述客 戶端發(fā)送的數(shù)據(jù)消息與已接收的相鄰數(shù)據(jù)消息的IP通道是否相同的方式包括檢測(cè)所述客戶端發(fā)送的數(shù)據(jù)消息的IP通道條目信息與已接收的相鄰數(shù)據(jù)消息的IP通 道條目信息是否相同;所述IP通道條目信息包括IP地址和端口號(hào)。
10.如權(quán)利要求6或7或8所述的裝置,其特征在于,所述數(shù)據(jù)消息處理單元記錄所述 時(shí)間間隔,并在所述客戶端發(fā)送的數(shù)據(jù)消息類型為非注冊(cè)刷新消息時(shí),向核心網(wǎng)服務(wù)器發(fā) 送當(dāng)前非探測(cè)消息,并將所述核心網(wǎng)服務(wù)器反饋的處理結(jié)果通過NAT設(shè)備發(fā)送給所述客戶 端。
全文摘要
本發(fā)明公開了一種探測(cè)NAT設(shè)備上地址轉(zhuǎn)換條目存活時(shí)間的方法和裝置,包括1、接入設(shè)備向客戶端發(fā)送預(yù)設(shè)的周期信息,使客戶端按照周期信息向接入設(shè)備發(fā)送探測(cè)消息;2、接入設(shè)備接收并檢測(cè)客戶端發(fā)送的數(shù)據(jù)消息與已接收的相鄰數(shù)據(jù)消息的IP通道是否相同,若是,執(zhí)行3,否則,執(zhí)行4;3、記錄接收到的客戶端發(fā)送的數(shù)據(jù)消息與前一個(gè)交互數(shù)據(jù)消息的時(shí)間間隔,并在接收的數(shù)據(jù)消息類型為探測(cè)消息時(shí),調(diào)高周期信息,判斷該周期值是否達(dá)到最大值,若是,執(zhí)行4;否則,返回1;4、接入設(shè)備以記錄的相鄰兩次數(shù)據(jù)消息接收時(shí)間間隔的最大值為NAT設(shè)備上地址轉(zhuǎn)換條目存活時(shí)間。通過本發(fā)明所述方法有效地探測(cè)出了NAT設(shè)備上的IP通道存活時(shí)間。
文檔編號(hào)H04L12/26GK101800683SQ20101015521
公開日2010年8月11日 申請(qǐng)日期2010年4月26日 優(yōu)先權(quán)日2010年4月26日
發(fā)明者張勛牛 申請(qǐng)人:中興通訊股份有限公司