專利名稱:保持網(wǎng)絡(luò)nat綁定的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種移動(dòng)終端數(shù)據(jù)通信方法,特別涉及一種通過(guò)保持網(wǎng)絡(luò) NAT (Network Address Translation)綁定來(lái)維持移動(dòng)終端與IP網(wǎng)絡(luò)如互聯(lián)網(wǎng)的計(jì)算設(shè)備的數(shù)據(jù)鏈路的方法。
背景技術(shù):
由于公共IP地址缺少,并且由于網(wǎng)絡(luò)安全的原因,NAT技術(shù)被大量使用。NAT能讓很多臺(tái)計(jì)算機(jī)共享同一公網(wǎng)IP地址,無(wú)障礙的訪問(wèn)網(wǎng)絡(luò)。為了能讓處于私有網(wǎng)絡(luò)的計(jì)算機(jī)訪問(wèn)外網(wǎng),NAT需要將私網(wǎng)的IP地址和端口號(hào)映射到公網(wǎng)的一個(gè)IP和端口,而且這個(gè)映射將保留一段時(shí)間。NAT建立映射時(shí)將設(shè)置定時(shí)器。如果在定時(shí)器超時(shí)時(shí),沒(méi)有任何數(shù)據(jù)活動(dòng),這個(gè)映射綁定關(guān)系將被取消。如果在定時(shí)器超時(shí)前,有數(shù)據(jù)包的傳遞,定時(shí)器將被重新刷新。一旦綁定關(guān)系取消,從公網(wǎng)側(cè),數(shù)據(jù)包將無(wú)法發(fā)往到私網(wǎng)內(nèi)的計(jì)算機(jī)。因?yàn)镹AT的特性,對(duì)于需要保持實(shí)時(shí)數(shù)據(jù)鏈接的數(shù)據(jù)應(yīng)用(如IP電話),處于私網(wǎng)下的客戶端軟件需要定時(shí)的與處于公網(wǎng)的服務(wù)器交換數(shù)據(jù)包,以刷新NAT的綁定。否則,服務(wù)器無(wú)法將IP包發(fā)往客戶端,而引起服務(wù)中斷。在無(wú)線通訊環(huán)境下,定時(shí)發(fā)送數(shù)據(jù)包到公網(wǎng)的服務(wù)器需要消耗相當(dāng)?shù)膸捄碗姵?。因此本專利提出一種新的方式來(lái)保持NAT的映射,而最大程度上減少移動(dòng)終端的帶寬和電池的消耗。圖1顯示了現(xiàn)有的移動(dòng)終端上網(wǎng)的系統(tǒng)圖,移動(dòng)終端10通過(guò)各類無(wú)線網(wǎng)絡(luò)11與互聯(lián)網(wǎng)(包括NATO 12、INET網(wǎng)13、NATN 14、INET網(wǎng)15及計(jì)算設(shè)備16)鏈接,然后通過(guò)互聯(lián)網(wǎng)與處于公網(wǎng)下的計(jì)算設(shè)備進(jìn)行IP數(shù)據(jù)交換。在移動(dòng)終端10與公網(wǎng)下的計(jì)算設(shè)備16 之間會(huì)存在一個(gè)或多個(gè)NAT設(shè)備,比如NAT 0和NAT N。處于私網(wǎng)下的移動(dòng)終端10如果要與公網(wǎng)下的計(jì)算設(shè)備進(jìn)行IP數(shù)據(jù)包(分組)的交換,移動(dòng)終端10必須主動(dòng)發(fā)起鏈接請(qǐng)求,建立起IP鏈路。NAT設(shè)備將建立起IP地址和端口的映射關(guān)系。為簡(jiǎn)單起見(jiàn),下面將IP地址和端口號(hào)統(tǒng)一稱為地址。假設(shè)移動(dòng)終端的私有地址是IP-p、Port-p, NAT 0映射出的地址為IP-0、Port-0, NAT N映射的地址為IP_n、 Port-n.從計(jì)算設(shè)備來(lái)看,移動(dòng)終端的IP地址為IP-n、Port-n ;從NAT N來(lái)看,移動(dòng)終端的地址為IP-0、Port-O ;從NAT 0來(lái)看,移動(dòng)終端的地址為IP-p、Port-p。當(dāng) NAT 0 建立起 IP-p,Port-p 與 IP_0,Port-p 的映射后,NAT N 建立起 ΙΡ_0, Port-O與IP-n,Port-n的映射關(guān)系后,移動(dòng)終端與計(jì)算設(shè)備之間可以自由的交換在某一特定端口號(hào)的IP包或數(shù)據(jù)包。但是為了減小資源的消耗,每個(gè)NAT設(shè)備對(duì)于這個(gè)映射關(guān)系是做了時(shí)間限制的。如果在指定的時(shí)間(假設(shè)為T(mén)O)內(nèi)沒(méi)有任何數(shù)據(jù)活動(dòng),這個(gè)映射關(guān)系將被取消。這個(gè)TO的設(shè)置沒(méi)有國(guó)際標(biāo)準(zhǔn),隨廠商而異。一般來(lái)說(shuō),對(duì)于UDP包,TO在60秒左右,對(duì)于TCP包,TO稍長(zhǎng)一點(diǎn)。一旦IP鏈路上任何一個(gè)NAT設(shè)備將IP地址映射解除,計(jì)算設(shè)備將無(wú)法主動(dòng)把IP包發(fā)到移動(dòng)終端,從此數(shù)據(jù)交換將被終止。在NAT存在的情況下,移動(dòng)終端10與計(jì)算設(shè)備16之間要不停的有數(shù)據(jù)包的交換,這對(duì)于VoIP,IM等實(shí)時(shí)數(shù)據(jù)通訊而言十分重要。如果是使用UDP/IP來(lái)傳輸,兩者之間需要 60秒內(nèi)交換一次IP包;如果使用TCP/IP來(lái)傳輸,兩者之間交換包的時(shí)間間隔可以稍長(zhǎng)一點(diǎn),但計(jì)算設(shè)備使用TCP來(lái)傳輸,將耗費(fèi)很大的資源。TTL (Time to Live,生存時(shí)間)在IP頭(或數(shù)據(jù)包頭)中,存在TTL這個(gè)域。當(dāng)路由器或NAT接收到一個(gè)IP包,轉(zhuǎn)發(fā)時(shí),總將TTL減一。如果網(wǎng)絡(luò)設(shè)備收到一個(gè)IP包,TTL 值為0,該設(shè)備將會(huì)把該IP包扔棄,不繼續(xù)轉(zhuǎn)發(fā)。按照現(xiàn)有已知的方法,如果要保持NAT映射,移動(dòng)終端與計(jì)算設(shè)備之間需要不斷的交換數(shù)據(jù)包。對(duì)于PC而言,這不是問(wèn)題。但對(duì)于移動(dòng)終端而言,將消耗移動(dòng)終端寶貴的電池、帶寬以及寶貴的空中無(wú)線資源。因?yàn)槊看谓邮栈虬l(fā)送IP包,移動(dòng)終端都需要打開(kāi)射頻模塊,激活天線,申請(qǐng)空中無(wú)線資源。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種保持網(wǎng)絡(luò)NAT綁定的方法,通過(guò)保持網(wǎng)絡(luò)NAT綁定來(lái)維持移動(dòng)終端與IP網(wǎng)絡(luò)如互聯(lián)網(wǎng)的計(jì)算設(shè)備的數(shù)據(jù)鏈路。本發(fā)明所稱的保持網(wǎng)絡(luò)NAT綁定是指通過(guò)由互聯(lián)網(wǎng)方的計(jì)算設(shè)備發(fā)送心跳包來(lái)綁定NAT的地址映射。本發(fā)明的保持網(wǎng)絡(luò)NAT綁定的方法包括以下步驟移動(dòng)終端通過(guò)主動(dòng)發(fā)起連接請(qǐng)求建立經(jīng)由無(wú)線網(wǎng)、連接無(wú)線網(wǎng)的邊緣NAT路由器、一個(gè)或多個(gè)其他路由器至計(jì)算設(shè)備的鏈路;所述邊緣NAT路由器把來(lái)自移動(dòng)終端的數(shù)據(jù)包源地址映射成邊緣NAT路由器的源地址以及把來(lái)自計(jì)算設(shè)備的數(shù)據(jù)包的目的地址映射成移動(dòng)終端的目的地址,并在第一時(shí)段內(nèi)保持所述兩個(gè)地址映射;所述計(jì)算設(shè)備按照其時(shí)段小于所述第一時(shí)間段的時(shí)間間隔向所述計(jì)算設(shè)備發(fā)送一個(gè)心跳包,使所述心跳包中的生存時(shí)間TTL設(shè)定值到達(dá)所述邊緣NAT路由器時(shí)遞減為0, 以便利用計(jì)算設(shè)備發(fā)送的心跳包保持邊緣NAT路由器的地址映射,從而維持從所述移動(dòng)終端至計(jì)算設(shè)備的所述鏈路;其中,所述心跳包的生存時(shí)間TTL設(shè)定值為來(lái)自移動(dòng)終端的數(shù)據(jù)包到達(dá)所述計(jì)算設(shè)備所經(jīng)過(guò)的包括邊緣NAT路由器在內(nèi)的所有路由器的跳數(shù)(Hops)。其中所述計(jì)算設(shè)備通過(guò)以下步驟設(shè)置心跳包生存時(shí)間TTL設(shè)定值當(dāng)收到來(lái)自移動(dòng)終端的移動(dòng)終端數(shù)據(jù)包時(shí),解析出其當(dāng)前TTL值Vl ;將移動(dòng)終端數(shù)據(jù)包的TTL標(biāo)稱值VO減去所述當(dāng)前TTL值Vl得到跳數(shù);然后,把所述跳數(shù)設(shè)為心跳包的TTL設(shè)定值。其中當(dāng)所述心跳包經(jīng)過(guò)所述鏈路上的每個(gè)路由器轉(zhuǎn)發(fā)時(shí),該路由器將心跳包中的生存時(shí)間TTL設(shè)定值遞減一,以致數(shù)據(jù)包到達(dá)所述邊緣NAT路由器時(shí),所述心跳包因?yàn)槠渖鏁r(shí)間TTL設(shè)定值被遞減為0而被丟棄,使得所述心跳包僅起到保持所述邊緣NAT路由器地址映射的(數(shù)據(jù)活動(dòng))作用,但數(shù)據(jù)包不會(huì)下發(fā)到移動(dòng)終端,而減少對(duì)移動(dòng)終端電池和空中資源的消耗。其中所述計(jì)算設(shè)備通過(guò)以下步驟設(shè)置心跳包生存時(shí)間TTL的設(shè)定值當(dāng)收到來(lái)自移動(dòng)終端的移動(dòng)終端數(shù)據(jù)包時(shí),解析出其中的當(dāng)前TTL值Vl ;
將移動(dòng)終端數(shù)據(jù)包的TTL標(biāo)稱值VO減去所述當(dāng)前TTL值Vl得到跳數(shù)V ;把跳數(shù)V+調(diào)整值D設(shè)為心跳包的TTL初始值ttl ;然后通過(guò)與移動(dòng)終端進(jìn)行發(fā)送-響應(yīng)通信,調(diào)整心跳包TTL初始值ttl,直至獲得移動(dòng)終端1不能響應(yīng)的TTL值,以作為心跳包的TTL設(shè)定值。其中所述發(fā)送-響應(yīng)通信包括計(jì)算設(shè)備向移動(dòng)終端發(fā)送包含TTL初始值(ttl) 的心跳包,移動(dòng)終端響應(yīng)后回送響應(yīng)包;計(jì)算設(shè)備收到移動(dòng)終端回送的響應(yīng)包后,將心跳包的TTL初始值減一;然后計(jì)算設(shè)備把TTL初始值減一的心跳包發(fā)送給移動(dòng)終端,移動(dòng)終端響應(yīng)后再回送響應(yīng)包;此后,重復(fù)計(jì)算設(shè)備將TTL減一后發(fā)送心跳包及移動(dòng)終端響應(yīng)回送響應(yīng)包的操作,直至計(jì)算設(shè)備把TTL初始值遞減到移動(dòng)終端不能響應(yīng)回送響應(yīng)包時(shí)的數(shù)值。其中所述移動(dòng)終端設(shè)有響應(yīng)并回送響應(yīng)包的響應(yīng)模塊。其中所述移動(dòng)終端通過(guò)光盤(pán)或網(wǎng)絡(luò)下載方式安裝所述響應(yīng)模塊。根據(jù)本發(fā)明的第一實(shí)例,本發(fā)明的保持網(wǎng)絡(luò)NAT綁定的方法可以包括以下步驟移動(dòng)終端通過(guò)主動(dòng)發(fā)起連接請(qǐng)求建立經(jīng)由無(wú)線網(wǎng)、連接無(wú)線網(wǎng)的邊緣NAT路由器、一個(gè)或多個(gè)其他路由器至計(jì)算設(shè)備的鏈路;所述邊緣NAT路由器把來(lái)自移動(dòng)終端的數(shù)據(jù)包源地址映射成本機(jī)源地址以及把來(lái)自計(jì)算設(shè)備的數(shù)據(jù)包的目的地址映射成移動(dòng)終端的目的地址,并在第一時(shí)段內(nèi)保持所述兩個(gè)地址映射;所述計(jì)算設(shè)備按照其時(shí)段小于所述第一時(shí)間段的時(shí)間間隔向所述計(jì)算設(shè)備發(fā)送一個(gè)心跳包,使所述心跳包中的生存時(shí)間TTL設(shè)定值到達(dá)所述邊緣NAT路由器時(shí)遞減為0, 以便利用計(jì)算設(shè)備發(fā)送的心跳包保持邊緣NAT路由器的地址映射,從而維持從所述移動(dòng)終端至計(jì)算設(shè)備的所述鏈路,但心跳包又不會(huì)被下發(fā)到移動(dòng)終端;其中所述計(jì)算設(shè)備按以下步驟設(shè)置所述生存時(shí)間TTL設(shè)定值當(dāng)收到來(lái)自移動(dòng)終端的移動(dòng)終端數(shù)據(jù)包時(shí),解析出其當(dāng)前TTL值Vl ;將移動(dòng)終端數(shù)據(jù)包的TTL標(biāo)稱值VO減去所述當(dāng)前TTL值Vl得到跳數(shù);然后,把所述跳數(shù)設(shè)為心跳包的TTL設(shè)定值。根據(jù)本發(fā)明的第一實(shí)例,本發(fā)明的保持網(wǎng)絡(luò)NAT綁定的方法可以包括以下步驟 移動(dòng)終端通過(guò)主動(dòng)發(fā)起連接請(qǐng)求建立經(jīng)由無(wú)線網(wǎng)、連接無(wú)線網(wǎng)的邊緣NAT路由器、一個(gè)或多個(gè)其他路由器達(dá)到計(jì)算設(shè)備的鏈路;所述邊緣NAT路由器把來(lái)自移動(dòng)終端的數(shù)據(jù)包源地址映射成本機(jī)源地址以及把來(lái)自計(jì)算設(shè)備的數(shù)據(jù)包的目的地址映射成移動(dòng)終端的目的地址,并在第一時(shí)段內(nèi)保持所述兩個(gè)地址映射;所述計(jì)算設(shè)備按照其時(shí)段小于所述第一時(shí)間段的時(shí)間間隔向所述計(jì)算設(shè)備發(fā)送一個(gè)心跳包,使所述心跳包中的生存時(shí)間TTL設(shè)定值到達(dá)所述邊緣NAT路由器時(shí)遞減為0,以便利用計(jì)算設(shè)備發(fā)送的心跳包保持邊緣NAT路由器的地址映射,從而維持從所述移動(dòng)終端至計(jì)算設(shè)備的所述鏈路;其中所述計(jì)算設(shè)備按以下步驟設(shè)置所述生存時(shí)間TTL設(shè)定值當(dāng)收到來(lái)自移動(dòng)終端的移動(dòng)終端數(shù)據(jù)包時(shí),解析出其中的當(dāng)前TTL值Vl ;將移動(dòng)終端數(shù)據(jù)包的TTL標(biāo)稱值VO減去所述當(dāng)前TTL值Vl得到跳數(shù)V ;把跳數(shù)V+調(diào)整值D設(shè)為心跳包的TTL初始值ttl ;然后通過(guò)與移動(dòng)終端進(jìn)行發(fā)送-響應(yīng)通信,調(diào)整心跳包TTL初始值ttl,直至獲得移動(dòng)終端不能響應(yīng)時(shí)的TTL值,以作為心跳包TTL的設(shè)定值。
其中所述發(fā)送-響應(yīng)通信包括計(jì)算設(shè)備向移動(dòng)終端發(fā)送包含TTL初始值ttl的心跳包,移動(dòng)終端響應(yīng)后回送響應(yīng)包;計(jì)算設(shè)備收到移動(dòng)終端回送的響應(yīng)包后,將心跳包的 TTL初始值減一;然后計(jì)算設(shè)備把TTL初始值減一的心跳包發(fā)送給移動(dòng)終端,移動(dòng)終端響應(yīng)后再回送響應(yīng)包;此后,重復(fù)計(jì)算設(shè)備將TTL減一后發(fā)送心跳包及移動(dòng)終端響應(yīng)回送響應(yīng)包的操作,直至計(jì)算設(shè)備把TTL初始值遞減到移動(dòng)終端不能響應(yīng)回送響應(yīng)包時(shí)的數(shù)值。在上述方法中,所述移動(dòng)終端按照其時(shí)段大于所述第一時(shí)段的間隔向所述計(jì)算設(shè)備發(fā)送數(shù)據(jù)包,以便計(jì)算設(shè)備利用該數(shù)據(jù)包獲得適應(yīng)鏈路中斷、路由改變等意外事件的TTL 值。采用本發(fā)明的上述方法可以保持NAT地址映射,從而解決了現(xiàn)有技術(shù)中存在的移動(dòng)終端需要頻繁收發(fā)IP包的技術(shù)問(wèn)題。下面結(jié)合附圖對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。
圖1是現(xiàn)有的移動(dòng)終端上網(wǎng)的系統(tǒng)示意圖;圖2是顯示了實(shí)現(xiàn)本發(fā)明的保持網(wǎng)絡(luò)NAT綁定方法的系統(tǒng)示意圖;圖3是顯示了實(shí)現(xiàn)本發(fā)明的保持網(wǎng)絡(luò)NAT綁定方法的第一實(shí)施例的示意圖;圖4是顯示了實(shí)現(xiàn)本發(fā)明的保持網(wǎng)絡(luò)NAT綁定方法的第二實(shí)施例的示意圖。
具體實(shí)施例方式本發(fā)明的原理是,在移動(dòng)終端與計(jì)算設(shè)備之間的IP鏈路建立后,計(jì)算設(shè)備每隔一定的時(shí)間(Tp)發(fā)送特定的IP包(以下稱之為“心跳包”)給移動(dòng)終端,這個(gè)Tp小于移動(dòng)終端與計(jì)算設(shè)備之間所有NAT設(shè)備的Tl。而且這個(gè)特定的心跳包里的TTL值設(shè)為一特殊量, 為移動(dòng)終端與計(jì)算設(shè)備之間的跳數(shù)(hops)。這樣當(dāng)NAT 0收到計(jì)算設(shè)備的這個(gè)特殊的心跳時(shí),TTL值已經(jīng)為1,減一后,TTL值為零,因此NAT 0將會(huì)扔棄這個(gè)心跳包,而不會(huì)把這個(gè)心跳包發(fā)送到移動(dòng)終端,從而保證移動(dòng)終端的無(wú)線資源沒(méi)有被激活,而節(jié)省了移動(dòng)終端的電池、帶寬以及空中無(wú)線資源。但是因?yàn)樵贜AT的Tl定時(shí)器超時(shí)之前,NAT設(shè)備收到來(lái)自計(jì)算設(shè)備發(fā)往移動(dòng)終端的心跳包,連接無(wú)線網(wǎng)的NAT以及鏈路上所有的其他NAT設(shè)備將仍然保留移動(dòng)終端的IP映射,因此計(jì)算設(shè)備仍然能夠?qū)⒄5腎P包(數(shù)據(jù)包)發(fā)往移動(dòng)終端。本發(fā)明的心跳包也可以稱作NAT綁定包,除了 TTL設(shè)定值由計(jì)算設(shè)備根據(jù)跳數(shù)設(shè)定外,其格式遵從移動(dòng)終端或移動(dòng)終端與網(wǎng)絡(luò)計(jì)算設(shè)備之間傳輸?shù)臄?shù)據(jù)包格式。此外,在心跳包或NAT綁定包還可以設(shè)置一個(gè)表示用于綁定PAT的綁定標(biāo)識(shí)符。本發(fā)明對(duì)移動(dòng)終端與計(jì)算設(shè)備之間正常交換的IP包的TTL值不做任何特殊處理。本發(fā)明可以通過(guò)以下方法獲取跳數(shù)計(jì)算設(shè)備發(fā)送心跳包時(shí),需要知道計(jì)算設(shè)備與移動(dòng)終端之間的跳數(shù),包括以下步驟1、當(dāng)移動(dòng)終端發(fā)IP包到計(jì)算設(shè)備時(shí),應(yīng)用數(shù)據(jù)里面(非IP、或TCP、UDP頭)包含一個(gè)新的數(shù)據(jù)域,TTL值V0。也就是移動(dòng)終端發(fā)出的這個(gè)IP包里TTL的數(shù)值(如64)。2、當(dāng)計(jì)算設(shè)備收到移動(dòng)終端的IP包后,檢測(cè)IP頭,從中找出其當(dāng)前TTL數(shù)值VI。3、移動(dòng)終端與計(jì)算設(shè)備之間的跳數(shù)為V0-V1.計(jì)算設(shè)備的心跳包的TTL值將設(shè)為ttl = VO-Vlo因?yàn)楦鞔驨AT設(shè)備廠商沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),心跳包的TTL值設(shè)為VO-Vl不完全可靠。 因而可以還可以采取以下步驟獲得跳數(shù)1、當(dāng)計(jì)算設(shè)備第一次發(fā)包到計(jì)算設(shè)備時(shí)(如注冊(cè)時(shí)),計(jì)算設(shè)備將心跳包的TTL值初始化為ttl = VO-Vl+D, D可以設(shè)為5左右,比如2 7。2、移動(dòng)終端收到計(jì)算設(shè)備的心跳包后,將回送一個(gè)心跳包,TTL為正常值(如64)。3、如果計(jì)算設(shè)備收到來(lái)自移動(dòng)終端的心跳包,將把下一個(gè)心跳包的ttl值減一。4、通過(guò)幾個(gè)來(lái)回,計(jì)算設(shè)備在心跳包里將設(shè)置精確的ttl值,以保證這個(gè)心跳包到達(dá)NAT 0時(shí),TTL值已經(jīng)變?yōu)?,從而被NAT 0扔棄。對(duì)于VoIP,IM或其他實(shí)時(shí)消息服務(wù),在NAT存在的情況下,移動(dòng)終端需要在60秒內(nèi)主動(dòng)發(fā)一 IP包到計(jì)算設(shè)備以維持NAT設(shè)備里的映射關(guān)系。這相當(dāng)于每隔60秒發(fā)起一次主動(dòng)呼叫,空中資源以及手機(jī)的電池將被大大的消耗。利用本發(fā)明的方法,移動(dòng)終端或移動(dòng)設(shè)備將無(wú)需每隔一定時(shí)間發(fā)送IP包來(lái)保持 NAT設(shè)備里的映射關(guān)系。但是因?yàn)闊o(wú)線數(shù)據(jù)鏈路的復(fù)雜性,移動(dòng)終端的的無(wú)線連接完全可以被中斷,而計(jì)算設(shè)備無(wú)法探測(cè)到,因此移動(dòng)終端仍然需要每隔一定的時(shí)間(Tl)發(fā)送IP包給計(jì)算設(shè)備,以刷新IP鏈路。這個(gè)時(shí)間間隔Tl遠(yuǎn)遠(yuǎn)大于計(jì)算設(shè)備的心跳包的時(shí)間間隔Tp.對(duì)于UDP/IP連接,Tp為20秒量級(jí),但Tl可以是20分鐘量級(jí)。具體數(shù)字由實(shí)施者自行決定。圖2顯示了解釋本發(fā)明方法的系統(tǒng),下面結(jié)合圖2對(duì)本發(fā)明的方法進(jìn)行詳細(xì)說(shuō)明。在圖2中,移動(dòng)終端1可以是GPRS手機(jī)、TD-SCDMA手機(jī)、WCDMA手機(jī)、CDMA2000手機(jī),也可以是WIFI手機(jī)或WiWAX手機(jī)。無(wú)線網(wǎng)2可以是適應(yīng)上述手機(jī)的無(wú)線網(wǎng)絡(luò)。計(jì)算設(shè)備5可以使IP網(wǎng)絡(luò)中的服務(wù)器或計(jì)算機(jī),移動(dòng)終端1通過(guò)向計(jì)算設(shè)備5主動(dòng)發(fā)起連接請(qǐng)求,建立從移動(dòng)終端至計(jì)算設(shè)備5的數(shù)據(jù)鏈路。邊緣NAT路由器3是連接無(wú)線網(wǎng)2的帶有 NAT程序或模塊的路由器,該路由器可以將移動(dòng)終端1發(fā)送給計(jì)算設(shè)備5的數(shù)據(jù)包的源地址轉(zhuǎn)換成它自己的源地址,并且把來(lái)自計(jì)算設(shè)備5的數(shù)據(jù)包的目的地址轉(zhuǎn)換成移動(dòng)終端的目的地址,例如把來(lái)自移動(dòng)終端1的數(shù)據(jù)包(分組)的源IP地址TCP源端口 192. 168. 0. 3 30000映射成它自己的源IP地址TCP源端口 172. 28. 1. 5 =40001,以及把來(lái)自計(jì)算設(shè)備5 的數(shù)據(jù)包的172. 28. 1. 5 40001目的IP地址TCP目的端口映射成移動(dòng)終端1的目的IP地址=TCP目的端口 192. 168. 0. 3 :30000,并在一定時(shí)間內(nèi)比如60秒內(nèi)保持這種地址映射,如果超過(guò)這個(gè)時(shí)間沒(méi)有收到來(lái)自移動(dòng)終端1或者計(jì)算設(shè)備5的數(shù)據(jù)包,則NAT程序或模塊將解除這種地址映射,從而中斷從移動(dòng)終端1至計(jì)算設(shè)備5的數(shù)據(jù)鏈路。數(shù)據(jù)鏈路可能經(jīng)由多個(gè)路由器或NAT路由器4建立,因此圖2中示出了 n-1個(gè)其他路由器。下面根據(jù)圖2所示的系統(tǒng)詳細(xì)說(shuō)明本發(fā)明的保持網(wǎng)絡(luò)NAT綁定的方法首先移動(dòng)終端1通過(guò)主動(dòng)發(fā)起連接請(qǐng)求建立經(jīng)由無(wú)線網(wǎng)2、連接無(wú)線網(wǎng)2的邊緣 NAT路由器3、一個(gè)或多個(gè)其他路由器4至計(jì)算設(shè)備5的鏈路;邊緣NAT路由器3把來(lái)自移動(dòng)終端1的數(shù)據(jù)包的源地址(例如包括源IP地址和 TCP源端口)映射成NAT路由器3的源地址以及把來(lái)自計(jì)算設(shè)備5的數(shù)據(jù)包的目的地址映 (例如包括的IP地址TCP目的端口 )射成移動(dòng)終端的目的地址,并在第一時(shí)段Tl例如60 秒內(nèi)保持兩個(gè)地址映射;計(jì)算設(shè)備5按照其時(shí)段小于第一時(shí)間段Tl的時(shí)間間隔T2(例如55)秒向計(jì)算設(shè)備1發(fā)送一個(gè)心跳包,使心跳包中的生存時(shí)間TTL設(shè)定值到達(dá)邊緣NAT路由器3時(shí)遞減為 0,以便利用計(jì)算設(shè)備5發(fā)送的心跳包保持邊緣NAT路由器3的地址映射,從而維持從移動(dòng)終端1至計(jì)算設(shè)備5的鏈路。計(jì)算設(shè)備5可以把心跳包的生存時(shí)間TTL的設(shè)定值確定為來(lái)自移動(dòng)終端的數(shù)據(jù)包到達(dá)計(jì)算設(shè)備5所經(jīng)過(guò)的包括邊緣NAT路由器3在內(nèi)的所有路由器4的跳數(shù)(Hops),如圖 2所示,由于數(shù)據(jù)包經(jīng)過(guò)η個(gè)路由器才能到達(dá)計(jì)算設(shè)備5,因此計(jì)算設(shè)備5可以把TTL的值設(shè)置為η,例如若η等于10,則TTL設(shè)定值為10。需要說(shuō)明的是,計(jì)算設(shè)備5設(shè)定的TTL設(shè)定值是指計(jì)算設(shè)備最終確定的TTL值,而下文所述的計(jì)算設(shè)備5設(shè)定的TTL初始值則是初步設(shè)定的TTL值。計(jì)算設(shè)備5可以通過(guò)以下步驟設(shè)置心跳包生存時(shí)間TTL的值當(dāng)收到來(lái)自移動(dòng)終端1的移動(dòng)終端數(shù)據(jù)包時(shí),解析該數(shù)據(jù)包頭部中的當(dāng)前TTL值 Vl (例如為54);將移動(dòng)終端數(shù)據(jù)包的TTL標(biāo)稱值VO (例如64)減去當(dāng)前TTL值Vl (54)得到跳數(shù) (例如10);然后,把跳數(shù)設(shè)為心跳包的TTL設(shè)定值(例如10)。當(dāng)心跳包經(jīng)過(guò)鏈路上的每個(gè)路由器轉(zhuǎn)發(fā)時(shí),該路由器將心跳包中的生存時(shí)間TTL 設(shè)定值遞減一,以致數(shù)據(jù)包到達(dá)邊緣NAT路由器3時(shí),心跳包因?yàn)槠渖鏁r(shí)間TTL設(shè)定值被遞減為0而被丟棄,使得心跳包僅起到保持邊緣NAT路由器3地址映射的數(shù)據(jù)活動(dòng)作用。如上所述,當(dāng)經(jīng)由10個(gè)路由器建立從移動(dòng)終端1至計(jì)算設(shè)備5的數(shù)據(jù)鏈路時(shí),計(jì)算設(shè)備5發(fā)送的心跳包的TTL設(shè)定值為10,該心跳包到達(dá)邊緣NAT路由器3時(shí),其TTL設(shè)定值被遞減為0,從而被路由器3丟棄,但是心跳包在路由器3中的數(shù)據(jù)活動(dòng)即路由器3對(duì)其處理,使得 NAT路由器3的地址映射又延長(zhǎng)了第一時(shí)段Tl的時(shí)間如60秒。計(jì)算設(shè)備5還可以通過(guò)以下步驟設(shè)置心跳包生存時(shí)間TTL的設(shè)定值當(dāng)收到來(lái)自移動(dòng)終端1的移動(dòng)終端數(shù)據(jù)包時(shí),解析出其中的當(dāng)前TTL值Vl(比如 54);將移動(dòng)終端數(shù)據(jù)包的TTL標(biāo)稱值VO (比如64)減去當(dāng)前TTL值Vl (比如54)得到跳數(shù)v(比如10);把跳數(shù)V+調(diào)整值D (例如3)設(shè)為心跳包的TTL初始值ttl (比如13);然后通過(guò)與移動(dòng)終端1進(jìn)行發(fā)送-響應(yīng)通信,調(diào)整心跳包TTL初始值ttl,直至獲得移動(dòng)終端1不能響應(yīng)的心跳包TTL值,并將其作為T(mén)TL設(shè)定值。具體地說(shuō),計(jì)算設(shè)備5與移動(dòng)終端1之間的發(fā)送-響應(yīng)通信操作包括計(jì)算設(shè)備5向移動(dòng)終端1發(fā)送包含TTL初始值ttl (比如13)的心跳包,移動(dòng)終端 1對(duì)該心跳包響應(yīng)后向計(jì)算設(shè)備5回送響應(yīng)包;計(jì)算設(shè)備5收到移動(dòng)終端1回送的響應(yīng)包后,將心跳包的TTL初始值減一(13-1 =12);然后計(jì)算設(shè)備5把TTL初始值減一的心跳包(其TTL = 12)發(fā)送給移動(dòng)終端1,移動(dòng)終端1響應(yīng)后再回送響應(yīng)包;接著,重復(fù)上述計(jì)算設(shè)備5將TTL減一后發(fā)送心跳包以及移動(dòng)終端1響應(yīng)回送響應(yīng)包的操作,直至計(jì)算設(shè)備5把TTL初始值遞減到移動(dòng)終端1不能響應(yīng)回送響應(yīng)包時(shí)的數(shù)值(例如,計(jì)算設(shè)備5通過(guò)對(duì)心跳包TTL值的多次遞減,把TTL初始值13遞減到10,使得心跳包到達(dá)NAT路由器3并進(jìn)行減一操作時(shí),該心跳包的TTL = 0,從而不能轉(zhuǎn)發(fā)給移動(dòng)終端 1,致使移動(dòng)終端1不能響應(yīng)并回送響應(yīng)包)。為了使移動(dòng)終端1能夠響應(yīng)并回送計(jì)算設(shè)備發(fā)送的心跳包,移動(dòng)終端1應(yīng)當(dāng)設(shè)有響應(yīng)并回送響應(yīng)包的響應(yīng)模塊(圖中未顯示),移動(dòng)終端1可以通過(guò)光盤(pán)或網(wǎng)絡(luò)下載方式安裝該響應(yīng)模塊。下面通過(guò)結(jié)合圖3和圖4所示的實(shí)現(xiàn)本發(fā)明的方法的兩個(gè)具體實(shí)例,說(shuō)明本發(fā)明的保持網(wǎng)絡(luò)NAT綁定的兩個(gè)具體實(shí)施方法在圖3所示的第一實(shí)例中,移動(dòng)終端1首先通過(guò)主動(dòng)發(fā)起連接請(qǐng)求建立經(jīng)由無(wú)線網(wǎng)2、連接無(wú)線網(wǎng)2的邊緣NAT路由器3、一個(gè)或多個(gè)其他路由器4至計(jì)算設(shè)備5的鏈路;接著,邊緣NAT路由器3把來(lái)自移動(dòng)終端1的數(shù)據(jù)包源地址映射成本機(jī)源地址以及把來(lái)自計(jì)算設(shè)備5的數(shù)據(jù)包的目的地址映射成移動(dòng)終端的目的地址,并在第一時(shí)段Tl內(nèi)保持兩個(gè)地址映射;然后,計(jì)算設(shè)備5按照其時(shí)段小于第一時(shí)間段Tl的時(shí)間間隔T2向計(jì)算設(shè)備1發(fā)送一個(gè)心跳包,使心跳包中的生存時(shí)間TTL的值到達(dá)邊緣NAT路由器3時(shí)遞減為0,以便利用計(jì)算設(shè)備5發(fā)送的心跳包保持邊緣NAT路由器3的地址映射,從而維持從移動(dòng)終端1至計(jì)算設(shè)備5的鏈路;其中計(jì)算設(shè)備5按以下步驟設(shè)置生存時(shí)間TTL的值當(dāng)收到來(lái)自移動(dòng)終端1的移動(dòng)終端數(shù)據(jù)包時(shí),解析出其當(dāng)前TTL值Vl ;將移動(dòng)終端數(shù)據(jù)包的TTL標(biāo)稱值VO減去當(dāng)前TTL值Vl得到跳數(shù);然后,把跳數(shù)設(shè)為心跳包的TTL的值。例如,在圖3所示的第一實(shí)例中,假定移動(dòng)終端1發(fā)送的數(shù)據(jù)包的TTL的標(biāo)稱值 VO = 64,該數(shù)據(jù)包(數(shù)據(jù)報(bào))經(jīng)由邊緣NAT路由器3和其他19個(gè)其他路由器到達(dá)計(jì)算設(shè)備5,根據(jù)數(shù)據(jù)包每經(jīng)過(guò)一個(gè)路由器,將TTL值減一的規(guī)則,計(jì)算設(shè)備5收到的數(shù)據(jù)包中TTL 當(dāng)前值Vl為64-20 = 44,計(jì)算設(shè)備5通過(guò)解析該數(shù)據(jù)包得到該Vl,然后將標(biāo)稱值VO-Vl = 64-44得到跳數(shù)20,從而將心跳包的TTL設(shè)定值確定為20。在圖4所示的第二實(shí)例中,移動(dòng)終端1通過(guò)主動(dòng)發(fā)起連接請(qǐng)求建立經(jīng)由無(wú)線網(wǎng)2、 連接無(wú)線網(wǎng)2的邊緣NAT路由器3、一個(gè)或多個(gè)其他路由器4至計(jì)算設(shè)備5的鏈路;邊緣NAT 路由器3把來(lái)自移動(dòng)終端1的數(shù)據(jù)包源地址映射成本機(jī)源地址以及把來(lái)自計(jì)算設(shè)備5的數(shù)據(jù)包的目的地址映射成移動(dòng)終端的目的地址,并在第一時(shí)段Tl內(nèi)保持兩個(gè)地址映射;計(jì)算設(shè)備5按照其時(shí)段小于第一時(shí)間段Tl的時(shí)間間隔T2向計(jì)算設(shè)備1發(fā)送一個(gè)心跳包,使心跳包中的生存時(shí)間TTL設(shè)定值到達(dá)邊緣NAT路由器3時(shí)遞減為0,以便利用計(jì)算設(shè)備5發(fā)送的心跳包保持邊緣NAT路由器3的地址映射,從而維持從移動(dòng)終端1至計(jì)算設(shè)備5的鏈路; 其中計(jì)算設(shè)備5按以下步驟設(shè)置生存時(shí)間TTL設(shè)定值當(dāng)收到來(lái)自移動(dòng)終端1的移動(dòng)終端數(shù)據(jù)包時(shí),解析出其中的當(dāng)前TTL值Vl ;將移動(dòng)終端數(shù)據(jù)包的TTL標(biāo)稱值VO減去當(dāng)前TTL值Vl得到跳數(shù)V ;把跳數(shù)V+調(diào)整值D設(shè)為心跳包的TTL初始值ttl ;然后通過(guò)與移動(dòng)終端1進(jìn)行發(fā)送-響應(yīng)通信,調(diào)整心跳包TTL初始值ttl,直至獲得移動(dòng)終端1不能響應(yīng)時(shí)的心跳包TTL值,并將其作為T(mén)TL設(shè)定值。其中,上述調(diào)整值最好在2 7中選取,可優(yōu)選5。計(jì)算設(shè)備5與移動(dòng)終端1之間的發(fā)送-響應(yīng)通信操作包括
計(jì)算設(shè)備5向移動(dòng)終端1發(fā)送包含TTL初始值ttl的心跳包,移動(dòng)終端1響應(yīng)后回送響應(yīng)包;計(jì)算設(shè)備5收到移動(dòng)終端1回送的響應(yīng)包后,將心跳包的TTL初始值減一;然后計(jì)算設(shè)備5把TTL初始值減一的心跳包發(fā)送給移動(dòng)終端1,移動(dòng)終端1響應(yīng)后再回送響應(yīng)包;接著,重復(fù)上述計(jì)算設(shè)備5將TTL減一后發(fā)送心跳包以及移動(dòng)終端1響應(yīng)回送響應(yīng)包的操作,直至計(jì)算設(shè)備5把TTL初始值遞減到移動(dòng)終端1不能響應(yīng)回送響應(yīng)包時(shí)的數(shù)值。比如,圖4所示的調(diào)整值D等于5,當(dāng)計(jì)算設(shè)備5收到移動(dòng)終端1關(guān)于心跳包的第一個(gè)響應(yīng)包時(shí),將TTL值(初始值)減一,發(fā)送TTL值=n+4的心跳包;當(dāng)計(jì)算設(shè)備5收到移動(dòng)終端1關(guān)于心跳包的第二個(gè)響應(yīng)包時(shí),將已經(jīng)減一的TTL值(初始值)再減一,發(fā)送 TTL值=n+3的心跳包;當(dāng)計(jì)算設(shè)備5收到移動(dòng)終端1關(guān)于心跳包的第三個(gè)響應(yīng)包時(shí),將已經(jīng)減二的TTL值(初始值)再減一,發(fā)送TTL值=n+2的心跳包;當(dāng)計(jì)算設(shè)備5收到移動(dòng)終端1關(guān)于心跳包的第四個(gè)響應(yīng)包時(shí),將已經(jīng)減三的TTL值(初始值)再減一,發(fā)送TTL值= n+1的心跳包;當(dāng)計(jì)算設(shè)備5收到移動(dòng)終端1關(guān)于心跳包的第五個(gè)響應(yīng)包時(shí),將已經(jīng)減四的 TTL值(初始值)再減一,發(fā)送TTL值=η的心跳包,該心跳包傳輸?shù)竭吘塏AT路由器3后其TTL值遞減為0,導(dǎo)致被丟棄,致使移動(dòng)終端1因不能收到該心跳包而不能響應(yīng)。移動(dòng)終端1設(shè)有響應(yīng)并回送響應(yīng)包的響應(yīng)模塊,該移動(dòng)終端1通過(guò)光盤(pán)或網(wǎng)絡(luò)下載方式安裝響應(yīng)模塊。當(dāng)移動(dòng)終端1收到來(lái)自計(jì)算設(shè)備的心跳包時(shí),響應(yīng)模塊根據(jù)心跳包中的用于綁定 NAT的綁定標(biāo)識(shí)符,生成并回送一個(gè)含有NAT綁定標(biāo)識(shí)符的響應(yīng)包,以便計(jì)算設(shè)備5依據(jù)該綁定標(biāo)識(shí)符辨識(shí)響應(yīng)包,并據(jù)此將TTL初始值減一。該響應(yīng)包中TTL值可以是移動(dòng)終端1 發(fā)送的普通數(shù)據(jù)包的標(biāo)稱值。由于鏈路可能意外中斷以及轉(zhuǎn)發(fā)數(shù)據(jù)包的路由器數(shù)量也可能變化,因此移動(dòng)終端 1還可以按照其時(shí)段大于第一時(shí)段Tl的間隔(比如20分鐘)向計(jì)算設(shè)備5發(fā)送數(shù)據(jù)包,以便計(jì)算設(shè)備5重復(fù)上述處理獲得適應(yīng)鏈路中斷、路由改變等意外事件的心跳包的TTL值。盡管上文對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,但是本發(fā)明不限于此,本技術(shù)領(lǐng)域技術(shù)人員可以根據(jù)本發(fā)明的原理進(jìn)行各種修改。因此,凡按照本發(fā)明原理所作的修改,都應(yīng)當(dāng)理解為落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種保持網(wǎng)絡(luò)NAT綁定的方法,包括以下步驟移動(dòng)終端(1)通過(guò)主動(dòng)發(fā)起連接請(qǐng)求建立經(jīng)由無(wú)線網(wǎng)O)、連接無(wú)線網(wǎng)( 的邊緣NAT 路由器(3)、一個(gè)或多個(gè)其他路由器(4)至計(jì)算設(shè)備(5)的鏈路;所述邊緣NAT路由器C3)把來(lái)自移動(dòng)終端(1)的數(shù)據(jù)包源地址映射成所述邊緣NAT路由器的源地址以及把來(lái)自計(jì)算設(shè)備(5)的數(shù)據(jù)包的目的地址映射成移動(dòng)終端的目的地址, 并在第一時(shí)段(Tl)內(nèi)保持所述兩個(gè)地址映射;所述計(jì)算設(shè)備(5)按照其時(shí)段小于所述第一時(shí)間段(Tl)的時(shí)間間隔(T2)向所述計(jì)算設(shè)備(1)發(fā)送一個(gè)心跳包,使所述心跳包生存時(shí)間TTL設(shè)定值到達(dá)所述邊緣NAT路由器(3) 時(shí)被遞減為0,以便利用計(jì)算設(shè)備(5)發(fā)送的心跳包保持邊緣NAT路由器(3)的地址映射, 從而維持從所述移動(dòng)終端(1)至計(jì)算設(shè)備(5)的所述鏈路。
2.根據(jù)權(quán)利要求1所述的方法,其中所述心跳包的生存時(shí)間TTL設(shè)定值由所述計(jì)算設(shè)備(5)設(shè)置,并且被設(shè)定為來(lái)自移動(dòng)終端的數(shù)據(jù)包到達(dá)所述計(jì)算設(shè)備(5)時(shí),所經(jīng)過(guò)的包括邊緣NAT路由器在內(nèi)的所有路由器的跳數(shù)(Hops)。
3.根據(jù)權(quán)利要求1或2所述的方法,其中所述計(jì)算設(shè)備( 通過(guò)以下步驟設(shè)置心跳包生存時(shí)間TTL設(shè)定值當(dāng)收到來(lái)自移動(dòng)終端(1)的移動(dòng)終端數(shù)據(jù)包時(shí),解析出其當(dāng)前TTL值Vl ; 將移動(dòng)終端數(shù)據(jù)包的TTL標(biāo)稱值VO減去所述當(dāng)前TTL值Vl得到所述跳數(shù); 然后,把所述跳數(shù)設(shè)為心跳包的TTL設(shè)定值。
4.根據(jù)權(quán)利要求3所述的方法,其中當(dāng)所述心跳包經(jīng)過(guò)所述鏈路上的每個(gè)路由器轉(zhuǎn)發(fā)時(shí),該路由器將心跳包中的生存時(shí)間TTL設(shè)定值遞減一,以致數(shù)據(jù)包到達(dá)所述邊緣NAT路由器(3)時(shí),所述心跳包因?yàn)槠渖鏁r(shí)間TTL設(shè)定值被遞減為0而被丟棄,使得所述心跳包僅起到保持所述邊緣NAT路由器(3)地址映射的作用。
5.根據(jù)權(quán)利要求1或2所述的方法,其中所述計(jì)算設(shè)備( 通過(guò)以下步驟設(shè)置心跳包生存時(shí)間TTL的設(shè)定值當(dāng)收到來(lái)自移動(dòng)終端(1)的移動(dòng)終端數(shù)據(jù)包時(shí),解析出其中的當(dāng)前TTL值Vl ; 將移動(dòng)終端數(shù)據(jù)包的TTL標(biāo)稱值VO減去所述當(dāng)前TTL值Vl得到所述跳數(shù)V ; 把所述跳數(shù)V+調(diào)整值D設(shè)為心跳包的TTL初始值ttl ;然后通過(guò)與移動(dòng)終端(1)進(jìn)行的發(fā)送-響應(yīng)通信,調(diào)整心跳包TTL初始值ttl,直至獲得移動(dòng)終端⑴不能響應(yīng)的TTL值,以作為心跳包的TTL設(shè)定值。
6.根據(jù)權(quán)利要求5所述的方法,其中所述發(fā)送-響應(yīng)通信包括計(jì)算設(shè)備(5)向移動(dòng)終端(1)發(fā)送包含TTL初始值(ttl)的心跳包,移動(dòng)終端(1)響應(yīng)后回送響應(yīng)包;計(jì)算設(shè)備( 收到移動(dòng)終端(1)回送的響應(yīng)包后,將心跳包的TTL初始值減一; 然后計(jì)算設(shè)備( 把TTL初始值減一的心跳包發(fā)送給移動(dòng)終端(1),移動(dòng)終端(1)響應(yīng)后再回送響應(yīng)包;接著,重復(fù)上述計(jì)算設(shè)備( 將TTL減一后發(fā)送心跳包以及移動(dòng)終端(1)響應(yīng)回送響應(yīng)包的操作,直至計(jì)算設(shè)備( 把TTL初始值遞減到移動(dòng)終端(1)不能響應(yīng)回送響應(yīng)包時(shí)的TTL值。
7.一種保持網(wǎng)絡(luò)NAT綁定的方法,包括以下步驟移動(dòng)終端(1)通過(guò)主動(dòng)發(fā)起連接請(qǐng)求建立經(jīng)由無(wú)線網(wǎng)O)、連接無(wú)線網(wǎng)( 的邊緣NAT 路由器(3)、一個(gè)或多個(gè)其他路由器(4)至計(jì)算設(shè)備(5)的鏈路;所述邊緣NAT路由器(3)把來(lái)自移動(dòng)終端(1)的數(shù)據(jù)包源地址映射成NAT路由器源地址以及把來(lái)自計(jì)算設(shè)備(5)的數(shù)據(jù)包的目的地址映射成移動(dòng)終端的目的地址,并在第一時(shí)段(Tl)內(nèi)保持所述兩個(gè)地址映射;所述計(jì)算設(shè)備(5)按照其時(shí)段小于所述第一時(shí)間段(Tl)的時(shí)間間隔(T2)向所述計(jì)算設(shè)備(1)發(fā)送一個(gè)心跳包,使所述心跳包中的生存時(shí)間TTL設(shè)定值到達(dá)所述邊緣NAT路由器⑶時(shí)遞減為0,以便利用計(jì)算設(shè)備(5)發(fā)送的心跳包保持邊緣NAT路由器(3)的地址映射,從而維持從所述移動(dòng)終端(1)至計(jì)算設(shè)備(5)的所述鏈路;其中所述計(jì)算設(shè)備( 按以下步驟設(shè)置所述心跳包生存時(shí)間TTL的設(shè)定值 當(dāng)收到來(lái)自移動(dòng)終端(1)的移動(dòng)終端數(shù)據(jù)包時(shí),解析出其當(dāng)前TTL值Vl ; 將移動(dòng)終端數(shù)據(jù)包的TTL標(biāo)稱值(VO)減去所述當(dāng)前TTL值(Vl)得到跳數(shù); 然后,把所述跳數(shù)設(shè)為心跳包的TTL的設(shè)定值。
8.一種保持網(wǎng)絡(luò)NAT綁定的方法,包括以下步驟移動(dòng)終端(1)通過(guò)主動(dòng)發(fā)起連接請(qǐng)求建立經(jīng)由無(wú)線網(wǎng)O)、連接無(wú)線網(wǎng)( 的邊緣NAT 路由器(3)、一個(gè)或多個(gè)其他路由器(4)至計(jì)算設(shè)備(5)的鏈路;所述邊緣NAT路由器C3)把來(lái)自移動(dòng)終端(1)的數(shù)據(jù)包源地址映射成本機(jī)源地址以及把來(lái)自計(jì)算設(shè)備(5)的數(shù)據(jù)包的目的地址映射成移動(dòng)終端的目的地址,并在第一時(shí)段(Tl) 內(nèi)保持所述兩個(gè)地址映射;所述計(jì)算設(shè)備(5)按照其時(shí)段小于所述第一時(shí)間段(Tl)的時(shí)間間隔(T2)向所述計(jì)算設(shè)備(1)發(fā)送一個(gè)心跳包,使所述心跳包中的生存時(shí)間TTL設(shè)定值到達(dá)所述邊緣NAT路由器⑶時(shí)遞減為0,以便利用計(jì)算設(shè)備(5)發(fā)送的心跳包保持邊緣NAT路由器(3)的地址映射,從而維持從所述移動(dòng)終端(1)至計(jì)算設(shè)備(5)的所述鏈路;其中所述計(jì)算設(shè)備( 按以下步驟設(shè)置所述心跳包生存時(shí)間TTL設(shè)定值 當(dāng)收到來(lái)自移動(dòng)終端(1)的移動(dòng)終端數(shù)據(jù)包時(shí),解析出其中的當(dāng)前TTL值(Vl); 將移動(dòng)終端數(shù)據(jù)包的TTL標(biāo)稱值(VO)減去所述當(dāng)前TTL值(Vl)得到跳數(shù)(V); 把跳數(shù)(V) +調(diào)整值(D)設(shè)為心跳包的TTL初始值(ttl);然后通過(guò)與移動(dòng)終端(1)進(jìn)行發(fā)送-響應(yīng)通信,調(diào)整心跳包TTL初始值(ttl),直至獲得移動(dòng)終端⑴不能響應(yīng)的TTL值,以作為心跳包的TTL設(shè)定值。
9.根據(jù)權(quán)利要求8所述的方法,其中所述發(fā)送-響應(yīng)通信包括計(jì)算設(shè)備(5)向移動(dòng)終端(1)發(fā)送包含TTL初始值(ttl)的心跳包,移動(dòng)終端(1)響應(yīng)后回送響應(yīng)包;計(jì)算設(shè)備( 收到移動(dòng)終端(1)回送的響應(yīng)包后,將心跳包的TTL初始值減一; 然后計(jì)算設(shè)備( 把TTL初始值減一的心跳包發(fā)送給移動(dòng)終端(1),移動(dòng)終端(1)響應(yīng)后再回送響應(yīng)包;接著,重復(fù)上述計(jì)算設(shè)備( 將TTL減一后發(fā)送心跳包以及移動(dòng)終端(1)響應(yīng)回送響應(yīng)包的操作,直至計(jì)算設(shè)備( 把TTL初始值遞減到移動(dòng)終端(1)不能響應(yīng)回送響應(yīng)包時(shí)的TTL值。
10.根據(jù)上述權(quán)利要求任一項(xiàng)所述的方法,其中所述移動(dòng)終端(1)按照其時(shí)段大于所述第一時(shí)段(Tl)的間隔向所述計(jì)算設(shè)備( 發(fā)送數(shù)據(jù)包,以便計(jì)算設(shè)備( 獲得適應(yīng)鏈路中斷、路由改變等意外事件的TTL值。
全文摘要
本發(fā)明公開(kāi)了一種保持網(wǎng)絡(luò)NAT綁定的方法,包括移動(dòng)終端通過(guò)主動(dòng)發(fā)起連接請(qǐng)求建立經(jīng)由無(wú)線網(wǎng)、連接無(wú)線網(wǎng)的邊緣NAT及其他路由器至計(jì)算設(shè)備的鏈路;邊緣NAT路由器把來(lái)自移動(dòng)終端的數(shù)據(jù)包源地址映射成NAT路由器源地址以及把來(lái)自計(jì)算設(shè)備的數(shù)據(jù)包的目的地址映射成移動(dòng)終端的目的地址,并在第一時(shí)段內(nèi)保持兩個(gè)地址映射;計(jì)算設(shè)備按照其時(shí)段小于第一時(shí)間段的時(shí)間間隔向移動(dòng)終端發(fā)送一個(gè)心跳包,使心跳包中的生存時(shí)間TTL的值到達(dá)邊緣NAT路由器時(shí)遞減為0,以便利用計(jì)算設(shè)備發(fā)送的心跳包保持邊緣NAT路由器的地址映射,從而維持從移動(dòng)終端至計(jì)算設(shè)備的鏈路,但心跳包將不被下發(fā)到收移動(dòng)終端,而最大程度減少移動(dòng)終端電池以及空中無(wú)線資源的消耗。
文檔編號(hào)H04L29/06GK102281335SQ20101020034
公開(kāi)日2011年12月14日 申請(qǐng)日期2010年6月9日 優(yōu)先權(quán)日2010年6月9日
發(fā)明者陶建輝 申請(qǐng)人:北京和信銳智科技有限公司