[原创]案例分析Upnp协议实现自动端口映射
一.问题由来由于平时一直喜欢BitComet软件下载电影,然而在公司内网下载速率一直很慢(BT软件的实现原理是连接越多则下载越快,然而bt客户端在内网由于没有公网地址,只能够主动连接他人,而不能被远程主机连接,这在很大程度上限制了BT的下载速率),眼睁睁看着BT十几KB的下载速率,几百M的电影都得几个小时才能下载完成,这还能忍受,赶上精彩的电视剧,最长一次俺下载了近1个月时间。当然可以通过在网关上进行端口映射实现提高下载速率,但是公司规定工作时间是不能够进行下载,因为如果感觉到网速慢,那么第一个查的就是哪个IP在使用BT,而最直接的方法就是查看网关上哪个IP做了端口映射(注:公司网关的密码是公开的),嘿嘿看你怎么跑,很长一段时间内网关上的虚拟服务(也就是端口映射功能)一直都是空的,除了做产品测试。因此通过在网关上添加端口映射实现bt的快速下载不是俺聪明的选择,后来在BitComet的“选项”对话框中看到有“允许使用UPnP自动端口映射(XP有效)”的字样,了解到BitComet可以通过UPnp来实现自动端口映射。
下面就关注如何实现BitComet自动端口映射,网上已有不少这样的介绍,俺就不罗嗦,简单说明一下,需要三个条件支持:
(1)网关设备支持UPnp并且开启网关的UPnp服务;
(2)BT软件上支持(现有BT软件基本都支持);下图乃BitComet软件的设置
(3)操作系统支持(XP系统支持)。安装UPnp服务以及开启ssdp和upnp服务。
三个条件除了网关俺不清楚外,其余两个都支持。网上文章介绍查看网关设备是否支持UPnp,一般在网关配置界面会显示有启用UPnp功能的选项,然而印象中公司的网关上好像没有启用UPnp的字样,输入[url]Http://193.168.30.1[/url]登陆网关进行查看,结果的确没有这样的选项。难道公司的宽带路由器不支持UPnp么?
印象中以前在抓公司内网数据包的时候,发现网关非常有规律(每29ms)发送数据包,这些数据包以源地址193.168.30.1:1900端口向目的地址239.255.255.250:1900端口定时发送udp数据包。当时并不了解该数据包是什么协议发送的,也不知道有何意义,因此并没有过多的关注。今天查阅1900端口信息后,恍然大悟,该端口由ssdp协议(简单服务发现协议)使用,看到这里感觉前途一片光明,这个设备应该是支持UPnp的,只是没有在配置界面中表现出来而已。
既然种种迹象表明我的环境符合自动端口映射的条件,那么为何在BitComet的连接中看不到有"远程"的字样呢?经过下文的分析,最终通过upnp映射了BitComet的端口.
..............
,这种带贴图的文章俺不会贴图,详细内容已经做成PDF文档,请查看该PDF文档.
文中不当之处还请指正.
[[i] 本帖最后由 1259 于 2007-1-27 08:36 编辑 [/i]] 不错
借鉴下
在家下BT好快点 楼主是本站的名劳模:) 自动映射失败的原因可能是没有启用'网络连接"里的'INTERNET网关连接"图标(不是指网络邻居里的那个UPNP设备图标)
你也可以通过这个图标的属性手动配置UPNP转发
XP发现UPNP设备后,除了在网络邻居多了一个设备图标,在网络连接里也有一个网关图标,这个才是配置端口转发的,要启用. [quote]原帖由 [i]crab[/i] 于 2007-1-27 03:42 发表
自动映射失败的原因可能是没有启用'网络连接"里的'INTERNET网关连接"图标(不是指网络邻居里的那个UPNP设备图标)
你也可以通过这个图标的属性手动配置UPNP转发
XP发现UPNP设备后,除了在网络邻居多 ... [/quote]
但是俺的网络连接里面只有一个"本地连接",就是俺网卡,并没有你提到的"INTERNET网关连接",我怎么确认这个"INTERNET网关连接"呢? 进入“控制面板->管理工具->服务”
打开SSDP Discovery Service和Universal Plug and Play Device Host两项服务
就可以在“网络连接”中看到多了一项网关,这表明添加UPnP已经成功
客户端如需手动配置路由器UPNP端口转发
就从这个网关图标的属性里配置 晚上回去看了下
500错误是内部服务器差错! [quote]原帖由 [i]crab[/i] 于 2007-1-27 13:26 发表
进入“控制面板->管理工具->服务”
打开SSDP Discovery Service和Universal Plug and Play Device Host两项服务
就可以在“网络连接”中看到多了一项网关,这表明添加UPnP已经成功
客户端如需手 ... [/quote]
在我的PDF文档中我已经注明我的这两项服务已经开启但是在网络连接中还是没有网关。仅仅在网上邻居中可以看宽带路由器。 没出现这图标很大可能是网关设备的问题
更新固件版本再试试吧
很好的文章
讲解的很详细理论联系实际,我正需要upnp方面的知识,以前测试upnp也是用BT MSN这些支持upnp的软件.还有用微软的IGD 呵呵,不错不错,很有心 uiuitouieeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee why i can't download页:
[1]