作者soso1 (笨笨)
看板P2PSoftWare
标题BT提速
时间Wed Apr 21 14:00:10 2004
想要检测端口6881-6889端口一法
很简单 ,在电驴主夜上有个测试网页
http://www.thedonkeynetwork.com/connection_test
输入6881 ,然後test
如果显示:
timeout : timeout on ip 61.177.***.***(6 sec)
this means, that we even did not receive a
RESET signal; maybe due to a 'stealth' firewall
说明端口被封或者有开防火墙!
如果显示:
1. connection was accepted on ip 61.177.***.***
sent hello but the answer doesn't seem to come from an edonkey client !??
说明端口开放,并且6881端口使用中(BT开着)
2. error/resest on ip 61.177.***.***!
说明端口开放,但6881端口未被使用(BT没开)
bt使用的端口试6881-6889这几个,方法请一一测试端口
====如果有以上的端口被封了.请参照下面方法来设置 by魔人 ====
BT增加速度的几种方法
★★★★★★★★BT不成文的守则:人人为我,我为人人,这才是终极提速★★★★★★
★
先分析一下原因吧:
1、是内网(局域网)用户。内网用户不能提供主动连接,所以较慢
2、各个运营商网络接口速率不高
3、下载者上传速率不高。因为BT优先处理上传较快的人
4、发布时seed的多少,还与发布者的速率相关,还有下载的人数越多相应的下载速度就越
快(这就是BT的最大优点)
5、用户的防火墙阻碍作用
6、线路问题
*******************************************************************************
******
增加速度有几种方法:
1、公网上网的用户方便了,只要没开防火墙,一般速度会达到下载极限(哪怕只有一个种
子);如果有防火墙,要正确设置参数,打开6881~6889端口。
2、内网用户速度会很慢,因为在内网下,别人看不到你的机器,只能看到你的网关,如果
对方也在内网下,那麽你们就不能互传文件。
解决方法:
(1)、是用终极武器 NAT --端口映像(又叫网络地址翻译), 其作用是让服务器把指定端口
的请求转发到指定的IP上,让其它的机器来响应这些请求,而内网向外网发送的时候不再是像
其它网关服务那样随机分配端口,而是用上面指定的端口。可以用的软件有:
WinRoute Pro
PortTunnel
但如果你的服务器是 win2000,并用自带的网络共享功能,那麽有更简单的方法
在你共享的连接上按右键 ->属性
到公用设定板按下面的设定按钮,系统会弹出设置窗口
到服务板,按新增
名称 随便填
端口 6881
勾选TCP
私人网络中的计算机名称或ip 填你的本机ip
然後保存,再按同样的方法增加 6882-6889端口的映像,把它们通通指向你的计算机
(因为我的系统是繁体系统,所以以上的名称不一定和你的相同)
不明白的可以看看WIn2000帮助系统中有关 NAT的说明
不可忽视的缺点:假如你是校园网的LAN,你如何说服网管运行分配端口程序呢?大家各显
神通吧!!
(2)、安装端口映射器(PortMap) V1.5 ,设置非常简单,其他端口映射工具用不习惯的朋友
不妨试试,设置方法:
单击 增加 按钮
在名称里随便输入
输入IP里默认为 Any IP 就可以了
输入端口里输入 6881
输出IP为自己机子的IP<不知道自己IP的朋友,输入IP的下拉菜单的最後一项可能就是你机
子的IP>
输出端口里输入 6881<输入端口和输出端口相同>
这样设置就完成了,启动设置好的那项就OK了!
BT下载的端口:6881-6889
是不是下载速度提高很多呢?!下载
3、下载时尽量只开一个BT,这样它就会享有最大带宽。如果你打开两个BT,它们就会根据
网络情况的不同来分享带宽(我用LAN,最大速度400k/s)
4、同时尽量不要用其它的下载工具同是下载文件,如FTP等,虽然BT抢线的能力不错,但
是还是会受到一定的影响。
5、要是下载速度仍不上来,大家就看看自己上网的设备是否是在良好的状态了!比如是否
用专用压线工具处理网线接头(RJ45接头)等,因为这些都会影响信息的流通!
6、终极提速大法:人人为我,我为人人。只有大家自己当种子源,我们才可以享受到更好
的资源共享!
**********************************小技巧***************************************
*****
我下载中总结出的一些技巧:
首先是使用它探知下载前该文件有多少人下载或者连接是否还可用,从而很容易的估算大
约下载的速度。当我觉得有必要,并且下载有效的情况下再开启BT客户端下载我需要的文件
。
1.尽可能在看到BT链接时,不要直接点击,而是右键->目标另存为,将其保存为一个本地
文件,待保存完毕点打开即可。
这样做的好处,前面已经说了,可以方便续传,不用续传时满世界找原来的链接。
2.一开始速度慢,不要太心急
很多人往往说好慢啊,只有几K的速度,要数百分钟,於是CANCEL了。其实BT下载的特点就
是这样的,先开始很慢,只有几K,然後逐渐增长到上百K。这个过程从你看见1K的速度开
始,一般要2-5分钟。所以只要你载的东西不是太过时,以致种子都失效了,就耐心等个几
分钟吧。
3.尽量选择下载200-700M的文件,特别是RMVB格式的电影
我总结出来,DVD-RMVB格式的电影用BT下载最方便,速度也最快;其它格式如DVDRIP文件
太多,下载之前START过程比较慢,而且会自做主张的建一堆目录和文件;而对於较小的文件
,比如40M以下的文件,根本体现不出BT的优点,按照刚才第二点说的,速度还没到峰值就结
束了
注:以上资料是从网上收集整理或本人总结所得。
————随意转载但不可修改,我的宗旨是越多人加入BT资源共享越好!
★★★★★★★★★★★★答读者问,不当之处请指正,呵呵★★★★★★★★★★★★
★
补充一点:由於BT下载的就是很大的文件,就我来说,有空的时侯几天就下了30多G,这样
的反效果是文件的大量增删导致系统变慢,这时可以用诺顿等工具软件来整理一下机子!
!
1、具体的WinRoute Pro和PortTunnel这两个工具如何,大家可以上上网搜索,我也是这样
学会的,因为网上的资料更为详尽,在这我不哆嗦了。
2、公网、内网是两种Internet的接入方式。
内网接入方式:上网的计算机得到的IP地址是Inetnet上的保留地址,保留地址有如下3种
形式:10.x.x.x
172.16.x.x至172.31.x.x
192.168.x.x
内网的计算机以NAT(网络地址转换)协议,通过一个公共的网关访问Internet。内网的计
算机可向Internet上的其他计算机发送连接请求,但Internet上其他的计算机无法向内网
的计算机发送连接请求。在BT中就是说别的BT朋友找不到你的机,只有靠你去找他们的机,
所以速度慢。
公网接入方式:上网的计算机得到的IP地址是Inetnet上的非保留地址。公网的计算机和In
ternet上的其他计算机可随意互相访问。
要说得形象一点嘛,唔,这样说吧,公网IP就是你们家对外的联系地址(如收信的),内
网就是你们家你的哪个房间,所以不为外人知,就这样啦
. . . . . . . . . . . . . . . . .
文章中的软件
端口映射器(PortMap) 1.5http://www.onlinedown.net/soft/7023.htm(华军软件园)
这个软件是我使用过的,的确很简单,但这也是缺点,很粗糙,我在使用中发生了一个小
小的问题,重新启动电脑後开放的端口又不在了,不知道是不是软件的原因还是我的电脑设
置有问题
.......................................
内网的是很麻烦,开放了端口就会好很多了
porttunnel没用过,用PortMap吧。超级简单的,文章中有说明,如下
portmap载点(简体)
http://www.onlinedown.net/soft/7023.htm
单击 增加 按钮
在名称里随便输入
输入IP里默认为 Any IP 就可以了
输入端口里输入 6881
输出IP为自己机子的IP<不知道自己IP的朋友,输入IP的下拉菜单的最後一项可能就是你机
子的IP>
输出端口里输入 6881<输入端口和输出端口相同>
这样设置就完成了,启动设置好的那项就OK了!
BT下载的端口:6881-6889
BT运行原理分析及内网提速方法
由於内网用户无法提供一个对外的端口,所以无法做服务器.但用BT的时候,发现它可以让内
网用户做 Send,作为程序员就忍不住下载了它的源代码分析了一把(为了看它,还专门去写
了一下Python:})
比起其他的P2P软件,BT有个独特的地方,它存在一个中间的WEB服务器,就是我们在发布的时
所填写的announce.该服务器提供了发布的统一管理,不像其他P2P软件那样到处去找哪些非
常不稳定的个人服务器,相对起来让人安心的多.
该WEB服务器更大的作用是内网用户可以做 Send(下面会说明原理),这是其他软件无法做到
的,但不好的地方是announce当机的时候就无法下载了,要知道P2P下载关键是要人气要高,a
nnounce停一下就搞到人气全没有了
.torrent 的作用
大家都知道我们要用BT下载 ,就要先下载一个.torrent文件,这个文件到底有甚麽呢:
首先是 announce 纪录了发布服务器的位置,让BT知道是那个WEB服务器发布的
然後是一些文件信息,文件名,目录名,长度等等
最後是片段长度,和片段的 Sha1 校验码
(BT为了事现续传和文件校验,就把文件分成若干个片段)
大家可以用写字板打看torrent文件看看,就是知道个大概,後面的乱码是片段 Sha1 校验码
开始-续传的实现 sha校验
BT 打开一个 torrent文件後,先要你选择文件保存那里.然後判断文件不存在的话就建立新
文件,存在的话就用 Sha1 校验码去校验文件---错误的就是还没下载的,这样就可以实现续
传了,但128位校验,想不慢都不行
得到 peer
现在知道要下载甚麽了,到那里下载呢?这就要寻找有谁提供上传了,这里BT是通过WEB服务
器来实现的,首先BT会通过分析 torrent 来得到一面一串网址
http://btfans.3322.org:6969/announc...p;event=started
http://btfans.3322.org:6969/announce
是发布服务器的地址
info_hash 是torrent文件中的 info 部分的Sha校验码,WEB通过它在发布列表
找到对应的纪录,peer_id 是自身的标识,它是12个0和当前时间+全球的唯一标识码(GUID)
的Sha校验的前八位,共20位port 你提供上传的 port
IP 你的ip地址,没有的话服务器会自己找到
uploaded downloaded 你上传和下载了多少,服务器可以用它来做流量分析
left 你还要下载多少个字节
event 状态,告诉服务器你是准备开始下载,还是停止,还是下载完成了
以上这个操作默认 5 分钟做一次,或由服务器设定
服务器会做甚麽
服务器中有个一个 track 程序来管理这些请求
得到这一串代码後就会用 info_hash 来查找列表,找到你就可以下载,找不到就对不起啦
接着它会反连(NatCheck)你的 IP 和 Port这样就可以知道你是内网用户还是共网用户(如
果你是内网用户,它是连不通的,因为它会连到你的服务器上,你的服务器
当然没有这个端口啦)
然後服务器返回现在正在下载这个文件的所有公网用户的IP和port,就像是这样
d8:intervali1800e5eersld2:ip14:xxx.xxx.xx.xxx7eer id20:00180531904b7e3abdd74ort
i6881eeee
interval 1800 是告诉 BT 隔多少秒来查询一次这里是 30 分钟 (有点过分了)
最後如果你是公网用户它会把你提交的 IP 和 Port 放到info_hash 对应的列表中,
这样其他人就可以找到你
下载
得到这些 peer IP後,BT就可以找到对应的IP下载了
Bt会到所有的peer去寻找自己要下载的东西,不是一定要到seed下载.
Bt每找到一个peer就和建立一个Socket来下载,所以下载的人越多,速度就越快.
内网用户可以做Send的原理
上面说到服务器只会返回公网的ip的,那内网用户怎麽可以做Send呢,这是因为BT是一个主
动连接的软件(即使你已经下载完了,也不也会主动连接他人)
下面是一个模拟流程:
1 内网用户开始做 seed,
2 服务器收到请求,由於是第一个所以也没有peer返回
3 公网用户提交请求,由於seed是内网用户所以也没有peer返回,等待下载,但服务器会把它
的IP放到列表中
4 内网经过 interval 时间间隔後,再向服务器放出请求,得到上面得公网IP
5 得到公网IP後,内网马上进行连接
6 公网用户建立连接,数据开始传输 (注意现在是公网用户做服务器,内网用户做客户端,是
不是有点怪)
7 其他内网用户去上面公网用户下载数据
所以,内网用户做 seed 一定要有公网用户得参与,否则其他内网用户无法下载.如果全部是
内网用户,那个所有连接都不会成立,当然这是比较极端的情况.
以上可见,内网用户不能和内网用户连接,其他用户无法从服务器查到你,
所以无法主动连接你,你只能每隔30分钟从服务器找到公网用户一个个进行连接.
由於中国很多用户的是内网用户(我从服务器上查回来的peer还没试过超过10个的),所以内
网用户用BT的确要比公网用户要慢很多.於是有了下面的
内网提速大法
了解了原理我们就有解决的方法,不就是外面的人找不到我们吗,
让他们找到不就行了 终极武器 NAT --端口映射(又叫网络地址翻译)
其原理这里就不说了(其实也不是很复杂),
其作用是让服务器把指定端口的请求转发到指定的IP上,
让其他的机器来响应这些请求,而内网向外网发送的时候不再是像其他网关服务
那样随机分配端口,而是用上面指定的端口
可以用的软件有
WinRoute Pro
PortTunnel
软件下载和使用方法见
http://www.pconline.com.cn/pcedu/so...1/127157_2.html
但如果你的服务器是 win2000,并用自带的网络共享功能,那麽有更简单的方法
在你共享的连接上按右键 ->属性
到公用设定板按下面的设定按钮,系统会弹出设置窗口
到服务板,按新增
名称 随便填
端口 6881
勾选TCP
私人网络中的电脑名称或ip 填你的本机ip
然後保存,再按同样的方法增加 6882-6889端口的映射,把它们通通指向你的电脑
(因为我的系统是繁体系统,所以以上的名称不一定和你的相同)
不明白的可以看看WIn2000帮助系统中有关 NAT的说明
用了端口映射後,只有你一个人爽,其他人还是老样子(包括服务器) ,
不过你可以搞一台BT下载专用机
现在享受以下速度的快感吧
BT的缺点:
1 用Python编写,须然可以跨平台,但再Windows下耗资源比较多,特别是服务器应该考虑用C
重写 track
http://www.torrentse.cx%BA%C3%CF%F1...F@%98%D3%D7%F6/(其返回得东西和标准的不大
一样),但是不是重写不
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.164.59.240
1F:→ sexwantboy:请问有人按照这个方法试过了吗?效果如何呢 推 203.64.246.17 04/21
2F:→ ushyang:都是中共用语真碍眼,翻译一下吧… 推140.120.231.101 04/21
3F:→ airbear:我试了是error/resest,但不懂"没开"之意 推 140.112.68.217 04/21