亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種nat穿透方法

文檔序號:7796340閱讀:276來源:國知局
一種nat穿透方法
【專利摘要】本發(fā)明公開了一種能夠提高穿透成功率的NAT穿透方法,它具有以下過程:1)穿透服務(wù)器輔助注冊過程;2)實現(xiàn)數(shù)據(jù)交換過程:穿透服務(wù)器收到終端用戶A的請求后,查找終端用戶A與B的注冊信息,若可以查詢到終端用戶B的注冊信息,則首先確定終端用戶A與B的NAT設(shè)備類型,終端用戶A和B利用直連通道的地址和端口號進行數(shù)據(jù)傳輸。
【專利說明】—種NAT穿透方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)通信【技術(shù)領(lǐng)域】,具體講是一種NAT穿透方法。
【背景技術(shù)】
[0002]在迅猛發(fā)展的互聯(lián)網(wǎng)領(lǐng)域中,由于不斷擴大的互聯(lián)網(wǎng)規(guī)模使得網(wǎng)絡(luò)地址空間資源面臨被耗盡的危機,因此人們普遍采用一種網(wǎng)絡(luò)地址轉(zhuǎn)換(network addresstranslation,簡稱NAT)技術(shù)來緩解當前的嚴峻形勢。NAT是一種把內(nèi)網(wǎng)和公網(wǎng)進行隔離并將私有地址轉(zhuǎn)換為合法IP地址的技術(shù)。另外,NAT僅允許內(nèi)網(wǎng)向公網(wǎng)發(fā)起連接請求,而公網(wǎng)向內(nèi)網(wǎng)的連接請求均會拒絕。然而隨著人們對于P2P應(yīng)用需求不斷增加,通過NAT設(shè)備將內(nèi)網(wǎng)和公網(wǎng)連接起來成為互聯(lián)網(wǎng)地址體系普遍使用的通信模式,該通信模式可以實現(xiàn)不同內(nèi)網(wǎng)中兩個節(jié)點的直接通信。一方面NAT技術(shù)暫時可以解決網(wǎng)絡(luò)地址資源短缺問題并可以保護內(nèi)網(wǎng)地址信息;但另一方面,大量NAT設(shè)備的存在卻阻礙了處于不同內(nèi)網(wǎng)中終端用戶之間進行P2P通信要求,因此必須要解決NAT穿透問題,才能滿足人們對于大量P2P應(yīng)用的需要,因此現(xiàn)有技術(shù)提供了大量的NAT穿透方法,然而,現(xiàn)有的NAT穿透方法未充分考慮NAT設(shè)備的類型,且一旦穿透失敗就不再嘗試穿透,沒有對進一步嘗試穿透進行深入研究,因此,導(dǎo)致現(xiàn)有的NAT穿透方法的穿透成功率仍然較低。

【發(fā)明內(nèi)容】

[0003]本發(fā)明要解決的技術(shù)問題是,提供一種能夠提高穿透成功率的NAT穿透方法。
[0004]本發(fā)明的技術(shù)方案是,本發(fā)明NAT穿透方法,它具有以下過程:
[0005]I )、穿透服務(wù)器輔助注冊過程:終端用戶A與終端用戶B上電后向穿透服務(wù)器發(fā)送注冊信息,穿透服務(wù)器存儲終端用戶A和B的識別信息,信息注冊成功后,終端用戶A和B利用該通道發(fā)送心跳包,保持與穿透服務(wù)器的連接;
[0006]2)、實現(xiàn)數(shù)據(jù)交換過程:
[0007]步驟一,終端用戶A向穿透服務(wù)器發(fā)送請求信息,請求連接終端用戶B ;
[0008]步驟二,穿透服務(wù)器收到終端用戶A的請求后,查找終端用戶A與B的注冊信息,若找不到終端用戶B的注冊信息,則回復(fù)終端用戶A連接錯誤;若可以查詢到終端用戶B的注冊信息,則首先確定終端用戶A與B的NAT設(shè)備類型,若雙方NAT設(shè)備類型均為完全ConeNAT,限制Cone NAT、端口限制Cone NAT這三種之一種則執(zhí)行步驟三;若雙方NAT設(shè)備至少一方為Symmetric NAT,且另一方為完全Cone NAT、限制Cone NAT、端口限制Cone NAT、Symmetric NAT這四種之一種則執(zhí)行步驟四;
[0009]步驟三,穿透服務(wù)器將終端用戶B和A在所述I)中注冊的外網(wǎng)地址和端口號信息發(fā)送給對方,終端用戶A和B根據(jù)各自獲得的對方地址和端口信息,互相發(fā)送穿透信息以進行穿透連接測試,若成功,將會返回直連通道的地址和端口號,并轉(zhuǎn)向步驟五,否則繼續(xù)穿透連接測試;
[0010]步驟四,隨機端口號測試確定能夠連通的端口號,若終端用戶A的NAT設(shè)備類型為Symmetric NAT,則終端用戶B向終端用戶A進行隨機端口號測試,若終端用戶B的NAT設(shè)備類型為Sy_etric NAT,終端用戶A向終端用戶B進行隨機端口號測試,若終端用戶A和B的NAT設(shè)備類型同時為Symmetric NAT,終端用戶A和B同時開始隨機端口號測試;一旦確定能夠連通的端口號,即找到直連通道,將會返回直連通道的地址和端口號,并轉(zhuǎn)向步驟五,否則,重復(fù)步驟四;
[0011]步驟五,終端用戶A和B利用所述直連通道的地址和端口號進行數(shù)據(jù)傳輸。
[0012]采用上述NAT穿透方法后,本發(fā)明與現(xiàn)有技術(shù)相比,具有以下優(yōu)點:由于區(qū)分終端用戶A與B的NAT設(shè)備類型,根據(jù)不同的NAT設(shè)備類型采取對應(yīng)的策略,或者說所述穿透服務(wù)器根據(jù)網(wǎng)絡(luò)偵測結(jié)果及傳輸過程來為終端用戶A和B進行數(shù)據(jù)交換提供可行性穿透策略,因此實現(xiàn)有效地穿透,提高穿透成功率,穿透失敗后還會按相應(yīng)方法繼續(xù)嘗試穿透,尤其是對于雙方NAT設(shè)備至少一方為Symmetric NAT,且另一方為完全Cone NAT、限制ConeNAT、端口限制Cone NAT> Symmetric NAT這四種之一種的這一‘清況,進行了深入研究,從而在復(fù)雜的網(wǎng)路環(huán)境中,能夠提高穿透成功率。
[0013]作為改進,所述隨機端口號測試所測試的端口號的獲取方法是,分為下面三個情形:情形一,若終端用戶A和B的NAT端口映射規(guī)則為增量型,則所測試的端口號為原有端口號+T,T為固定的整數(shù)值;情形二,若終端用戶A和B的NAT端口映射規(guī)則為隨機增量型,則所測試的端口號為原有端口號+統(tǒng)計增量;情形三,若終端用戶A和B的NAT端口映射規(guī)則同為隨機型,則所測試的端口號為隨機端口號,這樣,能夠更加有效地實現(xiàn)穿透,大大提高穿透的成功率。
[0014]作為改進,穿透服務(wù)器根據(jù)歷史端口號統(tǒng)計信息來確定終端用戶A和B的NAT端口映射規(guī)則,并獲取所測試的端口號,具體為:穿透服務(wù)器收到終端用戶A向終端用戶B穿透請求后,穿透服務(wù)器首先檢測部分一中終端用戶A與終端用戶B產(chǎn)生的歷史外部端口號統(tǒng)計信息,若連續(xù)N次檢測到部分一中的端口變化規(guī)則為增量型,則所測試的端口號為原有端口號+T,T為固定的整數(shù)值;若連續(xù)N次檢測到部分一中的端口變化規(guī)則為隨機增量型,則所測試的端口號為原有端口號+統(tǒng)計增量;若連續(xù)N次檢測到部分一中端口號變化無規(guī)則,則所測試的端口號獲取范圍為隨機端口號以及部分二中的端口號;所述的N為一整數(shù);所述歷史端口號統(tǒng)計信息分為兩個部分,其中部分一是指終端用戶A和B訪問穿透服務(wù)器時產(chǎn)生的歷史外部端口號統(tǒng)計信息,部分二是指終端用戶A和B之間以往成功穿透時產(chǎn)生的外部端口號統(tǒng)計信息;這樣,穿透服務(wù)器根據(jù)歷史端口號統(tǒng)計信息來確定終端用戶A和B的NAT端口映射規(guī)則,并獲取所測試的端口號,能夠自適應(yīng)實際的網(wǎng)絡(luò)環(huán)境,使確定終端用戶A和B的NAT端口映射規(guī)則,并獲取所測試的端口號這一過程具備智能化、自適應(yīng)能力,且對于連續(xù)N次檢測到部分一中端口號變化無規(guī)則的情況進行深入研究,給出了有效策略,更有利于本發(fā)明性能的提聞。
[0015]作為改進,所述的所測試的端口號獲取范圍為隨機端口號以及部分二中的端口號中,主要選取部分二中的端口號作為所測試的端口號,這樣,能夠更加有效地實現(xiàn)穿透,大大提高穿透的成功率。
【具體實施方式】
[0016]下面結(jié)合例子對本發(fā)明作進一步說明。[0017]本發(fā)明NAT穿透方法,它具有以下過程:
[0018]I )、穿透服務(wù)器輔助注冊過程:終端用戶A與終端用戶B上電后向穿透服務(wù)器發(fā)送注冊信息,穿透服務(wù)器存儲終端用戶A和B的識別信息,信息注冊成功后,終端用戶A和B利用該通道發(fā)送心跳包,保持與穿透服務(wù)器的連接;
[0019]2)、實現(xiàn)數(shù)據(jù)交換過程:
[0020]步驟一,終端用戶A向穿透服務(wù)器發(fā)送請求信息,請求連接終端用戶B ;
[0021]步驟二,穿透服務(wù)器收到終端用戶A的請求后,查找終端用戶A與B的注冊信息,若找不到終端用戶B的注冊信息,則回復(fù)終端用戶A連接錯誤;若可以查詢到終端用戶B的注冊信息,則首先確定終端用戶A與B的NAT設(shè)備類型,若雙方NAT設(shè)備類型均為完全ConeNAT、限制Cone NAT、端口限制Cone NAT這三種之一種則執(zhí)行步驟三;若雙方NAT設(shè)備至少一方為Symmetric NAT,且另一方為完全Cone NAT、限制Cone NAT、端口限制Cone NAT、Symmetric NAT這四種之一種則執(zhí)行步驟四;
[0022]步驟三,穿透服務(wù)器將終端用戶B和A在所述I)中注冊的外網(wǎng)地址和端口號信息發(fā)送給對方,終端用戶A和B根據(jù)各自獲得的對方地址和端口信息,互相發(fā)送穿透信息以進行穿透連接測試,若成功,將會返回直連通道的地址和端口號,并轉(zhuǎn)向步驟五,否則繼續(xù)穿透連接測試;
[0023]步驟四,隨機端口號測試確定能夠連通的端口號,若終端用戶A的NAT設(shè)備類型為Symmetric NAT,則終端用戶B向終端用戶A進行隨機端口號測試,若終端用戶B的NAT設(shè)備類型為Sy_etric NAT,終端用戶A向終端用戶B進行隨機端口號測試,若終端用戶A和B的NAT設(shè)備類型同時為Symmetric NAT,終端用戶A和B同時開始隨機端口號測試;一旦確定能夠連通的端口號,即找到直連通道,將會返回直連通道的地址和端口號,并轉(zhuǎn)向步驟五,否則,重復(fù)步驟四;
[0024]步驟五,終端用戶A和B利用所述直連通道的地址和端口號進行數(shù)據(jù)傳輸。
[0025]所述隨機端口號測試所測試的端口號的獲取方法是,分為下面三個情形:情形一,若終端用戶A和B的NAT端口映射規(guī)則為增量型,則所測試的端口號為原有端口號+T,T為固定的整數(shù)值,比如I ;情形二,若終端用戶A和B的NAT端口映射規(guī)則為隨機增量型,則所測試的端口號為原有端口號+統(tǒng)計增量,統(tǒng)計增量是指終端用戶A和B訪問穿透服務(wù)器時產(chǎn)生的歷史外部端口號增量統(tǒng)計信息,比如具有第一歷史外部端口號、第二歷史外部端口號、第三歷史外部端口號、第四歷史外部端口號、第五歷史外部端口號、第六歷史外部端口號,那么,第一歷史外部端口號、第二歷史外部端口號之差,第二歷史外部端口號、第三歷史外部端口號之差,第三歷史外部端口號、第四歷史外部端口號之差,第四歷史外部端口號、第五歷史外部端口號之差,第五歷史外部端口號、第六歷史外部端口號之差,這些差求和并平均后作為統(tǒng)計增量;情形三,若終端用戶A和B的NAT端口映射規(guī)則同為隨機型,則所測試的端口號為隨機端口號。
[0026]所述的原有端口號是指上一次穿透測試所用的端口號或者按一定規(guī)則設(shè)定的端口號或者隨機設(shè)定的端口號等。
[0027]穿透服務(wù)器根據(jù)歷史端口號統(tǒng)計信息來確定終端用戶A和B的NAT端口映射規(guī)貝U,并獲取所測試的端口號,具體為:穿透服務(wù)器收到終端用戶A向終端用戶B穿透請求后,穿透服務(wù)器首先檢測部分一中終端用戶A與終端用戶B產(chǎn)生的歷史外部端口號統(tǒng)計信息,若連續(xù)N次檢測到部分一中的端口變化規(guī)則為增量型,則所測試的端口號為原有端口號+T,T為固定的整數(shù)值;若連續(xù)N次檢測到部分一中的端口變化規(guī)則為隨機增量型,則所測試的端口號為原有端口號+統(tǒng)計增量;若連續(xù)N次檢測到部分一中端口號變化無規(guī)則,則所測試的端口號獲取范圍為隨機端口號以及部分二中的端口號;
[0028]所述的N為一整數(shù),比如20 ;所述歷史端口號統(tǒng)計信息分為兩個部分,其中部分一是指終端用戶A和B訪問穿透服務(wù)器時產(chǎn)生的歷史外部端口號統(tǒng)計信息,部分二是指終端用戶A和B之間以往成功穿透時產(chǎn)生的外部端口號統(tǒng)計信息。
[0029]所述的所測試的端口號獲取范圍為隨機端口號以及部分二中的端口號中,主要選取部分二中的端口號作為所測試的端口號,具體做法是以較高的概率選取終端用戶A和B之間以往成功穿透時產(chǎn)生的外部端口號區(qū)段作為下次穿透測試備選端口號。
[0030]所述的完全Cone NAT、限制 Cone NAT、端 口限制 Cone NAT>Symmetric NAT 這四種NAT設(shè)備類型的說明:
[0031 ] I)完全Cone NAT:無論目標地址和端口怎樣,每次都把該私有源IP地址/端口映射到同一個全局源地址/端口 ;外網(wǎng)的任何主機都可以發(fā)送報文到該映射的全局地址而訪問到該內(nèi)部主機,路由器的靜態(tài)地址映射就是屬于這種。
[0032]2)限制Cone NAT:地址/端口映射的情況同完全Cone NAT的,但外網(wǎng)的主機要訪問內(nèi)網(wǎng)主機,該內(nèi)網(wǎng)主機必須先發(fā)送過報文給該外網(wǎng)主機的地址。
[0033]3)端口限制Cone NAT:地址/端口映射情況同完全Cone NAT的,但外網(wǎng)主機要訪問內(nèi)網(wǎng)主機,該內(nèi)網(wǎng)主機必須先發(fā)送過報文給該外網(wǎng)主機的地址和端口,大多數(shù)路由器的NAPT就是屬于這種情況。
[0034]4) Symmetric NAT:對不同的目標地址/端口,源私有地址映射到源全局地址不變,但是映射的全局端口會改變,外網(wǎng)主機必須先收到過內(nèi)網(wǎng)主機的報文,才能訪問到該內(nèi)網(wǎng)主機,一些路由器和防火墻產(chǎn)品的NAT就是屬于這種情況,Symmetric NAT映射新端口方式有3種:
[0035]A)增量型:在前一次映射的端口號(即原有端口號)上+固定的整數(shù)值T,比如I。
[0036]B)隨機增量型:在前一次映射的端口號上增加或減少,且變化的數(shù)值隨機在一個小范圍內(nèi)生成。
[0037]C)隨機型:比如隨機端口號在區(qū)間(1024,65535)內(nèi)隨機生成。
【權(quán)利要求】
1.一種NAT穿透方法,其特征在于,它具有以下過程: I)、穿透服務(wù)器輔助注冊過程:終端用戶A與終端用戶B上電后向穿透服務(wù)器發(fā)送注冊信息,穿透服務(wù)器存儲終端用戶A和B的識別信息,信息注冊成功后,終端用戶A和B利用該通道發(fā)送心跳包,保持與穿透服務(wù)器的連接; 2)、實現(xiàn)數(shù)據(jù)交換過程: 步驟一,終端用戶A向穿透服務(wù)器發(fā)送請求信息,請求連接終端用戶B ; 步驟二,穿透服務(wù)器收到終端用戶A的請求后,查找終端用戶A與B的注冊信息,若找不到終端用戶B的注冊信息,則回復(fù)終端用戶A連接錯誤;若可以查詢到終端用戶B的注冊信息,則首先確定終端用戶A與B的NAT設(shè)備類型,若雙方NAT設(shè)備類型均為完全ConeNAT、限制Cone NAT、端口限制Cone NAT這三種之一種則執(zhí)行步驟三;若雙方NAT設(shè)備至少一方為Symmetric NAT,且另一方為完全Cone NAT、限制Cone NAT、端口限制Cone NAT、Symmetric NAT這四種之一種則執(zhí)行步驟四; 步驟三,穿透服務(wù)器將終端用戶B和A在所述I)中注冊的外網(wǎng)地址和端口號信息發(fā)送給對方,終端用戶A和B根據(jù)各自獲得的對方地址和端口信息,互相發(fā)送穿透信息以進行穿透連接測試,若成功,將會返回直連通道的地址和端口號,并轉(zhuǎn)向步驟五,否則繼續(xù)穿透連接測試; 步驟四,隨機端口號測試確定能夠連通的端口號,若終端用戶A的NAT設(shè)備類型為Symmetric NAT,則終端用戶B向終端用戶A進行隨機端口號測試,若終端用戶B的NAT設(shè)備類型為Sy_etric NAT,終端 用戶A向終端用戶B進行隨機端口號測試,若終端用戶A和B的NAT設(shè)備類型同時為Symmetric NAT,終端用戶A和B同時開始隨機端口號測試;一旦確定能夠連通的端口號,即找到直連通道,將會返回直連通道的地址和端口號,并轉(zhuǎn)向步驟五,否則,重復(fù)步驟四; 步驟五,終端用戶A和B利用所述直連通道的地址和端口號進行數(shù)據(jù)傳輸。
2.根據(jù)權(quán)利要求1所述的NAT穿透方法,其特征在于,所述隨機端口號測試所測試的端口號的獲取方法是,分為下面三個情形:情形一,若終端用戶A和B的NAT端口映射規(guī)則為增量型,則所測試的端口號為原有端口號+T,T為固定的整數(shù)值;情形二,若終端用戶A和B的NAT端口映射規(guī)則為隨機增量型,則所測試的端口號為原有端口號+統(tǒng)計增量;情形三,若終端用戶A和B的NAT端口映射規(guī)則同為隨機型,則所測試的端口號為隨機端口號。
3.根據(jù)權(quán)利要求2所述的NAT穿透方法,其特征在于,穿透服務(wù)器根據(jù)歷史端口號統(tǒng)計信息來確定終端用戶A和B的NAT端口映射規(guī)則,并獲取所測試的端口號,具體為:穿透服務(wù)器收到終端用戶A向終端用戶B穿透請求后,穿透服務(wù)器首先檢測部分一中終端用戶A與終端用戶B產(chǎn)生的歷史外部端口號統(tǒng)計信息,若連續(xù)N次檢測到部分一中的端口變化規(guī)則為增量型,則所測試的端口號為原有端口號+T,T為固定的整數(shù)值;若連續(xù)N次檢測到部分一中的端口變化規(guī)則為隨機增量型,則所測試的端口號為原有端口號+統(tǒng)計增量;若連續(xù)N次檢測到部分一中端口號變化無規(guī)則,則所測試的端口號獲取范圍為隨機端口號以及部分二中的端口號; 所述的N為一整數(shù);所述歷史端口號統(tǒng)計信息分為兩個部分,其中部分一是指終端用戶A和B訪問穿透服務(wù)器時產(chǎn)生的歷史外部端口號統(tǒng)計信息,部分二是指終端用戶A和B之間以往成功穿透時產(chǎn)生的外部端口號統(tǒng)計信息。
4.根據(jù)權(quán)利要求3所述的NAT穿透方法,其特征在于,所述的所測試的端口號獲取范圍為隨機端口號以及部分二中的 端口號中,主要選取部分二中的端口號作為所測試的端口號。
【文檔編號】H04L29/12GK103795818SQ201410039263
【公開日】2014年5月14日 申請日期:2014年1月27日 優(yōu)先權(quán)日:2014年1月27日
【發(fā)明者】何加銘, 屈龍, 李艷, 張延紅, 樊玲慧 申請人:杭州順浪信息技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1