您的当前位置: 搜讯网 > 企业博客 > 聚生科技 > 解决方案 > 正文
聚生科技
聚生科技

解决方案分类

安全
上网管理

 

BT(P2P)通讯协议研究

2008年08月15日 16:15:29  来源:搜讯网 点击量:193次

  • 关键字:禁止bt 限制p2p 封杀p2p 限制bt 封堵bt
  • 应用规模:大型
  • 案例成熟度:最近推荐

摘要:普通的HTTP/FTP下载使用TCP/IP协议,BitTorrent协议是架构于TCP/IP协议之上的一个P2P文件传输协议,处于TCP/IP结构的应用层。 BitTorrent协议本身也包含了很多具体的内容协议和扩展协议,并在不断扩充中。

方案内容:

 

协议概述       

普通的HTTP/FTP下载使用TCP/IP协议BitTorrent协议是架构于TCP/IP协议之上的一个P2P文件传输协议,处于TCP/IP结构的应用层BitTorrent协议本身也包含了很多具体的内容协议和扩展协议,并在不断扩充中。

根据BitTorrent协议,文件发布者会根据要发布的文件生成提供一个.torrent文件,即种子文件,也简称为“种子”。

.torrent文件本质上是文本文件,包含Tracker信息和文件信息两部分。Tracker信息主要是BT下载中需要用到的Tracker服务器的地址和针对Tracker服务器的设置,文件信息是根据对目标文件的计算生成的,计算结果根据BitTorrent协议内的B编码规则进行编码。它的主要原理是需要把提供下载的文件虚拟分成大小相等的块,块大小必须为2k的整数次方(由于是虚拟分块,硬盘上并不产生各个块文件),并把每个块的索引信息和Hash验证码写入.torrent文件中;所以,.torrent文件就是被下载文件的“索引”。

下载者要下载文件内容,需要先得到相应的.torrent文件,然后使用BT客户端软件进行下载。

下载时,BT客户端首先解析.torrent文件得到Tracker地址,然后连接Tracker服务器。Tracker服务器回应下载者的请求,提供下载者其他下载者(包括发布者)的IP。下载者再连接其他下载者,根据.torrent文件,两者分别对方告知自己已经有的块,然后交换对方没有的数据。此时不需要其他服务器参与,分散了单个线路上的数据流量,因此减轻了服务器负担。

下载者每得到一个块,需要算出下载块的Hash验证码与.torrent文件中的对比,如果一样则说明块正确,不一样则需要重新下载这个块。这种规定是为了解决下载内容准确性的问题。

一般的HTTP/FTP下載,发布文件仅在某个或某几个服务器,下載的人太多,服务器的带宽很易不勝負荷,變得很慢。而BitTorrent协议下载的特点是,下載的人越多,提供的带宽也越多,種子也會越來越多,下載速度就越快。

而有些人下載完成后關掉下载任务,提供较少量数据给其他用户,为尽量避免这种行为,在非官方BitTorrent协议中存在超级种子的算法。这种算法允许文件发布者分几步发布文件,发布者不需要一次提供文件所有内容,而是慢慢开放的下载内容的比例,延长下载时间。此时,速度快的人由于未下载完必须提供给他人数据,速度慢的人有更多机会得到数据。

通讯方式 

BT原理

        BT通过TCP通讯方式,BT是从多点下载,不象FTP那样只有一个发送源,BT有多个发送点,当在下载时,同时也在上传,使客户端和服务器都处在同步传送的状态。BT默认使用的端口是6881,6882.....6889的TCP连接(每一个下载只使用一个端口,顺次分配),当端口不通时会跳转到Http80端口。(注:HTTP80为上网浏览必须的端口。)

DHT网络

目前,又发展出DHT网络技术,使得无Tracker下载成为可能。

DHT全称为分布式哈希表(Distributed Hash Table),是一种分布式存储方法。在不需要服务器的情况下,每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整个DHT网络的寻址和存储。使用支持该技术的BT下载软件,用户无需连上Tracker就可以下载,因为软件会在DHT网络中寻找下载同一文件的其他用户并与之通讯,开始下载任务。

有些软件(比特精灵)还会自动通过DHT搜索种子资源,构成种子市场

另外,这里使用的DHT算法叫Kademlia(在eMule中也有使用,常把它叫做KAD,具体实现协议有所不同)。

这种技术好处十分明显,就是大大减轻了Tracker的负担(甚至不需要)。用户之间可以更快速建立通讯(特别是与Tracker连接不上的时候)。

如何封堵BT?

  由于BT会自动进行端口转换,而且可以更换到80端口,并且BT(P2P)的服务器众多,所以无法通过封IP和端口来封堵BT了,我们建议以下方法封堵BT:

  1).把BT的主要站点和种子服务器IP全部封掉,并且在路由器上设置禁止发送Tracker请求

  2).使用专用的上网监控软件,专业的上网监控软件可以对网络数据进行分析过滤,找到BT的特征协议码,进而封堵掉该链接实现监控。

总之,控制BT(P2P),禁止BT(P2P),限制BT(P2P),封堵BT(P2P),监控BT(P2P),控制BT(P2P),禁止BT(P2P),限制BT(P2P),封堵BT(P2P),监控BT(P2P),禁BT(P2P),限BT(P2P),封BT(P2P),禁BT(P2P),限BT(P2P),封BT(P2P),BT(P2P)端口,BT(P2P)协议,BT(P2P)服务器IP,如何控制BT(P2P),如何禁止BT(P2P),如何限制BT(P2P),如何封堵BT(P2P),如何监控BT(P2P),如何管理BT(P2P)等等这些功能,聚生网管可以实现!

反馈信息查看0条反馈

  • 正 文:
  • 姓 名:
  • 电 话:
  • 邮 件:

  • · 您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
  • · 留言板管理人员有权保留或删除其管辖留言中的任意内容
  • · Weaseek.Com提醒:不要进行人身攻击。谢谢配合。