admin 管理员组文章数量: 887021
2024年1月24日发(作者:下拉菜单如何设置)
BT如何做种?
大家都在用BT下载,为什么有的人速度很快,有的速度却非常慢呢,弄清楚BT下载的原理你就明白了。
1.文件是如何在网络中传输
在网上下载东东,要么用FTP或WEB方式从服务器上下载文件,要么是用BT之类的P2P软件从其他网友的机器上下载文件,无论从哪儿下载,你的电脑都需要同对方的电脑建立一个连接,然后才能开始通过这个连接下载文件。大家应该知道IP地址吧,在win98下“运行”里输入“winipcfg”,在XP或2000下的DOS命令行下输入ipconfig都能看到你的IP,下面就是我的电脑里输入ipconfig后显示的情况。
Ethernet adapter 本地连接:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 192.168.7.35
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.7.254
IP Address. . . . . . . . . . . . : 192.168.7.35这行显示的就是IP地址。假如服务器的IP地址是222.11.11.1,你机器的IP是222.2.2.2,当你下载文件时,你机器222.2.2.2这个IP就和服务器IP222.11.11.1连接。但是光有IP地址是不够的,还需要双方都打开一个端口才能建立起连接来。这个端口,形象点说就像是扇门。所以说,当你下载文件时,你与服务器建立一个连接后,实际上是你机器的IP&端口和服务器的IP&端口连接起来了,用专业术语这个IP&端口叫做套接字。
现在大家应该要明白一个道理,从对方那儿(例如服务器)下载文件,对方必须要打开一个端口才行的。我们平时浏览网页访问的是80端口,而FTP下载用的是21和20端口,收发邮件用的是25和110端口,这些端口都是按标准定义好了的,如果你想浏览网页,你的电脑就会自动访问服务器的80端口,而不会访问其他的。
当你从别人的电脑上下载文件时是打开哪个端口呢?比如用QQ传文件,这样的端口是没有标准定义的,这咋办捏?没事,对方的QQ会在他的电脑上开一个端口,然后告诉你的QQ,这样你们就可以建立连接,传文件了。
看明白没,不要糊涂哦。偶总结一下,传文件时双方的电脑都要打开一个端口,双方电脑的IP都能互相访问,这样文件才能传输。
2.内外网IP能否互相访问?
上面我们知道双方如果想传输文件,双方的IP必须能够互相访问。在网络世界中,目前有两种IP地址,一种是内网IP,一种是外网IP。像节1中我的IP地址就是内网IP,通常以192、172、10开头的IP地址都是内网IP,而其他数字开头的IP地址刚是外网IP。什么是
内网IP呢?打个比方,内网就是我们工作中用的内部电话,而内网IP就是内部电话号码。我们知道,内部电话之间是可以直拔的,而如果想拔打外部电话,需要拔打一个外线号码,通知电话交换机申请使用外线,然后使用外线和外部电话联系。同样道理,内网之间的IP是可以互相访问的,而内网IP想访问外网IP地址,则要通过防火墙,使用防火墙上的外网IP访问。
现在,我们知道,内网IP如果想访问外网IP,需要防火墙转换,这种转换叫做NAT。外网IP想访问内网IP,同样也需要防火墙转换。通常情况下,内网IP访问外网IP,防火墙是自动转换的,而外网IP访问内网IP的转换需要管理员手工添加,我们通常说的开放端口,这是这种操作。这种访问机制可以保护内网里的电脑不会被外网直接访问到,以防范外网的恶意攻击或扫描。
那么,两个不同内网的IP地址之间是否能直接访问呢?假如,A在内网NAT—a中,IP地址是192.168.0.1,B在内网NAT-b中,IP地址是192.168.0.2,这两个IP看起来是在同一个地址段里的,但其实是不能直接访问的。想想我们的内部电话吧,假如A在公司Corp-a中,内部电话是101,B在公司Corp-b中,内部电话是102,A是否能直接拔打102联系B呢。不能的,因为他们不在同一个公司里,如果A想联系B,还是需要拔打B的外线,然后通过B的外线转接到B的内部电话上。
同理,不同内网IP之间用户互相访问,也需要一个外网IP做中介。在上面的例子中,假如A公司网络的防火墙外网IP是222.1.1.1,B公司的网络防火墙是222.2.2.2,当A想与B访问时,A就会通过防火墙访问B公司防火墙的外网IP222.2.2.2,A公司的防火墙会在自己的外网IP上开一个端口开始与B公司防火墙的外网IP连接,如果B公司防火墙接受了这个连接请求,它也会在自己的外网IP上开一个端口与A公司防火墙连接。当A和B公司的防火墙接收到数据后,它们会直接把数据转发给A和B在内网中的IP,这样,A和B就能互相访问了。虽然从理论上,内网IP之间可以通过防火墙转换来互相访问,但实际情况是防火墙总是会拒绝这种访问的,因为它不能确定你的连接请求是不是安全的,除非管理员手工在防火墙上为你打开一个端口。为了解决这种现象,程序员们想出了一种方法,这种技术叫做穿透防火墙。下面我们会讲到。
是如何下载的?
当你下载一个BT文件后,这个文件里包含了BT服务器的IP地址和端口,还有你想下载的BT资源文件的一些校验码。BT把一个很大的文件,例如一个700M的avi,按相同大小(1M或更小)分成许多小块,每一个小块都有一个校验码,通过这个校验码,可以保证你下载的文件不会出错。当你的BT客户端软件开始下载时,它会连接BT服务器,上报你的IP地址及网络环境(内网还是外网),还有你已经下载了多少个块,哪些块是没有下载的。同时从BT服务器上获取所有正在下载这个BT文件的人的IP地址,网络情况,对方下载了哪些块。你的客户端获取到这些信息后,就会开始连接已经下载了BT资源的BT客户IP,它会从对方电脑上下载你需要的块,同时也会上传对方所需要的块。
当对方的IP是外网IP时,你会很容易就连接上对方,而当对方是内网IP时,你是不能直接连接对方的。这时,就需要穿透防火墙以建立起连接。
穿透防火墙机制是如何运作的呢?我们来举个例子。假设有三个人A B C同时在下载一个BT资源,这三人中A和C是内网用户,B是外网用户。当开始下载时,A和C的电脑会通过防火墙打开一个端口与B连接,下载资源,同时他们会上报BT服务器自己打开的外网IP
和端口,这时BT服务器会告诉A,C的防火墙上打开了一个端口,你可以直接去访问它,这样A就能访问C的BT块,同理,C也可以访问A的BT块。这种利用访问外网IP使防火墙打开一个端口,然后利用端口直接访问内网IP的方法就叫做穿透防火墙。
通过穿透防火墙的运作机制,我们可以看出,内网IP首先要连接到外网IP上,然后才能连接其他的内网BT客户。目前大部分网络用户都是内网IP,他们都需要连接到外网IP上,所以在用BT下载时,外网IP的用户速度会很快。
是如何做种的?
BT做种和下载其实是一样的,只不过你只需要上传不需要下载。通过上面的讲解,大家应该能了解到。如果你是一个内网用户,你开始做种后,必须有一个外网IP下载你的BT资源,你才可以上传,不然其他的内网用户是连接不到你的BT种子的。
版权声明:本文标题:BT如何做种 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1706065671h500414.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论