欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

穿越nat的方法及相應(yīng)的通信終端和nat設(shè)備的制作方法

文檔序號:7654370閱讀:243來源:國知局
專利名稱:穿越nat的方法及相應(yīng)的通信終端和nat設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,尤其涉及穿越NAT(Network AddressTranslation,網(wǎng)絡(luò)地址轉(zhuǎn)換)的技術(shù);更具體地說,本發(fā)明涉及一種穿越NAT的方法,以及相應(yīng)的通信終端和NAT設(shè)備。
背景技術(shù)
現(xiàn)在大量企業(yè)采用了私有地址組網(wǎng)(RFC1918),并通過NAT(Network Address Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)來控制與公共網(wǎng)絡(luò)的通信。NAT能夠完成私有編址與公網(wǎng)編址的相互轉(zhuǎn)化,并設(shè)置相應(yīng)的包過濾規(guī)則,讓不滿足條件的IP(Internet Protocol,因特網(wǎng)協(xié)議)包不能夠穿透NAT。NAT的運用為IP網(wǎng)絡(luò)帶來了很多好處,比如,緩解了IPv4構(gòu)架下因特網(wǎng)的IP地址緊張問題,提高了私有網(wǎng)絡(luò)內(nèi)部的安全性和可管理性。由于具有這些優(yōu)點,NAT被大量運用到各種私網(wǎng)網(wǎng)關(guān)設(shè)備上,它是絕大多數(shù)網(wǎng)絡(luò)路由器設(shè)備的一個基本功能,也是網(wǎng)絡(luò)防火墻功能的重要組成部分。
對于Telnet(用于遠(yuǎn)程聯(lián)接服務(wù)的標(biāo)準(zhǔn)協(xié)議)、HTTP(HypertextTransfer Protocol,超文本傳輸協(xié)議)等端口固定的一般應(yīng)用協(xié)議,NAT應(yīng)用只需轉(zhuǎn)換IP/TCP(Transfer Control Protocol,傳輸控制協(xié)議)/UDP(User Datagram Protocol,用戶數(shù)據(jù)報協(xié)議)頭即可很好地實現(xiàn)穿透。但是,對于IP報文中包含了IP地址和端口信息的協(xié)議報文,例如H.323/SIP(Session Initiation Protocol,會話初始協(xié)議)協(xié)議消息特定區(qū)段中內(nèi)嵌有IP地址和端口號,雖通過NAT可將IP層的地址轉(zhuǎn)換為外部地址,但對應(yīng)用層消息中的私有IP地址卻無能為力,從而使得這時應(yīng)用NAT將會導(dǎo)致通信不能正常運行。尤其當(dāng)分別處于兩個不同私網(wǎng)中的終端需要通信時,它們必須穿越各自的NAT,相應(yīng)造成的問題將更為復(fù)雜。
為解決上述穿越NAT中出現(xiàn)的問題,現(xiàn)有技術(shù)中已存在一些解決方案。其中ALG(Application Level Gateway,應(yīng)用層網(wǎng)關(guān))方案是最早出現(xiàn)的NAT穿越解決方案。ALG是在傳統(tǒng)的NAT上進(jìn)行協(xié)議擴(kuò)展,使之具備感知H.323/SIP中包括呼叫控制協(xié)議在內(nèi)信息的能力,從而完成除IP包源地址信息外的控制協(xié)議的解析和地址翻譯功能。
ALG主要轉(zhuǎn)換的信息有H.225 RAS及呼叫信令信息,H.245通道信息,RTP(Real-time Transport Protocol,實時傳輸協(xié)議)/RTCP(Real-TimeTransport Control Protocol,實時傳輸控制協(xié)議)通道地址信息,SIP請求/SDP(Session Description Protocol,會話描述協(xié)議)中的地址端口信息。
ALG是支持VOIP NAT穿透的一種最簡單的方式,但其需要NAT設(shè)備支持H323/SIP ALG功能,并在高負(fù)載的情況下使用ALG后對設(shè)備性能的影響較大。
STUN(Simple Traversal of UDP through NAT,NAT的UDP簡單穿越方式)協(xié)議解決穿透NAT問題的思路是私網(wǎng)中的終端通過某種機(jī)制預(yù)先得到出口NAT上的對外地址,然后在凈載中直接填寫出口NAT上的對外地址,而不是填寫私網(wǎng)內(nèi)終端的私有IP地址。這樣,由于凈載中的IP地址信息和報文頭地址信息是一致的,從而使得凈載中的內(nèi)容在經(jīng)過NAT時就無需被修改了,而只需按普通NAT流程轉(zhuǎn)換報文頭的IP地址即可。
STUN的操作過程為STUN客戶機(jī)向NAT外的STUN服務(wù)器通過UDP發(fā)送請求STUN消息。STUN服務(wù)器收到該請求消息后產(chǎn)生響應(yīng)消息,該響應(yīng)消息中攜帶請求消息的源端口,即STUN客戶機(jī)在NAT上對應(yīng)的外部端口。然后,該響應(yīng)消息通過NAT發(fā)送給STUN客戶機(jī),STUN客戶機(jī)通過該響應(yīng)消息體中的內(nèi)容得知其在NAT上的外部地址,并將該外部地址填入以后呼叫協(xié)議的UDP負(fù)載中;同時告知對端,本端的RTP接收地址和端口號為NAT外部的地址和端口號。由于通過STUN協(xié)議已在NAT上預(yù)先建立了外出的NAT映射表項,故雙方通信可順利地穿越NAT。
STUN協(xié)議的最大優(yōu)點是無需現(xiàn)有NAT/FW設(shè)備做任何改動。同時,STUN協(xié)議的局限性在于1、私網(wǎng)內(nèi)設(shè)備需要支持STUN協(xié)議;2、STUN并不支持TCP連接的穿越,因此不支持H.323、FTP等基于TCP的應(yīng)用協(xié)議;3、需要連接公網(wǎng)的STUN服務(wù)器,增加了額外的部署。
標(biāo)準(zhǔn)的靜態(tài)映射是另一種使用比較多的穿越NAT技術(shù),其具體方案為通過手動在NAT內(nèi)部的設(shè)備上設(shè)置NAT后的公網(wǎng)地址,這樣就可以在協(xié)議報文離開NAT設(shè)備時其協(xié)議報文內(nèi)部的IP地址信息被替換為手工設(shè)置的公網(wǎng)地址;也即通過靜態(tài)映射的NAT轉(zhuǎn)換,公網(wǎng)的用戶就可通過直接訪問公網(wǎng)地址來訪問私網(wǎng)地址的主機(jī)。
雖然靜態(tài)NAT映射也能做到私網(wǎng)內(nèi)設(shè)備地址與公網(wǎng)地址的一一對應(yīng),且端口信息并不改變。但是,由于靜態(tài)NAT映射只支持靜態(tài)配置,而不支持地址池的方式,因而缺乏靈活性。
除了以上三種應(yīng)用最為廣泛的穿越NAT的技術(shù)外,其它穿越NAT的方案還有MIDCOM(Middlebox Communications,中間件通信)方案、TURN(Traversal Using Relay NAT,通過Relay穿越NAT)方案、Proxy(代理)方案等。這些方案與上述方案類似,不是需要升級路由器、防火墻,就是需要升級終端設(shè)備。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明目的在于提供一種穿越NAT的方法,其能夠免去靜態(tài)手工配置公網(wǎng)地址方式的局限性,同時還無需NAT設(shè)備支持ALG或STUN。
本發(fā)明另一目的在于提供相應(yīng)的通信終端和NAT設(shè)備,以支持上述穿越NAT的方法的實施。
為了達(dá)到上述目的,本發(fā)明提供了一種穿越NAT的方法,包括有下列步驟步驟S1,NAT設(shè)備后的通信終端通過與所述NAT設(shè)備進(jìn)行交互,從所述NAT設(shè)備上獲知其被NAT后的公網(wǎng)地址和/或端口;步驟S2,當(dāng)所述通信終端產(chǎn)生要發(fā)往公網(wǎng)的報文時,其用所述公網(wǎng)地址和/或端口來填寫所述報文的凈載中的私網(wǎng)地址和/或端口信息,然后再將所述報文發(fā)送至所述NAT設(shè)備。
對于上述穿越NAT的方法,優(yōu)選地,所述步驟S1具體包括有下列步驟步驟S1-1,所述通信終端發(fā)送請求報文至所述NAT設(shè)備,所述請求報文中包含有所述通信終端的私網(wǎng)地址和/或端口;步驟S1-2,所述NAT設(shè)備根據(jù)收到的所述請求報文創(chuàng)建映射表項,所述映射表項用來表達(dá)所述通信終端的私網(wǎng)地址和/或端口與其被NAT后的公網(wǎng)地址和/或端口的對應(yīng)關(guān)系;同時,所述NAT設(shè)備根據(jù)所述映射表項產(chǎn)生響應(yīng)報文并將其反饋回所述通信終端,且所述響應(yīng)報文中包含有所述公網(wǎng)地址和/或端口。
對于上述穿越NAT的方法,優(yōu)選地,所述步驟S1在所述步驟S1-2之后還包括有步驟S1-3,所述通信終端根據(jù)收到的所述響應(yīng)報文獲知其被NAT后的公網(wǎng)地址和/或端口之后,產(chǎn)生相應(yīng)的確認(rèn)報文并將其反饋回所述NAT設(shè)備。
對于上述穿越NAT的方法,優(yōu)選地,所述響應(yīng)報文和所述確認(rèn)報文中包含有所述映射表項的編號。
為了達(dá)到上述另一目的,本發(fā)明提供了一種通信終端,其包括公網(wǎng)地址獲知模塊和穿越預(yù)處理模塊。其中,所述公網(wǎng)地址獲知模塊用于通過與NAT設(shè)備進(jìn)行交互,以從所述NAT設(shè)備上獲知所述通信終端被NAT后的公網(wǎng)地址和/或端口;而所述穿越預(yù)處理模塊用于在所述通信終端產(chǎn)生要發(fā)往公網(wǎng)的報文時,用所述公網(wǎng)地址和/或端口來填寫所述報文的凈載中的私網(wǎng)地址和/或端口信息。
對于上述通信終端,優(yōu)選地,所述公網(wǎng)地址獲知模塊包括請求單元和獲知單元。其中,所述請求單元用于發(fā)送請求報文至所述NAT設(shè)備,且所述請求報文中包含有所述通信終端的私網(wǎng)地址和/或端口;而所述獲知單元用于根據(jù)所述NAT設(shè)備收到所述請求報文后返回的響應(yīng)報文獲知所述通信終端被NAT后的公網(wǎng)地址和/或端口。
對于上述通信終端,優(yōu)選地,所述公網(wǎng)地址獲知模塊或者所述獲知單元在獲知所述公網(wǎng)地址和/或端口之后,產(chǎn)生確認(rèn)報文并將其發(fā)送至所述NAT設(shè)備。
為了達(dá)到上述另一目的,本發(fā)明同時還提供了一種NAT設(shè)備,其包括有公網(wǎng)地址分配模塊,用于根據(jù)所述NAT設(shè)備后通信終端的請求報文為所述通信終端分配其被NAT后的公網(wǎng)地址和/或端口,且通過相應(yīng)的響應(yīng)報文告知所述通信終端。
對于上述NAT設(shè)備,優(yōu)選地,所述公網(wǎng)地址分配模塊包括映射單元和告知單元。其中,所述映射單元用于根據(jù)所述通信終端的請求報文創(chuàng)建映射表項,所述映射表項用來定義所述通信終端的私網(wǎng)地址和/或端口與其被NAT后的公網(wǎng)地址和/或端口的對應(yīng)關(guān)系;而所述告知單元用于根據(jù)所述映射表項產(chǎn)生響應(yīng)報文至所述通信終端,所述響應(yīng)報文中包含有所述公網(wǎng)地址和/或端口。
對于上述NAT設(shè)備,優(yōu)選地,所述公網(wǎng)地址分配模塊或者所述映射單元收到所述通信終端返回的確認(rèn)報文之后,再最終確定所述映射表項定義的對應(yīng)關(guān)系成立。
對于上述NAT設(shè)備,優(yōu)選地,所述響應(yīng)報文和所述確認(rèn)報文中包含有所述映射表項的編號。
通過與NAT設(shè)備的私網(wǎng)內(nèi)交互,NAT設(shè)備后的通信終端能夠事先獲知其被NAT后的公網(wǎng)地址和/或端口,從而能夠在報文凈載中直接填寫其被NAT后的公網(wǎng)地址和/或端口,而不填寫其私網(wǎng)地址和/或端口。這樣,由于凈載中的地址/端口信息已與被NAT后的公網(wǎng)地址和/或端口一致,從而使得報文經(jīng)過NAT設(shè)備時只需按普通NAT流程轉(zhuǎn)換報文頭的地址/端口信息即可。也就是說,即使通信終端輸出報文的凈載中嵌套有地址/端口信息,應(yīng)用本發(fā)明仍然能夠在普通NAT設(shè)備上實現(xiàn)NAT的穿越。
與現(xiàn)有技術(shù)相比,本發(fā)明不要求NAT設(shè)備支持ALG功能,也無需架構(gòu)STUN協(xié)議所要求的STUN客戶機(jī)和STUN服務(wù)器,同時還免去了手工靜態(tài)配置NAT公網(wǎng)地址和/或端口信息的局限性。


圖1為本發(fā)明穿越NAT的方法實施例之一的流程圖;圖2為本發(fā)明穿越NAT的方法實施例之二的報文流轉(zhuǎn)圖;圖3為本發(fā)明通信終端實施例之一的示意框圖;圖4為本發(fā)明NAT設(shè)備實施例之一的示意框圖。
具體實施例方式
本發(fā)明所提供穿越NAT的方法、NAT設(shè)備、以及通信終端的上述及其它技術(shù)特征和優(yōu)點,將結(jié)合附圖詳細(xì)介紹如下。
圖1示出了本發(fā)明穿越NAT方法的優(yōu)選實施例的流程圖。為了在普通NAT設(shè)備上實現(xiàn)NAT的穿越,尤其是在報文凈載中嵌套有地址/端口信息的情況下實現(xiàn)NAT的穿越,在NAT設(shè)備后的通信終端首先要通過與NAT設(shè)備的私網(wǎng)內(nèi)交互來獲知其被NAT后的公網(wǎng)地址/端口,也即執(zhí)行圖1中步驟S1。
如圖1所示,通信終端與NAT設(shè)備之間的私網(wǎng)內(nèi)交互可以通過依次執(zhí)行步驟S1-1~S1-3來實現(xiàn)。
首先,執(zhí)行步驟S1-1通信終端發(fā)送一個請求報文給其對應(yīng)的NAT設(shè)備,且該請求報文中包含有其私網(wǎng)地址/端口。
接著,執(zhí)行步驟S1-2NAT設(shè)備根據(jù)收到的請求報文創(chuàng)建映射表項,用來定義通信終端的私網(wǎng)地址/端口與其被NAT后的公網(wǎng)地址/端口的對應(yīng)關(guān)系;同時,NAT設(shè)備還將根據(jù)這個映射表項產(chǎn)生一個響應(yīng)報文發(fā)送至通信終端,且這個響應(yīng)報文中包含有通信終端被NAT后的公網(wǎng)地址/端口。
至此,通信終端在收到NAT設(shè)備返回的響應(yīng)報文之后,就可根據(jù)響應(yīng)報文中的內(nèi)容獲知其被NAT后的公網(wǎng)地址/端口。
但是,在通信終端已經(jīng)獲知其被NAT后的公網(wǎng)地址/端口之后,為了讓NAT設(shè)備及時知曉其已獲知,最后還可能優(yōu)選地執(zhí)行步驟S1-3通信終端在獲知其被NAT后的公網(wǎng)地址/端口之后,產(chǎn)生一個確認(rèn)報文并將其反饋回NAT設(shè)備。而且,為了方便識別出映射表項、響應(yīng)報文、以及確認(rèn)報文相互之間的聯(lián)系,還可以進(jìn)一步優(yōu)選地在響應(yīng)報文及確認(rèn)報文中均包括進(jìn)相應(yīng)映射表項的編號。
經(jīng)由上述私網(wǎng)內(nèi)交互,通信終端已經(jīng)知道了其被NAT后的公網(wǎng)地址/端口。從此,如圖1中步驟S2所示,如果通信終端需要發(fā)送至NAT設(shè)備的報文凈載中嵌套有地址/端口信息,則通信終端會先把報文凈載中的私網(wǎng)地址/端口信息直接填寫為通過步驟S1預(yù)先獲知的其被NAT后的公網(wǎng)地址/端口,然后再將這個報文發(fā)送出去;當(dāng)然,如果通信終端需要發(fā)送至NAT設(shè)備的報文凈載中不包含地址/端口信息,則通信終端將直接把這個報文發(fā)送出去。
這樣,對于由通信終端輸出的、需要經(jīng)過NAT設(shè)備發(fā)往公網(wǎng)的報文來說,其報文頭中的地址/端口信息為該通信終端的私網(wǎng)地址/端口,而其報文凈載中的地址/端口信息為該通信終端被NAT后的公網(wǎng)地址/端口,如果其報文凈載中嵌套有地址/端口信息的話。這將使得,NAT設(shè)備接收到通信終端輸出的、需要發(fā)往公網(wǎng)的報文之后,無論這個報文的凈載中是否嵌套有地址/端口信息,其只需按普通的NAT流程對這個報文的報文頭中的私網(wǎng)地址/端口信息進(jìn)行轉(zhuǎn)換,即可實現(xiàn)NAT的穿越。
下面參照圖2詳細(xì)介紹本發(fā)明所提供穿越NAT的方法的一個應(yīng)用實例,以幫助更好地理解本發(fā)明。
在圖2中,通信終端100#A位于NAT設(shè)備200之后,且假定通信終端100#A的私網(wǎng)地址/端口為172.16.1.1:1000、NAT設(shè)備200的地址池中包括有公網(wǎng)地址/端口202.1.1.1:65000、通信終端100#B具有一個全球可路由的公網(wǎng)地址/端口138.1.1.1:65000。
當(dāng)通信終端100#A需要和通信終端100#B進(jìn)行通信時,通信終端100#A首先發(fā)送一個請求報文①給其對應(yīng)的NAT設(shè)備200。當(dāng)然,請求報文①中包含有通信終端100#A的私網(wǎng)地址172.16.1.1和用于此次通信的端口信息1000。
NAT設(shè)備200收到這個請求報文①之后,首先創(chuàng)建一條映射表項“172.16.1.1:1000202.1.1.1:65000”,用來表示私網(wǎng)地址/端口172.16.1.1:1000對應(yīng)的公網(wǎng)地址/端口為202.1.1.1:65000、且該映射表項的編號為1200。隨后,NAT設(shè)備200根據(jù)編號為1200的映射表項產(chǎn)生一個響應(yīng)報文②,并把這個響應(yīng)報文②發(fā)送給通信終端100#A。當(dāng)然,響應(yīng)報文②中包含有通信終端100#A將被NAT后的公網(wǎng)地址/端口信息202.1.1.1:65000以及相應(yīng)的映射表項的編號1200。
通信終端100#A收到響應(yīng)報文②之后,通過讀取該響應(yīng)報文②包含的地址/端口信息獲知其被NAT后的公網(wǎng)地址/端口為202.1.1.1:65000。而且,為了告知NAT設(shè)備200其已獲知其用于此次通信的公網(wǎng)地址/端口信息,通信終端100#A接著還要回應(yīng)一個確認(rèn)報文③給NAT設(shè)備200。當(dāng)然,與響應(yīng)報文②類似,確認(rèn)報文③中也包含有相應(yīng)的映射表項的編號1200。
在NAT設(shè)備200收到了包含映射表項編號的確認(rèn)報文③之后,通信終端100#A與NAT設(shè)備200之間、為通信終端100#A事先獲知其公網(wǎng)地址/端口而進(jìn)行的私網(wǎng)內(nèi)交互過程則結(jié)束了。這樣,如圖2所示,通過3次握手,通信終端100#A就事先知道了其被NAT后的公網(wǎng)地址/端口202.1.1.1:65000。
接著,為了與通信終端100#B建立通信,通信終端100#A發(fā)出報文凈載中嵌套有地址/端口信息的通信請求④。由于通信請求④需要經(jīng)過NAT設(shè)備200轉(zhuǎn)發(fā)、且通信終端100#A已事先獲知其被NAT后的公網(wǎng)地址/端口202.1.1.1:65000,因此通信請求④的報文凈載中的地址/端口信息被通信終端100#A直接填寫為202.1.1.1:65000,而通信請求④的報文頭中的源地址/端口信息保持為通信終端100#A的私網(wǎng)地址/端口172.16.1.1:1000。
當(dāng)通信請求④經(jīng)過NAT設(shè)備200時,NAT設(shè)備將根據(jù)映射表項“172.16.1.1:1000202.1.1.1:65000”把其報文頭中的源地址/端口信息172.16.1.1:1000映射成為202.1.1.1:65000之后再轉(zhuǎn)發(fā)出去,從而使得通信請求④的報文凈載中與報文頭中的源地址/端口信息是一致的,進(jìn)而使得通信請求④通過服務(wù)器300轉(zhuǎn)發(fā)到通信終端100#B上時能被正確接收并識別出來。
由于通信終端100#B接收到通信請求④時,通信請求④的報文凈載內(nèi)的地址/端口信息已經(jīng)是全球可路由的公網(wǎng)地址/端口202.1.1.1:65000,從而使得通信終端100#B將向公網(wǎng)地址/端口202.1.1.1:65000回復(fù)一個通信請求應(yīng)答⑤以建立通信連接。
當(dāng)通信請求應(yīng)答⑤經(jīng)過NAT設(shè)備200時,NAT設(shè)備同樣將根據(jù)映射表項“172.16.1.1:1000202.1.1.1:65000”把其報文頭中的目的地址/端口信息202.1.1.1:65000映射成為172.16.1.1:1000再轉(zhuǎn)發(fā)給通信終端100#A。至此,完成了通信終端100#A與通信終端100#B之間通信的建立,也完成了對NAT設(shè)備200的穿越。也就是說,通信終端100#A與通信終端100#B就此可以相互通信⑥了。
下面參照圖3詳細(xì)介紹本發(fā)明所提供通信終端的一個優(yōu)選實施例。
如圖3所示,通信終端100包括公網(wǎng)地址獲知模塊110和穿越預(yù)處理模塊120,其中公網(wǎng)地址獲知模塊110又具體包括請求單元111和獲知單元112。而且,在圖3中,與圖2中相同的標(biāo)記指示相同的組件/報文。
在通信終端100中,公網(wǎng)地址獲知模塊110用于與相應(yīng)的NAT設(shè)備200進(jìn)行交互,使得通信終端100能夠事先從NAT設(shè)備200上獲知其被NAT后的公網(wǎng)地址/端口。
一般來說,公網(wǎng)地址獲知模塊110與NAT設(shè)備200之間的至少包括兩次握手,也即一次請求、一次響應(yīng)。相應(yīng)的,在公網(wǎng)地址獲知模塊110中,請求單元111用于發(fā)送一個請求報文①至NAT設(shè)備200,且請求報文①中包含有通信終端100的私網(wǎng)地址/端口;而獲知單元112用于根據(jù)NAT設(shè)備200收到請求報文①后返回的響應(yīng)報文②獲知通信終端100被NAT后的公網(wǎng)地址/端口。
當(dāng)然,在通信終端100已經(jīng)獲知其被NAT后的公網(wǎng)地址/端口之后,為了讓NAT設(shè)備及時知曉其已獲知,通信終端100中的公網(wǎng)地址獲知模塊110(圖3中具體為獲知單元112)在獲知公網(wǎng)地址和/或端口之后,還將產(chǎn)生一個確認(rèn)報文③,并將這個確認(rèn)報文③發(fā)送至NAT設(shè)備200。
此外,為了方便識別出響應(yīng)報文②及確認(rèn)報文③與映射表項的對應(yīng)關(guān)系,還可以優(yōu)選地在響應(yīng)報文②及確認(rèn)報文③中包括有相應(yīng)映射表項的編號。
在通信終端100中,穿越預(yù)處理模塊120用于根據(jù)公網(wǎng)地址獲知模塊110事先獲知的公網(wǎng)地址/端口,對通信終端100將要輸出、且需經(jīng)過NAT設(shè)備200的報文進(jìn)行NAT穿越預(yù)處理,確保這個報文凈載中的私網(wǎng)地址/端口信息為事先獲知的通信終端被NAT后的公網(wǎng)地址/端口。
穿越預(yù)處理模塊120可能作用于報文生成過程中。這時,穿越預(yù)處理模塊120判斷通信終端100將要輸出、且需經(jīng)過NAT設(shè)備200的報文的凈載中是否需要嵌套私網(wǎng)地址/端口信息,如果判斷結(jié)果為是則直接填寫事先獲知的公網(wǎng)地址/端口。
或者,穿越預(yù)處理模塊120可能作用于報文生成之后。這時,穿越預(yù)處理模塊120判斷通信終端100將要輸出、且需經(jīng)過NAT設(shè)備200的報文的凈載中是否嵌套有通信終端100的私網(wǎng)地址/端口,如果判斷結(jié)果為是則把這個私網(wǎng)地址/端口替換為事先獲知的公網(wǎng)地址/端口。
當(dāng)然,本領(lǐng)域技術(shù)人員應(yīng)能理解,通信終端100當(dāng)可包括用于實現(xiàn)通信功能的其它組件,然而為了突出NAT穿越主題及簡化視圖,圖3中并沒有示出其它組件,且文字上也不贅述了。
下面參照圖4詳細(xì)介紹本發(fā)明所提供NAT設(shè)備的一個優(yōu)選實施例。
如圖4所示,NAT設(shè)備200包括公網(wǎng)地址分配模塊210,且公網(wǎng)地址分配模塊210又具體包括映射單元211和告知單元212。與圖3一樣,在圖4中,與圖2中相同的標(biāo)記指示相同的組件/報文。
在NAT設(shè)備200中,公網(wǎng)地址分配模塊210用于與NAT設(shè)備200之后的通信終端100進(jìn)行交互,使得通信終端100能夠事先從NAT設(shè)備200上獲知其被NAT后的公網(wǎng)地址/端口。
一般來說,公網(wǎng)地址分配模塊210與通信終端100之間的至少包括兩次握手,也即一次請求、一次響應(yīng)。相應(yīng)的,公網(wǎng)地址分配模塊210中,映射單元211用于根據(jù)通信終端100的請求報文①創(chuàng)建一條映射表項,而這條映射表項用于表示通信終端100的私網(wǎng)地址/端口與其被NAT后的公網(wǎng)地址/端口的對應(yīng)關(guān)系;而告知單元212用于根據(jù)映射單元211創(chuàng)建的映射表項產(chǎn)生相應(yīng)的響應(yīng)報文②并將其返回至通信終端100,而這個響應(yīng)報文②中包含有通信終端100被NAT后的公網(wǎng)地址/端口。
當(dāng)然,在NAT設(shè)備200中,為了確保映射表項的實時有效性,公網(wǎng)地址分配模塊210(圖4中具體為映射單元211)收到通信終端100返回的確認(rèn)報文③之后,再最終確定相應(yīng)映射表項定義的對應(yīng)關(guān)系成立。
此外,為了方便識別出響應(yīng)報文②及確認(rèn)報文③與映射表項的對應(yīng)關(guān)系,還可以在響應(yīng)報文②及確認(rèn)報文③中優(yōu)選地包括有相應(yīng)映射表項的編號。
當(dāng)然,本領(lǐng)域技術(shù)人員應(yīng)能理解,NAT設(shè)備200當(dāng)可包括用于實現(xiàn)NAT功能的其它組件,然而為了突出NAT穿越主題及簡化視圖,圖4中并沒有示出這些其它組件,且文字上也不贅述了。
需要聲明的是,上述發(fā)明內(nèi)容及具體實施方式
意在證明本發(fā)明所提供技術(shù)方案的實際應(yīng)用,不應(yīng)解釋為對本發(fā)明保護(hù)范圍的限定。本領(lǐng)域技術(shù)人員在本發(fā)明的精神和原理內(nèi),當(dāng)可作各種修改、等同替換、或改進(jìn)。本發(fā)明的保護(hù)范圍以所附權(quán)利要求書為準(zhǔn)。
權(quán)利要求
1.一種穿越NAT的方法,其特征在于,包括有下列步驟步驟S1,NAT設(shè)備后的通信終端通過與所述NAT設(shè)備進(jìn)行交互,從所述NAT設(shè)備上獲知其被NAT后的公網(wǎng)地址和/或端口;步驟S2,當(dāng)所述通信終端產(chǎn)生要發(fā)往公網(wǎng)的報文時,其用所述公網(wǎng)地址和/或端口來填寫所述報文的凈載中的私網(wǎng)地址和/或端口信息,然后再將所述報文發(fā)送至所述NAT設(shè)備。
2.如權(quán)利要求1所述的穿越NAT的方法,其特征在于,所述步驟S1包括有下列步驟步驟S1-1,所述通信終端發(fā)送請求報文至所述NAT設(shè)備,所述請求報文中包含有所述通信終端的私網(wǎng)地址和/或端口;步驟S1-2,所述NAT設(shè)備根據(jù)收到的所述請求報文創(chuàng)建映射表項,所述映射表項用來表達(dá)所述通信終端的私網(wǎng)地址和/或端口與其被NAT后的公網(wǎng)地址和/或端口的對應(yīng)關(guān)系;同時,所述NAT設(shè)備根據(jù)所述映射表項產(chǎn)生響應(yīng)報文并將其反饋回所述通信終端,且所述響應(yīng)報文中包含有所述公網(wǎng)地址和/或端口。
3.如權(quán)利要求2所述的穿越NAT的方法,其特征在于,所述步驟S1在所述步驟S1-2之后還包括有步驟S1-3,所述通信終端根據(jù)收到的所述響應(yīng)報文獲知其被NAT后的公網(wǎng)地址和/或端口之后,產(chǎn)生相應(yīng)的確認(rèn)報文并將其反饋回所述NAT設(shè)備。
4.如權(quán)利要求2或3所述的穿越NAT的方法,其特征在于,所述響應(yīng)報文和所述確認(rèn)報文中包含有所述映射表項的編號。
5.一種通信終端,其特征在于,包括公網(wǎng)地址獲知模塊,用于通過與NAT設(shè)備進(jìn)行交互,以從所述NAT設(shè)備上獲知所述通信終端被NAT后的公網(wǎng)地址和/或端口;穿越預(yù)處理模塊,用于在所述通信終端產(chǎn)生要發(fā)往公網(wǎng)的報文時,用所述公網(wǎng)地址和/或端口來填寫所述報文的凈載中的私網(wǎng)地址和/或端口信息。
6.如權(quán)利要求5所述的通信終端,其特征在于,所述公網(wǎng)地址獲知模塊包括請求單元,用于發(fā)送請求報文至所述NAT設(shè)備,且所述請求報文中包含有所述通信終端的私網(wǎng)地址和/或端口;獲知單元,用于根據(jù)所述NAT設(shè)備收到所述請求報文后返回的響應(yīng)報文,獲知所述通信終端被NAT后的公網(wǎng)地址和/或端口。
7.如權(quán)利要求5或6所述的通信終端,其特征在于,所述公網(wǎng)地址獲知模塊或者所述獲知單元在獲知所述公網(wǎng)地址和/或端口之后,產(chǎn)生確認(rèn)報文并將其反饋回所述NAT設(shè)備。
8.一種NAT設(shè)備,其特征在于,包括公網(wǎng)地址分配模塊,用于根據(jù)所述NAT設(shè)備后通信終端的請求報文為所述通信終端分配其被NAT后的公網(wǎng)地址和/或端口,且通過相應(yīng)的響應(yīng)報文告知所述通信終端。
9.如權(quán)利要求8所述的NAT設(shè)備,其特征在于,所述公網(wǎng)地址分配模塊包括映射單元,用于根據(jù)所述通信終端的請求報文創(chuàng)建映射表項,所述映射表項用來定義所述通信終端的私網(wǎng)地址和/或端口與其被NAT后的公網(wǎng)地址和/或端口的對應(yīng)關(guān)系;告知單元,用于根據(jù)所述映射表項產(chǎn)生所述響應(yīng)報文并將其發(fā)送至所述通信終端,且所述響應(yīng)報文中包含有所述公網(wǎng)地址和/或端口。
10.如權(quán)利要求9所述的NAT設(shè)備,其特征在于,所述公網(wǎng)地址分配模塊或者所述映射單元收到所述通信終端返回的確認(rèn)報文之后,再最終確定所述映射表項定義的對應(yīng)關(guān)系成立。
11.如權(quán)利要求9或10所述的NAT設(shè)備,其特征在于,所述響應(yīng)報文和所述確認(rèn)報文中包含有所述映射表項的編號。
全文摘要
本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,公開了一種穿越NAT的方法。所述方法主要包括有步驟S1,NAT設(shè)備后的通信終端通過與所述NAT設(shè)備進(jìn)行交互,從所述NAT設(shè)備上獲知其被NAT后的公網(wǎng)地址和/或端口;步驟S2,所述通信終端將報文凈載中的私網(wǎng)地址和/或端口信息填寫為所述公網(wǎng)地址和/或端口,然后再將所述報文發(fā)送至所述NAT設(shè)備。本發(fā)明還公開了相應(yīng)的通信終端和NAT設(shè)備,以支持上述方法的實施。與現(xiàn)有技術(shù)相比,本發(fā)明不要求NAT設(shè)備支持ALG(應(yīng)用層網(wǎng)關(guān)),也無需實現(xiàn)STUN(NAT的UDP簡單穿越方式)協(xié)議,還免去了靜態(tài)手工配置的局限性。
文檔編號H04L12/66GK101056271SQ20071011056
公開日2007年10月17日 申請日期2007年6月6日 優(yōu)先權(quán)日2007年6月6日
發(fā)明者劉先楠 申請人:杭州華三通信技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
桦川县| 西宁市| 株洲县| 五大连池市| 绥化市| 武汉市| 瓦房店市| 喜德县| 洛川县| 安吉县| 固原市| 丹棱县| 文昌市| 正定县| 岱山县| 新巴尔虎右旗| 陵川县| 武山县| 双牌县| 曲阜市| 贡嘎县| 临武县| 黔南| 全椒县| 临江市| 县级市| 民勤县| 琼结县| 巴林左旗| 九寨沟县| 盐源县| 牡丹江市| 喀喇沁旗| 治多县| 宣威市| 中西区| 施秉县| 长春市| 高安市| 莒南县| 石城县|