
UPnP(Universal Plug and Play),通用即插即用,是一组协议的统称,不能简单理解为UPnP=“自动端口映射”。在BitComet、eMule等下载软件中,UPnP包含了2层意思:
1、对于一台内网电脑,BitComet的UPnP功能可以使网关或路由器的NAT模块做自动端口映射,将BitComet监听的端口从网关或路由器映射到内网电脑上。
2、网关或路由器的网络防火墙模块开始对Internet上其他电脑开放这个端口。
开启UPnP功能主要是针对内网用户,内网的特点就是无法对外打开监听端口,因此会损失所有外部发起的连接。比如硬件路由器、Windows网络共享等等。用户和内网用户在使用BT下载时的区别是—用户的上网计算机得到的IP地址是Inetnet上的非保留地址,的计算机Internet上的其他计算机可随意互相访问;内网的计算机以NAT协议,通过一个公共的网关(就是上网计算机得到的Inetnet上的非保留地址)访问Internet,内网的计算机可向Internet上的其他计算机发送连接请求,但Internet上其他的计算机无法向内网的计算机发送连接请求。这样内网用户在进行BT下载时便可能会出现无法下载或速度很慢的问题,下面的案例是针对conexant 831AII UPnP功能的测试,p2p下载软件eMule
首先:通过eMule软件查找共享的server端,选择其中一个显示为low id的server
,查询起开放的端口,在adsl开启UPnP功能,通过虚拟服务做端口映射:
其次:在eMule软件中设置其连接配置,端口号设置为内网需映射的端口号
再次:对端口映射成功与否进行测试
最后:刷新eMule Server,通过显示low id的server变成了High id,证明UPnP运行成功,的数据包
对于UPnP映射失败的原因主要有以下几点:
1.系统服务中禁止了SSDP服务(用于寻找upnp设备)
2.开启了XP下的SP1的ICF(网络连接防火墙)。(XP的ICF与UPnP设备发现有冲突,SP2修复了这个问题,但是仍然需要在防火墙设置中允许例外:UPnP 框架。)
3.路由器不支持UPnP,请向制造商询问。
