ROS软路由论坛 ROSABC.com 网络方案网络工程交流

 找回密码
 会员注册

QQ登录

只需一步,快速开始

Cisco由器上的CAR的机制和实现方法

2014-10-31 05:31| 发布者: admin| 查看: 635| 评论: 0

摘要:   本文主要给大家详细的介绍了什么是CAR,如何进行CAR的配置,如何检查CAR是否在相应端口起了作用等问题,相信看过此文会对你有所帮助。   许多单位因为工作需要,都建立了单位的内部网络,大型的企业和单位可 ...

  本文主要给大家详细的介绍了什么是CAR,如何进行CAR的配置,如何检查CAR是否在相应端口起了作用等问题,相信看过此文会对你有所帮助。

  许多单位因为工作需要,都建立了单位的内部网络,大型的企业和单位可能还建立了广域网(WAN)。网络上的应用类型种类繁多,为了保障主要应用的良好运作,必然要在网络上进行流量控制。一种方法是购买一些流量控制的产品如PacketShaper,但是这类产品价格比较昂贵,使得用户不能大面积的在全网范围内部署;第二种方法就是在企业网广泛使用的CISCO由器上使用CAR流量控制策略。

  一、什么是CAR

  CAR主要有两个作用:对一个端口或子端口(subintece)的进出流量速率按某个标准上限进行;对流量进行分类,划分出不同的QoS优先级。

  CAR只能对IP包起作用,对非IP流量不能进行,另外CAR只能在支持CEF交换(CiscoExpressForward)的由器或交换机上使用。所以只有Cisco2600系列以上的型号才可以使用CAR。以下这些intece上也不能使用CAR:

  第一步的TrafficMatching是首先从数据流中识别出感兴趣的流量。所谓感兴趣的流量,是指用户希望对其进行流量控制的数据包类型。用户可以选择以下几种不同的方式来进行流量识别:

  (1)全部的IP流量,这样可以把所有的IP流量采用统一的流量控制策略。

  在第一步采用上述方法识别到了感兴趣的流量后,进行第二步的流量衡量(trafficmeasurement)。CAR采用一种名为tokenbucket的机制来进行流量衡量。

  图中的token可以看成是第一步的trafficmatching所识别到的感兴趣流量,该种流量的数据包进入一个bucket(桶)内,该bucket的深度则由用户定义,在进入该tokenbucket后,以用户希望控制的流量速率(此流量速率并非该类流量的实际速率,而是用户希望该类流量的速率上限)离开该bucket,执行下一部操作(conformaction)。在这里,对于实际流量速率的不同,可以看到会有两种情况发生:

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

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

  二、如何配置CAR

  一般来说,CAR比较适合部署在网络的边缘部分,我们的一般做法也是在分关由器上部署CAR。配置CAR主要包括以下几部分:

  1.确定“感兴趣”的流量类型,主要通过下列方式确定:

  一般最常用的是第五种方式。用户可以使用standardipaccesslist来确定哪些进行访问(被访问)的IP的流量需要进行rate-limit,也可以用extendedipaccesslist来确定哪些访问(被访问)的IP的协议类型流量(如HTTP,FTP)需要进行rate-limit。例如我们想用户到内部网站上浏览网页的速度,则可以采用如下的accesslist来定义流量:

  这里值得注意的一点是在配置时要配成anyeqwwwany而不是anyanyeqwww。因为主要的流量不是用户向httpserver发送的请求(这类请求流量的源端口号为随机,目的端口号为80),而是httpserver收到用户的请求后发给用户方的网页内容的流量(这部分流量的源端口号为80,目的端口号为发起方的端口号),如果在这个小细节上不加注意则不能对下载的流量进行有效的。

  一般的写法是:

  命令解释如下:

  intece:用户希望进行流量控制的端口,可以是Ethernet也可以是serial口,但是不同类型的intece在下面的inputoutput上选择有所不同,需要注意一下。

  fast路由器设置网站Inputoutput:用户希望输入或输出的流量。还是以浏览网页为例子,如果在以太网端口配置,则该流量为output;如果在serial端口配置,则该流量为input。

  Bps:用户希望该流量的速率上限,单位是bps。

  Conform-action:在速率以下的流量的处理策略。

  Exceed-action:超过速率的流量的处理策略。

  Action:处理策略,包括以下几种:

  这里需要指出的是,在一个intece内,可以配置多条rate-limit命令,如果action里面有continue,则顺序执行下一条rate-limit命令,若某种流量在continue之后没有被某条rate-limit命令丢弃,则它将进行传输。一个端口最多可配20条rate-limit命令。

  那么对于我们进行http的例子,相应的配置为:

  这里我们把下载的流量定义在128Kbps,tokenbucket的大小为16000字节。如果把tokenbucket定得太小(如4000),则用户端的速率将显得不够平滑。

  三、如何检查CAR是否在相应端口起了作用

  我们可以用这条命令检查我们配置CAR的实际效果,如果发现没有conform的流量,则一般情况下是trafficmatching的规则设置有问题,又或者是在intece上的inputoutput设得不正确。

  四、CAR的其他用途

  CAR除了可以象我们提供的范例所示来某种流量的速率之外,还可以用来抵挡某些类型的网络。

  DOS网络的一个特征是网络中会着大量带有非法源地址的ICMP包,我们可以通过在由器上对ICMP包通过配置CAR来设置速率上限的方法来网络。

不良信息举报Q:2000617

软路由

不良信息举报Q:2000617|Archiver|ROS软路由论坛 ROSABC.com 网络方案网络工程交流

GMT+8, 2024-5-15 14:21 , Processed in 0.288669 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部