|
楼主 |
发表于 2009-8-31 16:34:12
|
显示全部楼层
7 相关工作
从Dan Kegel在上世纪90年代后期第一次提出用于P2P游戏的UDP穿透NAT以来,NAT穿透长久以来一直是人们的梦想。他的基本方法被当作标准,并发表在参考文献[15]中。UDP(穿透NAT)方法在几个现行的文档和互联网草稿中已经有结果(也就是成熟的方法),这些文档和互联网草稿把NAT对UDP的行为进行了分类,并计划把它标准化。不显式控制NAT的TCP穿透NAT领域,才刚刚起步。本文已经分析了一些方法,也证明了这些方法在当前的互联网中穿透NAT(的可行性)。参考文献[6]中包括了类似的研究,作者测试了许多NAT对UDP和TCP穿透NAT特点的一小部分(子集)。我们提出了NAT行为和P2P的TCP建立(连接)的第一个全面研究,为在大范围商业NAT产品上的TCP穿透NAT技术提供了全面的集合(整理/汇总)。
像UPnP和MIDCOM这样的协议,为了便于P2P连接,他们允许终端应用软件显式的控制NAT。这种类型方法之所以呈下降趋势,是因为它们需要NAT中存在并支持这些协议。应用软件开发者们不能够依赖这些,因此,暂时这些方法不是最好的选择。
另一个处理TCP连接的方法是TURN[14],TURN方法中,TCP数据通过第三方代理(中转),因而,第三方代理具有潜在的网络瓶颈。通过在UDP上开通IPV6通道的方式,Teredo[14](方法)允许IPV6包穿透IPV4的NAT。这里,TCP原本就处在IPV6之上。Windows操作系统中已经实现了Teredo。
8 结论及将来的工作
本文第一次对NAT关于TCP方面对特点进行了全面的测评研究。尽管该研究表明TCP穿透当前NAT还有很多问题,不过它还是给了我很多值得高兴的(乐观的)。尽管存在NAT,而这些NAT当初设计时并未考虑过TCP穿透NAT,但我们还是能够看到,自然环境条件下TCP连接建立的成功率平均达88%,一些普通类型NAT的成功率高达100%。这些数字特别鼓励一个假设:很多年前可以普遍地假设TCP穿透NAT是不可能的。尽管对许多应用软件来说,11%的失败率是不可接受的,但这些应用软件的用户至少有选择,可以选择买一个支持TCP穿透的NAT设备,NAT提供商也有选择,可以选择把他们的NAT设备设计的对TCP更友好。
该研究在某些方面还是有限的(不全面不完整)。第一,我们没有测试所有现存的NAT设备。我们研究中大部分有效的NAT被限制在北美地区。第二,我测试的范围太小,也因此在准确预测广泛的成功率方面是存在偏差的。尽管可以使用市场数据协助,但这些数据在范围和详细程度上也是有限的。第三,我们只测试了家用NAT。企业网络中,“delta”(“δ”)型NAT的端口预测成功率通常更低一些,而这些对测评原本会更有帮助。第四,尽管TCP穿透NAT技术被广泛地用于(穿透)防火墙,但我们并没有测试NAT环境之外的防火墙。我们也没有测试IPV4到IPV6的转换网关。最后,与其他测评研究类似,这(研究)只是当前的现状。毫无疑问,在本项目进行过程中,同类NAT的新版本已经展现出与之前版本不同的行为。展望未来,我们希望,我们的TCP穿透NAT测试套件能够继续被用来拓宽我们对NAT和防火墙特性的认识,也能够继续跟得上NAT产品及其部署的趋势。
9 感谢
作者非常感谢Bryan Ford、Andrew Biggadile以及那些匿名的IMC评论家,因为他们为本文初稿反馈的珍贵的意见。我们也感谢Synergy Research Group,Inc.提供了及时的市场调查数据。最后,我们感谢许许多多的志愿者,他们在自己的系统上运行了STUNT测试client和P2P的TCP测试,并反馈了结果。
10 参考文献
[1] AUDET, F., AND JENNINGS, C. Internet draft: Nat behavioral requirements for unicast udp, July 2005. Work in progress.
[2] BASET, S. A., AND SCHULZRINNE, H. An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol. Tech. Rep. CUCS-039-04, Columbia University, New York, NY, Sept. 2004.
[3] BIGGADIKE, A., FERULLO, D., WILSON, G., AND PERRIG, A.NATBLASTER: Establishing TCP connections between hosts behind NATs. In Proceedings of ACM SIGCOMM ASIA Workshop
(Beijing, China, Apr. 2005).
[4] BRADEN, R. RFC 1122: Requirements for Internet Hosts – Communication Layers, Oct. 1989.
[5] EPPINGER, J. L. TCP Connections for P2P Apps: A Software Approach to Solving the NAT Problem. Tech. Rep. CMU-ISRI-05-104, Carnegie Mellon University, Pittsburgh, PA, Jan. 2005.
[6] FORD, B., SRISURESH, P., AND KEGEL, D. Peer-to-peer communication across network address translators. In Proceedings of the 2005 USENIX Annual Technical Conference (Anaheim, CA, Apr. 2005).
[7] GUHA, S. STUNT - Simple Traversal of UDP Through NATs and TCP too. Work in progress. [online] http://nutss.gforge.cis.cornell.edu/pub/draft-guha-STUNT-00.txt.
[8] GUHA, S. STUNT Test Results. [online] http://nutss.gforge.cis.cornell.edu/stunt-results.php.
[9] GUHA, S., TAKEDA, Y., AND FRANCIS, P. NUTSS: A SIP-based Approach to UDP and TCP Network Connectivity. In Proceedings of SIGCOMM’04 Workshops (Portland, OR, Aug. 2004), pp. 43–48.
[10] HUITEMA, C. Internet draft: Teredo: Tunneling ipv6 over udp through nats, Apr. 2005. Work in progress.
[11] JENNINGS, C. Internet draft: Nat classification test results, Feb.2005. Work in progress.
[12] MICROSOFT CORPORATION. UPnP – Universal Plug and Play Internet Gateway Device v1.01, Nov. 2001.
[13] POSTEL, J. RFC 761: DoD standard Transmission Control Protocol,Jan. 1980.
[14] ROSENBERG, J., MAHY, R., AND HUITEMA, C. Internet draft:TURN – Traversal Using Relay NAT, Feb. 2004. Work in progress.
[15] ROSENBERG, J., WEINBERGER, J., HUITEMA, C., AND MAHY, R. RFC 3489: STUN – Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs), Mar. 2003.
[16] STIEMERLING, M., QUITTEK, J., AND TAYLOR, T. MIDCOM Protocol Semantics, June 2004. Work in progress.
[17] TAKEDA, Y. Internet draft: Symmetric NAT Traversal using STUN, June 2003. Work in progress.
[18] VANCE, A., Ed. Q1 2005 Worldwide WLAN Market Shares. Synergy Research Group, Inc., Scottsdale, AZ, May 2005, p. 40.
注释:
1处在NAT或防火墙后面的网络(Network behind a NAT or firewall)
2整篇文章中,NAT术语理解为包括防火墙(Throughout this paper, the term NAT is understood to include firewalls)
3有时指双层NAT(sometimes referred to as dual or double NAT)
4IP中存活时间字段(IP time-to-live field)
5最大段长(Maximum Segment Length)
6来回时间(Round-trip time) |
|