基于网络处理器的BT业务流识别

早期的互联网应用大都建立在tcp/ip协议栈基础并采用客户端/服务器的模式,随着网络用户的增多,用户会明显感觉到访问速度的下降。p2p技术是对客户端/服务器模式的一种革命,它的核心思想是把仅由一台服务器存放的文件分割成多个文件块,并分散到多个客户端,客户端之间互为服务器,在下载的同时提供流量上传,用户在下载过程中不再访问服务器,而是从提供上传的客户端下载自己需要的文件部分。p2p解决了服务器的瓶颈问题,充分利用了网络带宽,极大地方便了互联网上信息共享。

bt是最具代表性的p2p软件,在全球有着广泛的应用。随着bt流量的增加,互联网运营商越来越感觉到带宽的压力,运营商纷纷开始对bt等p2p应用进行限制,甚至封杀。但从现实看运营商无法彻底封杀bt,故他们转而采用对bt进行流量限制的手段。从技术角度分析,要进行流量限制就必须准确识别出bt业务流;但由于bt不采用标准的传输层端口,并且bt软件为防止被探测而在新的演化版本中都可以由用户自己修改端口号,因此传统的基于端口的流识别技术面对bt可能会失效。本文从bt技术的原理分析出发,结合bt应用层标识给出一种bt业务流识别的方法,及其在烽火网络新一代路由设备平台r8006上的应用。

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流识别方法

越来越多的路由器、防火墙、安全网关等设备开始需要支持bt业务流的识别,而在g比特速率以上的应用场合,硬件设备大多采用asic芯片或者网络处理器架构。asic芯片不能灵活编程,开发周期较长,目前市场上成熟的asic芯片方案设计的数据设备对bt识别的支持还远远不够;网络处理器具有灵活编程、可升级的优点,下面将重点讨论基于网络处理器实现高性能的bt流识别方法。

网络处理器架构的网络设备在软件层面上分为控制层面和数据转发层面,控制层面功能由板卡上的通用处理器或集成于网络处理器内部的通用处理模块完成,而转发层面功能主要由网络处理器的转发模块即转发引擎完成;控制层面又称为慢速通道,主要处理与信令、网管相关的低速流量数据,可以进行较为复杂的计算和处理,以及对转发层面的控

  • 基于网络处理器的BT业务流识别已关闭评论
    A+
发布日期:2019年07月04日  所属分类:新闻动态