如何控制局域网内的BT下载

    BT 是最具代表性的 P2P 软件,在全球有着广泛的应用。随着 BT 流量的增加,互联网运营商越来越感觉到带宽的压力,运营商纷纷开始对 BT 等 P2P 应用进行限制,甚至封杀。但从现实看运营商无法彻底封杀 BT,故他们转而采用对 BT 进行流量限制的手段。从技术角度分析,要进行流量限制就必须准确识别出 BT 业务流;但由于 BT 不采用标准的传输层端口,并且 BT 软件为防止被探测而在新的演化版本中都可以由用户自己修改端口号,因此传统的基于端口的流识别技术面对 BT 可能会失效。本文从 BT 技术的原理分析出发,结合 BT 应用层标识给出一种 BT 业务流识别的方法。
早期的互联网应用大都建立在 TCP/IP 协议族的基础并采用客户端/服务器的模式,随着网络用户的增多,用户会明显感觉到访问速度的下降。P2P 技术是对客户端/服务器模式的一种革命,它的核心思想是把仅由一台服务器存放的文件分割成多个文件块,并分散到多个客户端,客户端之间互为服务器,在下载的同时提供流量上传,用户在下载过程中不再访问服务器,而是从提供上传的客户端下载自己需要的文件部分。P2P 解决了服务器的瓶颈问题,充分利用了网络带宽,极大地方便了互联网上信息共享。
 
BT 下载过程解析
 
传统的文件下载服务如 FTP 或者 HTTP 都有一个提供 FTP 或 HTTP 应用程序的服务器,该服务器存放用户需要的文件;一般用户作为客户端,使用 FTP或 HTTP 客户端程序主动连接服务器,在获得授权后即可从服务器下载文件。这种典型的客户端/服务器模式对于文件的合法性、安全性可以很好的控制,但有致命的缺点,当有多个用户同时访问服务器时,由于服务器的性能因素、服务器连接广域网出口的带宽因素等,会导致用户的访问速度急速下降。另外,在客户端/服务器模式下用户主要使用网络的下行带宽,即从服务器到用户主机的带宽,而上行带宽即从用户主机到服务器的带宽利用率非常低,造成了带宽资源的浪费。在 BT 世界中,所有用户同时扮演客户端和服务器双重角色,当下载的时候,同时使用上行带宽将已经下载的文件部分传送到其他用户;BT 应用多进程技术,可以从多个下载源也称为种子的用户主机上同时进行多个下载。因此,下载的用户越多,也即种子越多,从而下载的速度就越快。
BT 应用中需要 Web 服务器和 Tracker 服务器。Web 服务器只负责torrent文件的发布,Tracker 服务器用于管理 BT 客户端的连接,两种服务器并不需要存放下载文件,因此不会在服务器和用户主机间产生下载流量;而用户之间则建立直接端到端的 TCP 连接,用于传输文件内容。
BT 下载过程可以分为三个阶段:一是从 Web 服务器获取 Torrent文件阶段,二是从 Tracker 服务器下载种子列表以及反向连接验证阶段,三是 BT 客户端之间数据传输阶段。
第一阶段和普通的 HTTP 访问 Web 页面完全一样,没有明显的特征,但是有经验的网络管理员可以判断出哪些热门 Web 站点会发布 Torrent 文件,从而在某些场合可以通过禁止这些 Web 站点的访问来禁止 BT。
第二阶段一般也采用 HTTP 的形式进行,Tracker 服务器使用的端口通常是TCP 的81、82、6969、8000、8001、8080,Tracker 通过 HTTP 的 GET 命令参数来接收信息,而响应给客户端的是 Bencoded 编码的消息,在 HTTP 请求的报文中携带了 BT 的特征数值 User-Agent:BitTorrent,通过这些可以识别出 BT客户端和 Tracker 服务器通信的数据流。BT 下载过程的前两个阶段是下载的准备阶段,此过程中的数据流量较小,但信息非常关键,禁止这些数据流的通信则意味着 BT 下载无法进行,因此通过这些数据包的特征识别出 BT 业务流在很多场合无法使用。
第三阶段是 BT 客户端之间的数据传输阶段,也是真正的下载阶段。在下载阶段 BT 客户端之间会端到端的建立连接,并且一直维持到一块数据的完成再拆除连接。早期的 BT 应用程序默认的使用 TCP 的传输端口6881~6889,这时可以简单的根据端口号来识别一个 BT 流。但最新的 BT 应用程序为了防止被探测而允许用户随意修改 TCP 的端口号,因而基于传输层端口号的识别方法不再有效。
 
BT 流识别方法
 
但是,由于机制的优越性,P2P 这种模式在现阶段难免会对传统的应用造成冲击,影响正常业务流量。因此,一种合理的出发点是利用 QoS 机制,在保障正常业务的运行的情况下,允许用户使用 P2P 应用。这种方式的难点较多,首先在于如何界定正常业务流量,如何规划带宽。现阶段语音、视频、企业用户的电子商务交易流量,以及宽带接入用户的 Web 流量、E-mail 流量和即时通信流量都可以被列入正常业务,被划分不同的优先级。此后,运营商可以根据用户的使用情况和应用的发展情况,修改和优化  QoS 配置。
对于这种方式,从流量分析的角度来看,现有的 MRTG 和其他基于 SNMP 的流量检测手段已经很难满足要求。为此需要开发实时带宽控制技术,这种技术直接分析数据包传输时所采用的通讯协议,并且直接拦截其协议特征码对局域网内所有主机所发出的公网应用层数据包进行捕获,并对报文进行分析、过滤,任何主机发出的报文只要含有 BT 特征符:"BitTorrent",都会被拦截、控制;如果报文没有含有 BT 特征符就不会被拦截,从而能够对 BT 下载进行精确控制。现在还有一些 BT软件不通过 HTTP 来获取Peers列表,而是采用 TCP/UDP 协议,但其 BT 流中还是包含 "BitTorrent" 特征码;因此同样能够对其 "BitTorrent" 特征码进行识别,从而使得管理员对BT的控制变得极为方便
由于各种 P2P 传输工具的协议特征码各不相同,从而可以具体分析出这种 P2P 工具是正常的业务传输所采用的(语音、电子商务交易流量),还是非正常业务需要所采用的(如 BT 下载电影、音乐),从而能够提供按照业务类型区分的实时流量报告,并加以控制。
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值