青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

yehao's Blog

P2P網(wǎng)絡(luò)技術(shù)概覽與實(shí)現(xiàn)原理

http://www.cnblogs.com/NeuqUstcIim/archive/2008/08/07/1263278.html
穿越NAT的意義:

  NAT是為了節(jié)省IP地址而設(shè)計(jì)的,但它隱藏了內(nèi)網(wǎng)機(jī)器的地址,“意外”起到了安全的作用。對外不可見,不透明的內(nèi)部網(wǎng)絡(luò)也與互聯(lián)網(wǎng)的“公平” 應(yīng)用,“相互共享”的思想所不容,尤其是P2P網(wǎng)絡(luò)中“相互服務(wù)”的宗旨,所以穿越NAT,讓眾多內(nèi)部網(wǎng)絡(luò)的機(jī)器也參與到P2P網(wǎng)絡(luò)中的大集體中來,一直 是P2P開發(fā)者的所希望的。穿越NAT需要借助外部的支持,說白了就是“內(nèi)外勾結(jié)”,騙過NAT。很多P2P網(wǎng)絡(luò)成功地實(shí)現(xiàn)了這一目標(biāo),但還是有一些“遺 憾”---并非所有的情況下都可以。由于客戶端是主動登錄P2P網(wǎng)絡(luò)才可穿越,所以P2P的方式也沒有違背企業(yè)的內(nèi)部管理原則,畢竟“自由世界”的加入都 是自覺自愿的。

  NAT原理:

  NAT(Network Address Translation)網(wǎng)絡(luò)地址轉(zhuǎn)換/網(wǎng)絡(luò)地址翻譯。

  工作原理:NAT主要的通過對數(shù)據(jù)包頭的地址替換來完成內(nèi)網(wǎng)計(jì)算機(jī)訪問外網(wǎng)服務(wù)的。當(dāng)內(nèi)部機(jī)器要訪問外部網(wǎng)絡(luò)時(shí),NAT設(shè)備把內(nèi)部的IP1與端 口號1(網(wǎng)絡(luò)層地址與傳輸層地址),轉(zhuǎn)換成NAT的外部IP2與新的端口號2,再送給外部網(wǎng)絡(luò),數(shù)據(jù)返回時(shí),再把目的為IP2:端口2的數(shù)據(jù)包替換為 IP1:端口1,送給內(nèi)網(wǎng)機(jī)器。若通訊協(xié)議的內(nèi)容中有IP地址的傳遞,如FTP協(xié)議,NAT在翻譯時(shí)還要注意數(shù)據(jù)包內(nèi)涉及協(xié)議地址交互的地方也要替換,否 則協(xié)議就會出現(xiàn)地址混亂。在NAT設(shè)備中維護(hù)了這個要替換地址的映射表,并根據(jù)內(nèi)部計(jì)算機(jī)的通訊需求維護(hù)該表。外部網(wǎng)絡(luò)來數(shù)據(jù)包能否進(jìn)入NAT,主要是看 是否已經(jīng)有可映射的表項(xiàng),若沒有就會丟棄。

  1

  NAT的外部公網(wǎng)地址可以是一個IP,也可以是一個網(wǎng)段,形成地址池。NAT還可以把某個外網(wǎng)地址直接影射給內(nèi)網(wǎng)的某個服務(wù)器,讓外網(wǎng)的用戶可以直接訪問到這臺服務(wù)器。NAT的工作的隱藏內(nèi)網(wǎng)的機(jī)器,但允許內(nèi)網(wǎng)主動打開到外網(wǎng)的通訊“通道”,也就是建立映射表項(xiàng)。

  NAT給P2P帶來的問題是:NAT只允許單方面發(fā)起連接,通訊的雙方不是平等的,P2P網(wǎng)絡(luò)的基礎(chǔ)有了問題,具體的表現(xiàn)為:

  內(nèi)網(wǎng)主機(jī)IP是私有的,外部主機(jī)看不到,也無法主動發(fā)起連接

  即使知道了內(nèi)網(wǎng)IP,但NAT會丟棄沒有在影射表的數(shù)據(jù)包

  內(nèi)網(wǎng)主機(jī)可以作為客戶端訪問外網(wǎng),但不能作為服務(wù)器提供服務(wù)

  當(dāng)兩個主機(jī)都位于各自的NAT之后,要實(shí)現(xiàn)P2P的連接,就不僅是誰主動的問題,而是如何解決在兩個NAT上同時(shí)有對方映射表項(xiàng)的問題。

STUN協(xié)議(IETF RFC 3489):

  STUN協(xié)議是一種通道協(xié)議,可以作為正式通訊前的通路建立,它采用的是用戶終端干預(yù)的一種方法,可以解決應(yīng)用協(xié)議內(nèi)部傳遞IP地址給NAT帶 來的麻煩。用戶通過其他方法得到其地址對應(yīng)在NAT出口上的對外地址,然后在報(bào)文負(fù)載中所描述的地址信息就直接填寫NAT上對外地址,而不是內(nèi)網(wǎng)的私有 IP,這樣報(bào)文的內(nèi)容在經(jīng)過NAT時(shí)就按普通的NAT流程轉(zhuǎn)換報(bào)文頭部的IP地址即可,負(fù)載內(nèi)的IP地址信息無需再修改。利用STUN的思路可以穿越 NAT。STUN協(xié)議是客戶端/服務(wù)器協(xié)議,分兩種請求方式:一是UDP發(fā)送的綁定請求(Binding Requests),二是TCP發(fā)送的秘密請求(Shared Secret Requests)。綁定請求用于確定NAT分配的綁定地址。

  STUN標(biāo)準(zhǔn)中,根據(jù)內(nèi)部終端的地址(P:p)到NAT出口的公網(wǎng)地址(A:b)的影射方式,把NAT分為四種類型:

  2

  1. Full Cone:來自相同的內(nèi)部地址的請求消息映射為相同的外部地址,與外部地址(目的地址)無關(guān)。映射關(guān)系為P:p↔A:b,任何外部主機(jī)可通過(A:b)發(fā)送到數(shù)據(jù)到(P:p)上。

  2. Restricted Cone:來自相同的內(nèi)部地址的請求消息映射為相同的外部地址,返回的數(shù)據(jù)只接受該內(nèi)部節(jié)點(diǎn)曾發(fā)數(shù)據(jù)的那個目的計(jì)算機(jī)地址X。映射關(guān)系為P:p↔A:b↔X,只有來自X的數(shù)據(jù)包才可通過(A:b)發(fā)送到數(shù)據(jù)到(P:p)上。

  3. Port Restricted Cone:來自相同的內(nèi)部地址的請求消息映射為相同的外部地址,返回的數(shù)據(jù)只接受該內(nèi)部節(jié)點(diǎn)曾發(fā)數(shù)據(jù)的那個目的地址X:x。映射關(guān)系為 P:p↔A:b↔X:x,只有來自X:x的數(shù)據(jù)包才可通過(A:b)發(fā)送到數(shù)據(jù)到(P:p)上。

  4. Symmetric(對稱) NAT:只有來自相同的內(nèi)部地址(P:p),并且發(fā)送到同一個地址(X:x) 的請求消息,才被映射為相同的外部地址(A:b),返回的數(shù)據(jù)只接受該內(nèi)部節(jié)點(diǎn)曾發(fā)數(shù)據(jù)的那個目的地址X:x。映射關(guān)系為P:p↔A:b↔X:x,當(dāng) (P:p)訪問(Y:y)時(shí),映射為P:p↔B:c↔Y:y。

  P2P利用STUN穿越NAT:

  位于NAT后面終端A與B要穿越NAT直接通訊,可以借助在公網(wǎng)上的第三者Server來幫助。

  穿越NAT的情況分為為兩種方式:

    1、一方在NAT之后,一方在公網(wǎng)上。這種情況相對簡單,只要讓NAT之后的終端先發(fā)起通訊,NAT就沒有作用了,它可以從Server上取得另一個Peer的地址,主動連接,回來的數(shù)據(jù)包就可以方便地穿越NAT

    2、雙方都在NAT之后,連接的成功與否與兩個NAT的類型有關(guān)。主要的思路的先通過終端與Server的連接,獲得兩個終端在NAT外部的地址(IP與 端口號),再由終端向?qū)Ψ降耐獠康刂钒l(fā)邀請包,獲取自己與對方通訊的外部地址,俗稱為“打洞”。關(guān)鍵是獲取了NAT外部映射的地址,就可以發(fā)包直接溝通, 建立連接。但當(dāng)一方是對稱型,另一方是Port Restricted或?qū)ΨQ型時(shí),無法有效獲取外部地址,邀請包無法到達(dá)對方,也就無法穿越NAT。具體的分析可以根據(jù)兩個NAT的類型分成若干情況分 析,這里給一般的穿越例子。

3

實(shí)例:UDP穿越NAT:

  A登錄Server,NAT A分配端口11000,Server得到A的地址為100.10.10.10:11000

  B登錄Server,NAT B分配端口22000,Server得到B的地址為200.20.20.20:22000

  此時(shí)B會把直接來自A的包丟棄,所以要在NAT B上打一個方向?yàn)锳的洞,那么A就可以向200.20.20.20:22000發(fā)送數(shù)據(jù)了

  打洞的指令來自Server。B向A的地址100.10.10.10:11000發(fā)一個UDP報(bào)文,被NAT A丟棄,但在NAT B上建立映射記錄,NAT B不在丟棄來自A的報(bào)文。

  Server通知A可以通訊,A發(fā)起數(shù)據(jù)UDP包給B,NAT B放行,B收到A的包,雙方開始通訊

  注:若是對稱NAT,當(dāng)B向A打洞的端口要重新分配(NAT A不會再分配11000端口),B無法獲取這個端口,所以不適用本方法。

  實(shí)例:TCP穿越NAT:

  A登錄Server,NAT A分配端口11000,Server得到A的地址為100.10.10.10:11000

  B登錄Server,NAT B分配端口22000,Server得到B的地址為200.20.20.20:22000

  A向B發(fā)送TCP數(shù)據(jù)包SYN:192.168.10.11:1234=>200.20.20.20:22000,在NAT A上打洞

  B向A發(fā)送TCP數(shù)據(jù)包SYN:192.168.20.22:1234=>100.10.10.10:11000,在NAT B上打洞

  通道建立,A與B三次握手建立TCP連接

posted on 2011-08-18 16:13 厚積薄發(fā) 閱讀(359) 評論(0)  編輯 收藏 引用 所屬分類: 網(wǎng)絡(luò)編程

導(dǎo)航

<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

統(tǒng)計(jì)

常用鏈接

留言簿

隨筆分類

文章分類

文章檔案

搜索

最新評論

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲人成久久| 亚洲欧美在线一区二区| 欧美午夜电影在线观看| 欧美亚洲视频在线观看| 欧美激情一区| 性色av一区二区三区在线观看| 国产亚洲美州欧州综合国| 久久久久久久一区| 宅男66日本亚洲欧美视频| 久久综合五月天婷婷伊人| 在线综合亚洲欧美在线视频| 国内精品久久久久久 | 欧美三级资源在线| 久久久免费精品视频| 一区二区三区三区在线| 另类图片综合电影| 性色av一区二区三区| 伊人久久大香线蕉av超碰演员| 欧美成人一区二区| 久久精品视频播放| 亚洲综合视频网| 亚洲另类自拍| 欧美国产日韩在线| 久久亚洲欧美| 欧美一区二区三区在线看| 一区二区三区欧美| 亚洲人成在线免费观看| 国产一区二区高清| 国产精品视频xxx| 欧美日韩综合不卡| 欧美人妖在线观看| 欧美成人高清| 噜噜噜噜噜久久久久久91| 欧美在线综合| 欧美一区激情视频在线观看| 亚洲午夜精品网| 中文日韩在线| 日韩一区二区电影网| 亚洲精品免费电影| 亚洲国产日本| 女同性一区二区三区人了人一| 久久久久中文| 久久久午夜视频| 久久久夜色精品亚洲| 久久精品一本| 久久久久久亚洲精品中文字幕 | 久久在线观看视频| 久久久久9999亚洲精品| 欧美一区二区日韩一区二区| 亚洲欧美综合v| 亚洲欧美综合精品久久成人| 亚洲欧美日韩国产一区二区三区 | 香蕉成人伊视频在线观看| 一区二区三区 在线观看视频| 亚洲伦理自拍| 在线亚洲自拍| 亚洲欧美综合国产精品一区| 亚洲免费一区二区| 欧美在线二区| 久久久另类综合| 嫩草影视亚洲| 欧美高潮视频| 91久久在线| 一区二区三区日韩欧美| 亚洲免费一级电影| 欧美一区二区福利在线| 久久久久久亚洲综合影院红桃| 久久久久久尹人网香蕉| 欧美高清在线精品一区| 国产精品igao视频网网址不卡日韩| 欧美午夜不卡视频| 国产一二三精品| 亚洲激情第一页| 亚洲综合99| 久久午夜视频| 亚洲激情欧美激情| 在线综合+亚洲+欧美中文字幕| 亚洲免费人成在线视频观看| 欧美一区二区三区啪啪| 久久免费视频在线观看| 久久躁日日躁aaaaxxxx| 欧美经典一区二区| 国产欧美日韩另类视频免费观看| 狠狠色综合日日| 日韩一级大片在线| 欧美在线综合视频| 亚洲国产精品一区二区三区| 一区二区三区日韩欧美| 久久久国产一区二区三区| 欧美精品97| 国产一区二区三区精品久久久| 亚洲电影av| 欧美亚洲免费电影| 欧美国产日韩一区二区三区| 一区二区三区欧美日韩| 午夜在线视频一区二区区别| 男男成人高潮片免费网站| 国产精品福利在线| 亚洲国产精品www| 西瓜成人精品人成网站| 欧美国产日韩二区| 亚洲免费中文| 欧美国产欧美亚洲国产日韩mv天天看完整 | 亚洲一区二区三区精品在线观看 | 亚洲精品一区二区在线观看| 午夜在线视频观看日韩17c| 欧美激情网站在线观看| 国产一区日韩二区欧美三区| 亚洲高清久久久| 久久精品99国产精品| av成人免费| 免费看成人av| 国产亚洲一区二区精品| 日韩亚洲欧美综合| 欧美成人午夜| 久久99伊人| 国产精品一区=区| 一级成人国产| 亚洲国产精品电影| 久久久亚洲欧洲日产国码αv| 欧美日韩卡一卡二| 亚洲激情婷婷| 美女在线一区二区| 欧美一级欧美一级在线播放| 欧美色区777第一页| 亚洲美女毛片| 免费视频亚洲| 欧美亚洲一区| 国产美女精品| 亚洲欧美日韩直播| 夜夜嗨av色一区二区不卡| 欧美成人精品在线播放| 欧美成黄导航| 在线电影院国产精品| 免费日韩成人| 欧美激情亚洲精品| 一个人看的www久久| 日韩一级精品| 国产精品美女| 久久久久久久网站| 久久亚洲风情| 亚洲人精品午夜| 日韩一区二区精品| 国产精品成人一区二区三区吃奶| 亚洲欧美国产制服动漫| 亚洲欧美日韩国产一区二区| 国产亚洲欧美aaaa| 狂野欧美性猛交xxxx巴西| 蜜臀av一级做a爰片久久| 亚洲精品之草原avav久久| 99视频在线精品国自产拍免费观看| 欧美日韩黄色一区二区| 午夜视频在线观看一区二区| 午夜亚洲福利在线老司机| 一色屋精品视频在线看 | 亚洲一区在线观看视频| 国产午夜精品视频| 蜜桃av一区二区| 欧美国产综合| 欧美一区1区三区3区公司| 久久精品日韩| 一本久久a久久精品亚洲| 亚洲一区观看| 亚洲韩国一区二区三区| 99re热这里只有精品免费视频| 国产精品揄拍500视频| 免播放器亚洲一区| 欧美日韩一区三区四区| 久久久免费av| 欧美日本在线播放| 久久久久久电影| 欧美精品成人| 久久久久久久综合| 欧美日韩不卡合集视频| 久久久久国产精品人| 欧美人妖另类| 久久婷婷蜜乳一本欲蜜臀| 欧美日韩国产一区精品一区| 久久九九久久九九| 欧美日韩国产一区精品一区 | 狠狠色狠狠色综合系列| 亚洲精品一区二区在线观看| 国产一区二区av| 亚洲六月丁香色婷婷综合久久| 国产一区免费视频| 99在线|亚洲一区二区| 在线播放国产一区中文字幕剧情欧美| 在线亚洲电影| 日韩网站在线看片你懂的| 性色一区二区三区| 亚洲一区二区三区四区中文| 久久综合综合久久综合| 欧美一级免费视频| 欧美女激情福利| 欧美成年人视频| 国产在线拍揄自揄视频不卡99| 一区二区久久| 一区二区三区av| 欧美成ee人免费视频| 久久这里有精品15一区二区三区 |