在BT协议中有多个不同的角色:
Web服务器:用于发布静态元信息文件�D�D“.torrent
■终端浏览器:用于查询和获取静态元信息文件
■静态元信息文件:使用bencoding编码来保存数据,包含发布文件和Tracker信息
■BT Tracker:对等节点信息的维护者和传输过程的调度者
■下载者:希望下载文件的需求者,在下载过程中同时上传已经下载的部分
■原始下载者:文件的较初拥有者,对本文件只上传不下载,在其他下载者共同拥有文件的全部内容后,它可能退出活动。
有BT有几个工作过程:
■查询过程:
查询过程的参与者是:Web服务器、终端浏览器和静态元信息文件。
原始下载者拥有一个文件,愿意与大家共享;他自己或让其它相关者制作一个静态元信息文件,发布在Web服务器上;下载者所在终端通过浏览器查询到这个静态元信息文件,并通过HTTP协议GET到这个文件;从文件中解析出Tracker信息和文件信息。
■控制过程:
控制过程的参与者是Tracker、下载者(包括原始下载者)。
BitTorrent拥有一个中心控制程序Tracker。它和下载者(包括原始下载者)通过HTTP协议来交换信息,下载者用HTTP的GET命令来传递信息,Track回应下载者的信息。
Tracker 对所有下载者的信息进行维护,当它收到一个请求后,首先把对方的信息记录下来(如果已经记录在案,那么就检查是否需要更新),然后将一部分(并非全部,根据设置的参数已经下载者的请求)参与下载同一个文件(一个tracker服务器可能同时维护多个文件的下载)的下载者的信息返回给对方。
而下载者通过静态元信息文件中的信息,向 tracker 发一个HTTP 的GET请求,并把它自己的信息放在GET的参数中;这个请求的大致意思是:我是xxx(一个唯一的id),我想下载yyy文件,我的ip是aaa,我用的端口是bbb;下载者还要定时向tracker发一个HTTP 的GET请求,使之知道每个人的进度;假如下载者发生一个意外事件或者想要更多的peer列表,下载者会不定期重发请求。
一般来说当下载通过GET请求时使用的官方端口是Port 6881~6889,如果使用6881发现占用就自动使用6882,依次类推。如果到6889端口还没有找到空闲的端口,就自动放弃。但是目前的有些BT变种使用的非官方规范的端口,这给使用ACL功能进行BT控制的交换设备或者防火墙设备带来一定的困难。
■传输过程:
每个下载者都可以看成一个服务器和一个客户端,这正是P2P的真正含义。各个下载者通过从Tracker获得的其他下载者的信息(其实是服务器信息),和其他下载者建立连接,交换文件。他们将通过BT对等协议进行对称连接通讯。
传输过程的参与者是:下载者(包括原始下载者)
从服务器的角度看有几个过程:按照发送给Tracker的端口进行网络侦听,等待连接信息;对每一个连接请求建立一个Socket保持连接;接到握手消息后发送我受消息:”19Bittorrent Protocol”+8个空+Sha1 hash+myID。
从客户端角度来看有几个过程:向从Tracker获得的其他下载者发起一个TCP连接;向连接的服务器发送一个握手信息:”19Bittorrent Protocol”+8个空+Sha1 hash;握手完毕之后是长度前缀和信息轮流出现的数据流;每两分钟发送一个keepalive的空消息,防止连接超时。
从上述说明可以看出BT协议是利用HTTP协议进行传输,在其包传输过程中有些比较明显的特征字如19bittorrent Portocol+8个空Sha1 hash这些特征字是和其它应用协议相区别的,因此这个是网络设备厂家控制BT的一个方法。
2、eMule协议原理:
电骡是一个基于电驴协议的非常流行的文件共享应用程序。电骡网络由几百个电骡服务器及数百万个电骡客户端组成。为了获取网络服务,客户端将会链接到一个服务器。与服务器的链接直到客户端已经位于系统内时才关闭。服务器履行信息索引服务,但不与其它服务器通信。
每一个电骡客户端预置了一个服务器列表及一些在本地文件系统中的共享文件。客户端用单一的TCP链接连接到服务器,登录网络,获取相得到的文件信息及可用的客户端。电骡客户端用几百个TCP链接同其它客户端通信,上传下载文件。每个电骡客户端对它共享的每一个文件维持一个上传队列。下载中的客户端加入队列的末尾,逐渐的前进,直到到达队列的顶端就开始下载它的文件。客户端可以从其它几个客户端分别下载相同的文件的不同片段。客户端也可以上传哪些它还没有完成下载文件的数据块。较后,电骡扩充了电驴的性能,允许客户端之间交换关于服务器、客户端及文件的信息。注意客户端与服务器之间的通信是建立在TCP基础上的。服务器有一个内部的数据库用于存储客户端与文件的信息。服务器不存储任何文件。它为存储的文件地址信息做集中索引。服务器的一个附加功能是作为那些在防火墙后,不能接受链接的客户端之间的桥梁,但桥梁功能给服务器增加了相当大的负载。电骡使用UDP来提高客户端与服务器及其它客户端之间的性能。客户端发送及接收UDP信息的能力对于客户端的正确的日常操作来说不是强制性的。
■在eMule协议中包括了多个角色的之间的报文交互:
客户端与服务器的链接:客户端启动之后通过TCP连接到一个服务器,服务器为客户端提供一个仅在服务器与客户端连接生存期有效的客户端ID。连接确立后客户端发送它的共享文件列表给服务器,服务器将列表存储在它内部的数据库中。但客户端和服务器也进行UDP通信,主要目的是保持连接和增进检索。
■客户端与客户器的链接:
一个客户端为了下载文件而链接另一个客户端(资源),文件被分成由更多片组成的块。客户端可以从几个不同的客户端下载相同文件的不同数据片段。当两个客户端链接后,它们交换容量信息,磋商开始一个下载(或上传)。
■通常eMule使用本级的4662端口进行通信。
■通过对eMule协议的研究:通常使用TCP进行连接时TCP层的特征字通常第1字节是e3,第5字节为46或者47;而在UDP通信时其包头和内容的长度之间的数据特征非常明显,可以通过正则表达式来表示。
二、常见的P2P协议的控制方法:
自从BT、eMule等P2P软件成为网民的较爱之后,相关的网络设备供应商和网络运营商也加快了对这些应用的控制研究,因为网络运营商有限的带宽资源经不起数以亿计的用户同时进行大容量的数据交换。目前从业界提出的解决方法来看,有以下几种方法:
1、封锁P2P软件使用的端口:
从较早节P2P软件的原理介绍中我们可以得知,BT的官方端口使用的是TCP6881~6889,而eMule使用4662端口。通常网络中核心交换机或者防火墙都可以提供访问列表控制功能,管理员通过对访问列表添加相对应的策略就可以达到控制用户使用P2P软件的目的。但是这种方法有一定的缺陷,比如目前有些BT软件已经可以实现端口的随机变换,因此这种控制方法必须不断的跟踪相关的协议的发展,随时更新相关控制策略。
2、控制TCP连接数:
因为我们知道BT、eMule这些P2P软件进行数据交换时很多过程是承载在TCP协议之上的,那么如果网络设备厂商能够控制每个用户发起的TCP连接数就能比较好的控制BT的下载,但是这种方法必须结合带宽控制才能取得好的效果。
3、带宽控制:
通常网络中如某些交换机、宽带接入服务器(BRAS)等设备都具备带宽控制功能,因此运营商可以借助这些设备对每个用户单位时间内的数据流进行控制,可以一定程度上抑制P2P软件的使用。
4、利用P2P软件的特征进行控制:
在P2P软件原理介绍中我们已经知道,对于BT、eMule等软件其报文具有比较特殊的特征,因此利用这些P2P软件协议特有的特征字进行报文传送控制也是一个比较好的方法,但其缺点是这些特征字条件的设置严格或者宽松,很有可能因为误判造成错误的控制。
5、利用专用设备进行检查:
如Cisco公司采用“深度嗅探”技术生产专门的硬件设备放置在网络出口,对所有到达公网的报文进行应用层报文分析,然后根据控制策略进行报文丢弃或者控制。但相对来说,这种设备的价格比较高昂。
三、安企神对P2P软件的控制措施:
安企神很早就注意到P2P软件对网络服务器提供商带来的挑战,并在近年来不断进行相关控制措施的完善,从现场应用来看已经取得比较好的效果。
1、根据协议端口号控制P2P软件:
安企神系列产品早在2001年就实现了ACL功能,可以根据用户的源IP、目的IP、源端口、目的端口、设备端口、报文方向6种要素进行报文转发控制,通过对P2P软件官方协议使用的端口号进行过滤来抑制一部分P2P软件的应用。
2、TCP连接数控制:
TCP连接数控制功能是2003年安企神产品就实现的功能,可以灵活的针对免认证用户和非免认证用户进行TCP连接数控制,同时安企神提出了对TCP80访问优先保证的措施,确保了即使用户使用P2P软件比较慢的情况也能正常浏览网页,从而从一定程度商缓解了用户对限制P2P软件的反感。
3、用户带宽控制:
安企神系列产品2001年就能够对每个用户的带宽进行n×32kbps的控制,通过和TCP连接数的控制结合一定程度上抑制了P2P软件的使用。
4、利用P2P软件特征字进行控制:
安企神在2004年根据P2P软件发展的新特点,通过对P2P软件协议特征的深入分析,提出了更为严格的控制措施,可以有效对eMule软件和大部分BT软件进行控制。安企神提供的控制方式既可以由局端设备(eFlow BRAS)来实现,也可以由后台管理系统eFlow GBMS(CBMS)、eFlow BRAS、客户端软件共同来实现,可以针对每个帐户实现是否控制BT。
通过上述措施的实现,安企神在运营商网络和校园网用户中取得了比较理想的对P2P软件控制的效果。但是安企神不满足于目前取得的成果,计划在2006年中继续对P2P软件控制进行完善,实现以下对P2P软件的控制方式:
■根据网络资源情况进行P2P软件控制:
如在晚上19:00-23:00禁止用户使用P2P软件,在23:00到次日8:00允许用户使用P2P软件,这样既可以保证运营商的利益,也能够使用户能够有比较多的时间使用P2P软件。
■根据应用协议实现对用户带宽的控制:
目前安企神对于用户带宽控制是所有应用业务采取一个总的带宽限制,这样对某些ISP来讲还不能完全满足用户的要求。因此有必要根据管理员的需要,灵活设置不同应用协议的带宽。
较新版的安企神系统,采用了六层分层过滤的机制,从而可以实现对P2P软件的完全封堵,目前安企神系统可以完全封堵国内其他网管软件无法封堵的迅雷、超级旋风、网际快车等流行的P2P软件,以及各种网络电视、在线视频等等。
四、小结
由于网络技术的飞速发展,P2P软件也进行不断的改进,企图摆脱ISP对其的限制;但ISP和网络设备供应商也在不断加强对P2P软件的研究,较大程度的减小P2P软件对网络资源的消耗。“道高一尺,魔高一丈”,因此对于P2P软件的控制和反控制时刻不断的进行变化,完全能够控制P2P软件几乎成为不可能。安企神作为网络设备提供商,会不断加强对P2P软件的跟踪和研究,逐步完善对于P2P软件的控制措施,相信安企神能够为网络服务提供商带来更好的投资回报!
当青岛*测控技术有限公司遇上安企神,测控技术数据安全将迎来哪些新变化?
海*测控技术有限公司是海*微电子有限公司100%控股子公司,是由青岛市政府、山东省政府及行业领军企业共同出资成立的第三方检测平台。旨在集成电路可靠性验证及测试分析领域打造国内一流集成电路检测、分析、设计开发及技术解决方案等集成电路产业共性技术服务平台。海*以海洋装备和高端设备集成电路可靠性验证和测试分析为特色,主要为海...
"聚势谋远:重庆*医药集团与安企神达成战略合作,探索医药+科技融合发展新路径!
重庆*医药集团有限公司成立于2017年8月,是在重庆市*区医药(集团)有限责任公司基础上组建成立的大型医药产业企业。是重庆*经济技术开发(集团)有限公司控股的混合所有制企业和市级重点项目三峡国际健康产业园投资单位,位列全国百强医药流通企业。公司下辖重庆*制药有限公司、*医药科技重庆有限公司、重庆*肿瘤医院等十余家子公司...
聚焦核心数据安全:山东卫禾*股份有限公司携手安企神软件构建防泄密屏障!
项目背景山东卫禾*股份有限公司于2015年注册成立,公司拥有总资产1.5亿元,公司具有齿轮检测中心、三坐标测量仪、全谱直读光谱仪等关键研发设备。运用UGNX7.5、MASTA5.4等研发软件进行研发,具有强大的技术研发能力,拥有31项专利,坚持产学研结合,设有山东卫禾*技术研究院,并不断加强研发平台建设,打造创新型企业...
安全+智造双升级!江阴*电子有限公司携手安企神开启企业防护新时代!
江阴*电子有限公司成立于1989年,是一家电子元器件集成设计和生产服务的领先供应商。产品应用包括数据采集、计算机外围设备和其他电子产品。还进入了汽车电子行业、航空航天行业、工业控制行业、医疗器械行业和消费电子行业,为客户提供更广泛的高附加值产品和服务。随着科技产业的快速发展和市场需求的增加,现已成功转型为一家提供完整解...
福建*医药公司联手安企神软件,成功落地应用程序、网站黑名单设置与USB管控方案!
项目背景福建*医药有限公司前身是福建*工贸责任有限公司,2015年重组后成为中国五百强企业——*医药集团的子公司。 系中国最大的民营医药集团,是在中国医药商业行业处于领先地位的上市公司。公司成立于2015年08月04日,经营范围包括中药饮片、中成药、化学原料药、化学药制剂等。应用需求管控公司电脑安装程序和使用程序,禁...