NE校园网BT解决方案Word文档格式.docx
《NE校园网BT解决方案Word文档格式.docx》由会员分享,可在线阅读,更多相关《NE校园网BT解决方案Word文档格式.docx(9页珍藏版)》请在冰豆网上搜索。
![NE校园网BT解决方案Word文档格式.docx](https://file1.bdocx.com/fileroot1/2022-10/11/6c713950-8da6-4605-999e-ae8e69656df4/6c713950-8da6-4605-999e-ae8e69656df41.gif)
是一个多点下载的源码公开的软件,使用非常方便,就像一个浏览器插件,很适合新发布的热门下载。
其特点简单的说就是:
下载的人越多,速度越快。
一般来讲,下载是把文件由服务器端传送到客户端,例如,,等等。
工作原理如下图:
但是这样就出现了一个问题,随着用户的增多,对带宽的要求也随之增多,用户过多就会造成瓶颈,而且搞不好还会把服务器挂掉,所以很多的服务器会都有用户人数的限制,下载速度的限制,这样就给用户造成了诸多的不便。
但就不同,用下载反而是用户越多,下载越快,这是为什么呢?
因为用的是一种传销的方式来达到共享的,工作原理如下图:
首先在上传者端把一个文件分成了个部分,甲在服务器随机下载了第各部分,乙在服务器随机下载了第个部分,这样甲的就会根据情况到乙的电脑上去拿乙已经下载好的部分,乙的就会根据情况去到甲的电脑上去拿甲已经下载好的部分,这样就不但减轻了服务器端得负荷,也加快了用户方(甲乙)的下载速度,效率也提高了,更同样减少了地域之间的限制。
比如说丙要连到服务器去下载的话可能才几,但是要是到甲和乙的电脑上去拿就快得多了。
所以说用的人越多,下载的人越多,大家也就越快,的优越性就在这里。
而且,在你下载的同时,你也在上传(别人从你的电脑上拿那个文件的某个部分),所以说在享受别人提供的下载的同时,你也在贡献。
2.应用对于园区网的危害
首先,网络并不是某一个用户的网络。
网络的整体可用性是网络设计的首要因素。
如果对企业网络的用户不加任何限制,任其对网络过度使用,后果只能是由于其中某个或某几个用户造成全体网络的瘫痪。
最现实的例子就是宽带环境中下载软件的泛滥。
现在各大宽带运营商包括网通在内都已经封闭了端口。
造成这个结果的不是本身的危害,而是对网络没有有效管理的后果。
3.应用限流的解决方案
3.1.方法一:
实现中,提供了一个端口范围(~),如果通过这个范围的所有端口来现
流,一些运营商曾采用这种方法来封杀。
这种方法在前期一定程度上是可用的;
因为:
的官方网站提供了一个默认的监听端
口范围(~)。
但是,这种方法比较片面,因为通过一定的技术手段可以改变这个
端口范围(网上有);
另外,的客户端较多,它们所采用的端口范围及实现方式各不相
同(见下表)。
客户端
端口范围
贪婪
可以手工设置
没有公开
~
比特精灵
所以,采用这种方来对进行限流效果不是很好。
3.2.方法二:
基于深度业务感知-对协议进行分析
对所有的包都进行检查,如果包的数据区包含对等协议的特征“”(协议规定),那么可以标识这是一个流,标识了以后,就可以采取相应的措施()对它进行限流。
以下是通过对几种客户端的报文分析来验证上述方案。
客户端:
1、的三次握手。
2、握手成功后,紧接着是对等协议的二次握手。
3、握手成功后,进行数据的传输。
分析可知:
三此握手与对等协议二次握手用的端口号都是一样的,并且以后得数据传输用的端口号也和前两者是一样的。
!
建立连接的过程是:
由图分析可知:
、的三次握手。
、握手成功后,紧接着是对等协议的二次握手。
、握手成功后,进行数据的传输(图中显示握手没有成功)。
总结:
、三个不同客户端的报文验证了对等协议的连接过程是:
、握手成功后,进行数据的传输。
、三此握手与对等协议二次握手用的端口号都是一样的,并且以后得数据传输用的端口号也和前两者是一样的。
协议介绍
综述
(简称,比特洪流)是一个文件分发协议。
它通过识别内容并且和网络无缝结合。
它和普通协议相比优势在于,同时下载一个文件的下载者在下载同时不断互相上传数据,使文件源可以在很有限的负载增加的情况下支持大量下载者同时下载。
一个式文件分发需要以下实体:
●一个普通网络服务器
●一个静态元信息文件('
'
)
●一个
●一个“原始”下载者('
●网络终端的浏览器
●网络终端的下载者
这里假设理想情况下一个文件有多个网络终端的下载者。
架设一个服务器步骤如下:
.开始运行(已运行的跳过这一步);
.开始运行普通网络服务器程序,如,已运行的跳过这一步;
.在网络服务器上将文件关联到类型(已做过关联的跳过这一步);
.用要发布的完整文件和的创建一个元信息文件(文件);
.将元信息文件放置在网络服务器上;
.在网页上发布元信息文件(文件)的链接;
.原始下载者开始提供完整的文件(原本)。
通过下载步骤如下:
.安装客户端程序(已安装的跳过这一步);
.上网;
.点击一个链到文件的链接;
.选择本地存储路径,或者选定未完成的下载的续传;
.等待下载完成;
.下载者退出下载(之前下载者不停止上传)。
连通性如下:
●网站正常提供静态文件,并且启动客户端上的(这里说官方的客户端程序);
●即时接收所有下载者信息,并且给每个下载者一份随机的列表。
通过或协议实现;
●下载者定时向登记,使之知道每个人的进度,并和那些直接连接上的互相进行数据的上传下载。
这些连接遵循协议,通过协议进行通信。
●原始下载者只上传不下载,他拥有整个文件,所以向网络中传输完文件的所有部分是很必要的。
在一些人气很旺的下载中,原始下载者经常可以在较短的时间后退出上传,因为许多下载已经完成,并且可能依然在运行(此时相当于替原始下载者接着提供上传)。
编码及元信息文件
元信息文件和的回应信息都以一种简单高效可扩展的格式(,编码格式)传送。
编码过的信息就是字典和列表的嵌套(像在中一样),这些字典和列表包含字符串和整型数据。
它的可扩展性是因为字典中存在被忽略的关键值(),所以附加可选的关键值也可以在以后添加。
编码的规则如下:
●字符串表示为前缀十进制的字符串长度加冒号再跟原字符串。
如就相当于'
●整型数据的表示是前面加'
后面加'
中间是十进制数,如就相当于,就是。
整型数据没有长度限制。
无效,所有以'
开头的除了代表的,其它都无效。
●列表编码为一个'
开头,后面跟它所包含的项目(已经被编码过)最后加一个'
,比如就等于['
'
]。
●字典编码为一个'
开头,后面是关键值()及其对应值轮流出现,最后加一个'
如:
相当于{'
:
'
}
['
]}
关键值必须是处理过的字符串(用原始字符串编码的,而不是数字字母混合编码的)。
元信息文件就是编码的有以下关键值的字典(括号里面的字是简译的关键值中文意思,不作为关键值一部分,后同):
(声明):
的。
(信息):
此关键值对应一个包含以下关键值的字典。
●关键值对应一个字符串,代表默认的下载文件(或保存时目录)的名字。
它是纯粹建议性的。
●关键值(块长)对应文件分割成的块的字节数。
出于传输需要,文件被分割成大小相等的块,除了最后一块可能会被文件尾截断而小一些(剩下的大小不足一个块长)。
块长一般来说是的权值,大部分设块长为即的次幂(官方版版本以前的默认值是,的次幂)。
●关键值(块)对应一个字符串,此字符串长度是的倍数。
它可以再分成每字节一段的多个字符串,分别对应块在相应索引中的校验码()。
●关键值(长度)和(文件),它们不能同时出现也不能都不出现。
当出现说明这个元信息文件只是提供单文件下载(),否则说明是多文件下载(),载到一个目录里。
单文件情况下,对应文件长度的字节数。
多文件情况被看作是把许多单文件按文件列表中的顺序连成一个大文件下载,
而关键值就对应文件列表,是一个字典的列表,其中每个字典又包含以下关键
值:
●(长度):
文件长度的字节数。
●(路径):
一个包含字符串的列表,字符串就是子目录名,最后一项的字符串就是文件本身的文件名。
(一个长度为零的表单是错误的。
)
协议
质询是双向的。
通过协议的参数获得信息,然后返回一个编码后的信息。
尽管需要在自己的服务器端执行,但它运行流畅就像的一个嵌入模块。
的请求有如下关键值:
●
字节长的验证码,就是元信息文件中的值中分出来的字符串进行编码以后的信息,是元信息文件的一个支链。
这个值必须是自动转换的。
一个字节长的字符串,是每个用户开始新下载时随机生成的。
这个值也必须是自动转换的。
一个非强制性的参数(可有可无)给出所在的(或主机名),一般是和同机器的原始下载者得到后用来散发文件。
监听端口,官方默认的是从端口开始试,如果端口被占用则依次向后推一个端口直到找到空闲端口,到端口没找到就放弃。
目前总上传量,编码为十进制码。
目前总下载量,编码为十进制码。
还要下载的字节数,编码为十进制码。
这个数不能通过文件长度和已下载数出来的,因为文件可能是续传的,还可能有一些已经下载的数据不能通过完整性检查必须被重新下载。
这是个非强制性的关键值,有,或(或,等同于未运行)三种值。
如果没有这个关键值,说明下载状态的声明也会从下载者那里定期发出。
首次开始下载时发出值,完成下载时发出。
当文件完整后再开始,没有发出,下载者中止下载时发出。
的回应也是编码字典。
如果回应中有关键值(失败原因),则对应一个人易读懂的字符串信息,解释质询失败的原因,不需要其它关键值。
否则,回应必须有两个关键值:
●(间隔):
对应下载者定期发出请求的间隔秒数;
●,是个包含字典的列表,每个字典对应一个,里面包含关键值、和,分别对应自选、地址或主机名的字符串以及端口号。
记住假如下载者发生一个意外事件或者想要更多的列表,下载者会不定期重发请求。
如果你想对元信息文件或者质询进行扩展,请与进行协调,确保所有扩展都兼容。
(通过的命令来向发送查询请求,响应一个的列表)
对等协议基于,它很有效率,并不需要设置任何选项。
(译注:
对等协议指的是与之间交换信息的协议)
对等的两个连接是对称的,消息在两个方向上同样的传递,数据也可以在任何一个方向上流动。
一旦某个下载完了一个片断,并且也检查了它的完整性,那么它就向它所有的宣布它拥有了这个片断。
之间的上载和下载关系有其简单的机制来保证。
在连接的任一端包含两个位用来指示连接状态:
、。
连接的任何一端都包含两比特的状态信息:
(是否),(是否感兴趣)。
是通知对方,没有数据可以发送,除非发生。
的原因以及技术后文解释。
一旦一端状态变为,而另一端变为非,那么数据传输就开始了。
(也就是说,一个,如果想从它的某个那里得到数据,那么,它首先必须将它两之间的连接设置为,其实就是发一个消息过去,而另一个,要检查它是否应该给这个家伙发送数据,如果它对这个家伙是,那么就可以给它发数据,否则还是不能给它数据)状态必须一直被设置――任何时候。
要用点技巧才能比较好的实现这个目的,但它使得下载者能够立刻知道哪些将开始下载。
对等协议由一个握手开始,