新四季網

一種確定nat類型的方法及裝置的製作方法

2023-11-10 02:33:52 1

專利名稱:一種確定nat類型的方法及裝置的製作方法
技術領域:
本發明涉及網絡地址轉換(NAT)技術,尤指一種確定NAT類型的方法及裝置。
背景技術:
隨著接入Internet的計算機數量的不斷猛增,網際網路協議(IP)地址資源也就愈加顯得捉襟見肘,在這種情況下,網絡地址轉換(NAT)技術便應運而生了。一時間,NAT作為一種解決IPv4地址短缺以避免保留IP位址困難的方案而流行起來。不僅如此,通過使用NAT技術還能夠有效地避免來自網絡外部的攻擊,隱藏並保護網絡內部的計算機。雖然 NAT技術在解決IP位址資源短缺以及保護內部計算機方面起到了積極作用,但是,另一方面,NAT技術也無疑與網際網路的開放特性背道而馳,使許多應用受到了極大的影響。為此, 人們開始研究如何穿越NAT,STUN協議在此起到了積極的作用,通過使用STUN協議,可以檢測出位於NAT之後的客戶端的NAT類型以及經過轉換後所對應的公網IP位址和埠,為後期的打洞以及端到端(P2P)系統中的節點選擇起到了至關重要的作用。常見的NAT類型可分為四種,分別是完全圓錐型NAT(Full Cone NAT)、受限圓錐型 NAT (Address Restricted Cone NAT)、埠受限圓錐型 NAT (Port-Restricted Cone NAT), 以及對稱NAT (Symmetric NAT)。下面分別對這四種NAT類型進行簡單介紹。1)完全圓錐型NAT,也就是一對一的NAT。一旦一個內部地址(iAddr :portl)映射到外部地址(eAddr :port2),所有發自 (iAddr :portl)的包都經由(eAddr :port2)向外發送。任意外部主機都能通過給(eAddr port2)發包到達(iAddr :portl)。2)受限圓錐型NAT。一旦一個內部地址(iAddr :portl)映射到外部地址(eAddr :port2),所有發自 (iAddr :portl)的包都經由(eAddr :port2)向外發送。在內部地址(iAddr :portl)之前發送過包到任意外部主機(hostAddr :any)的情況下,任意外部主機(hostAddr :any)都能通過給(eAddr :port2)發包到達(iAddr :portl),其中,「any」也就是說埠不受限制。3)埠受限圓錐型NAT。類似受限圓錐型NAT (Restricted cone NAT),還包括埠限制。一旦一個內部地址(iAddr :portl)映射到外部地址(eAddr :port2),所有發自 (iAddr :portl)的包都經由(eAddr :port2)向外發送。在內部地址(iAddr :portl)之前發送過包到外部主機(hostAddr :port3)的情況下,一個外部主機(hostAddr :port3)能夠發包到達(iAddr :portl)。4)對稱 NAT。每一個來自相同內部IP與port的請求到一個特定目的地的IP位址和埠,都被映射到一個獨特的外部來源的IP位址和埠。同一個內部主機發出一個信息包到不同的目的端,將使用不同的映射。STUN 協議的全稱是 Simple Traversal of User Datagram ProtocolThroughNetwork Address Translate-ors,主要功能是檢測是否位於NAT後面,如果位於 NAT後面,經過NAT轉換後的地址和埠是什麼,另外可以檢測NAT的類型。STUN協議的基本思想是在私網內部安裝一個STUN客戶端(STUNClient),在公網上安裝兩個STUN伺服器(STUN Server), STUN協議定義了一些消息格式,大體上分成請求 / 響應 Request/Response, STUN Client 向 STUNServer 發送 Request, STUN Server 發送 Response 給 STUN Client。在 STUN Server 收到來自 STUN Client 的 UDP包後,STUN Server 將接收到該用戶數據報協議(UDP)包的地址和埠,並利用UDP傳回給STUN Client, STUN Client將收到的地址和埠與本機的IP位址和埠進行比較,如果不同,說明在NAT後面, 否則,說明就位於NAT之前(即沒有經過地址轉換的IP)。為了檢測出不同類型的NAT,STUN協議定義了一些消息屬性,要求STUNServer有不同的動作,比如發送響應時使用不同的IP位址和埠,或者改變埠等等。

圖1為現有STUN測試方案的示意圖,如圖1所示,為了確定NAT後的STUN Client 所對應的公網IP和埠及其NAT類型,需要有兩個STUN Server和STUN Client之間遵循一定的協議,進行相互配合才可完成。為了達到這一目的,在圖1所示的技術方案中,需要有四個測試項,其中,虛箭頭線表示測試項1,單點劃箭頭線表示測試項2、雙點劃箭頭線表示測試項3,實箭頭線表示測試項4。需要說明的是,在一次STUN測試中,並非所有的測試項都會進行,從第一項測試開始進行順序測試,只要經過中間任一步驟能夠最終確定NAT 類型及其公網地址時,測試即可終止。這四項測試的具體內容如表1所示。
權利要求
1.一種確定網絡地址轉換NAT類型的方法,其特徵在於,包括STUN客戶端同時向第一 STUN伺服器的第一埠和第二埠分別發送第一測試項的請求包和第二測試項的請求包;第一 STUN伺服器和第二 STUN伺服器返回相應的應答包;STUN客戶端根據收到的應答包判斷客戶端的NAT類型。
2.根據權利要求1所述的方法,其特徵在於,所述第一測試項的請求包的目的地址為所述第一 STUN伺服器的IP位址和所述第一 STUN伺服器的第一埠號;所述第二測試項的請求包的目的地址為所述第一 STUN伺服器的IP位址和所述第一 STUN伺服器的第二埠號。
3.根據權利要求2所述的方法,其特徵在於,所述第一STUN伺服器和第二 STUN伺服器返回相應的應答包為所述第一 STUN伺服器從第一埠反饋第一應答包,在第一應答包中攜帶有第一埠反饋的客戶端的公網IP和埠,所述第一 STUN伺服器從第二埠反饋第二應答包,在第二應答包中攜帶有第二埠反饋的客戶端的公網IP和埠 ;所述第一 STUN伺服器從第三埠反饋第三應答包,從所述第二 STUN伺服器向客戶端返回第四應答包。
4.根據權利要求3所述的方法,其特徵在於,所述第一STUN伺服器和第二 STUN伺服器為配置為雙網卡設備的同一 STUN伺服器;所述第一應答包,第二應答包和第三應答包由雙網卡中的第一網卡綁定的IP返回;所述第四應答包由雙網卡中的第二網卡綁定的IP返回。
5.根據權利要求3或4所述的方法,其特徵在於,STUN客戶端根據收到的應答包判斷客戶端的NAT類型包括如果所述STUN客戶端收到第一應答包和第二應答包,並且所述第一應答包和第二應答包中分別攜帶的公網IP位址和埠不一致,則確定所述STUN客戶端的NAT類型為對稱型 NAT ;如果所述STUN客戶端收到第一應答包和第二應答包,並且所述第一應答包中攜帶的公網IP位址和埠或第二應答包中攜帶的公網IP位址和埠,與所述STUN客戶端的本地 IP位址和埠號相同,並且,所述STUN客戶端收到第四應答包,則確定所述STUN客戶端具有公網IP ;如果所述STUN客戶端收到第一應答包和第二應答包,並且所述第一應答包中攜帶的公網IP位址和埠和第二應答包中攜帶的公網IP位址和埠,與所述STUN客戶端的本地 IP位址和埠號相同,但是,所述STUN客戶端未收到第四應答包,則確定所述STUN客戶端在防火牆後;如果所述STUN客戶端收到第一應答包和第二應答包,並且所述第一應答包和第二應答包中分別攜帶的公網IP位址和埠相同,但與所述STUN客戶端的本地IP位址和埠號不相同,並且,所述STUN客戶端收到第四應答包,則確定所述STUN客戶端的NAT類型是完全圓錐型NAT ;如果所述STUN客戶端收到第一應答包和第二應答包,並且所述第一應答包和第二應答包中分別攜帶的公網IP位址和埠相同,但與所述STUN客戶端的本地IP位址和埠號不相同,並且,所述STUN客戶端未收到第四應答包、收到第三應答包,則確定所述STUN客戶端的NAT類型是限制圓錐型NAT ;如果所述STUN客戶端收到第一應答包和第二應答包,並且所述第一應答包和第二應答包中分別攜帶的公網IP位址和埠相同,但與所述STUN客戶端的本地IP位址和埠號不相同,但是,所述STUN客戶端未收到第四應答包、未收到第三應答包,則確定所述STUN客戶端的NAT類型是埠限制圓錐型NAT。
6.根據權利要求3或4所述的方法,其特徵在於,如果所述STUN客戶端沒有收到任何應答包,則UDP不通,結束本流程。
7.一種確定網絡地址轉換NAT類型的裝置,其特徵在於,包括STUN客戶端、第一 STUN 伺服器和第二 STUN伺服器,其中,STUN客戶端,用於同時向第一 STUN伺服器的第一埠和第二埠分別發送第一測試項的請求包和第二測試項的請求包;接收來自第一 STUN伺服器和第二 STUN伺服器的應答包,並根據收到的應答包判斷客戶端的NAT類型;第一 STUN伺服器,用於接收請求包並返回相應應答包;第二 STUN伺服器,用於返回相應的應答包。
8.根據權利要求7所述的裝置,其特徵在於,所述第一測試項的請求包的目的地址為所述第一 STUN伺服器的IP位址和所述第一 STUN伺服器的第一埠號;所述第二測試項的請求包的目的地址為所述第一 STUN伺服器的IP位址和所述第一 STUN伺服器的第二埠號;所述第一 STUN伺服器,具體用於從第一埠反饋第一應答包,在第一應答包中攜帶有從第一埠反饋的客戶端的公網IP和埠 ;從第二埠反饋第二應答包,在第二應答包中攜帶有從第二埠反饋的客戶端的公網IP和埠 ;從所述第一 STUN伺服器的第三埠反饋第三應答包;所述第二 STUN伺服器,具體用於向客戶端返回第四應答包。
9.根據權利要求8所述的裝置,其特徵在於,所述第一STUN伺服器和第二 STUN伺服器可為配置為雙網卡設備的同一 STUN伺服器;所述第一應答包,第二應答包和第三應答包由雙網卡中的第一網卡綁定的IP返回;所述第四應答包由雙網卡中的第二網卡綁定的IP返回。
10.根據權利要求8或9所述的裝置,其特徵在於,所述STUN客戶端具體用於在所述STUN客戶端收到第一應答包和第二應答包,並且所述第一應答包和第二應答包中分別攜帶的公網IP位址和埠不一致時,確定所述STUN客戶端的NAT類型為對稱型 NAT ;在所述STUN客戶端收到第一應答包和第二應答包,並且所述第一應答包中攜帶的公網IP位址和埠或第二應答包中攜帶的公網IP位址和埠,與所述STUN客戶端的本地IP 地址和埠號相同,並且,所述STUN客戶端收到第四應答包時,確定所述STUN客戶端具有公網IP ;在所述STUN客戶端收到第一應答包和第二應答包,並且所述第一應答包中攜帶的公網IP位址和埠和第二應答包中攜帶的公網IP位址和埠,與所述STUN客戶端的本地IP 地址和埠號相同,但是,所述STUN客戶端未收到第四應答包時,確定所述STUN客戶端在防火牆後;在所述STUN客戶端收到 第一應答包和第二應答包,並且所述第一應答包和第二應答包中分別攜帶的公網IP位址和埠相同,但與所述STUN客戶端的本地IP位址和埠號不相同,並且,所述STUN客戶端收到第四應答包時,確定所述STUN客戶端的NAT類型是完全圓錐型NAT ;在所述STUN客戶端收到第一應答包和第二應答包,並且所述第一應答包和第二應答包中分別攜帶的公網IP位址和埠相同,但與所述STUN客戶端的本地IP位址和埠號不相同,並且,所述STUN客戶端未收到第四應答包、收到第三應答包時,確定所述STUN客戶端的NAT類型是限制圓錐型NAT ;在所述STUN客戶端收到第一應答包和第二應答包,並且所述第一應答包和第二應答包中分別攜帶的公網IP位址和埠相同,但與所述STUN客戶端的本地IP位址和埠號不相同,但是,所述STUN客戶端未收到第四應答包、未收到第三應答包時,確定所述STUN客戶端的NAT類型是埠限制圓錐型NAT ;在所述STUN客戶端沒有收到任何應答包時,UDP不通。
全文摘要
本發明提供了一種確定NAT類型的方法及裝置,包括STUN客戶端同時向第一STUN伺服器的第一埠和第二埠分別發送第一測試項的請求包和第二測試項的請求包;第一STUN伺服器和第二STUN伺服器返回相應的應答包;STUN客戶端根據收到的應答包判斷客戶端的NAT類型。本發明的確定NAT類型的方法不依賴於測試包的先後順序,而且通過並行測試,節省了的NAT類型檢測的時間,不僅如此,本發明的NAT類型判斷方法也更加簡潔高效。
文檔編號H04L29/12GK102196057SQ201010143479
公開日2011年9月21日 申請日期2010年3月3日 優先權日2010年3月3日
發明者王志華, 邵穎哲, 陳謙, 魯小鎖 申請人:騰訊科技(深圳)有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀