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

P2P communication across middleboxes(翻譯1)

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

原文版權(quán):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端口號預(yù)言

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 與 服務(wù)器S 的通信會話, NAT B 也分配了31000端口,用來保持 客戶端B 與 服務(wù)器S 的通信會話。通過與 服務(wù)器S的對話,客戶端A 和 客戶端B 都相互知道了對方所映射的真實IP和端口。

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

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


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.

  

明顯的,有許多因素會導(dǎo)致這個方法失?。喝绻@個預(yù)言的新端口(62001和31001) 恰好已經(jīng)被一個不相關(guān)的會話所使用,那么NAT就會跳過這個端口號,這個連接就會宣告失??;如果兩個NAT有時或者總是不按照順序來生成新的端口號,那么這個方法也是行不通的。

   

如果隱藏在NAT A后的一個不同的客戶端X(或者在NAT B后)打開了一個新的“外出”UDP 連接,并且無論這個連接的目的如何;只要這個動作發(fā)生在 客戶端A 建立了與服務(wù)器S 的連接之后,客戶端A 與 客戶端B 建立連接之前;那么這個無關(guān)的客戶端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的應(yīng)用程序以來,在處于 cone NAT 系列的網(wǎng)絡(luò)環(huán)境中這個方法還是實用的;如果有一方為 cone NAT 而另外一方為 symmetric NAT,那么應(yīng)用程序就應(yīng)該預(yù)先發(fā)現(xiàn)另外一方的 NAT 是什么類型,再做出正確的行為來處理通信,這樣就增大了算法的復(fù)雜度,并且降低了在真實網(wǎng)絡(luò)環(huán)境中的普適性。

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

    因此,并不推薦使用這個方法來寫新的P2P應(yīng)用程序,這也是歷史的經(jīng)驗和教訓(xùn)!
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>
            美国十次成人| 国产精品日韩久久久| 亚洲国产高清自拍| 久久精品99久久香蕉国产色戒| 一区二区三区免费观看| 在线一区二区日韩| 午夜在线播放视频欧美| 欧美手机在线| 国语自产在线不卡| 亚洲电影av在线| 亚洲三级电影在线观看 | 国产欧美日韩综合一区在线播放| 国产精品高潮视频| 国产色爱av资源综合区| 亚洲激情成人| 久久xxxx精品视频| 亚洲欧洲日产国产综合网| 亚洲一区二区欧美| 噜噜噜91成人网| 国产精品高清在线| 一区精品在线播放| 99视频有精品| 久久亚洲国产成人| 亚洲看片免费| 久久久亚洲国产美女国产盗摄| 欧美精品久久久久久久| 国产一区二区三区精品欧美日韩一区二区三区 | 久久综合色婷婷| 亚洲精品日韩欧美| 久久精品国语| 国产精品久久国产三级国电话系列| 国产伊人精品| 亚洲在线成人| 亚洲国产成人精品视频| 欧美在线影院| 国产精品久久久久久久第一福利| 亚洲国内在线| 麻豆91精品91久久久的内涵| 中文精品一区二区三区| 欧美大片在线观看一区二区| 国产一区二区精品丝袜| 亚洲欧美日韩国产综合精品二区| 欧美激情中文字幕一区二区| 久久精品视频免费观看| 国产精品网红福利| 亚洲免费人成在线视频观看| 亚洲国产精品第一区二区三区| 久久激情网站| 国产欧美日韩不卡| 午夜精品久久久久久久99热浪潮 | 亚洲综合三区| 欧美视频在线观看一区二区| 亚洲伦伦在线| 亚洲国产精品一区二区久| 噜噜噜噜噜久久久久久91| 亚洲在线网站| 国产精品一区二区久久久| 亚洲在线中文字幕| 一区二区精品在线| 国产精品成人aaaaa网站| 日韩一级精品| 99亚洲一区二区| 国产精品户外野外| 亚洲在线观看免费视频| 亚洲图片欧洲图片av| 国产精品美女久久久久久2018| 亚洲一区制服诱惑| 亚洲综合视频1区| 国产一区二区精品| 久久综合伊人| 久久字幕精品一区| 亚洲三级电影在线观看| 亚洲全部视频| 国产精品捆绑调教| 久久国产精品毛片| 欧美在线视频a| 亚洲盗摄视频| 亚洲精品乱码久久久久久黑人| 欧美视频一区二区三区…| 亚洲欧美综合精品久久成人| 亚洲欧美激情诱惑| 1024国产精品| 亚洲六月丁香色婷婷综合久久| 国产精品av一区二区| 亚洲欧美一区二区在线观看| 久久精品99国产精品酒店日本| 亚洲国产成人av在线| 一区二区久久| 亚洲国产精品高清久久久| 一区二区三区免费看| 在线日韩日本国产亚洲| 一区二区三区免费网站| 在线欧美日韩国产| 亚洲专区一区二区三区| 在线免费精品视频| 在线综合亚洲| 亚洲激情国产| 欧美中文日韩| 午夜久久久久| 欧美激情在线有限公司| 久久久一本精品99久久精品66| 欧美日韩一区二区三区高清| 久久婷婷综合激情| 国产精品激情偷乱一区二区∴| 欧美福利在线观看| 欧美日韩你懂的| 你懂的网址国产 欧美| 国产精品爽黄69| 亚洲人午夜精品免费| 亚洲电影免费观看高清| 午夜欧美不卡精品aaaaa| 一二三区精品| 久久亚洲电影| 久久嫩草精品久久久久| 国产精品第一区| 亚洲大片在线观看| 精品999久久久| 欧美一区二区女人| 国产精品入口福利| 91久久国产自产拍夜夜嗨| 激情校园亚洲| 久久成人精品| 欧美在线观看视频在线| 欧美性色aⅴ视频一区日韩精品| 欧美激情亚洲视频| 亚洲激情国产| 欧美黄色片免费观看| 欧美电影免费| 在线免费不卡视频| 久久天天躁狠狠躁夜夜av| 久久久亚洲综合| 国产综合色产在线精品| 欧美中文字幕在线| 久久婷婷av| 一区精品久久| 欧美国产三级| 99国产精品久久久久久久| 亚洲视频在线观看| 欧美日韩一区在线观看视频| 99ri日韩精品视频| 亚洲视频碰碰| 国产精品拍天天在线| 亚洲欧美日韩国产成人| 久久久久久成人| 国产综合亚洲精品一区二| 久久精品人人爽| 女同性一区二区三区人了人一| 亚洲国产老妈| 欧美日韩中字| 欧美在线视频免费播放| 欧美成人免费播放| 99精品国产福利在线观看免费| 欧美成人国产| 一区二区欧美日韩视频| 欧美一区二区福利在线| 国产亚洲欧美日韩一区二区| 久久婷婷麻豆| 夜夜嗨av一区二区三区| 久久国产88| 亚洲大胆人体视频| 国产精品v欧美精品v日韩精品| 亚洲在线观看| 欧美韩日一区二区三区| 亚洲午夜影视影院在线观看| 国产欧美日韩伦理| 欧美电影在线观看| 亚洲欧美日韩一区二区三区在线观看| 久久精品视频在线免费观看| 亚洲国产精品视频一区| 国产精品99免费看| 久久久久久久久综合| 日韩视频一区二区三区在线播放免费观看 | 亚洲日本中文字幕区| 午夜精品国产更新| 在线不卡亚洲| 国产精品女人网站| 欧美成人激情视频免费观看| 亚洲视频在线观看免费| 欧美福利在线观看| 久久国产成人| 亚洲欧美韩国| 日韩亚洲欧美在线观看| 激情综合色综合久久综合| 国产精品久久久久久久久久久久| 久久午夜av| 久久久综合激的五月天| 一区二区免费看| 在线观看一区二区精品视频| 国产精品区一区| 欧美日韩精品免费看| 久久天堂成人| 午夜一区在线| 亚洲一本大道在线| 亚洲精品综合久久中文字幕| 欧美国产日韩视频| 久久资源av| 久久亚洲精品中文字幕冲田杏梨| 亚洲欧美日韩精品久久久| 夜夜精品视频一区二区| 亚洲肉体裸体xxxx137|