天下网吧 >> 网吧天地 >> 网吧技术 >> 网吧安全 >> 正文

路由器CAR限速策略 防范DoS攻击

2009-3-6赛迪网木淼鑫
网站来说,最怕的就是DoS拒绝服务攻击。拒绝服务(DoS)攻击是目前黑客广泛使用的一种攻击手段,它通过独占网络资源、使其他主机不能进行正常访问,从而导致网络瘫痪,我们可以通过在接入路由器上采用CAR限速策略来达到抵御攻击的目的。

  DoS是Denial of Service的简称,即拒绝服务,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务。DoS网络攻击的一个重要特征是网络中会充斥着大量带有非法源地址的ICMP包,我们可以通过在路由器上对ICMP包配置CAR来设置速率上限的方法来保护网络。

  工作机制

  CAR是Committed Access Rate的简写,意思是:承诺访问速率,CAR主要有两个作用:对一个端口或子端口(Subinterface)的进出流量速率按某个标准上限进行限制;对流量进行分类,划分出不同的QoS优先级。CAR只能对IP包起作用,对非IP流量不能进行限制,另外CAR只能在支持CEF交换(Cisco Express Forward)的路由器或交换机上使用。

  要对流量进行控制我们首先要做的是对数据包分类识别(Packet Classification),然后再对其进行流量控制(Access Rate Limiting),CAR 就是两者的结合。其工作流程如图1所示。

  
路由器


  图1

  首先我们要定义感兴趣的流量,所谓感兴趣的流量就是对其进行流量控制的数据包类型。可以选择以下几种不同的方式来进行流量识别:

  (1)基于IP前缀,此种方式是通过rate-limit access list来定义的。

  (2)QoS 分组。

  (3)IP access list,可通过standard或extended access list来定义。

  采用上述方法定义了感兴趣的流量后,进行第二步的流量限制(Traffic Limitation)。CAR采用一种名为token bucket的机制来进行流量限制(如图2所示)。

  
路由器
  图2

  限流器使用token bucket的算法监视流量flow的带宽利用率。在每个流入的帧到达的时候,就把它们的长度加到token bucket (记号桶)上。每隔0.25毫秒(四千分之一秒),就从token bucket减去CIR(Committed Information Rate,承诺信息速率)或者说是平均限流速率的值。这样做的思路是,保持token bucket等于0,从而稳定数据速率。

  限流器允许流量速率突发超出平均速率一定的量。token bucket增长到突发值(以字节为单位)水平之间的质量是允许的有效突发量,这也叫做in-profile traffic(限内流量)。当token bucket 的大小超过了突发值,限流器就认为流量“过大”了。这时我们可以定义一个PIR(Peak Information Rate,峰值信息速率)。当流量超出最大突发值达到PIR的时候,限流器就认为流量违规,这类流量也叫做out-of-profile traffic(限外流量)。所以当实际的流量通过限流器(token bucket)后, 可以看到会有两种情况发生:

  (1)实际流量小于或等于用户希望速率,帧离开bucket的实际速率将和其来到的速率一样,bucket内可以看作是空的。流量不会超过用户的希望值。

  (2)实际流量大于用户希望速率。帧进入bucket的速率比其离开bucket的速率快,这样在一段时间内,帧将填满该bucket,继续到来的帧将溢出(excess)bucket,则CAR采取相应的动作(一般是丢弃或将其IP前缀改变以改变该token的优先级)。这样就保证了数据流量速率保证在用户定义的希望值内。  

本文来源:赛迪网 作者:木淼鑫

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。文章是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。 Email:support@txwb.com,系统开号,技术支持,服务联系微信:_WX_1_本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下
  • 本周热门
  • 本月热门
  • 阅读排行