奇宝库 > p2p网络流量(如何控制p2p的下载流量使用)

p2p网络流量(如何控制p2p的下载流量使用)

目前以BitTorrent(以下简称BT)为代表的P2P下载软件流量占用了宽带接入的大量带宽,据统计已经超过50%。这对共享带宽的宽带接入方式,如以太网接入,提出了巨大的挑战。接入层交换机的大量端口长期在线工作,严重影响用户正常使用Web、E-mail和VOD业务。所以运营商、企业用户、教育等行业用户都有限制这类流量的要求。以BT为例,介绍了控制P2P下载流量的一般方法和特殊方法。

BT是怎么运作的?

BT与传统下载方式的最大区别在于,它充分发挥了互联网主机点对点的特点,即每一台运行TCP/IP栈的主机都可以平等地(端到端)接收或发起访问请求。随着NAT、防火墙等技术的普及,互联网端到端的时代已经远去,但目前很多主机仍然具备互联网端到端的能力。此外,即使在被防火墙隔离的校园网和企业内部网中,主机之间也存在端到端的环境。

传统的下载模式是C/S模式,或者集中模式,即每台主机分别从服务器下载文件。主机不提供下载,服务器一般只提供下载。

BT的下载机制是每个主机既下载又提供下载服务,而服务器只提供下载主机和文件的目录信息,如图2所示。每个主机下载时选择的内容都有一定的哈希特征。所以通常参与下载的每个主机都有其他主机没有下载的内容,这样就可以为其他主机提供下载服务。在这种机制下,每个主机可以同时从多个地方下载,因此下载的传输速率大大提高。

BT服务器起什么作用?

BT的服务器提供发布的统一管理,BT客户端需要连接服务器才能让其他主机节点参与下载。其实这也为我们限制BT流量提供了一个简单可行的手段。

BT的。torrent文件包括服务器的地址、文件名、目录名、文件长度等信息。在分析了。torrent文件,BT客户端软件向服务器发送下载请求。请求的URL包括它自己的端口信息、下载进度和状态信息等。

BT服务器使用track程序来管理这些下载请求。获得URL后,它会查找列表,找到提供相应文件下载的主机。客户端可以下载。同时,如果客户端有能力接受连接请求,track程序还会将该主机的信息添加到列表中,以便其他主机找到该主机并下载。

由于P2P客户端通常可以指定自己的端口进行下载/上传,传统的阻塞端口的方式很难奏效。

如何控制P2P流量?

利用QoS,从客观上来说,P2P技术是一种非常适合互联网结构,能够最大化利用网络资源的机制。在很多情况下,P2P可以节省网络基础资源。比如一个宽带接入网,如果100个用户想从外网下载同一个文件,传统的方式是同一个流量要运营商导出100次。除非运营商提供缓存或分发服务。但是在BT模式下,通过出口的流量会明显减少,因为内网的用户可以互相下载。虽然P2P应用已经成为一种趋势,但是仅仅靠封杀很难阻止P2P的发展。

但是由于机制的优越性,P2P的这种模式必然会冲击传统应用,影响现阶段正常的业务流程。因此,合理的出发点是使用QoS机制,让用户在使用P2P应用的同时保证业务的正常运行。这种方式有很多难点,首先是如何定义正常的流量,如何规划带宽。

目前企业用户的语音、视频流量、电子商务交易流量、宽带接入用户的Web流量、E-mail流量、即时通讯流量都可以纳入正常业务,划分不同的优先级。之后,运营商可以根据用户的使用情况和应用开发情况修改和优化QoS配置。

对于这种方式,从流量分析的角度来看,现有的MRTG等基于SNMP的流量检测方法很难满足要求。为此,思科开发了Netflow技术,可以根据业务类型提供实时流量报告。其他制造商也提供了对Netflow的支持。比如华为-3Com推出NetStrean,兼容Netflow。Netflow由交换机完成对流量(包括业务类型、源/目的地址等信息)的统计,并将统计数据提交给专用服务器进行分析。

第二个困难在于如何在整个网络中实现QoS。由于有许多类型的交换机和不同的QoS机制,很难在整个网络中实现QoS。因此,运营商在选择设备时需要考虑实施QoS策略的可行性。

流量感知技术流量感知是交换机发展的主流趋势之一,也是交换机厂商吹捧的“网络智能化”的基础。目前很多网络厂商都实现了基于流量感知的P2P流量控制功能。流量感知使交换机能够分析流量,识别P2P流量并实施相应的策略。分析过程类似于状态检测防火墙,即流量与已知P2P协议特征进行模式匹配,匹配成功后即可识别出BT、EDonkey等协议。一般这种方法对于端口可以任意修改的P2P软件还是有效的。

利用流量感知来控制BT流量非常简单。事实上,除了交换机/路由器,防火墙等设备也逐渐在各种主流P2P协议中加入感知功能。甚至Linux内核已经提供了P2P流量感知的模块,结合iptables防火墙和tc带宽限制功能,可以识别和控制BT、EDonkey等协议流量。

和端口带宽限制。在网关和防火墙上封堵端口是目前最常见的做法,成本较低,但效果往往不尽如人意。因为BT等应用允许用户修改下载和上传端口,所以通过限制传输端口很容易被绕过。但是,如前所述,通过限制不会被修改的跟踪器端口(通常为6969)来实现目标相对更容易。

在常规方法难以奏效的情况下,可以采用阻塞6600-7900之间所有TCP/UDP端口的方法,通常可以很好地禁止BT流量,但同时也必然会影响少数正常业务。

此外,当BT用户被锁定时,可以使用带宽限制的方法来控制BT流量。

对于P2P流量的控制,从长远来看,可以通过QoS和网络设备流量感知技术的结合,实现业务的透明智能控制。目前,网络设备的QoS和流量感知已经得到一定程度的实现,但仍然缺乏有效的集成机制。另外,使用端口限制、带宽限制等基本手段,可以在一定程度上抑制BT流量。

本文来自网络,不代表本站立场,转载请注明出处: