[發明專利]一種確定NAT類型的方法及裝置有效
| 申請號: | 201010143479.6 | 申請日: | 2010-03-03 |
| 公開(公告)號: | CN102196057A | 公開(公告)日: | 2011-09-21 |
| 發明(設計)人: | 王志華;陳謙;魯小鎖;邵穎哲 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | H04L29/12 | 分類號: | H04L29/12;H04L29/06 |
| 代理公司: | 北京派特恩知識產權代理事務所(普通合伙) 11270 | 代理人: | 張穎玲;蔣雅潔 |
| 地址: | 518044 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 確定 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:port1)映射到外部地址(eAddr:port2),所有發自(iAddr:port1)的包都經由(eAddr:port2)向外發送。任意外部主機都能通過給(eAddr:port2)發包到達(iAddr:port1)。
2)受限圓錐型NAT。
一旦一個內部地址(iAddr:port1)映射到外部地址(eAddr:port2),所有發自(iAddr:port1)的包都經由(eAddr:port2)向外發送。在內部地址(iAddr:port1)之前發送過包到任意外部主機(hostAddr:any)的情況下,任意外部主機(hostAddr:any)都能通過給(eAddr:port2)發包到達(iAddr:port1),其中,“any”也就是說端口不受限制。
3)端口受限圓錐型NAT。類似受限圓錐型NAT(Restricted?cone?NAT),還包括端口限制。
一旦一個內部地址(iAddr:port1)映射到外部地址(eAddr:port2),所有發自(iAddr:port1)的包都經由(eAddr:port2)向外發送。在內部地址(iAddr:port1)之前發送過包到外部主機(hostAddr:port3)的情況下,一個外部主機(hostAddr:port3)能夠發包到達(iAddr:port1)。
4)對稱NAT。
每一個來自相同內部IP與port的請求到一個特定目的地的IP地址和端口,都被映射到一個獨特的外部來源的IP地址和端口。同一個內部主機發出一個信息包到不同的目的端,將使用不同的映射。
STUN協議的全稱是Simple?Traversal?of?User?Datagram?Protocol?ThroughNetwork?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地址和端口,或者改變端口等等。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010143479.6/2.html,轉載請聲明來源鉆瓜專利網。





