所谓的CAR意思为承诺访问速率,对一个端口或子端口的进出流量速率按某个标准上限进行,对流量进行分类,划分出不同的QoS优先级,只能对IP包起作用,对非IP流量不能进行。
一、想要对流量进行控制我们首先要做的是对数据包分类识别,然后再对其进行流量控制,要对其进行流量控制的数据包类型,限流器使用tokenbucket的算法流量flow的带宽利用率。在每个流入的帧到达的时候,就把它们的长度加到tokenbucket上,每隔0.25毫秒就从tokenbucket减去CIR或者说是平均限流速率的值。
二、限流器允许流量速率突发超出平均速率一定的量。tokenbucket增长到突发值(以字节为单位)水平之间的质量是允许的有效突发量,这也叫做in-profiletraffic,当tokenbucket的大小超过了突发值,限流器就认为流量过大了,当流量超出最大突发值达到PIR的时候,限流器就认为流量违规,这类流量也叫做out-of-profiletraffic。
三、我们通常在网络的边缘路由器上配置CAR。配置CAR主要包括以下几部分:
1、确定流量类型也就是我们需要监视的流量,主要通过下列方式确定:
(1)基于IP前缀,此种方式是通过rate-limitaccesslist来定义的。
(2)基于QoS分组。
(3)基于MAC地址。
(4)基于standard或extended的IPaccesslist。
2、在相应的端口配置rate-limit:
interfaceXrate-limit{inputoutput}[access-groupnumber]bpsburst-normalburst-maxconform- actionactionexceed-actionaction。
(1)Interface:用户希望进行流量控制的端口,可以是Ethernet也可以是serial口,但是不同类型的interface在下面的input、output上选择有所不同。
(2)Inputoutput:确定需要限制输入或输出的流量。如果在以太网端口配置,则该流量为output;如果在serial端口配置,则该流量为input。
(3)conform-action:在速率限制以下的流量的处理策略,exceed-action:超过速率限制的流量的处理策略。
四、CAR限制某种流量的速率之外,还可以用来抵挡DoS型攻击,诸如Smurf攻击使得网络上充斥着大量带有非法源地址的ICMP,占用网络的资源。我们可以通过在路由器上对ICMP包通过配置CAR来设置速率上限的方法来保护网络。
经地上述设置后,在一定程度上我们可以限制ICMP包的转发速率和大小,减少对网络和主机造成的破坏,CAR限速策略要只有这样才能有效地被使用,针对攻击的不同类型采取相应的防范措施。