你仅可以对IP通信使用CAR,对于非IP通信,CAR不起作用。要使用CAR,你必须首先在路由器上启用CEF才行。

从本质上说,CAR是对特定种类通信的带宽进行控制,而具体到底控制何种通信则通过ACL来定义。一旦你建立了ACL,你就可以设置CAR来对该通信的“进/出”执行一个带宽速率限制,具体接口则依照你部署CAR时使用的接口来定。

作为基本的QoS功能而言,CAR是非常有用的。举例来说,假设你有个产品应用程序,一直是通过一条128K的广域网连接来连接远程计算机。这个程序一直运行的很好,直到有一天,一个新雇员拿到了一台电脑,一个网页浏览器,以及他的Internet访问权。

然后这个老兄开始使用这条128K的线路,从网页上到处浏览和下载东西,结果拖慢了整个远程产品网络。那么,你怎样才能阻止这种网页浏览对广域网连接带宽的占用,从而防止它拖慢整个产品应用呢?

在Cisco路由器上,有许多的QoS功能可以做到这一点,而且有很多的第三方应用程序也可以帮助解决我们的这个问题。不过,仅就此问题而言,最简单的解决方案却是无需花费任何费用的,而且部署起来仅需2分钟即可完成,那就是使用Cisco IOS以及CAR。

使用CAR仅需2个简单的步骤:

1. 建立ACL,定义你打算进行速率限制的通信。

2. 依据对通信源最近接口上所定义的ACL,依据正确的方向,以及正确的带宽数量,使用“rate-limit(速率限制)”命令。

现在回到我们的示例,我们假设你有台总部路由器,它为这台简单的PC提供到广域网的连接。虽然浏览网页功能是必须的商业功能,但因此影响远程网络上产品应用程序的性能依旧还是不能被允许的。

让我们来看看你要怎样控制此Web通信。首先,定义一下你打算在总部路由器上进行速率限制的具体通信。这里是一个例子。

HQ-Router(config)# access-list 120 permit tcp any eq www host
10.200.200.200

在本例中,远程PC的IP地址是10.200.200.200。其实,我们上文所说的源服务器可以是任何在端口80提供Web页面服务的网页服务器。

然后,在该接口上使用速率限制命令。下面是一个示例:

HQ-Router(config)# interface Serial0/0
HQ-Router(config-if)# rate-limit output access-group 120 50000
10000 20000 conform-action transmit exceed-action drop

这就在接口上依据ACL 120实施了速率限制。我们将其部署在“出去”的方向,是因为我们是在总部的路由器上部署它(而不是在远程路由器上)。因为我们打算阻止不希望出现的网页浏览通过广域网进入远程网站,我们可不想等这些通信到达远端,拖慢了产品应用之后再阻止它。

50000, 10000, 20000则是分别对该通信进行定义,50000定义了该通信的每秒正常数字。(也就是说,50000bps相当于大约50K的带宽),而10000则定 义了正常突发流量(也就是说,大约10KB),而20000则是最大突发流量(也就是大约20KB)。该通信必须满足上述条件,才可以让路由器允许其通过 (按照conform-action transmit所定义的特定方式通过)。如果该通信突破了上述带宽设定,路由器就会丢弃它。

在总部路由器的Serial 0/0接口(也就是通往远程所在的接口)上配置这些设定,会限制外来的Web流量只能使用128K的带宽中小于50K的部分,其余的带宽部分将留给产品应用使用。

虽然你可以在许多情况下使用CAR,但是一定要记住,CAR只能限制那些你已用ACL告知它要限定的相关内容。另外,你使用的CAR带宽设定会对ACL中涉及的所有通信都发生作用。