【IT168评测中心】Router——路由器,是连接不同网络的工具,它起到网络协议转换和网络地址转换的功能,这种网络地址转换,通常是指NAT(Network Address Translate,网络地址转换),然而,它和流行的P2P的下载方式存在着一些不协调之处。
BT是一种非常流行的P2P(Peer to Peer)下载方法。相比于传统的资料存储在集中式站点的HTTP、FTP下载,资料存储在分散的用户的P2P下载方式可以达到更大的数据流量以及更多的资料存储量。
BT是一种多发起、多连接的数据传输方式,而传统的HTTP、FTP下载基本上是客户端发起的、单联接或少联接的数据传输方式,在用户添置了路由器之后,传统的客户端发起的、单联接或少联接的HTTP、FTP下载基本上没有受到影响(FTP在一些情况下也有麻烦),而多发起、多连接的BT下载则遇到了麻烦,这是因为路由器不能智能识别其他P2P用户发送进来的P2P联接,因而只有将相应数据包全部丢弃。一些路由器背后的用户将会发现他们的BT下载基本上联接不到其他用户,以及只能靠自己发起联接到一些用户,从而大大地限制了下载速度。
解决这个现象的传统方法是手工端口映射,通过建立一个静态的端口映射,可以将外网的数据包转向置BT下载机器的指定端口,这样BT下载速度就会恢复正常了。
假如有多个人需要进行BT下载的话,就需要设置多次/多个端口映射,而且端口映射表需要填入固定的下载机器IP以及端口,而且只有路由器管理员才能进行设置,诸如此类的麻烦对于一些用户来说实在是个障碍,路由器厂家的论坛通常都充斥着新手询问如何进行端口映射的帖子,有时候即使是老手也会对不同厂家不同型号的路由器端口设置感到头痛。
手动设置端口映射有些时候也会引起问题,通常的P2P共享软件无法处理多个内网用户同时下载同一资源的情况,在这种情形下只会白白浪费了带宽,以及下载时间。
路由器厂商意识到了这些问题,因此他们开始在路由器内引入了对UPnP(Universal Plug and Play,通用即插即用)的支持。
对于一个路由器而言,UPnP可以大略看作自动端口映射,它可以自动完成NAT设备上端口映射的操作。路由器通过NAT Traversal(NAT穿越)功能来解决传统NAT技术的限制。NAT Traversal依赖于作为UPnP(通用即插即用) 论坛规范组成部分的Discovery and Control(发现及控制)协议,它是这样一组功能:它允许网络应用程序能明确自己位于NAT设备的后面,获得外部IP地址,并将端口映射配置为将NAT外部端口的数据包转发给应用程序所用的内部端口,而所有这些都是自动完成的,因此用户不必手动配置端口映射或其它类似的东西。
UPnP过程大略如下:支持UPnP的Internet网关设备(如路由器)可向局域网上的控制点(各种个人电脑)声明自己的存在并发布XML描述文档。利用这些 XML 描述文档,控制点(各种个人电脑)就能了解用于确定路由器是否支持NAT、获取NAT的外部IP地址及创建端口映射时需要调用的UPnP操作,然后相应的应用程序(如BT下载程序)就可以使用操作系统中提供的NAT Traversal API来自动实现相应的端口映射功能。
UPnP无需用户安装特殊的软件以及进行繁琐的手动配置,大大提高了路由器的使用方便性。并且通过UPnP,P2P共享软件可以通过查询路由器得知网络的外部IP,从而可以跟具有相同外部网络IP的P2P用户建立直接连接,这对BT下载或者类似的数据传输等都有好处,如Windows Messenger等软件就支持这个功能(BitComet通过不同的机理,也实现了类似的功能)。
UPnP的完整实现,需要路由器、操作系统、应用软件的共同支持。默认情况下,Windows XP中将安装NAT Traversal API以提供UPnP功能。Windows Me和Windows 98也可以通过添加系统组件的方式支持UPnP,方法是使用Windows XP CD上一个名为“网络安装向导”的工具。为提供附加XML分析程序支持,NAT Traversal API要求系统安装Internet Explorer 6.0。
在Windows XP中要打开SSDP服务,这样Windows XP才可以发现网络中存在的UPnP路由器设备(或其他UPnP设备,不过他们无关本文内容)。
流行的BT下载软件——BitComet很早之前就开始支持UPnP了,它的最新版本是0.63,此外还有其他的BT下载软件(BitSpirit)、FTP下载软件(CuteFTP)、P2P通讯软件(Windows Messenger、MSN Messenger)等也都支持UPnP,配合相应路由器和操作系统,它们可以很方便地让用户享受到UPnP的功能。
BitComet软件的UPnP设置。
测试对象:支持UPnP的阿尔法AFW-GR50。