当前的宽带网络发展迅速,但接入的带宽毕竟有限,众多的P2P工具使用严重影响了其他正常应用的使用,在带宽比较低的运营商中,已经深受P2P工具使用影响。前不久,还爆出某运营商控制P2P工具的传闻。在中小型的机构中,接入带宽往往更低,因此,如果内部网络有P2P使用,对正常程序的使用影响更为明显。而P2P工具的协议具备比较高的灵活性,经常可以自己更改端口,因此,通过控制端口的方式的防火墙已经很难禁止P2P。在另外一个方面,P2P工具适宜“疏导”,“禁止”容易造成矛盾激化。目前市场上有些设备可以从协议的角度识别P2P协议,但是这些算法复杂,而且很难跟上P2P协议的版本升级;更重要一点,复杂的协议分析造成设备的成本过高,非一般企业可以承受。
为了在成本和适用中找到一种平衡,上海艾泰科技有限公司正对于此现象有专门的绝招,就是基于CBT(Credit Based Traffic)流量算法来控制P2P巨量下载造成带宽拥塞的影响。
CBT算法可以用现实生活中的信用例子来加以说明。目前,中国已经有不少人拥有信用卡,而且,有很多人还拥有多家银行的信用卡,国内也建立了信用评估体系,目前鼓励正常的信贷,防止恶意透支,对信用差的人拒绝贷款。以中国招商银行为例子,如果你信用清白,可以向招商银行申请信用卡的金卡,最初的额度是15000元。也就是说银行允许你在卡里面没钱的时候透支15000元,但是你必须在指定的日期之前将该笔帐还清。如果还清,在以后的日期一直以这种方式循环,信用良好,那么过一年或者更长的时间,银行会将你的额度提高。如果超过指定的还款日期以后还款,那么银行就会收取比较高的循环利息,在另外一种情况下,如果长时间不还款,那么你的名字将进入信用黑名单,不能贷款买房子,汽车等。这个黑名单需要较长时间的信用积累才有可能清除,有些甚至是终生的。
艾泰科技CBT流量控制算法基本道理和银行信用的体系一致,初始阶段,接入设备允许所有的机器都可以上网,每台机器都有一定的流量额度(Credit),在一定的时间内,假如某台机器的额度一直没有被用完,相当于有比较好的信用,因此,即使这台机器有突发的高流量,接入设备也是允许这些流量通过,因为它使用了高流量,所以,它在消费自己的额度。在另外一种情况下,如P2P软件的使用,因为流量高,占据的时间长,接入设备会将它信用一点一点降低,直到流量降低到一定的程度,这个时候,使用P2P软件的机器的信用就会严重不足,接入设备对带宽的评判依据就是它的信用,信用低,给它的带宽就会比较低,而将它对别人的影响降到最低。
要使用CBT,首先要在“带宽业务”针对于自己的实际情况做限速处理。

例如,2M ADSL接入,32台主机。若“最大下载速率”为512K,该值与32(主机数量)的乘积为16M,是2M(线路下行带宽)的8倍。这时,若内网中有主机使用BT等P2P软件,就会抢占过多带宽,影响其他用户正常上网。此时,若将“最大下载速率”改为256K,就可大大减小P2P软件对其他上网应用的影响。当然这里可以根据自己的实际情况做相应的调整。
然后在高级选项中做相关的信用值做调整。

这里的最小下载速率512kbit/s代表系统给用户保障的最小下载带宽,即系统按照cbt wREDDuration所规定的时间限制用户带宽的时候,所给用户保障的最小下载带宽(必须系统总带宽足够)。最小上传速率512kbit/s代表系统给用户保障的最小上传带宽,即系统按照cbt wREDDuration所规定的时间限制用户带宽的时候,所给用户保障的最小上传带宽(必须系统总带宽足够)。

1Mb代表用户的带宽信用额度,比如说“内网主机速率限制”限制用户带宽为512kbps,如果用户一直使用带宽都不超过512kbps,那么它的信用额度就是满的1Mbytes,如果用户需要临时突破这个限制,那就会从他的信用额度(1Mbytes)中去取,这时候他的带宽是有保障的。在信用额度没有用完的情况下,用户对带宽的请求又降到512Kbps以下去了,信用额度就会恢复。但是如果用户将信用额度里面的带宽用完了,那么就会按照管制时间定义的规则来进行限制。如上图中的120s,比如“内网主机速率限制”限制的速度是512kbps,cbt wREDDuration配置的参数是120s。那么当某个用户适用的带宽超过了512kbps,且带宽信用用完的情况下,系统将会将用户速度限制在512kbps。此时如果用户开了大流量的下载或者上传(比如P2P软件下载),当他请求的带宽达到限制带宽1倍(1Mbps)的时候,系统将强行将其速度降至一半,也就是256kbps,并且持续120s。120s后,系统将恢复对该用户的带宽供给,如果此时用户的带宽请求再次达到限制带宽1倍(1Mbps)的时候,系统将在原有降速一半的基础上再次降速一半,也就是128kbps,直至降至上一参数配置的最小带宽,依次循环。
赤字额度:内网主机所能透支的信用的最大值(单位:字节)。
初始信用:内网主机开机登录网络时的初始信用值(单位:字节)。
如何恢复信用

当局域网中某用户因长时间大量下载透支的信用值比较大时,若使用BT等P2P软件的话,下载速度还是能够维持在设置的“最小下载速率”和“最大下载速率”之间,这时该用户还是在透支信用,信用在负增长。当停止使用BT下载后,其他普通应用(如IE浏览)就会受到很大限制,因为必须先还掉透支的信用值,才能用正常速度访问。
显然,如果某个用户透支信用过多,将会大大影响正常的上网应用,若希望快速恢复信用,则可采取以下方法:
1. 停止上网一段时间——方法1
针对某主机采取这种方法时,“下载/上传信用值”恢复到0的时间为:“下载/上传信用值”÷“最小下载/上传速率”。比如说,“最小下载速率”为64Kbit/s,当前的“下载信用值”是-3MB,那么,“下载信用值”恢复到0的时间=3Mbyte/64Kbit=384秒。
2. 关机10分钟——方法2
针对某主机采取这种方法时,“下载/上传信用值”恢复到初始信用的时间为固定值:10分钟。
3. 手工强制恢复——方法3
在带宽业务—>带宽信用管理的“带宽信用管理信息列表”中,先选中若干条目,再单击“清除”按钮,对应主机的“上传信用值”和“下载信用值”立即恢复到初始信用值。
总结:
艾泰科技根据基于社会学的银行信用贷款机制,非常合理的应用到我们的产品中去,实现用户网络的“疏”而不“堵”。
