專利名稱:在nat穿越中分配外網(wǎng)互聯(lián)網(wǎng)協(xié)議ip地址的方法及設(shè)備、系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種在NAT穿越中分配外網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址的方法及設(shè)備、系統(tǒng)。
背景技術(shù):
目前IPv4的地址已經(jīng)差不多分配完,IP(Internet Protocol,英特網(wǎng)協(xié)議)地址短缺的問題非常嚴(yán)重,業(yè)界普遍認(rèn)為IPv6是解決這一問題的根本途徑。但是目前IPv6部署的進(jìn)度并不是很理想,短期內(nèi)IPv6無法解決地址短缺的問題;近期內(nèi)在運(yùn)營(yíng)商網(wǎng)絡(luò)中部署 NAT (Network Address Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)(CGN,Carrier Grade NAT,運(yùn)營(yíng)商級(jí)NAT)是暫時(shí)緩解地址短缺問題的有效途徑。但是在運(yùn)營(yíng)商網(wǎng)絡(luò)中部署NAT,會(huì)帶來較多的問題,特別是在NAT穿越方面。NAT 穿越存在問題主要是部分通訊協(xié)議報(bào)文的凈荷里攜帶有IP地址,而通常的NAT轉(zhuǎn)換只會(huì)修改報(bào)文頭里的地址,這樣會(huì)造成通訊協(xié)議無法正常工作,受影響的通訊協(xié)議有FTP (File Transfer Protocol,文件傳輸協(xié)議)、SIP (Session Initiation Protocol,會(huì)話初始協(xié)議)。解決NAT穿越問題的一種辦法是使用應(yīng)用層網(wǎng)關(guān)(ALG,Application Layer Gateway),但這已經(jīng)不是主流方式。目前通常采用PCP (Pinhole Control Protocol,穿孔控制協(xié)議)協(xié)議來實(shí)現(xiàn)NAT穿越,如圖1所示,在PCP協(xié)議中,客戶端向PCP服務(wù)器端發(fā)送一個(gè)請(qǐng)求,要求打開一個(gè)外網(wǎng)端口號(hào)(ex-port),PCP服務(wù)器檢查如果該端口未被使用,就會(huì)建立一個(gè)內(nèi)網(wǎng)IP(in-ip)+內(nèi)網(wǎng)端口號(hào)(ip-port)與外網(wǎng)IP(ex-ip) +外網(wǎng)端口號(hào)(ex-port) 的NAT映射表項(xiàng),同時(shí)PCP服務(wù)器會(huì)將外網(wǎng)IP與外網(wǎng)端口號(hào)的信息返回給客戶端。當(dāng)客戶端的應(yīng)用程序需要向網(wǎng)絡(luò)發(fā)布自己的IP和端口號(hào)時(shí),將發(fā)布自己的外網(wǎng)IP(ex-ip)和外網(wǎng)端口號(hào)(ex-port)。其他網(wǎng)絡(luò)節(jié)點(diǎn)就可用該外網(wǎng)IP和外網(wǎng)端口號(hào)為目的地址和目的端口號(hào),主動(dòng)向該客戶發(fā)起訪問,NAT設(shè)備會(huì)根據(jù)PCP協(xié)商時(shí)建立起的NAT映射表項(xiàng)對(duì)報(bào)文進(jìn)行轉(zhuǎn)換,將外網(wǎng)IP和外網(wǎng)端口號(hào)轉(zhuǎn)換為內(nèi)網(wǎng)IP和內(nèi)網(wǎng)端口號(hào);當(dāng)客戶端需要向其他節(jié)點(diǎn)發(fā)送報(bào)文時(shí),則進(jìn)行反向的轉(zhuǎn)換?,F(xiàn)有PCP協(xié)議實(shí)現(xiàn)NAT穿越的缺點(diǎn)為運(yùn)營(yíng)商網(wǎng)絡(luò)中的 NAT(CGN)通常是使用一個(gè)外網(wǎng)IP地址池,地址池中包含多個(gè)IP地址。當(dāng)應(yīng)用程序需要建立一個(gè)連接時(shí),NAT設(shè)備會(huì)從中選取一個(gè)IP和一個(gè)端口來建立NAT映射表項(xiàng)。而在同一個(gè)應(yīng)用程序建立多個(gè)連接時(shí),現(xiàn)有PCP協(xié)議并無法保證多個(gè)連接的外網(wǎng)IP地址均相同,從而會(huì)導(dǎo)致應(yīng)用程序無法正確進(jìn)行數(shù)據(jù)傳輸或易受到網(wǎng)絡(luò)攻擊。
發(fā)明內(nèi)容
本發(fā)明實(shí)施方式提供一種在NAT穿越中分配外網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址的方法及設(shè)備、系統(tǒng),可使同一個(gè)應(yīng)用程序的多個(gè)連接通過NAT設(shè)備后的外網(wǎng)IP地址保持一致,提高 NAT穿越協(xié)議對(duì)現(xiàn)有應(yīng)用程序的適應(yīng)能力,很好解決同一個(gè)應(yīng)用程序的多個(gè)連接通過NAT設(shè)備后外網(wǎng)IP地址不一致帶來的問題。本發(fā)明實(shí)施例提供一種在NAT穿越中分配外網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址的方法,包括接收客戶端發(fā)出的建立對(duì)應(yīng)連接的NAT映射表項(xiàng)的請(qǐng)求消息,所述請(qǐng)求消息包括指定的外網(wǎng)IP地址,該外網(wǎng)IP地址與所述客戶端的同一個(gè)應(yīng)用已建立的任意一個(gè)連接對(duì)應(yīng)的NAT映射表項(xiàng)中的外網(wǎng)IP地址相同;在根據(jù)接收的所述請(qǐng)求消息建立NAT映射表項(xiàng)時(shí),按所述請(qǐng)求消息中指定的外網(wǎng) IP地址,分配與所述指定的外網(wǎng)IP地址相同的IP地址,作為所要建立NAT映射表項(xiàng)的外網(wǎng) IP地址。本發(fā)明實(shí)施例還提供一種在NAT穿越中分配外網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址的方法,包括在向NAT設(shè)備發(fā)送建立對(duì)應(yīng)連接的NAT映射表項(xiàng)的請(qǐng)求消息中指定外網(wǎng)IP地址, 所述指定的外網(wǎng)IP地址與同一個(gè)應(yīng)用已建立的任意一個(gè)連接對(duì)應(yīng)的NAT映射表項(xiàng)中的外網(wǎng)IP地址相同; 所述指定外網(wǎng)IP地址使NAT設(shè)備在根據(jù)所述請(qǐng)求消息建立NAT映射表項(xiàng)時(shí),能按所述指定的外網(wǎng)IP地址,分配與所述指定的外網(wǎng)IP地址相同的IP地址,作為所述NAT設(shè)備所要建立NAT映射表項(xiàng)的外網(wǎng)IP地址;向NAT設(shè)備發(fā)送包括所述指定外網(wǎng)IP地址的所述請(qǐng)求消息。本發(fā)明實(shí)施例又提供一種NAT設(shè)備,包括接收單元,用于接收客戶端發(fā)出的建立對(duì)應(yīng)連接的NAT映射表項(xiàng)的請(qǐng)求消息,所述請(qǐng)求消息包括指定的外網(wǎng)IP地址,該外網(wǎng)IP地址與所述客戶端的同一個(gè)應(yīng)用已建立的任意一個(gè)連接對(duì)應(yīng)的NAT映射表項(xiàng)中的外網(wǎng)IP地址相同;建立單元,用于根據(jù)所述接收單元接收的所述請(qǐng)求消息,建立對(duì)應(yīng)連接的NAT映射表項(xiàng);分配單元,用于在所述建立單元根據(jù)接收的所述請(qǐng)求消息建立NAT映射表項(xiàng)時(shí), 按所述接收單元接收的所述請(qǐng)求消息中指定的外網(wǎng)IP地址,分配與所述指定的外網(wǎng)IP地址相同的IP地址,作為所述建立單元所要建立NAT映射表項(xiàng)的外網(wǎng)IP地址。本發(fā)明實(shí)施例進(jìn)一步提供一種通信設(shè)備,包括設(shè)置單元,用于在向NAT設(shè)備發(fā)送建立對(duì)應(yīng)連接的NAT映射表項(xiàng)的請(qǐng)求消息中指定外網(wǎng)IP地址,所述指定的外網(wǎng)IP地址與該通信設(shè)備上同一個(gè)應(yīng)用已建立的任意一個(gè)連接對(duì)應(yīng)的NAT映射表項(xiàng)中的外網(wǎng)IP地址相同;發(fā)送單元,用于向NAT設(shè)備發(fā)送包括所述設(shè)置單元指定外網(wǎng)IP地址的所述請(qǐng)求消肩、ο本發(fā)明實(shí)施例還提供一種通信設(shè)備,包括設(shè)置單元,用于在向NAT設(shè)備發(fā)送建立對(duì)應(yīng)連接的NAT映射表項(xiàng)的請(qǐng)求消息中指定索引值,所述指定的索引值所對(duì)應(yīng)IP地址索引表中的外網(wǎng)IP地址與該通信設(shè)備上同一個(gè)應(yīng)用已建立的任意一個(gè)連接對(duì)應(yīng)的NAT映射表項(xiàng)中的外網(wǎng)IP地址相同;發(fā)送單元,用于向NAT設(shè)備發(fā)送包括所述設(shè)置單元指定索引值的所述請(qǐng)求消息。本發(fā)明實(shí)施例又提供一種NAT系統(tǒng),包括客戶端設(shè)備和服務(wù)器端設(shè)備;其中,所述客戶端設(shè)備采用上述的通信設(shè)備;所述服務(wù)器端設(shè)備采用上述的NAT設(shè)備。由上述本發(fā)明實(shí)施方式提供的技術(shù)方案可以看出,本發(fā)明實(shí)施例中通過在建立 NAT映射表項(xiàng)時(shí),按收到的客戶端發(fā)送的請(qǐng)求消息中指定的外網(wǎng)IP地址,分配與所述外網(wǎng) IP地址相同的IP地址作為所要建立的NAT映射表項(xiàng)中的外網(wǎng)IP地址;并且收到的客戶端發(fā)送的請(qǐng)求消息中指定的所述外網(wǎng)IP地址與同一個(gè)應(yīng)用的已建立連接對(duì)應(yīng)的NAT映射表項(xiàng)中的外網(wǎng)IP地址相同,從而很好的解決了在現(xiàn)有的NAT穿越方案中常出現(xiàn)的由于同一個(gè)應(yīng)用程序的多個(gè)連接在NAT穿越以后外網(wǎng)IP地址不同而造成的應(yīng)用程序不能正常運(yùn)行或易造成網(wǎng)絡(luò)攻擊的問題,該方法大大加強(qiáng)了 NAT穿越協(xié)議對(duì)現(xiàn)有應(yīng)用程序的適應(yīng)能力,增強(qiáng)了 NAT設(shè)備的性能。
為了更清楚地說明本發(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ù)提供的PCP協(xié)議實(shí)現(xiàn)NAT穿越的示意圖;圖2為現(xiàn)有技術(shù)提供的利用PCP協(xié)議實(shí)現(xiàn)FTP應(yīng)用中NAT穿越的示意圖;圖3為本發(fā)明實(shí)施例一提供的該方法流程圖;圖4為本發(fā)明實(shí)施例一提供的該方法應(yīng)用于PCP協(xié)議的示意圖;圖5為本發(fā)明實(shí)施例二提供的利用PCP協(xié)議實(shí)現(xiàn)FTP應(yīng)用中NAT穿越的示意圖;圖6為本發(fā)明實(shí)施例二提供的利用PCP協(xié)議實(shí)現(xiàn)FTP應(yīng)用中NAT穿越分配IP地址失敗時(shí)的示意圖;圖7為本發(fā)明實(shí)施例三提供的該方法流程圖;圖8為本發(fā)明實(shí)施例四提供的NAT設(shè)備的結(jié)構(gòu)框圖;圖9為本發(fā)明實(shí)施例四提供的NAT設(shè)備的分配單元的結(jié)構(gòu)框圖;圖10為本發(fā)明實(shí)施例四提供的NAT設(shè)備的分配單元的另一種結(jié)構(gòu)框圖;圖11為本發(fā)明實(shí)施例五提供的通信設(shè)備的結(jié)構(gòu)框圖;圖12為本發(fā)明實(shí)施例七提供的通信系統(tǒng)的示意圖。
具體實(shí)施例方式為便于理解,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。目前的NAT穿越中,當(dāng)同一個(gè)應(yīng)用程序需要建立多個(gè)連接時(shí),并不能保證這多個(gè)連接的IP是一樣的。而當(dāng)多個(gè)連接的IP地址不一樣時(shí),某些通訊協(xié)議無法正常工作,例如圖2所示的FTP應(yīng)用,其中,當(dāng)客戶端(運(yùn)行FTP客戶端程序并作為PCP客戶端)需要進(jìn)行FTP協(xié)商時(shí),會(huì)通過PCP協(xié)議在NAT設(shè)備上打開一個(gè)端口 ex-port-Ι,與之對(duì)應(yīng)的是 ex-ip-1。FTP服務(wù)器收到的來自客戶端的報(bào)文會(huì)攜帶ex-ip-1和ex-port-1。當(dāng)客戶端需要進(jìn)行數(shù)據(jù)傳輸時(shí),會(huì)在NAT設(shè)備上打開第二個(gè)端口 ex-port-2,與之對(duì)應(yīng)的外網(wǎng)IP地址是 ex-ip-2,客戶端會(huì)將ex-ip-2和ex-port-2通知給FTP服務(wù)器,F(xiàn)TP服務(wù)器會(huì)往該地址(即 ex-ip-2和ex-port-2)發(fā)送數(shù)據(jù)流。但是當(dāng)前的PCP協(xié)議并不能保證ex-ip-Ι與ex-ip-2 相同,即不能保證同一個(gè)應(yīng)用建立的兩個(gè)連接在NAT穿越后外網(wǎng)IP地址相同,如果二者不同,有可能會(huì)成為網(wǎng)絡(luò)攻擊的手段,例如攻擊者與服務(wù)器之間完成協(xié)商之后,卻讓服務(wù)器把數(shù)據(jù)流發(fā)往攻擊目標(biāo)。而本發(fā)明實(shí)施例的方案可保證同一個(gè)應(yīng)用建立的多個(gè)連接在NAT穿越后外網(wǎng)IP地址相同。實(shí)施例一本實(shí)施例提供一種在NAT穿越中分配外網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址的方法,是一種可應(yīng)用在NAT穿越控制協(xié)議(如PCP協(xié)議)中,實(shí)現(xiàn)使同一個(gè)應(yīng)用程序的多個(gè)連接在NAT穿越后各連接的外網(wǎng)地址相同的方法,該方法可以由NAT設(shè)備實(shí)施,如圖3所示,該方法具體包括步驟11、接收客戶端發(fā)出的建立對(duì)應(yīng)連接的NAT映射表項(xiàng)的請(qǐng)求消息,所述請(qǐng)求消息包括指定的外網(wǎng)IP地址,該外網(wǎng)IP地址與所述客戶端同一個(gè)應(yīng)用已建立的任意一個(gè)連接對(duì)應(yīng)的NAT映射表項(xiàng)中的外網(wǎng)IP地址相同;在請(qǐng)求消息包括指定的外網(wǎng)IP地址可以有多種方式,既可以直接將指定的外網(wǎng) IP地址在請(qǐng)求消息中攜帶,也可以在請(qǐng)求消息中攜帶指定的索引值,使接收方可以根據(jù)指定的索引值在IP地址索引表中找到對(duì)應(yīng)的外網(wǎng)IP地址??蛻舳酥付ǖ乃饕担刹捎孟率龇绞将@得,在建立上述的同一個(gè)應(yīng)用的連接時(shí),客戶端由返回的回應(yīng)消息中獲得已建立NAT 映射表項(xiàng)的外網(wǎng)IP地址,在查找IP地址索引表即可確外網(wǎng)IP地址對(duì)應(yīng)的索引值。另一種獲得索引值的方式,可以是在上述回應(yīng)消息中直接包括該索引值,該索引值為同一個(gè)應(yīng)用程序的一個(gè)連接建立NAT映射表項(xiàng)后,該NAT映射表項(xiàng)的外網(wǎng)IP地址在IP地址索引表中對(duì)應(yīng)的索引值。步驟12、在根據(jù)接收的所述請(qǐng)求消息建立NAT映射表項(xiàng)時(shí),按所述請(qǐng)求消息中指定的外網(wǎng)IP地址,分配與所述指定的外網(wǎng)IP地址相同的IP地址,作為所要建立NAT映射表項(xiàng)的外網(wǎng)IP地址。從而保證了在NAT穿越中同一個(gè)應(yīng)用程序的多個(gè)連接的外網(wǎng)IP地址相同。若請(qǐng)求消息中攜帶的是指定的索引值,則先根據(jù)該指定的索引值查找IP地址索引表,得到指定的外網(wǎng)IP地址,再按所述指定的外網(wǎng)IP地址,分配與所述指定的外網(wǎng)IP地址相同的IP地址,作為所要建立NAT映射表項(xiàng)的外網(wǎng)IP地址。上述方法還包括若無法分配與該外網(wǎng)IP地址相同的IP地址作為所要建立的 NAT映射表項(xiàng)中的外網(wǎng)IP地址,則返回?zé)o法分配提示信息。使得客戶端的應(yīng)用程序可以根據(jù)返回的無法分配提示信息,斷開之前已建立的連接,再重新建立各連接并通過NAT穿越控制協(xié)議(如PCP協(xié)議)重新建立對(duì)應(yīng)各連接的NAT映射表項(xiàng)。下面結(jié)合圖4對(duì)上述方法應(yīng)用于PCP協(xié)議中的情況作進(jìn)一步說明通過上述方法,在PCP協(xié)議的PCP客戶端發(fā)送的針對(duì)連接建立NAT映射表項(xiàng)的請(qǐng)求消息中包括指定的外網(wǎng)IP地址,指定的外網(wǎng)IP地址與同一個(gè)應(yīng)用程序已建立連接中任意一個(gè)對(duì)應(yīng)的NAT映射表項(xiàng)的外網(wǎng)IP地址相同(已建立連接對(duì)應(yīng)的NAT映射表項(xiàng)的的外網(wǎng)IP地址,可由PCP服務(wù)器在建立對(duì)應(yīng)連接的NAT映射表項(xiàng)后,回應(yīng)消息中包括的外網(wǎng)IP地址獲得),這樣PCP服務(wù)器端可根據(jù)指定的外網(wǎng)IP地址分配所要建立的NAT映射表項(xiàng)的外網(wǎng)IP地址,具體在PCP協(xié)議中的流程如下步驟S11,PCP客戶端向NAT設(shè)備運(yùn)行的PCP服務(wù)器發(fā)送NAT映射請(qǐng)求,NAT映射請(qǐng)求中包括下述參數(shù)in-ip,ex-ip,in-port,ex-port (內(nèi)網(wǎng)IP地址,外網(wǎng)IP地址,內(nèi)網(wǎng)端口號(hào),外網(wǎng)端口號(hào)),其中外網(wǎng)端口號(hào)可以不具體指定例如為零,ex-ip為指定的外網(wǎng)IP地址,該指定的外網(wǎng)IP地址ex-ip與同一個(gè)應(yīng)用程序已建立連接中任意一個(gè)對(duì)應(yīng)的NAT映射表項(xiàng)的外網(wǎng)IP地址相同;對(duì)某些不需要在NAT映射請(qǐng)求指定外網(wǎng)端口號(hào)的應(yīng)用,可以將在NAT映射請(qǐng)求中的ex-port (外網(wǎng)端口號(hào))一項(xiàng)設(shè)為特定值,如0,從而使服務(wù)器端不使用該參數(shù)。步驟S12,PCP服務(wù)器根據(jù)PCP客戶端發(fā)送的請(qǐng)求信息建立NAT映射表項(xiàng),NAT映射表項(xiàng)為(in-ip,ex-ip) - > (in-port,ex-port),該 NAT 映射表項(xiàng)中的 ex_ip 為 PCP 客戶端指定的外網(wǎng)IP地址,ex-port由PCP服務(wù)器自行分配。NAT映射表項(xiàng)建立后,PCP服務(wù)器向PCP客戶端回復(fù)的NAT映射回應(yīng)為(in-ip,ex-ip, in-port, ex-port)。經(jīng)上述步驟Sll、S12后,可保證需要建立多個(gè)連接的同一個(gè)應(yīng)用程序,在建立后續(xù)的連接時(shí),所要建立連接對(duì)應(yīng)的NAT映射表項(xiàng)中的外網(wǎng)IP地址,與該應(yīng)用程序已經(jīng)建立的任意一個(gè)連接對(duì)應(yīng)的NAT映射表項(xiàng)中的外網(wǎng)IP地址相同,從而使FTP應(yīng)用程序在NAT穿越后的多個(gè)連接的外網(wǎng)IP地址相同,保證了 FTP應(yīng)用程序可正常連接進(jìn)行數(shù)據(jù)傳輸,也避免了因多個(gè)連接的外網(wǎng)IP地址不同受到的網(wǎng)絡(luò)攻擊。在PCP服務(wù)器不能按指定的外網(wǎng)IP地址分配相同的外網(wǎng)IP地址時(shí),還包括步驟 S13,NAT映射回應(yīng)PCP服務(wù)器向PCP客戶端回復(fù)的NAT映射回應(yīng)無法分配提示信息為不能分配指定地址(cannot assign mandatory address)。實(shí)際應(yīng)用中,應(yīng)用程序建立連接時(shí)可以在請(qǐng)求建立第一個(gè)連接時(shí)在PCP請(qǐng)求消息中不指定外網(wǎng)IP地址,允許PCP服務(wù)器任意分配;而在第一連接建立對(duì)應(yīng)的NAT映射表項(xiàng)后,應(yīng)用程序在獲得該外網(wǎng)IP地址后,在建立后續(xù)連接時(shí),可以在發(fā)送的PCP請(qǐng)求消息中, 用該外網(wǎng)IP地址作為指定的外網(wǎng)IP地址,要求PCP服務(wù)器分配與指定的外網(wǎng)IP地址相同的IP地址,使得后續(xù)連接對(duì)應(yīng)的NAT映射表項(xiàng)中的外網(wǎng)IP地址與之前已建立連接對(duì)應(yīng)的 NAT映射表項(xiàng)中的外網(wǎng)IP地址相同,避免了因多個(gè)連接的外網(wǎng)地址不一致產(chǎn)生的應(yīng)用程序不能正常連接的問題。實(shí)施例二本實(shí)施例結(jié)合在FTP應(yīng)用中使NAT穿越后多個(gè)連接的外網(wǎng)IP地址相同的處理過程,對(duì)本發(fā)明實(shí)施例的在NAT穿越中分配外網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址的方法進(jìn)行說明,參見圖 5,其中,客戶端經(jīng)NAT設(shè)備與FTP服務(wù)器通信連接,客戶端上運(yùn)行FTP客戶端程序和PCP客戶端程序,PCP服務(wù)器運(yùn)行在NAT設(shè)備上;該方法具體包括下述步驟步驟S21、FTP客戶端程序先建立控制連接,客戶端向PCP服務(wù)器發(fā)送NAT映射請(qǐng)求,NAT映射請(qǐng)求中包括參數(shù)(in-ip, in-ipor,ex-port-1),其中,in_ip為內(nèi)網(wǎng)IP地址, in-ipor為內(nèi)網(wǎng)端口號(hào),ex-port-Ι為外網(wǎng)端口號(hào)。步驟S22,PCP服務(wù)器收到客戶端的NAT映射請(qǐng)求后,獲取外網(wǎng)IP地址ex-ip-Ι和外網(wǎng)端口號(hào)ex-port-1,PCP服務(wù)器根據(jù)NAT映射請(qǐng)求和獲取的外網(wǎng)IP地址(ex-ip-Ι)和外網(wǎng)端口號(hào)(ex-port-1)建立 NAT 映射表項(xiàng)(in-ip, in-port-1) - > (ex—ip—1,ex-port—1)。
步驟S23,PCP服務(wù)器建立針對(duì)控制連接的NAT映射表項(xiàng)后,向客戶端回復(fù)NAT映射回應(yīng),NAT映射回應(yīng)中包括(in-ip,in-ipor,ex-ip-l,ex-port-l);至此針對(duì)FTP應(yīng)用的控制連接的NAT映射表項(xiàng)建立。步驟S24,當(dāng)FTP客戶端需要向FTP服務(wù)器提供數(shù)據(jù)傳輸?shù)哪康腎P地址和目的端口號(hào)時(shí),客戶端經(jīng)PCP協(xié)議要在NAT設(shè)備上建立針對(duì)該FTP應(yīng)用的數(shù)據(jù)連接的NAT映射表項(xiàng),此時(shí)FTP客戶端通過控制連接(控制連接中包括參數(shù)ex-ip-1,ex-port-1)與FTP服務(wù)器協(xié)商數(shù)據(jù)連接的端口號(hào)(ex-port-2)。步驟S25,協(xié)商確定端口號(hào)(ex-port-幻后,客戶端向PCP服務(wù)器發(fā)送建立對(duì)應(yīng)數(shù)據(jù)連接的NAT映射表項(xiàng)的NAT映射請(qǐng)求,NAT映射請(qǐng)求中包括(in_ip,ex-port-1, in-ipor-2, ex-port-2)。步驟S26,PCP服務(wù)器收到客戶端的NAT映射請(qǐng)求后,在NAT映射請(qǐng)求中指定的外網(wǎng)IP地址(ex-port-Ι)上獲取端口號(hào)(ex-port-幻,獲取端口號(hào)(ex-port-幻后,根據(jù)NAT 映射請(qǐng)求建立 NAT 映射表項(xiàng)(in-ip,in-port-2)- > (ex-ip-1, ex-port-2)。步驟S27,PCP服務(wù)器建立針對(duì)數(shù)據(jù)連接的NAT映射表項(xiàng)后,向客戶端回復(fù)NAT映射回應(yīng),NAT映射回應(yīng)中包括(in-ip,ex-ip-1, in-port-2, ex-port-2);至此針對(duì)FTP應(yīng)用的數(shù)據(jù)連接的NAT映射表項(xiàng)建立。FTP客戶端將外網(wǎng)IP地址(ex-ip-Ι)連同端口號(hào)(ex-port-2)告知FTP服務(wù)器, 保證了控制連接的外網(wǎng)IP地址與數(shù)據(jù)連接的外網(wǎng)IP地址相同,F(xiàn)TP服務(wù)器以ex-ip-l和 ex-port-2作為目的IP地址和目的端口號(hào)進(jìn)行數(shù)據(jù)傳輸。上述NAT穿越建立過程中,由于某些原因,例如PCP客戶端指定要求分配的外網(wǎng)IP 地址已經(jīng)沒有空余的端口可以分配,此時(shí)處理流程如圖5所示,步驟S31 35的處理過程與上述步驟S21 S25基本相同,不同的是步驟S36,PCP服務(wù)器收到客戶端的NAT映射請(qǐng)求后,無法在NAT映射請(qǐng)求中指定的外網(wǎng)IP地址(ex-port-1)上獲取端口號(hào)(ex-port-2),如NAT映射請(qǐng)求中指定的外網(wǎng)IP 地址(ex-ip-1)已沒有可用端口,會(huì)導(dǎo)致無法獲取外網(wǎng)端口號(hào)(ex-port-幻,則向客戶端回復(fù)NAT映射回應(yīng),NAT映射回應(yīng)中包括錯(cuò)誤提示信息不能分配指定地址(cannot assign mandatory address);步驟S37,F(xiàn)TP客戶端拆除已建立的控制連接,重新再建立各連接。從圖6可以看出,F(xiàn)TP客戶端要求分配第一個(gè)IP地址(ex-ip-1)和端口 (ex-port-Ι)時(shí)是成功的,但是請(qǐng)求分配該IP (ex-ip-1)的第二個(gè)端口(ex-port-2)時(shí)失敗了,即該IP(ex-ip-l)沒有對(duì)應(yīng)的端口可用了。這種情況下FTP客戶端需要終結(jié)當(dāng)前的 FTP連接,然后重新開始嘗試建立連接。為了防止NAT設(shè)備再給FTP客戶端分配到前一個(gè) IP地址(即與ex-ip-1相同的地址),F(xiàn)TP客戶端也可以先通過PCP協(xié)議申請(qǐng)一個(gè)IP(與 ex-ip-1不同的外網(wǎng)IP地址),然后再拆除當(dāng)前的FTP連接,再重新建立新的FTP連接。如果步驟S36中,ex-ip-1還有可用端口,但ex-port-2已被占用,此時(shí)也可以選擇返回不能分配指定端口的信息。這種情況下,F(xiàn)TP客戶端可以不必拆除控制連接,而是與 FTP服務(wù)器重新協(xié)商數(shù)據(jù)連接的端口號(hào),并重復(fù)上述步驟??梢灾?,在FTP應(yīng)用中,在NAT映射請(qǐng)求指定外網(wǎng)IP地址,也可以采用在NAT映射請(qǐng)求指定一個(gè)索引值,使服務(wù)器端通過索引值在IP地址索引表中找到對(duì)應(yīng)的外網(wǎng)IP地址這種方式,通過這種方式也可以實(shí)現(xiàn)客戶端指定外網(wǎng)IP地址,使服務(wù)器端按指定的外網(wǎng) IP地址分配建立NAT映射表項(xiàng)的外網(wǎng)IP地址,從而使FTP應(yīng)用中的多個(gè)連接在NAT穿越后保證外網(wǎng)IP地址相同。實(shí)施例三本實(shí)施例提供一種在NAT穿越中分配外網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址的方法,如圖7所示,該方法包括步驟S41,在向NAT設(shè)備發(fā)送建立對(duì)應(yīng)連接的NAT映射表項(xiàng)的請(qǐng)求消息中指定外網(wǎng)IP地址,所述指定的外網(wǎng)IP地址與同一個(gè)應(yīng)用已建立的任意一個(gè)連接對(duì)應(yīng)的NAT映射表項(xiàng)中的外網(wǎng)IP地址相同;所述指定外網(wǎng)IP地址使NAT設(shè)備在根據(jù)所述請(qǐng)求消息建立NAT映射表項(xiàng)時(shí),能按該指定的外網(wǎng)IP地址,分配與所述指定的外網(wǎng)IP地址相同的IP地址,作為所述NAT設(shè)備所要建立NAT映射表項(xiàng)的外網(wǎng)IP地址;步驟S42,向NAT設(shè)備發(fā)送包括所述指定外網(wǎng)IP地址的所述請(qǐng)求消息。實(shí)施例四本實(shí)施例提供一種NAT設(shè)備,如圖8所示,包括接收單元1,用于接收客戶端發(fā)出的建立對(duì)應(yīng)連接的NAT映射表項(xiàng)的請(qǐng)求消息,所述請(qǐng)求消息包括指定的外網(wǎng)IP地址,該外網(wǎng)IP地址與同一個(gè)應(yīng)用已建立的任意一個(gè)連接對(duì)應(yīng)的NAT映射表項(xiàng)中的外網(wǎng)IP地址相同;建立單元2,用于根據(jù)所述接收單元接收的所述請(qǐng)求消息,建立對(duì)應(yīng)連接的NAT映射表項(xiàng);分配單元3,用于在所述建立單元根據(jù)接收的所述請(qǐng)求消息建立NAT映射表項(xiàng)時(shí), 按所述接收單元接收的所述請(qǐng)求消息中指定的外網(wǎng)IP地址,分配與所述指定的外網(wǎng)IP地址相同的IP地址,作為所述建立單元所要建立NAT映射表項(xiàng)的外網(wǎng)IP地址。如圖9所示,上述NAT設(shè)備中的分配單元包括獲取模塊31,用于獲取所述接收單元接收客戶端發(fā)出的建立對(duì)應(yīng)連接的NAT映射表項(xiàng)的請(qǐng)求消息中指定的外網(wǎng)IP地址;處理模塊32,用于分配與所述外網(wǎng)IP地址相同的IP地址,作為所述建立單元根據(jù)所述請(qǐng)求消息所要建立的NAT映射表項(xiàng)中的外網(wǎng)IP地址。該NAT設(shè)備可以按收到的客戶端發(fā)送的請(qǐng)求消息中指定的外網(wǎng)IP地址,分配與所述外網(wǎng)IP地址相同的IP地址作為所要建立的NAT映射表項(xiàng)中的外網(wǎng)IP地址。如圖10所示,上述NAT設(shè)備中的分配單元的另一種結(jié)構(gòu)形式包括獲取模塊311,用于獲取所述接收單元接收客戶端發(fā)出的建立對(duì)應(yīng)連接的NAT映射表項(xiàng)的請(qǐng)求消息中指定的索引值;查找模塊313,用于根據(jù)所述指定的索引值在IP地址索引表中找到對(duì)應(yīng)的外網(wǎng)IP 地址;處理模塊312,用于分配與所述外網(wǎng)IP地址相同的IP地址,作為所述建立單元根據(jù)所述請(qǐng)求消息所要建立的NAT映射表項(xiàng)中的外網(wǎng)IP地址。該NAT設(shè)備可以按收到的客戶端發(fā)送的請(qǐng)求消息中指定的外網(wǎng)IP地址,分配與所述外網(wǎng)IP地址相同的IP地址作為所要建立的NAT映射表項(xiàng)中的外網(wǎng)IP地址。解決了在現(xiàn)有的NAT穿越方案中常出現(xiàn)的由于同一個(gè)應(yīng)用程序的多個(gè)連接在NAT穿越后外網(wǎng)IP地址不同而造成的應(yīng)用不能正常運(yùn)行或易受到網(wǎng)絡(luò)攻擊的問題,大大加強(qiáng)了 NAT穿越協(xié)議對(duì)現(xiàn)有應(yīng)用的適應(yīng)能力。實(shí)施例五如圖11所示,本實(shí)施例提供一種通信設(shè)備,可作為客戶端設(shè)備,包括設(shè)置單元21 和發(fā)送單元22 ;設(shè)置單元21,用于在向NAT設(shè)備發(fā)送建立對(duì)應(yīng)連接的NAT映射表項(xiàng)的請(qǐng)求消息中指定索引值,所述指定的索引值所對(duì)應(yīng)IP地址索引表中的外網(wǎng)IP地址與同一個(gè)應(yīng)用的已建立連接對(duì)應(yīng)的NAT映射表項(xiàng)中的外網(wǎng)IP地址相同;使NAT設(shè)備在根據(jù)所述請(qǐng)求消息建立 NAT映射表項(xiàng)時(shí),能按該指定的索引值對(duì)應(yīng)找到的外網(wǎng)IP地址,分配與所述外網(wǎng)IP地址相同的IP地址,作為所述NAT設(shè)備所要建立NAT映射表項(xiàng)的外網(wǎng)IP地址;發(fā)送單元22,用于向NAT設(shè)備發(fā)送包括所述設(shè)置單元指定索引值的所述請(qǐng)求消肩、ο該通信設(shè)備可以在向NAT設(shè)備發(fā)送的建立對(duì)應(yīng)連接的NAT映射表項(xiàng)的請(qǐng)求消息中指定外網(wǎng)IP地址,指定的外網(wǎng)IP地址與同一個(gè)應(yīng)用已建立的任意一個(gè)連接對(duì)應(yīng)的NAT映射表項(xiàng)中的外網(wǎng)IP地址相同,方便服務(wù)器按請(qǐng)求消息中指定的外網(wǎng)IP地址來分配相同的 IP地址,作為所要建立NAT映射表項(xiàng)的外網(wǎng)IP地址,保證了同一個(gè)應(yīng)用程序的多個(gè)連接在 NAT穿越后各連接的外網(wǎng)IP地址相同。實(shí)施例六本實(shí)施例提供一種通信設(shè)備,也可作為客戶端設(shè)備,其結(jié)構(gòu)與實(shí)施例四的通信設(shè)備類似,可參見圖11,包括設(shè)置單元和發(fā)送單元;設(shè)置單元,用于在向NAT設(shè)備發(fā)送建立對(duì)應(yīng)連接的NAT映射表項(xiàng)的請(qǐng)求消息中指定外網(wǎng)IP地址,所述指定的外網(wǎng)IP地址與同一個(gè)應(yīng)用已建立的任意一個(gè)連接對(duì)應(yīng)的NAT 映射表項(xiàng)中的外網(wǎng)IP地址相同;所述指定外網(wǎng)IP地址使NAT設(shè)備在根據(jù)所述請(qǐng)求消息建立NAT映射表項(xiàng)時(shí),能按該指定的外網(wǎng)IP地址,分配與所述指定的外網(wǎng)IP地址相同的IP 地址,作為所述NAT設(shè)備所要建立NAT映射表項(xiàng)的外網(wǎng)IP地址;發(fā)送單元,用于向NAT設(shè)備發(fā)送包括所述設(shè)置單元指定外網(wǎng)IP地址的所述請(qǐng)求消肩、ο該通信設(shè)備可以在向NAT設(shè)備發(fā)送的建立對(duì)應(yīng)連接的NAT映射表項(xiàng)的請(qǐng)求消息中指定索引值,指定的索引值所對(duì)應(yīng)IP地址索引表中的外網(wǎng)IP地址與同一個(gè)應(yīng)用已建立的任意一個(gè)連接對(duì)應(yīng)的NAT映射表項(xiàng)中的外網(wǎng)IP地址相同;方便服務(wù)器按請(qǐng)求消息中指定的索引值在IP地址索引表中找到對(duì)應(yīng)的外網(wǎng)IP地址,并根據(jù)找到的外網(wǎng)IP地址來分配相同的IP地址,作為所要建立NAT映射表項(xiàng)的外網(wǎng)IP地址,保證了同一個(gè)應(yīng)用程序的多個(gè)連接在NAT穿越后各連接的外網(wǎng)IP地址相同。實(shí)施例七如圖12所示,本實(shí)施例提供一種NAT系統(tǒng),包括客戶端設(shè)備41和服務(wù)器端設(shè)備42 ;其中,所述客戶端設(shè)備采用上述實(shí)施例五、六任一項(xiàng)中給出的通信設(shè)備;所述服務(wù)器端設(shè)備采用上述實(shí)施例四中給出的NAT設(shè)備;所述客戶端設(shè)備41,與服務(wù)器端設(shè)備42連接,用于在向NAT設(shè)備發(fā)送建立對(duì)應(yīng)連接的NAT映射表項(xiàng)的請(qǐng)求消息中指定外網(wǎng)IP地址,所述指定的外網(wǎng)IP地址與同一個(gè)應(yīng)用已建立的任意一個(gè)連接對(duì)應(yīng)的NAT映射表項(xiàng)中的外網(wǎng)IP地址相同,并將請(qǐng)求消息向服務(wù)器端設(shè)備42發(fā)送;所述服務(wù)器端設(shè)備42,與客戶端設(shè)備41通信連接,用于接收客戶端發(fā)出的建立對(duì)應(yīng)連接的NAT映射表項(xiàng)的請(qǐng)求消息,所述請(qǐng)求消息包括指定的外網(wǎng)IP地址,該外網(wǎng)IP地址與同一個(gè)應(yīng)用已建立的任意一個(gè)連接對(duì)應(yīng)的NAT映射表項(xiàng)中的外網(wǎng)IP地址相同;在根據(jù)接收的所述請(qǐng)求消息建立NAT映射表項(xiàng)時(shí),按所述請(qǐng)求消息中指定的外網(wǎng)IP地址,分配與所述指定的外網(wǎng)IP地址相同的IP地址,作為所要建立NAT映射表項(xiàng)的外網(wǎng)IP地址。由上可以看出,本發(fā)明實(shí)施例的方法,通過較簡(jiǎn)單的方式改進(jìn)PCP協(xié)議,實(shí)現(xiàn)在 NAT穿越中保證同一個(gè)應(yīng)用程序的多個(gè)連接在NAT穿越后的外網(wǎng)IP地址相同,避免了因多個(gè)連接的外網(wǎng)IP地址不一致產(chǎn)生的應(yīng)用程序不能正常連接或易受到網(wǎng)絡(luò)攻擊的問題。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一可讀取存儲(chǔ)介質(zhì)中,所述的存儲(chǔ)介質(zhì)可以為,如ROM/RAM、磁碟、光盤等。以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此, 任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換, 都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種在NAT穿越中分配外網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址的方法,其特征在于,包括 接收客戶端發(fā)出的建立對(duì)應(yīng)連接的NAT映射表項(xiàng)的請(qǐng)求消息,所述請(qǐng)求消息包括指定的外網(wǎng)IP地址,該外網(wǎng)IP地址與所述客戶端的同一個(gè)應(yīng)用已建立的任意一個(gè)連接對(duì)應(yīng)的 NAT映射表項(xiàng)中的外網(wǎng)IP地址相同;在根據(jù)接收的所述請(qǐng)求消息建立NAT映射表項(xiàng)時(shí),按所述請(qǐng)求消息中指定的外網(wǎng)IP地址,分配與所述指定的外網(wǎng)IP地址相同的IP地址,作為所要建立NAT映射表項(xiàng)的外網(wǎng)IP 地址。
2.根據(jù)權(quán)利要求1所述的在NAT穿越中分配外網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址的方法,其特征在于,所述按所述請(qǐng)求消息中指定的外網(wǎng)IP地址,分配與所述指定的外網(wǎng)IP地址相同的IP 地址包括所述客戶端發(fā)出的請(qǐng)求消息中包括指定的索引值,根據(jù)所述指定的索引值在IP地址索引表中找到對(duì)應(yīng)的外網(wǎng)IP地址,分配與所述指定的索引值對(duì)應(yīng)的外網(wǎng)IP地址相同的IP 地址。
3.一種在NAT穿越中分配外網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址的方法,其特征在于,包括在向NAT設(shè)備發(fā)送建立對(duì)應(yīng)連接的NAT映射表項(xiàng)的請(qǐng)求消息中指定外網(wǎng)IP地址,所述指定的外網(wǎng)IP地址與同一個(gè)應(yīng)用已建立的任意一個(gè)連接對(duì)應(yīng)的NAT映射表項(xiàng)中的外網(wǎng)IP 地址相同;所述指定外網(wǎng)IP地址使NAT設(shè)備在根據(jù)所述請(qǐng)求消息建立NAT映射表項(xiàng)時(shí),能按所述指定的外網(wǎng)IP地址,分配與所述指定的外網(wǎng)IP地址相同的IP地址,作為所述NAT設(shè)備所要建立NAT映射表項(xiàng)的外網(wǎng)IP地址;向NAT設(shè)備發(fā)送包括所述指定外網(wǎng)IP地址的所述請(qǐng)求消息。
4.根據(jù)權(quán)利要求3所述的在NAT穿越中分配外網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址的方法,其特征在于,所述在向NAT設(shè)備發(fā)送建立對(duì)應(yīng)連接的NAT映射表項(xiàng)的請(qǐng)求消息中指定外網(wǎng)IP地址包括在向NAT設(shè)備發(fā)送的請(qǐng)求消息中包括指定的索引值,使服務(wù)器端能根據(jù)所述指定的索引值在IP地址索引表中找到對(duì)應(yīng)的外網(wǎng)IP地址。
5.一種NAT設(shè)備,其特征在于,包括接收單元,用于接收客戶端發(fā)出的建立對(duì)應(yīng)連接的NAT映射表項(xiàng)的請(qǐng)求消息,所述請(qǐng)求消息包括指定的外網(wǎng)IP地址,該外網(wǎng)IP地址與所述客戶端的同一個(gè)應(yīng)用已建立的任意一個(gè)連接對(duì)應(yīng)的NAT映射表項(xiàng)中的外網(wǎng)IP地址相同;建立單元,用于根據(jù)所述接收單元接收的所述請(qǐng)求消息,建立對(duì)應(yīng)連接的NAT映射表項(xiàng);分配單元,用于在所述建立單元根據(jù)接收的所述請(qǐng)求消息建立NAT映射表項(xiàng)時(shí),按所述接收單元接收的所述請(qǐng)求消息中指定的外網(wǎng)IP地址,分配與所述指定的外網(wǎng)IP地址相同的IP地址,作為所述建立單元所要建立NAT映射表項(xiàng)的外網(wǎng)IP地址。
6.根據(jù)權(quán)利要求8所述的NAT設(shè)備,其特征在于,所述分配單元包括獲取模塊,用于獲取所述接收單元接收客戶端發(fā)出的建立對(duì)應(yīng)連接的NAT映射表項(xiàng)的請(qǐng)求消息中指定的外網(wǎng)IP地址;處理模塊,用于分配與所述外網(wǎng)IP地址相同的IP地址,作為所述建立單元根據(jù)所述請(qǐng)求消息所要建立的NAT映射表項(xiàng)中的外網(wǎng)IP地址。
7.根據(jù)權(quán)利要求8所述的NAT設(shè)備,其特征在于,所述分配單元包括獲取模塊,用于獲取所述接收單元接收客戶端發(fā)出的建立對(duì)應(yīng)連接的NAT映射表項(xiàng)的請(qǐng)求消息中指定的索引值;查找模塊,用于根據(jù)所述指定的索引值在IP地址索引表中找到對(duì)應(yīng)的外網(wǎng)IP地址;處理模塊,用于分配與所述外網(wǎng)IP地址相同的IP地址,作為所述建立單元根據(jù)所述請(qǐng)求消息所要建立的NAT映射表項(xiàng)中的外網(wǎng)IP地址。
8.一種通信設(shè)備,其特征在于,包括設(shè)置單元,用于在向NAT設(shè)備發(fā)送建立對(duì)應(yīng)連接的NAT映射表項(xiàng)的請(qǐng)求消息中指定外網(wǎng)IP地址,所述指定的外網(wǎng)IP地址與該通信設(shè)備上同一個(gè)應(yīng)用已建立的任意一個(gè)連接對(duì)應(yīng)的NAT映射表項(xiàng)中的外網(wǎng)IP地址相同;發(fā)送單元,用于向NAT設(shè)備發(fā)送包括所述設(shè)置單元指定外網(wǎng)IP地址的所述請(qǐng)求消息。
9.一種通信設(shè)備,其特征在于,包括設(shè)置單元,用于在向NAT設(shè)備發(fā)送建立對(duì)應(yīng)連接的NAT映射表項(xiàng)的請(qǐng)求消息中指定索引值,所述指定的索引值所對(duì)應(yīng)IP地址索引表中的外網(wǎng)IP地址與該通信設(shè)備上同一個(gè)應(yīng)用已建立的任意一個(gè)連接對(duì)應(yīng)的NAT映射表項(xiàng)中的外網(wǎng)IP地址相同;發(fā)送單元,用于向NAT設(shè)備發(fā)送包括所述設(shè)置單元指定索引值的所述請(qǐng)求消息。
10.一種NAT系統(tǒng),其特征在于,包括客戶端設(shè)備和服務(wù)器端設(shè)備;其中,所述客戶端設(shè)備采用上述權(quán)利要求8或9中所述的通信設(shè)備;所述服務(wù)器端設(shè)備采用上述權(quán)利要求5 7任一項(xiàng)所述的NAT設(shè)備。
全文摘要
本發(fā)明實(shí)施例提供一種在NAT穿越中分配外網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址的方法及設(shè)備、系統(tǒng),屬通信領(lǐng)域。該方法包括接收客戶端發(fā)出的建立對(duì)應(yīng)連接的NAT映射表項(xiàng)的請(qǐng)求消息,所述請(qǐng)求消息包括指定的外網(wǎng)IP地址,該外網(wǎng)IP地址與同一個(gè)應(yīng)用已建立的任意一個(gè)連接對(duì)應(yīng)的NAT映射表項(xiàng)中的外網(wǎng)IP地址相同;在根據(jù)接收的所述請(qǐng)求消息建立NAT映射表項(xiàng)時(shí),按所述請(qǐng)求消息中指定的外網(wǎng)IP地址,分配與所述指定的外網(wǎng)IP地址相同的IP地址,作為所要建立NAT映射表項(xiàng)的外網(wǎng)IP地址。本發(fā)明實(shí)施例還提供NAT設(shè)備及系統(tǒng)。該方法大大加強(qiáng)了NAT穿越協(xié)議對(duì)現(xiàn)有應(yīng)用的適應(yīng)能力,增強(qiáng)NAT設(shè)備的性能。
文檔編號(hào)H04L29/12GK102447748SQ20101050834
公開日2012年5月9日 申請(qǐng)日期2010年10月15日 優(yōu)先權(quán)日2010年10月15日
發(fā)明者查敏, 黃敬 申請(qǐng)人:華為技術(shù)有限公司