UPnP NAT Traversal 常见问题
扫描二维码
随时随地手机看文章
问:什么是 UpnP?
答:通用即插即用 (UPnP) 是一种用于 PC 机和智能设备(或仪器)的常见对等网络连接的体系结构,尤其是在家庭中。UPnP 以 Internet 标准和技术(例如 TCP/IP、HTTP 和 XML)为基础,使这样的设备彼此可自动连接和协同工作,从而使网络(尤其是家庭网络)对更多的人成为可能。
问:UPnP 对消费者意味着什么?
答:简单、更多选择和更新颖的体验。包含通用即插即用技术的网络产品只需实际连到网络上,即可开始正常工作。实际上,UPnP 可以和任何网络媒体技术(有线或无线)协同使用。举例来说,这包括:Category 5 以太网电缆、Wi-Fi 或 802.11B 无线网络、IEEE 1394 ("Firewire")、电话线网络或电源线网络。当这些设备与 PC 互连时,用户即可充分利用各种具有创新性的服务和应用程序。
问:什么是 UPnP 论坛?
答:“通用即插即用论坛”是一个开放式业界协会,成立于 1999 年 6 月,旨在帮助定义 UPnP 标准以简化家庭(长远上讲则是企业)智能设备的联网。为实现上述目标,该论坛正在制定和公布 UPnP 设备控制协议及服务控制协议。截止到 2001 年 6 月初,已有 350 多家公司成为 UPnP 论坛的成员。UPnP 论坛受由 22 名成员组成的 UPnP Steering Committee(UPnP 指导委员会)的管理。此外还设立了技术委员会、市场推广委员会及各种工作委员会(分别面向某种特定的设备),旨在努力实现该机构的目标。有关论坛成员的列表及加入论坛的信息,请见论坛 Web 站点。
问:UPnP 的技术要素是什么?
答:UPnP 范围广泛,原因是它面向的是家庭网络、临近网络及小型企业和商住楼中的网络。在网络控制设备的管理下,它支持任何两个设备之间的数据通讯。UPnP 不依赖于特定的操作系统、编程语言或物理媒体。
UPnP 支持零配置网络及自动查找功能,这样以来,设备即可动态加入网络,获取 IP 地址,宣布自己的名称,根据需要提供功能,并了解其它设备的存在和功能。DHCP 和 DNS 服务器为可选项。只要在网络上可用,即可加以使用。此外,设备还可自动平稳地脱离网络,而不会遗留任何不必要的状态。
UPnP 汲取了 Internet 的成功之处并继承了它的组件,包括 IP、TCP、UDP、HTTP 及 XML。UPnP 中涉及了多供应商之间的协作,旨在建立标准的设备控制协议 (DCP)。与 Internet 类似,这些协议以公告式线协议为基础,表示为 XML 形式,且通过 HTTP 进行通讯。
问:什么是 NAT?为什么使用它?
答:“网络地址转换”是一种 Internet Engineering Task Force (IETF) 标准,用于允许专用网络(使用专用地址范围,例如 10.0.x.x、192.168.x.x、172.x.x.x)上的多台 PC 机或设备共享单个、可全局路由的 IPv4 地址。经常使用 NAT 的一个主要原因就是 IPv4(最新一代 Internet)地址的资源日渐紧缺。
在构成公用 Internet 与专用局域网之间屏障的网关设备中,可以使用 NAT。当专用局域网的 IP 数据包经过网关时,NAT 将把专用 IP 地址和端口号转换为公用 IP 地址和端口号,从而跟踪这些转换以保持各个会话不变。Microsoft® Windows® XP 和 Windows Me 操作系统中的“Internet 连接共享”及许多 Internet 网关设备都使用 NAT,尤其是在通过 DSL 或电缆调制解调器连接宽带网的情况下。随着越来越多的家庭和小型企业将自己的 PC 机连接起来并共享 Internet 连接,NAT 的使用量正急剧增加。
问:NAT 的问题在哪?
答:简言之:NAT 会“瓦解”许多家庭或小型企业中日渐需要的最新型 PC 和家庭网络技术,例如多玩家游戏、实时通讯及其它对等服务。如果在公用 Internet 上使用专用地址或同时使用同一端口号,这些应用程序就会中止。应用程序必须使用公共地址,且每个会话都须使用唯一的端口号。大型机构有专门的 IT 人员来确保其公司应用程序在 NAT 上正常使用,但较小的机构和消费者却不具备这样奢侈的条件。UPnP NAT Traversal 可以自动解决 NAT 给应用程序带来的许多问题,使之成为小型企业和消费者理想的解决方案。
问:谁提出的 NAT Traversal 解决方案?
答:NAT Traversal 解决方案是 UPnP IGD Working Committee 为制定 Internet 网关设备 (IGD) 规范所从事工作的一部分。UPnP 的成员公司可以加入该委员会,也可以只选择跟踪其工作进展。委员会的主席是 Intel 公司的 Prakash Iyer (prakash.iyer@intel.com)。许多公司,包括 Microsoft,都在为此而努力。
问:是否有其它途径来解决 NAT Traversal 的问题?如果有,为什么将 UPnP 视为最佳选择?
答:是的,确实有其它途径来解决此问题,但目前还没有其它机制来作为解决该问题的业界标准,从而能对消费者自动实现,而对开发人员则普遍可行。其它方案或者要求用户进行人工干预,或者要求 Internet 网关设备制造商进行专门的开发,并要求软件开发人员处理 NAT Traversal 对特殊应用程序的需要。因此,只有 UPnP 能解决该重大问题。
用户的工作: NAT Traversal 的手工干预法要求用户使用浏览器(PC 机上一种基于图形用户界面的工具)或 PC 上的命令行界面工具来更改家中 Internet 网关设备上的某些设置。尽管有些热衷技术的用户不会有很大困难,但许多用户却感到困难重重。此外,许多用户甚至不知道 NAT Traversal 问题正对其 Internet 服务的使用造成干扰。用户可能想体验一种多玩家游戏或使用其它某些对等服务,却发现由于某种原因而无法连接。这会导致用户采取疑难解答步骤、寻求电话支持、感到不满,甚至以后不打算使用新的服务或不打算尝试新的技术感受。
开发人员的工作: 为避免要求用户手动解决此 NAT Traversal 问题,有些 Internet 网关设备制造商已编写出应用层网关支持,并将其包含到设备中。该应用层网关软件的设计思路是特殊的应用程序。换言之,设备制造商将编写和测试特殊的代码,自动使一个应用程序完成 NAT。如果该应用程序软件进行了更新,则设备制造商所编写的应用层代码将必须重新进行更新和测试。当只需要考虑几个对等或相关的应用程序时,这种一对一解决 NAT Traversal 问题的方式对于设备制造商而言是可管理的,但它无法对数百或数千个应用程序伸展自如,这时不仅开发成本高,并可能需要有关这些应用程序各自原理方面的知识。解决该问题较好的方法就是让设备制造商为设备添加能理解 UPnP 的软件或固件,然后让其它设备和软件能利用同一技术与 NAT 设备进行通讯。现在只有 UPnP 能够完成这种职责。
问:UPnP NAT Traversal 解决方案的作用是什么?
答:支持 UPnP 的 NAT Traversal 可确保下列情况的实现:
多玩家游戏
对等连接
实时通讯
远程协助(Windows XP 的功能之一)
对于 IHV 而言,该解决方案免去了编写和维护应用层网关 (ALG) 数据库以通过 NAT 的必要。它受 Windows XP 和 Direct Play(一种 Windows 编程资源)的支持,因此为 DPlay 编写的软件应用程序将能自动对 NAT Traversal 使用 UPnP 解决方案。
通过提供下列操作的方法,UPnP 论坛的 IGD 规范可进行自动 NAT Traversal:
了解公用 IP 地址
列举现有的端口映射
添加和删除端口映射
指定映射的租用期
问:哪些制造商在实施 UPnP NAT Traversal 解决方案?
答:目前,大多数大型网关(DSL/电缆路由器)制造商都宣布计划从 2001 年(不迟于 7 月份)在提供的产品中实施 UPnP NAT Traversal 解决方案。其中包括:Microsoft(WindowsXP 中)、Linksys、D-Link、Intel、Netgear and Buffalo Technology 及 Arescom。
其中的一些制造商已宣布将为已拥有其设备的用户提供固件或软件升级,从而为支持 UPnP 的 NAT Traversal 提供支持。
问:用户怎样才能知道哪些 Internet 网关设备支持 UPnP?
答:用户可以查阅 Internet 网关设备制造商的 Web 站点,或者阅读产品包装上的标签,以确定是否提供该功能。后面几个月内,有些零售商将会知道这个情况。在未来的几个月中,UPnP 论坛会提供一个 UPnP 徽标。制造商可以在自己的产品包装、营销资料或产品上包含该徽标,以表明该产品满足 UPnP 论坛的测试要求。
问:开发人员实施该方案时有哪些可用的资源?
答:资源有很多,范围从白皮书到互操作性测试事件 (PlugFests)。有关技术性的文章,请访问 http://www.upnp.org/resources.htm。有关未来的重大事件,请参阅 http://www.upnp.org/events.htm。Microsoft 在 MSDN Online 上提供有关 Windows XP 的开发人员信息。