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

P2P communication across middleboxes(翻譯1)

從今天開始將陸續翻譯Peer-to-Peer (P2P) communication across middleboxes這篇文章,并沒有按照章節次序來,請讀者見諒。

原文版權:Copyright (C) The Internet Society (2003).  All Rights Reserved.

原文地址:http://midcom-p2p.sourceforge.net/draft-ford-midcom-p2p-01.txt



3.4. UDP port number prediction UPD端口號預言

A variant of the UDP hole punching technique discussed above exists that allows P2P UDP sessions to be created in the presence of some symmetric NATs.  This method is sometimes called the "N+1" technique [BIDIR] and is explored in detail by Takeda [SYM-STUN]. The method works by analyzing the behavior of the NAT and attempting to predict the public port numbers it will assign to future sessions.   

Consider again the situation in which two clients, A and B, each behind a separate NAT, have each established UDP connections with a permanently addressable server S:

   讓我們來考慮這樣一種情況,有兩個客戶端 A 和 B,他們都藏在不同的NAT后面,他們都開放了一個UDP連接給具有固定IP的Server S:如下圖


  NAT A has assigned its own UDP port 62000 to the communication session between A and S, and NAT B has assigned its port 31000 to the session between B and S.  By communicating through server S, A and B learn each other's public IP addresses and port numbers as observed   by S.  Client A now starts sending UDP messages to port 31001 at address 138.76.29.7 (note the port number increment), and client B simultaneously starts sending messages to port 62001 at address 155.99.25.11.  If NATs A and B assign port numbers to new sessions  sequentially, and if not much time has passed since the A-S and B-S sessions were initiated, then a working bi-directional communication channel between A and B should result.



   A's messages to B cause NAT A  to open up a new session, to which NAT A will (hopefully) assign public port number 62001, because 62001 is next in sequence after the  port number 62000 it previously assigned to the session between A and S.  Similarly, B's messages to A will cause NAT B to open a new   session, to which it will (hopefully) assign port number 31001.  If
both clients have correctly guessed the port numbers each NAT assigns to the new sessions, then a bi-directional UDP communication channel will have been established as shown below.




   NAT A 分配了它自己的UDP端口62000,用來保持 客戶端A 與 服務器S 的通信會話, NAT B 也分配了31000端口,用來保持 客戶端B 與 服務器S 的通信會話。通過與 服務器S的對話,客戶端A 和 客戶端B 都相互知道了對方所映射的真實IP和端口。

   客戶端A發送一條UDP消息到 138.76.29.7:31001(請注意到端口號的增加),同時 客戶端B發送一條UDP消息到 155.99.25.11:62001。如果NAT A 和NAT B繼續分配端口給新的會話,并且從A-S和B-S的會話時間消耗得并不多的話,那么一條處于客戶端A和客戶端B之間的雙向會話通道就建立了。

   客戶端A發出的消息送達B導致了NAT A打開了一個新的會話,并且我們希望 NAT A將會指派62001端口給這個新的會話,因為62001是繼62000后,NAT會自動指派給 從服務器S到客戶端A之間的新會話的端口號;類似的,客戶端B發出的消息送達A導致了 NAT B打開了一個新的會話,并且我們希望 NAT B 將會指派31001這個端口給新的會話;如果兩個客戶端都正確的猜測到了對方新會話被指派的端口號,那么這個 客戶端A-客戶端B的雙向連接就被打通了。其結果如下圖所示:


Obviously there are many things that can cause this trick to fail. If the predicted port number at either NAT already happens to be in use by an unrelated session, then the NAT will skip over that port number and the connection attempt will fail.  If either NAT sometimes or always chooses port numbers non-sequentially, then the trick will fail.  
   
   If a different client behind NAT A (or B respectively) opens up a new outgoing UDP connection to any external destination after A (B) establishes its connection with S but before sending its first message to B (A), then the unrelated client will inadvertently "steal" the desired port number.  This trick is therefore much less likely to work when either NAT involved is under load.

  

明顯的,有許多因素會導致這個方法失敗:如果這個預言的新端口(62001和31001) 恰好已經被一個不相關的會話所使用,那么NAT就會跳過這個端口號,這個連接就會宣告失敗;如果兩個NAT有時或者總是不按照順序來生成新的端口號,那么這個方法也是行不通的。

   

如果隱藏在NAT A后的一個不同的客戶端X(或者在NAT B后)打開了一個新的“外出”UDP 連接,并且無論這個連接的目的如何;只要這個動作發生在 客戶端A 建立了與服務器S 的連接之后,客戶端A 與 客戶端B 建立連接之前;那么這個無關的客戶端X 就會趁人不備地“偷” 到這個我們渴望分配的端口。所以,這個方法變得如此脆弱而且不堪一擊,只要任何一個NAT方包含以上碰到的問題,這個方法都不會奏效。

      
   Since in practice a P2P application implementing this trick would still need to work if the NATs are cone NATs, or if one is a cone NAT and the other is a symmetric NAT, the application would need to detect beforehand what kind of NAT is involved on either end [STUN] and modify its behavior accordingly, increasing the complexity of the algorithm and the general brittleness of the network.  



   Finally, port number prediction has no chance of working if either client is behind two or more levels of NAT and the NAT(s) closest to the client are symmetric.  For all of these reasons, it is NOT recommended that new applications implement this trick; it is mentioned here for historical and informational purposes.



   自從使用這種方法來實踐P2P的應用程序以來,在處于 cone NAT 系列的網絡環境中這個方法還是實用的;如果有一方為 cone NAT 而另外一方為 symmetric NAT,那么應用程序就應該預先發現另外一方的 NAT 是什么類型,再做出正確的行為來處理通信,這樣就增大了算法的復雜度,并且降低了在真實網絡環境中的普適性。

    最后,如果P2P的一方處在兩級或者兩級以上的NAT下面,并且這些NATs 接近這個客戶端是 symmetric的話,端口號預言 是無效的!

    因此,并不推薦使用這個方法來寫新的P2P應用程序,這也是歷史的經驗和教訓!
Posted on 2006-01-12 14:19 艾凡赫 閱讀(356) 評論(0)  編輯 收藏 引用 所屬分類: P2P
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲国产高清在线| 欧美激情欧美狂野欧美精品| 欧美电影在线观看| 免费一区视频| 亚洲电影毛片| 亚洲韩国青草视频| 日韩一级精品| 欧美日韩国产免费观看| 欧美激情一区二区三区在线视频| 欧美高清在线视频| 欧美午夜不卡在线观看免费 | 国产精品女主播| 亚洲欧美日韩天堂一区二区| 欧美一区二区三区播放老司机| 欧美亚洲免费| 欧美aⅴ99久久黑人专区| 欧美日韩免费区域视频在线观看| 国产精品观看| 亚洲国产mv| 午夜在线观看欧美| 欧美激情视频免费观看| 99热这里只有成人精品国产| 久久aⅴ国产紧身牛仔裤| 欧美激情综合五月色丁香| 国产欧美日韩亚州综合| 日韩一级大片在线| 久久深夜福利免费观看| 99视频在线观看一区三区| 久久久无码精品亚洲日韩按摩| 99精品欧美一区二区三区综合在线| 亚洲欧美国产一区二区三区| 欧美福利网址| 在线观看一区视频| 性色av一区二区三区| 亚洲国产精品专区久久| 欧美一级片一区| 欧美午夜电影完整版| 亚洲国产一区二区a毛片| 欧美在线视频全部完| 夜夜嗨av一区二区三区免费区| 欧美18av| 亚洲日本无吗高清不卡| 另类综合日韩欧美亚洲| 久久亚洲综合色一区二区三区| 99国产精品久久久久久久成人热| 久久久久网站| 激情欧美国产欧美| 久久国产免费看| 亚洲女同同性videoxma| 欧美午夜精品久久久久免费视| 亚洲精品乱码久久久久久黑人| 久久综合久久久| 性感少妇一区| 国产视频一区免费看| 性久久久久久久久| 亚洲一区中文字幕在线观看| 欧美午夜视频| 午夜精品久久久久久久久久久久| 国产精品99久久久久久久女警 | 一本色道久久综合亚洲91| 奶水喷射视频一区| 亚洲另类自拍| 亚洲免费成人av电影| 欧美日韩一区二区三区在线看 | 久久婷婷影院| 伊人婷婷久久| 美女图片一区二区| 久久野战av| 日韩视频一区二区三区在线播放| 亚洲二区三区四区| 欧美日韩一区二区三区四区在线观看| 中文在线资源观看网站视频免费不卡| 一本色道精品久久一区二区三区| 国产精品久久国产愉拍 | 亚洲自拍16p| 亚洲欧美国产另类| 黄色精品一二区| 亚洲国产欧美在线人成| 欧美视频一区二区三区四区| 午夜精品福利视频| 久久久精品五月天| 日韩香蕉视频| 亚洲欧美日韩一区二区在线 | 久久亚洲二区| 欧美成人嫩草网站| 亚洲女人av| 久久久久久久综合色一本| 亚洲区一区二| 亚洲欧美国内爽妇网| 亚洲国产精品一区二区久| 一区二区精品| 在线观看日韩欧美| 日韩一级欧洲| 国外成人在线视频| 亚洲精品免费看| 国产一区二区精品久久99| 亚洲电影在线播放| 国产精品免费aⅴ片在线观看| 欧美福利网址| 国产欧美精品一区二区三区介绍 | 久久精品国产亚洲aⅴ| 米奇777在线欧美播放| 亚洲一区免费网站| 久久综合九色综合久99| 午夜精品成人在线| 欧美精品三区| 欧美成人福利视频| 国产日韩欧美在线看| av不卡免费看| 一本色道久久88精品综合| 久久综合给合久久狠狠色| 久久国产视频网| 国产精品久久久久久久7电影| 欧美国产极速在线| 激情一区二区三区| 午夜在线视频一区二区区别| 亚洲特色特黄| 欧美日本国产视频| 亚洲电影免费观看高清| 久久久精品性| 中文无字幕一区二区三区| 在线观看成人小视频| 午夜在线成人av| 欧美一区二区三区四区高清| 欧美色欧美亚洲另类七区| 欧美激情视频网站| 影音先锋在线一区| 久久成人18免费网站| 久久精品道一区二区三区| 国产精品影视天天线| 亚洲一区二区三区免费观看| 亚洲综合首页| 欧美亚州一区二区三区 | 久久久蜜桃精品| 久久www免费人成看片高清 | 国内精品久久国产| 欧美一级久久| 久久天堂成人| 影音先锋中文字幕一区| 久久网站热最新地址| 欧美xxx在线观看| 亚洲国产美女| 欧美电影打屁股sp| 亚洲精品欧美日韩专区| 日韩视频中午一区| 欧美日韩一区高清| 亚洲欧美另类在线观看| 久久久久久久97| 影音先锋一区| 欧美日韩免费观看一区| 亚洲欧美日韩视频二区| 久久青草福利网站| 亚洲破处大片| 国产精品福利网站| 久久精品国产99| 亚洲欧洲日产国产网站| 亚洲免费视频网站| 樱桃国产成人精品视频| 美女脱光内衣内裤视频久久影院 | 一区二区三区四区蜜桃| 欧美一级夜夜爽| 亚洲国产精品国自产拍av秋霞| 欧美精品久久久久久久久老牛影院 | 久久久人成影片一区二区三区 | 久久久久久免费| 亚洲电影免费在线 | 久久综合网络一区二区| 亚洲欧洲综合另类在线| 国产精品实拍| 欧美插天视频在线播放| 亚洲尤物在线视频观看| 欧美va亚洲va香蕉在线| 亚洲自拍偷拍麻豆| 在线播放豆国产99亚洲| 国产精品theporn| 久久色中文字幕| 亚洲天堂网在线观看| 欧美激情综合色| 久久国产福利国产秒拍| 一区二区激情视频| 欧美电影免费观看网站| 亚洲精品国产品国语在线app| 国产精品乱人伦一区二区| 久久久国产一区二区| 夜夜嗨av色一区二区不卡| 老司机午夜免费精品视频| 亚洲一区二区3| 91久久久精品| 国内一区二区三区在线视频| 欧美视频手机在线| 欧美激情免费观看| 久久综合一区二区| 西西裸体人体做爰大胆久久久| 亚洲高清自拍| 欧美国产激情二区三区| 裸体素人女欧美日韩| 欧美专区日韩视频| 午夜精品久久| 亚洲欧美日韩在线观看a三区| 亚洲最黄网站|