BT下载如雨后春笋般不断涌现,大有替代FTP主流地位的趋势。但从很多ISP封闭BT端口的事件可以看出,接入商对BT的巨大流量感到头痛不已;如今很多人也大呼BT不快,甚至BT不能用,其实不然!
分析BT行为
作者:Shining Chen 来源:电脑报
BT下载如雨后春笋般不断涌现,大有替代FTP主流地位的趋势。但从很多ISP封闭BT端口的事件可以看出,接入商对BT的巨大流量感到头痛不已;如今很多人也大呼BT不快,甚至BT不能用。
其实,网关或防火墙设置是BT释放速度的关键,而且中国大陆网民内网用户比例极大,因此BT下载常常受到制约。笔者学校机房采用Win2000 Server+ISA Server管理网络(图1),ISA Server安装成防火墙模式,默认阻断一切未经许可的连接,因此BT下载不能在内网使用。某日,笔者终于决心为自己以及同事的管理机开通BT功能。可是上网搜索参考资料,没有发现在ISA Server中针对BT的设置方法,看来偷懒是不行了……
图1
分析BT行为
要弄清楚BT程序究竟需要使用哪些网络资源,就要先从BT行为入手。经过摸索,笔者大体掌握了BT软件联机的过程:
第一步,下载并打开.torrent文件,获取相关信息。.torrent文件包含了announce服务器的URL地址以及一些文件信息,如文件名、目录名、长度、片段长度和片段的校验码。
第二步,利用BT软件连接announce服务器,并通过URL传送参数。不同的announce服务器选用不同的端口,较常见是81、6969、8000~8001、8080等。如果连接失败,BT无法继续。
第三步,一旦announce服务器连接成功,服务器内的track程序将会对比你传送的参数,并查找服务列表中是否存在被请求的下载信息,如果没有就停止连接。
找到相关信息后,announce服务器会反向连接客户端,以判断客户机是否可以被连接。如果可以连接则将你的连接信息加入列表,这种连接需要能够访问客户机IP的特殊端口,也就是通常意义上的BT端口。
小提示:不同的BT客户端使用不同的端口,常见的有1881~1890、6000~6009、6881~6890、8000~8009、8881~8890、16881等等。
如果你是外网用户,那么无须端口映射,只要你自己没有错误设置本机的网络防火墙就行;如果你是内网用户,并且在网关上开通了相应的端口映射(没有开通端口映射,那么从外网肯定无法连接到你的电脑),那么效果和外网用户相同。
注意:下文中若无注明,“外网用户”将包含真正外网用户和开通端口映射的内网用户;“内网用户”将特指未开通端口映射的内网用户。
不过,即使不能被连通,你还是可以继续下面的步骤,只不过你的连接信息不会被记录在列表中,也不会发送给别人,内网用户就损失了发布自己端口的机会,从而降低了连接可能性。
接下来,announce服务器会反馈给客户端已经记录在列表中的可被连接机器地址,并告知间隔多久再来更新连接信息。
第四步,互传数据过程中,外网用户既可以连接其他外网用户,也可以被所有其他用户(包括内网和外网)连接。而没有端口映射的内网用户,只能连接外网用户,不能被连接。因此,内网用户只能依靠外网用户才能建立连接,即使处于同一局域网的两台内网机器,也无法直接连接。如果一个BT项目的外网用户很少,那么外网用户就成了香饽饽,大量的内网用户竞争与外网用户连接。结果可想而知,外网用户连接速度飞快,而很多内网用户只能等待。
小提示:一旦两个BT用户连接成功后,数据传输是双向的,无论谁连接谁,都可以发送和接收数据,因此内网用户也可以发布种子。
第五步,间隔一定时间,BT客户端会再次访问announce服务器,请求更新连接列表,以获得新加入外网客户端的连接信息。这个时间间隔在服务器上设定,并在第三步时传送给BT客户端。
通过以上分析,我们可以得出结论:
1.要让BT能够下载,必须要访问announce服务器,并且至少连接上一个外网客户端,当然也可以选择被他人连接的方法建立连接。
2.要让BT下载速度足够快,必须要让其它BT用户能够访问到你的BT客户端的相应端口,并且最好你也能尽可能多地访问他人的BT客户端端口。
网友评论