当前,以BitTorrent(以下简称BT)为代表的P2P下载软件流量占用了宽带接入的大量带宽,据统计已经超过了50%。这对于以太网接入等共享带宽的宽带接入方式提出了很大的挑战,大量的使接入层交换机的端口长期工作在线速状态,严重影响了用户使用正常的Web、E-mail以及视频点播等业务。因此,运营商、企业用户以及教育等行业的用户都有对这类流量进行限制的要求。本文以BT为例,介绍了控制P2P下载流量的一般及特殊方法。 公仔箱論壇% x) [0 f; B0 S6 s/ H* ~
BT如何进行的?
# z9 |$ U. U+ R A1 _" {. FTVBNOW 含有熱門話題,最新最快電視,軟體,遊戲,電影,動漫及日常生活及興趣交流等資訊。BT与传统的下载方式最大的不同在于充分发挥了Internet主机对等的特点,即每个运行TCP/IP栈的主机都可以平等地(端到端)接收或发起请访问请求。虽然随着NAT、防火墙等技术的普及,全网(Internet)端到端的时代已经远去,但是目前仍有很多主机仍然具有Interenet端到端能力,此外,即使在被防火墙隔离的园区网、企业内网中,主机间也具有端到端环境。
- H; {0 G' o; A! l( Z公仔箱論壇传统的下载方式是C/S模式,或集中模式,即各个主机分别从服务器下载文件,主机不提供下载,而服务器通常只提供下载。 TVBNOW 含有熱門話題,最新最快電視,軟體,遊戲,電影,動漫及日常生活及興趣交流等資訊。/ h- W8 O @% h. L) v* z3 D
而BT的下载机制是各主机既下载、又提供下载服务,而服务器只是提供关于的下载的主机和文件的目录信息,如图2所示。各主机下载时选择的内容有一定的散列特征,因此,通常参与下载的各主机中都有其他主机尚未下载的内容,从而能够为其他主机提供下载服务。在这种机制下,各主机能够同时从多个地点下载,因此下载的传输速率得以大幅度提高。
2 n% H2 |% o1 T b% m6 y) V公仔箱論壇BT服务器起什么作用?
& I/ y2 S+ N! O! UBT的服务器提供了发布的统一管理,BT客户端需要连接服务器才能得到其他的参与下载的主机节点。事实上,这也为我们限制BT流量提供了一个简单可行的手段。 tvb now,tvbnow,bttvb' Y4 o2 O8 Z% |. G; K
BT的.torrent文件中包括了服务器的地址、文件名、目录名、文件长度等信息,BT客户端软件在分析.torrent文件之后,向服务器发出下载请求,请求的URL中包括了自身的端口信息,下载进度和状态信息等。 TVBNOW 含有熱門話題,最新最快電視,軟體,遊戲,電影,動漫及日常生活及興趣交流等資訊。, v" g, m+ }2 s3 a/ ^
BT服务器使用track 程序来管理这些下载请求,得到URL后就会查找列表,找到提供相应的文件下载的主机。客户端就可以进行下载,与此同时,如果该客户端具有接受连接请求的能力,track程序会把该主机的信息也加入列表中,使其他主机能够找到该主机并进行下载。 公仔箱論壇$ q3 O3 P4 C: X; V
由于P2P的客户端通常可以指定自身所用来提供下载/上传的端口,因此传统的封锁端口的方式很难奏效。 tvb now,tvbnow,bttvb( n& B" l3 e9 F4 e
如何控制P2P流量?
# {) w& I7 [' ^7 r' M2 Z0 Y5 Q5 [利用QoS 客观地说,P2P技术是非常适合Internet结构,能够将网络资源的使用最大化的一种机制,在很多情况下,P2P能够节省网络基础资源,例如,在一个宽带接入网络中,如果有100个用户要下载外网的同一个文件,传统的方式是同样的流量要经过运营商出口100次。除非运营商提供缓存或分发服务。但在BT的模式下,经过出口的流量会显著减少,因为内网的用户可以相互下载。而P2P应用已经成为一种趋势,单靠封堵是很难阻挡P2P的发展的。
2 T- Z4 Z8 r; ?8 y7 \; v" ^' Z1 n公仔箱論壇但是,由于机制的优越性,P2P这种模式在现阶段难免会对传统的应用造成冲击,影响正常业务流量。 tvb now,tvbnow,bttvb5 h& d& g1 M" E) ?
因此,一种合理的出发点是利用QoS机制,在保障正常业务的运行的情况下,允许用户使用P2P应用。 公仔箱論壇1 `# `, ]% c( n6 i
这种方式的难点较多,首先在于如何界定正常业务流量,如何规划带宽。 7 N. v1 Y- B, u
现阶段,语音、视频流量、企业用户的电子商务交易流量,以及宽带接入用户的Web流量、E-mail流量和即时通信流量都可以被列入正常业务,被划分不同的优先级。此后,运营商可以根据用户的使用情况和应用的发展情况,修改和优化QoS配置。 ! V0 [0 _6 ^6 Y4 ^5 J) e
对于这种方式,从流量分析的角度来看,现有的MRTG和其他基于SNMP的流量检测手段已经很难满足要求。为此,Cisco开发了Netflow技术,能够提供按照业务类型区分的实时流量报告。其他厂商也陆续提供了对Netflow的支持,例如华为-3Com推出了NetStrean,即兼容Netflow。Netflow由交换机完成对流量(包括业务类型、源/目的地址等信息)的统计,并将统计数据提交至专用服务器供分析。
, X9 s% l; c+ p& O1 @1 stvb now,tvbnow,bttvb第二个难点在于如何实现贯穿全网的QoS,由于现有的交换机类型众多,支持的QoS机制不同,使得全网QoS很难实施。因此,运营商在设备选型时需要考虑到QoS策略实施的可行性。 tvb now,tvbnow,bttvb( ~ _9 k0 {/ P7 ~1 n
流量感知技术 流量感知是交换机发展的主流趋势之一,也是现在交换机厂商所吹捧的“网络智能化”的基础。目前,不少网络厂商都实现了基于流量感知的P2P流量控制功能。流量感知功能使交换机能够对流量进行分析,识别出其中的P2P流量,并实施相应的策略。分析的过程类似于状态检测防火墙,即将流量与已知的P2P协议特征进行模式匹配,匹配成功即可识别出BT、EDonkey等协议。通常,这种方式对于可任意修改端口的P2P软件依然有效。
S9 M u4 @6 F. M4 D3 Q7 b" tTVBNOW 含有熱門話題,最新最快電視,軟體,遊戲,電影,動漫及日常生活及興趣交流等資訊。使用流量感知功能来控制BT流量非常简单。事实上,除了交换机/路由器外,防火墙等设备也在逐渐加入对于各种主流P2P协议的感知功能。甚至Linux核心中也已经提供了对于P2P流量感知的模块,可以结合iptables防火墙以及tc带宽限制功能来识别、控制BT、EDonkey等协议流量。 公仔箱論壇1 ]! G; h+ F) v- G
端口及带宽限制 在网关、防火墙上进行端口封堵是当前最为普遍的做法,成本较低,但是效果往往差强人意。因为BT等应用允许用户修改下载、上传端口,因此依靠限制传输端口很容易被绕开,但如前所述,如果限制通常不会被修改的tracker端口(通常是6969)则相对更容易达到目的。 5.39.217.77:8898! Q4 u/ y z& [5 y
在常规方法难以奏效的情况下,可以采用封堵6600-7900之间所有TCP/UDP端口的方法,这通常可以较好地禁止BT流量,但同时难免对少数正常业务造成影响。 5.39.217.77:8898, N/ p$ f' `9 I2 j
此外,在已经锁定BT用户的情况下,可以使用带宽限制的方法来控制BT流量。
( _3 V3 w1 L4 n" c/ {" A) k* G5.39.217.77:8898对于P2P流量的控制,从长远来看可以通过QoS和网络设备流量感知技术的结合,实现对业务透明的智能控制。从目前来看,QoS和网络设备流量感知都已经具有一定的可实施性,但尚缺乏有效整合的机制。此外,使用端口限制和带宽限制等基础手段,可以在一定程度上抑制BT流量。
D; A5 x+ u, [8 b/ n8 a. S _5.39.217.77:8898
" N0 }' ]) V* Z* j# M! U! m+ o$ F/ [ |