降低stun服務(wù)器負(fù)載的方法、裝置和系統(tǒng)的制作方法
【專利摘要】本發(fā)明提出降低STUN服務(wù)器負(fù)載的方法、裝置和系統(tǒng)。由NAT網(wǎng)關(guān)接收并將第一類?;顖?bào)文經(jīng)過(guò)至少一個(gè)路由器轉(zhuǎn)發(fā)到STUN服務(wù)器,第一類?;顖?bào)文的發(fā)送間隔時(shí)間大于session信息老化時(shí)間;由NAT網(wǎng)關(guān)接收第二類?;顖?bào)文并經(jīng)過(guò)至少一個(gè)路由器轉(zhuǎn)發(fā),在發(fā)送到STUN服務(wù)器之前,其中一個(gè)路由器將第二類?;顖?bào)文丟棄,第二類?;顖?bào)文的發(fā)送間隔時(shí)間小于等于session信息老化時(shí)間。本發(fā)明保證NAT網(wǎng)關(guān)上的session信息不會(huì)老化,又降低了STUN服務(wù)器的負(fù)載。
【專利說(shuō)明】降低STUN服務(wù)器負(fù)載的方法、裝置和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于通信領(lǐng)域,尤其涉及降低STUN服務(wù)器負(fù)載的方法、裝置和系統(tǒng)。
【背景技術(shù)】
[0002]NAT (網(wǎng)絡(luò)地址轉(zhuǎn)換,Network Address Translation)技術(shù)的米用延緩了 IPv4地址的耗竭,在目前網(wǎng)絡(luò)中已經(jīng)存在大量的NAT設(shè)備來(lái)實(shí)現(xiàn)私網(wǎng)地址和公網(wǎng)地址的轉(zhuǎn)換。但是NAT技術(shù)的采用破壞了 IP網(wǎng)絡(luò)的端到端可訪問(wèn)的特性。在一個(gè)部署了 NAT網(wǎng)關(guān)的網(wǎng)絡(luò)中,要從NAT網(wǎng)關(guān)外部(公網(wǎng)側(cè))主動(dòng)發(fā)起到NAT網(wǎng)關(guān)內(nèi)部(私網(wǎng)側(cè))的訪問(wèn)是非常困難的。
[0003]目前有很多技術(shù)來(lái)實(shí)現(xiàn)NAT網(wǎng)關(guān)的穿越,以保證一個(gè)應(yīng)用可以從NAT網(wǎng)關(guān)外部主動(dòng)訪問(wèn)到 NAT 網(wǎng)關(guān)內(nèi)部。STUN (Simple Traversal of User Datagram Protocol ThroughNetwork Address Translators, UDP流協(xié)議穿透NAT的協(xié)議)技術(shù)是其中一種比較成功的技術(shù)。其原理如圖1所示。其關(guān)鍵技術(shù)思想就是由NAT網(wǎng)關(guān)內(nèi)部的私網(wǎng)主機(jī),在NAT網(wǎng)關(guān)上預(yù)先建立一個(gè)session (會(huì)話)信息,并將session信息通告給STUN服務(wù)器。外部主機(jī)如果希望發(fā)起與內(nèi)部主機(jī)的通信,需要先從STUN服務(wù)器上查詢到內(nèi)部主機(jī)注冊(cè)在NAT網(wǎng)關(guān)上的session信息,即內(nèi)部主機(jī)的私網(wǎng)地址和端口與外部主機(jī)的公網(wǎng)地址和端口的對(duì)應(yīng)關(guān)系,通過(guò)查詢到的公網(wǎng)地址和端口,向NAT網(wǎng)關(guān)發(fā)起訪問(wèn),由NAT網(wǎng)關(guān)根據(jù)對(duì)應(yīng)關(guān)系進(jìn)行轉(zhuǎn)換,才能向NAT內(nèi)部主機(jī)發(fā)起訪問(wèn)。
[0004]例如,內(nèi)部主機(jī)的IP:192.168.1.1,端口:5000,在NAT網(wǎng)關(guān)上建立的session對(duì)應(yīng)關(guān)系為,內(nèi)網(wǎng):192.168.1.1:5000,外網(wǎng):202.199.1.1:3688,并將該session信息通知STUN服務(wù)器。當(dāng)外部主機(jī)要訪問(wèn)內(nèi)部主機(jī)時(shí),在STUN服務(wù)器上查詢內(nèi)部主機(jī)對(duì)外地址和端口為:202.199.1.1:3688,于是,向NAT網(wǎng)關(guān)發(fā)起202.199.1.1:3688的訪問(wèn),由NAT網(wǎng)關(guān)根據(jù)對(duì)應(yīng)關(guān)系進(jìn)行轉(zhuǎn)換,向NAT內(nèi)部主機(jī)發(fā)起訪問(wèn)。
[0005]由于NAT網(wǎng)關(guān)上session信息有一定的老化時(shí)間,當(dāng)一個(gè)session信息表項(xiàng)達(dá)到老化時(shí)間(在老化時(shí)間內(nèi)沒(méi)有使用該session表項(xiàng)來(lái)進(jìn)行報(bào)文的轉(zhuǎn)發(fā)),該session表項(xiàng)將被刪除。為了保證session信息的有效性,內(nèi)部主機(jī)需要不斷發(fā)送?;?KEEPALIVE)報(bào)文給STUN服務(wù)器,?;顖?bào)文是一種IP報(bào)文,該報(bào)文定時(shí)通過(guò)NAT網(wǎng)關(guān),以維持session信息不老化。在現(xiàn)實(shí)網(wǎng)絡(luò)中存在大量NAT主機(jī),這些主機(jī)的?;顖?bào)文將給STUN服務(wù)器帶來(lái)巨大的性能壓力。
【發(fā)明內(nèi)容】
[0006]鑒于以上,本發(fā)明提出降低STUN服務(wù)器負(fù)載的方法、裝置和系統(tǒng)。
[0007]本發(fā)明提出降低STUN服務(wù)器負(fù)載的方法,包括:
[0008]在NAT網(wǎng)關(guān)上建立私網(wǎng)地址和端口與公網(wǎng)地址和端口的對(duì)應(yīng)關(guān)系;
[0009]由NAT網(wǎng)關(guān)將私網(wǎng)主機(jī)的注冊(cè)報(bào)文發(fā)送給STUN服務(wù)器,所述注冊(cè)報(bào)文攜帶有私網(wǎng)主機(jī)在NAT網(wǎng)關(guān)上的公網(wǎng)地址和端口、以及與STUN服務(wù)器協(xié)商第一類?;顖?bào)文的發(fā)送間隔時(shí)間的請(qǐng)求,所述第一類?;顖?bào)文的發(fā)送間隔時(shí)間大于session信息老化時(shí)間;[0010]在第一類?;顖?bào)文的發(fā)送時(shí)間被觸發(fā)發(fā)送的第一類保活報(bào)文,由NAT網(wǎng)關(guān)接收并經(jīng)過(guò)至少一個(gè)路由器轉(zhuǎn)發(fā)到STUN服務(wù)器;
[0011]在第二類?;顖?bào)文的發(fā)送時(shí)間被觸發(fā)發(fā)送的第二類保活報(bào)文,所述第二類?;顖?bào)文的發(fā)送間隔時(shí)間小于等于session信息老化時(shí)間,由NAT網(wǎng)關(guān)接收第二類?;顖?bào)文并經(jīng)過(guò)至少一個(gè)路由器轉(zhuǎn)發(fā),在發(fā)送到STUN服務(wù)器之前,其中一個(gè)路由器將第二類?;顖?bào)文丟棄。
[0012]進(jìn)一步,所述降低STUN服務(wù)器負(fù)載的方法,將IP報(bào)文頭中的TTL值為TTL正常值的第一類保活報(bào)文轉(zhuǎn)發(fā)到STUN服務(wù)器,所述TTL正常值指私網(wǎng)主機(jī)PING通STUN服務(wù)器所需的TTL值。
[0013]進(jìn)一步,所述降低STUN服務(wù)器負(fù)載的方法,將IP報(bào)文頭中的TTL值為O的第二類?;顖?bào)文丟棄。
[0014]進(jìn)一步,所述降低STUN服務(wù)器負(fù)載的方法,私網(wǎng)主機(jī)控制第二類?;顖?bào)文的發(fā)送間隔時(shí)間。
[0015]本發(fā)明還提出降低STUN服務(wù)器負(fù)載的裝置,包括:
[0016]NAT網(wǎng)關(guān),配置于建立私網(wǎng)地址和端口與公網(wǎng)地址和端口的對(duì)應(yīng)關(guān)系;將私網(wǎng)主機(jī)的注冊(cè)報(bào)文發(fā)送給STUN服務(wù)器,所述注冊(cè)報(bào)文攜帶有私網(wǎng)主機(jī)在NAT網(wǎng)關(guān)上的公網(wǎng)地址和端口、以及與STUN服務(wù)器協(xié)商第一類?;顖?bào)文的發(fā)送間隔時(shí)間的請(qǐng)求,所述第一類保活報(bào)文的發(fā)送間隔時(shí)間大于session信息老化時(shí)間;
[0017]至少一個(gè)路由器,配置于從NAT網(wǎng)關(guān)接收在第一類?;顖?bào)文的發(fā)送時(shí)間被觸發(fā)發(fā)送的第一類?;顖?bào)文,并轉(zhuǎn)發(fā)到STUN服務(wù)器;配置于從所述NAT網(wǎng)關(guān)接收在第二類?;顖?bào)文的發(fā)送時(shí)間被觸發(fā)發(fā)送的第二類保活報(bào)文,所述第二類?;顖?bào)文的發(fā)送間隔時(shí)間小于等于session信息老化時(shí)間,并在發(fā)送到STUN服務(wù)器之前,由其中一個(gè)路由器將所述第二類?;顖?bào)文丟棄;
[0018]STUN服務(wù)器,配置于與私網(wǎng)主機(jī)協(xié)商第一類保活報(bào)文的發(fā)送間隔時(shí)間,以及接收所述第一類?;顖?bào)文。
[0019]進(jìn)一步,所述降低STUN服務(wù)器負(fù)載的裝置,將IP報(bào)文頭中的TTL值為正常值的第一類?;顖?bào)文轉(zhuǎn)發(fā)到STUN服務(wù)器,所述TTL正常值指私網(wǎng)主機(jī)PING通STUN服務(wù)器所需的TTL 值。
[0020]進(jìn)一步,所述降低STUN服務(wù)器負(fù)載的裝置,將IP報(bào)文頭中的TTL值為O的第二類?;顖?bào)文丟棄。
[0021]進(jìn)一步,所述降低STUN服務(wù)器負(fù)載的裝置,私網(wǎng)主機(jī)控制第二類?;顖?bào)文的發(fā)送間隔時(shí)間。
[0022]本發(fā)明還提出降低STUN服務(wù)器負(fù)載的系統(tǒng),包括私網(wǎng)主機(jī)以及降低STUN服務(wù)器負(fù)載的裝置,其中,所述私網(wǎng)主機(jī)與STUN服務(wù)器協(xié)商第一類保活報(bào)文的發(fā)送間隔時(shí)間、以及控制第二類?;顖?bào)文的發(fā)送間隔時(shí)間,并根據(jù)第一類?;顖?bào)文的發(fā)送間隔時(shí)間和第二類?;顖?bào)文的發(fā)送間隔時(shí)間分別觸發(fā)發(fā)送第一類保活報(bào)文和第二類?;顖?bào)文。
[0023]本發(fā)明中,第二類保活報(bào)文的發(fā)送間隔時(shí)間小于等于session信息老化時(shí)間,可以保證NAT網(wǎng)關(guān)上的session信息不會(huì)老化,但由于第二類?;顖?bào)文在到達(dá)STUN服務(wù)器之前被丟棄,從而降低STUN服務(wù)器所處理的第二類?;顖?bào)文的數(shù)量。并且,第一類?;顖?bào)文的發(fā)送間隔時(shí)間大于session信息老化時(shí)間,也可以降低STUN服務(wù)器所處理的第一類?;顖?bào)文的數(shù)量。因此,降低了 STUN服務(wù)器的負(fù)載。
【專利附圖】
【附圖說(shuō)明】
[0024]此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本本發(fā)明的一部分,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
[0025]圖1為現(xiàn)有技術(shù)從NAT網(wǎng)關(guān)外部主動(dòng)訪問(wèn)到NAT網(wǎng)關(guān)內(nèi)部所使用的STUN技術(shù)原理示意圖。
[0026]圖2為本發(fā)明降低STUN服務(wù)器負(fù)載的方法流程示意圖。
[0027]圖3為本發(fā)明降低STUN服務(wù)器負(fù)載的系統(tǒng)結(jié)構(gòu)示意圖。
[0028]圖4為本發(fā)明實(shí)施例中降低STUN服務(wù)器負(fù)載的方法流程示意圖。
【具體實(shí)施方式】
[0029]現(xiàn)在將參照附圖來(lái)詳細(xì)描述本發(fā)明的各種示例性實(shí)施例。應(yīng)注意到:除非另外具體說(shuō)明,否則在這些實(shí)施例中闡述的部件和步驟的相對(duì)布置和數(shù)值不限制本發(fā)明的范圍。
[0030]同時(shí),應(yīng)當(dāng)明白,為了便于描述,附圖中所示出的各個(gè)部分的尺寸并不是按照實(shí)際的比例關(guān)系繪制的。
[0031]以下對(duì)至少一個(gè)示例性實(shí)施例的描述實(shí)際上僅僅是說(shuō)明性的,決不作為對(duì)本發(fā)明及其應(yīng)用或使用的任何限制。
[0032]對(duì)于相關(guān)領(lǐng)域普通技術(shù)人員已知的技術(shù)、方法和設(shè)備可能不作詳細(xì)討論,但在適當(dāng)情況下,所述技術(shù)、方法和設(shè)備應(yīng)當(dāng)被視為授權(quán)說(shuō)明書的一部分。
[0033]在這里示出和討論的所有示例中,任何具體值應(yīng)被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實(shí)施例的其它示例可以具有不同的值。
[0034]應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步討論。
[0035]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。
[0036]圖2為本發(fā)明降低STUN服務(wù)器負(fù)載的方法流程示意圖。
[0037]S201、在NAT網(wǎng)關(guān)上建立私網(wǎng)地址和端口與公網(wǎng)地址和端口的對(duì)應(yīng)關(guān)系。
[0038]S202、由NAT網(wǎng)關(guān)將私網(wǎng)主機(jī)的注冊(cè)報(bào)文發(fā)送給STUN服務(wù)器,所述注冊(cè)報(bào)文攜帶有私網(wǎng)主機(jī)在NAT網(wǎng)關(guān)上的公網(wǎng)地址和端口、以及與STUN服務(wù)器協(xié)商第一類?;顖?bào)文的發(fā)送間隔時(shí)間的請(qǐng)求,所述第一類保活報(bào)文的發(fā)送間隔時(shí)間大于session信息老化時(shí)間。
[0039]S203、在第一類保活報(bào)文的發(fā)送時(shí)間被觸發(fā)發(fā)送的第一類?;顖?bào)文,由NAT網(wǎng)關(guān)接收并經(jīng)過(guò)至少一個(gè)路由器轉(zhuǎn)發(fā)到STUN服務(wù)器。
[0040]S204、在第二類保活報(bào)文的發(fā)送時(shí)間被觸發(fā)發(fā)送的第二類?;顖?bào)文,所述第二類?;顖?bào)文的發(fā)送間隔時(shí)間小于等于session信息老化時(shí)間,由NAT網(wǎng)關(guān)接收第二類?;顖?bào)文并經(jīng)過(guò)至少一個(gè)路由器轉(zhuǎn)發(fā),在發(fā)送到STUN服務(wù)器之前,其中一個(gè)路由器將第二類?;顖?bào)文丟棄。[0041]在上述S203飛204,路由器可以根據(jù)TTL值來(lái)決定是轉(zhuǎn)發(fā)還是丟棄報(bào)文。下面將具體說(shuō)明。
[0042]在私網(wǎng)主機(jī)發(fā)起STUN服務(wù)器注冊(cè)時(shí),會(huì)進(jìn)行一個(gè)TTL (Time ToLive,生存時(shí)間)測(cè)量的過(guò)程,TTL測(cè)量過(guò)程類似于TRACER0UTE (路由跟蹤,通過(guò)它可以顯示到達(dá)某一主機(jī)所經(jīng)由的路徑)軟件實(shí)現(xiàn)原理,即發(fā)出一系列的PING (Packet Internet Grope,因特網(wǎng)包探索器)報(bào)文,PING報(bào)文的TTL值逐次加1,直到能夠PING通STUN服務(wù)器為止,即私網(wǎng)主機(jī)通過(guò)PING命令連通STUN服務(wù)器所需的TTL值,這樣私網(wǎng)主機(jī)與STUN服務(wù)器之間通信所需的TTL正常值就可以獲知了。
[0043]私網(wǎng)主機(jī)調(diào)用RAW SOCKET (原始套接字)接口,并設(shè)置報(bào)文中的TTL值,來(lái)構(gòu)造數(shù)據(jù)報(bào)文。私網(wǎng)主機(jī)還控制第二類?;顖?bào)文發(fā)送的時(shí)間間隔。
[0044]在第一類?;顖?bào)文的IP報(bào)文頭中攜帶TTL正常值。TTL正常值是指可以確保報(bào)文被轉(zhuǎn)發(fā)到STUN服務(wù)器的值,在實(shí)際網(wǎng)絡(luò)中該值都會(huì)比較大,例如大于128,以確保第一類?;顖?bào)文能夠被正常傳輸。
[0045]由NAT網(wǎng)關(guān)將私網(wǎng)主機(jī)的第二類?;顖?bào)文發(fā)送給至少一個(gè)路由器,接收到第二類?;顖?bào)文的路由器根據(jù)第二類保活報(bào)文的IP報(bào)文頭中攜帶的TTL值是否為0,選擇轉(zhuǎn)發(fā)報(bào)文或丟棄報(bào)文,即如果非O則繼續(xù)轉(zhuǎn)發(fā),如果是O則丟棄報(bào)文,第二類?;顖?bào)文在被轉(zhuǎn)發(fā)到STUN服務(wù)器之前,由于TTL值變?yōu)镺而被某一臺(tái)路由器丟棄。
[0046]本發(fā)明中,第二類?;顖?bào)文的發(fā)送間隔時(shí)間小于等于session信息老化時(shí)間,可以保證NAT網(wǎng)關(guān)上的session信息不會(huì)老化,但由于第二類?;顖?bào)文在到達(dá)STUN服務(wù)器之前被丟棄,從而降低STUN服務(wù)器所處理的第二類?;顖?bào)文的數(shù)量。并且,第一類?;顖?bào)文的發(fā)送間隔時(shí)間大于session信息老化時(shí)間,也可以降低STUN服務(wù)器所處理的第一類?;顖?bào)文的數(shù)量。因此,降低了 STUN服務(wù)器的負(fù)載。
[0047]圖3為本發(fā)明降低STUN服務(wù)器負(fù)載的系統(tǒng)結(jié)構(gòu)示意圖。該系統(tǒng)包括私網(wǎng)主機(jī)31、NAT網(wǎng)關(guān)32、至少一個(gè)路由器33以及STUN服務(wù)器34。
[0048]私網(wǎng)主機(jī)31,與STUN服務(wù)器協(xié)商第一類?;顖?bào)文的發(fā)送間隔時(shí)間、以及控制第二類?;顖?bào)文的發(fā)送間隔時(shí)間,并根據(jù)第一類?;顖?bào)文的發(fā)送間隔時(shí)間和第二類?;顖?bào)文的發(fā)送間隔時(shí)間分別觸發(fā)發(fā)送第一類保活報(bào)文和第二類?;顖?bào)文。
[0049]NAT網(wǎng)關(guān)32,配置于建立私網(wǎng)地址和端口與公網(wǎng)地址和端口的對(duì)應(yīng)關(guān)系;將私網(wǎng)主機(jī)的注冊(cè)報(bào)文發(fā)送給STUN服務(wù)器,所述注冊(cè)報(bào)文攜帶有私網(wǎng)主機(jī)在NAT網(wǎng)關(guān)上的公網(wǎng)地址和端口、以及與STUN服務(wù)器協(xié)商第一類保活報(bào)文的發(fā)送間隔時(shí)間的請(qǐng)求,所述第一類?;顖?bào)文的發(fā)送間隔時(shí)間大于session信息老化時(shí)間。
[0050]至少一個(gè)路由器33,配置于從所述NAT網(wǎng)關(guān)接收在所述第一類?;顖?bào)文的發(fā)送時(shí)間被觸發(fā)發(fā)送的第一類?;顖?bào)文,并轉(zhuǎn)發(fā)到STUN服務(wù)器;配置于從所述NAT網(wǎng)關(guān)接收在第二類?;顖?bào)文的發(fā)送時(shí)間被觸發(fā)發(fā)送的第二類保活報(bào)文,所述第二類?;顖?bào)文的發(fā)送間隔時(shí)間小于等于session信息老化時(shí)間,并在發(fā)送到STUN服務(wù)器之前,由其中一個(gè)路由器將所述第二類?;顖?bào)文丟棄。
[0051]STUN服務(wù)器34,配置于與私網(wǎng)主機(jī)協(xié)商第一類?;顖?bào)文的發(fā)送間隔時(shí)間,以及接收所述第一類?;顖?bào)文。
[0052]其中,所述至少一個(gè)路由器將IP報(bào)文頭中的TTL值為正常值的第一類?;顖?bào)文轉(zhuǎn)發(fā)到STUN服務(wù)器,所述TTL正常值指私網(wǎng)主機(jī)PING通STUN服務(wù)器所需的TTL值。
[0053]所述至少一個(gè)路由器中的一個(gè)路由器將IP報(bào)文頭中的TTL值為O的第二類?;顖?bào)文丟棄。
[0054]本發(fā)明在用戶私網(wǎng)主機(jī)采用STUN方式穿越NAT過(guò)程中,不改變?cè)蠸TUN方式穿越NAT網(wǎng)關(guān)的系統(tǒng)和流程,減少保活報(bào)文對(duì)STUN服務(wù)器的性能壓力,并正常維護(hù)NAT網(wǎng)關(guān)上私網(wǎng)主機(jī)session信息表項(xiàng)有效。
[0055]圖4為本發(fā)明實(shí)施例中降低STUN服務(wù)器負(fù)載的方法流程示意圖。
[0056]S401、私網(wǎng)主機(jī)可以采用常規(guī)的TRACER0UTE方式,查看NAT網(wǎng)關(guān)返回的報(bào)文中攜帶的IP地址和端口,進(jìn)行NAT網(wǎng)關(guān)的位置測(cè)量,在NAT網(wǎng)關(guān)上建立私網(wǎng)地址和端口與公網(wǎng)地址和端口的對(duì)應(yīng)關(guān)系。
[0057]S402、私網(wǎng)主機(jī)采用STUN方式穿越NAT網(wǎng)關(guān)。私網(wǎng)主機(jī)向STUN服務(wù)器發(fā)送注冊(cè)報(bào)文,該注冊(cè)報(bào)文攜帶有私網(wǎng)主機(jī)在NAT網(wǎng)關(guān)上的公網(wǎng)地址和端口、以及與STUN服務(wù)器協(xié)商第一類保活報(bào)文的發(fā)送間隔時(shí)間的請(qǐng)求,該注冊(cè)報(bào)文經(jīng)由NAT進(jìn)行地址轉(zhuǎn)換后,發(fā)送給STUN服務(wù)器。其中,第一類?;顖?bào)文的發(fā)送間隔時(shí)間大于session信息老化時(shí)間,例如協(xié)商為30分鐘。
[0058]S403、注冊(cè)過(guò)程結(jié)束。私網(wǎng)主機(jī)進(jìn)入發(fā)送?;顖?bào)文的過(guò)程。私網(wǎng)主機(jī)上啟動(dòng)兩個(gè)定時(shí)器,第一定時(shí)器用于觸發(fā)發(fā)送第一類?;顖?bào)文,其IP報(bào)文頭中的TTL值為正常值;第二定時(shí)器用于觸發(fā)發(fā)送第二類?;顖?bào)文,其IP報(bào)文頭中的TTL值被設(shè)計(jì)成使報(bào)文正好能夠穿過(guò)NAT網(wǎng)關(guān),并且在抵達(dá)STUN服務(wù)器前,TTL值變?yōu)?,而被通信線路上的其中一個(gè)路由器丟棄。第二類?;顖?bào)文的發(fā)送間隔時(shí)間應(yīng)不大于老化時(shí)間,例如,常用的NAT網(wǎng)關(guān)session老化時(shí)間為120s,可以將第二類保活報(bào)文的發(fā)送間隔時(shí)間設(shè)置為小于120s。
[0059]S404、在第一類?;顖?bào)文的發(fā)送時(shí)間被觸發(fā)發(fā)送的第一類保活報(bào)文,由NAT網(wǎng)關(guān)接收并經(jīng)過(guò)至少一個(gè)路由器將IP報(bào)文頭中的TTL值為TTL正常值的第一類?;顖?bào)文轉(zhuǎn)發(fā)到STUN服務(wù)器。由于第一類保活報(bào)文的IP報(bào)文頭中的TTL值為正常值,可以被正常轉(zhuǎn)發(fā)到STUN服務(wù)器。STUN服務(wù)器只需處理第一類?;顖?bào)文,而第一類?;顖?bào)文的發(fā)送間隔時(shí)間大于老化時(shí)間,從而降低了 STUN服務(wù)器的負(fù)載。例如,協(xié)商后,確認(rèn)第一類?;顖?bào)文的發(fā)送時(shí)間間隔為30分鐘,則STUN服務(wù)器每30分鐘處理I個(gè)報(bào)文。相比常用的NAT網(wǎng)關(guān)session老化時(shí)間為120s,大大降低了 STUN服務(wù)器的負(fù)載。
[0060]S405、在第二類?;顖?bào)文的發(fā)送時(shí)間被觸發(fā)發(fā)送的第二類?;顖?bào)文,由NAT網(wǎng)關(guān)接收第二類保活報(bào)文并經(jīng)過(guò)至少一個(gè)路由器轉(zhuǎn)發(fā),在發(fā)送到STUN服務(wù)器之前,其中一個(gè)路由器將TTL值為O的第二類?;顖?bào)文丟棄。由于第二類?;顖?bào)文已經(jīng)穿越了 NAT網(wǎng)關(guān),所以仍可以確保NAT網(wǎng)關(guān)上的session信息不老化。這樣,既可以不降低穿過(guò)NAT網(wǎng)關(guān)的第二類?;顖?bào)文的數(shù)量,保證NAT網(wǎng)關(guān)上的session信息不會(huì)老化,又降低STUN服務(wù)器所處理的第二類?;顖?bào)文的數(shù)量,從而降低了 STUN服務(wù)器的負(fù)載。
[0061]至此,已經(jīng)詳細(xì)描述了本發(fā)明。為了避免遮蔽本發(fā)明的構(gòu)思,沒(méi)有描述本領(lǐng)域所公知的一些細(xì)節(jié)。本領(lǐng)域技術(shù)人員根據(jù)上面的描述,完全可以明白如何實(shí)施這里公開(kāi)的技術(shù)方案。
[0062]可能以許多方式來(lái)實(shí)現(xiàn)本發(fā)明的方法以及裝置。例如,可通過(guò)軟件、硬件、固件或者軟件、硬件、固件的任何組合來(lái)實(shí)現(xiàn)本發(fā)明的方法以及裝置。用于所述方法的步驟的上述順序僅是為了進(jìn)行說(shuō)明,本發(fā)明的方法的步驟不限于以上具體描述的順序,除非以其它方式特別說(shuō)明。此外,在一些實(shí)施例中,還可將本發(fā)明實(shí)施為記錄在記錄介質(zhì)中的程序,這些程序包括用于實(shí)現(xiàn)根據(jù)本發(fā)明的方法的機(jī)器可讀指令。因而,本發(fā)明還覆蓋存儲(chǔ)用于執(zhí)行根據(jù)本發(fā)明的方法的程序的記錄介質(zhì)。
[0063]雖然已經(jīng)通過(guò)示例對(duì)本發(fā)明的一些特定實(shí)施例進(jìn)行了詳細(xì)說(shuō)明,但是本領(lǐng)域的技術(shù)人員應(yīng)該理解,以上示例僅是為了進(jìn)行說(shuō)明,而不是為了限制本發(fā)明的范圍。本領(lǐng)域的技術(shù)人員應(yīng)該理解,可在不脫離本發(fā)明的范圍和精神的情況下,對(duì)以上實(shí)施例進(jìn)行修改。本發(fā)明的范圍由所附權(quán)利要求來(lái)限定。
【權(quán)利要求】
1.降低STUN服務(wù)器負(fù)載的方法,其特征在于: 在NAT (網(wǎng)絡(luò)地址轉(zhuǎn)換)網(wǎng)關(guān)上建立私網(wǎng)地址和端口與公網(wǎng)地址和端口的對(duì)應(yīng)關(guān)系; 由NAT網(wǎng)關(guān)將私網(wǎng)主機(jī)的注冊(cè)報(bào)文發(fā)送給STUN (UDP流協(xié)議穿透NAT的協(xié)議)服務(wù)器,注冊(cè)報(bào)文攜帶有私網(wǎng)主機(jī)在NAT網(wǎng)關(guān)上的公網(wǎng)地址和端口、以及與STUN服務(wù)器協(xié)商第一類?;顖?bào)文的發(fā)送間隔時(shí)間的請(qǐng)求,第一類?;顖?bào)文的發(fā)送間隔時(shí)間大于session (會(huì)話)信息老化時(shí)間; 在第一類?;顖?bào)文的發(fā)送時(shí)間被觸發(fā)發(fā)送的第一類保活報(bào)文,由NAT網(wǎng)關(guān)接收并經(jīng)過(guò)至少一個(gè)路由器轉(zhuǎn)發(fā)到STUN服務(wù)器; 在第二類?;顖?bào)文的發(fā)送時(shí)間被觸發(fā)發(fā)送的第二類?;顖?bào)文,該第二類?;顖?bào)文的發(fā)送間隔時(shí)間小于等于session信息老化時(shí)間,由NAT網(wǎng)關(guān)接收第二類保活報(bào)文并經(jīng)過(guò)至少一個(gè)路由器轉(zhuǎn)發(fā),在發(fā)送到STUN服務(wù)器之前,其中一個(gè)路由器將第二類?;顖?bào)文丟棄。
2.如權(quán)利要求1所述降低STUN服務(wù)器負(fù)載的方法,其特征在于: 將IP報(bào)文頭中的TTL (生存時(shí)間)值為TTL正常值的第一類保活報(bào)文轉(zhuǎn)發(fā)到STUN服務(wù)器,TTL正常值指私網(wǎng)主機(jī)PING (因特網(wǎng)包探索器)通STUN服務(wù)器所需的TTL值。
3.如權(quán)利要求1所述降低STUN服務(wù)器負(fù)載的方法,其特征在于: 將IP報(bào)文頭中的TTL值為O的第二類?;顖?bào)文丟棄。
4.如權(quán)利要求1至3任一 所述降低STUN服務(wù)器負(fù)載的方法,其特征在于: 私網(wǎng)主機(jī)控制第二類保活報(bào)文的發(fā)送間隔時(shí)間。
5.降低STUN服務(wù)器負(fù)載的裝置,其特征在于,包括NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)網(wǎng)關(guān)、至少一個(gè)路由器以及STUN (UDP流協(xié)議穿透NAT的協(xié)議)服務(wù)器: NAT網(wǎng)關(guān),配置于建立私網(wǎng)地址和端口與公網(wǎng)地址和端口的對(duì)應(yīng)關(guān)系;將私網(wǎng)主機(jī)的注冊(cè)報(bào)文發(fā)送給STUN服務(wù)器,注冊(cè)報(bào)文攜帶有私網(wǎng)主機(jī)在NAT網(wǎng)關(guān)上的公網(wǎng)地址和端口、以及與STUN服務(wù)器協(xié)商第一類?;顖?bào)文的發(fā)送間隔時(shí)間的請(qǐng)求,第一類?;顖?bào)文的發(fā)送間隔時(shí)間大于session (會(huì)話)信息老化時(shí)間; 至少一個(gè)路由器,配置于從NAT網(wǎng)關(guān)接收在第一類?;顖?bào)文的發(fā)送時(shí)間被觸發(fā)發(fā)送的第一類保活報(bào)文,并轉(zhuǎn)發(fā)到STUN服務(wù)器;配置于從NAT網(wǎng)關(guān)接收在第二類?;顖?bào)文的發(fā)送時(shí)間被觸發(fā)發(fā)送的第二類?;顖?bào)文,第二類?;顖?bào)文的發(fā)送間隔時(shí)間小于等于session信息老化時(shí)間,并在發(fā)送到STUN服務(wù)器之前,由其中一個(gè)路由器將第二類?;顖?bào)文丟棄;STUN服務(wù)器,配置于與私網(wǎng)主機(jī)協(xié)商第一類?;顖?bào)文的發(fā)送間隔時(shí)間,以及接收第一類保活報(bào)文。
6.如權(quán)利要求5所述降低STUN服務(wù)器負(fù)載的裝置,其特征在于: 將IP報(bào)文頭中的TTL (生存時(shí)間)值為正常值的第一類?;顖?bào)文轉(zhuǎn)發(fā)到STUN服務(wù)器,TTL正常值指私網(wǎng)主機(jī)PING (因特網(wǎng)包探索器)通STUN服務(wù)器所需的TTL值。
7.如權(quán)利要求5所述降低STUN服務(wù)器負(fù)載的裝置,其特征在于: 將IP報(bào)文頭中的TTL值為O的第二類?;顖?bào)文丟棄。
8.如權(quán)利要求5至7中任一所述降低STUN服務(wù)器負(fù)載的裝置,其特征在于: 私網(wǎng)主機(jī)控制第二類?;顖?bào)文的發(fā)送間隔時(shí)間。
9.降低STUN服務(wù)器負(fù)載的系統(tǒng),其特征在于:包括私網(wǎng)主機(jī)以及如權(quán)利要求5至7中任一所述降低STUN (UDP流協(xié)議穿透NAT的協(xié)議)服務(wù)器負(fù)載的裝置,其中,私網(wǎng)主機(jī)與STUN服務(wù)器協(xié)商第一類?;顖?bào)文的發(fā)送間隔時(shí)間、以及控制第二類?;顖?bào)文的發(fā)送間隔時(shí)間,并根據(jù)第一類?;顖?bào)文的發(fā)送間隔時(shí)間和第二類?;顖?bào)文的發(fā)送間隔時(shí)間分別觸發(fā)發(fā)送第一類保活報(bào)文和第二類 ?;顖?bào)文。
【文檔編號(hào)】H04L12/823GK103546389SQ201210236015
【公開(kāi)日】2014年1月29日 申請(qǐng)日期:2012年7月9日 優(yōu)先權(quán)日:2012年7月9日
【發(fā)明者】陳仲華, 張屆新, 廖江 申請(qǐng)人:中國(guó)電信股份有限公司