欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

通過NAT穿透實現P2P文件分享與傳輸系統原理說明

admin
2017年7月27日 9:44 本文熱度 8004

由于p2p網絡中使用udp報文,所以只介紹udp穿透。

1. NAT類型

  NAT(Network Address Translation, 網絡地址轉換),是指在IP包通過路由設備時,修改其IP地址信息的技術。一般應用是,通過將內網地址轉換為公網地址,從而實現多臺主機使用一個IP地址訪問互聯網,在很多網絡環境中,均可見到。這項技術的好處我們暫且不談,對我們來說它的“壞處”是顯而易見的,因為中間存在了NAT,給我們的p2p網絡中主機之間的通信造成了不小的麻煩。下面開始先簡單了解一下NAT的類型。(這里只做簡單介紹,針對“一對多”的NAT映射。更加詳細、嚴謹的說明,請看Wikipedia和相關文檔 - RFC xxxx。)

  一般來說,可以把它分為“對稱型NAT”和“非對稱型NAT(也叫錐形NAT)”。所謂“對稱”,是指內部地址與不同的外部地址進行通信的時候,NAT為會話綁定不同的IP和端口。

  對于NAT可分為“不限型”、“IP受限型”和“IP-端口受限型”:

  • 不限:內網主機Peer通過NAT訪問外網Peer1:port1建立了會話,NAT為其分配了ip:port地址,則任何外網主機均可通過ip:port訪問內網主機Peer
  • IP受限:內網主機Peer通過NAT與外網Peer1:port1建立了會話,NAT為其分配了ip:port地址,則只有Peer1可以通過ip:port訪問內網主機Peer
  • IP-Port受限:內網主機Peer通過NAT與外網Peer1:port1建立了會話,NAT為其分配了ip:port地址,則只有Peer1,且從port1發出的會話,可以通過ip:port訪問內網主機Peer

     

  正確的判斷NAT類型,在p2p網絡中的NAT穿透中,是很重要的。NAT類型的判斷,是由Stun Server來實現,據我所知,有現成的,也有開源項目,這里將不做介紹~

2. NAT 打洞

  通過以上NAT的特點可知,為了能訪問位于受限NAT后面的內網主機Peer,必須讓該內網主機先主動向自己發送會話。但是,如何通知內網主機來做這件事呢?這就需要借助NAT Server來實現。NAT Server需要保持可以隨時向Peer發送命令的能力,首先就是NAT Server必須位于公網(-_-!),Peer定時向NAT Server發送心跳包。由之前的分析可知,NAT Server可以無障礙的向Peer發送各種指令。如果你對發送心跳包的間隔拿捏不定,不妨設置為10秒

  下面是NAT Server的基本流程

       

  1) 外網主機向NAT Server發送打洞請求

  2) NAT Server向Peer發送打洞命令

  3) Peer向外網主機發送連接報文

  4) NAT為外網主機打開了訪問內網Peer的權限,打洞完成。

3. 其他

  根據以上的打洞技術,可以在多種NAT情況下實現穿透,但對于部分情況,例如,兩個客戶端都處于受限型NAT后面,而其中又至少有一個處于對稱型NAT后面,這種技術就無能為力了,此時可以采用“地址-端口預測”的方法(據說迅雷使用了這項技術,據說而已),所謂“端口預測”,是猜測NAT給內網主機分配地址和端口的算法,比如這篇文章的第一幅圖里,ip1:port1和ip2:port2,ip1和ip2,port1和port2很可能在數值上相差不遠,比如可能是61.22.3.1:13304, 61.22.3.1:13305,這時,通過多發幾個端口,就有可能實現打通。實在不行,就只能通過服務器中轉了。下面羅列一下在各種NAT情況之下,實現Peer和Peer1之間互聯的方法:

  我們把情況假設在p2p網絡中,Peer1向Peer索取數據

  


該文章在 2017/7/27 9:44:20 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved