首页 数据库 mysql教程 Cisco committed access rate(CAR)承诺访问速率

Cisco committed access rate(CAR)承诺访问速率

Jun 07, 2016 pm 03:11 PM
access ca cisco

一、CAR概述 CAR是在Cisco环境里最广的使用方法,它在网络边缘入口和出口标记数据包,CAR能实现两种功能的其中之一。 功能1: 速率 限制; 功能2:通过使用IP优先权和QOS组来设置分类数据包; 二、语法: rate-limit { input | output } [ access-group [ ra

一、CAR概述

CAR是在Cisco环境里最广的使用方法,它在网络边缘入口和出口标记数据包,CAR能实现两种功能的其中之一。

功能1:速率限制;

功能2:通过使用IP优先权和QOS组来设置分类数据包;

 

二、语法:

 

rate-limit {input | output} [access-group [rate-limit] acl-indexbps burst-normal burst-max conform-action action exceed-action action

 

input

对进入接口的数据包应用CAR

output

Applies this CAR traffic policy to packets sent on this interface.

access-group

(可选) Applies this CAR traffic policy to the specified access list.

rate-limit

(可选) The access list is a rate-limit access list.

acl-index

(可选) Access list number.

bps

平均速率 ,单位为bps

burst-normal

Normal burst size in bytes. The minimum value is bps divided by 2000.

burst-max

Excess burst size in bytes.

conform-action

对于符合以上速率的要采取行动

action

Action to take on packets. Specify one of the following keywords:

continue—继续,如果有更多的CAR语句,该数据表会被继续处理.

drop—丢弃数据包

set-prec-continue new-prec—设置优先权,然后继续

set-prec-transmit new-prec—设置优先权然后传输

transmit—传输该数据包

exceed-action

超过速率所采取的行动



三、CAR 的局限性

  • CAR只影响IP流量,非IP流量的速率没有限制,也没有标记。
  • CAR不支持以太通道( Fast EtherChannel  )、隧道( Tunnel )、以及ISDN PRI接口
  • 不支持帧中继离得BECN或FECN
  • 需要开启CEF

 

 

 

四、配置示例

 

router(config)# interface Hssi0/0/0

<span><span>!任何<strong>速率</strong>小于20M的www流量、normal burst小于24MB、excess burst小于32MB,设置IP优先级为5,超过规则的www流量设置IP优先级为0(最大努力传输)</span></span>
登录后复制

router(config-if)# <b>rate-limit input access-group 101 20000000 24000 32000    conform-action set-prec-transmit 5 exceed-action set-prec-transmit 0 </b>
登录后复制
<span><span>!小于10M的FTP流量</span></span><span>、normal burst小于24MB、excess burst小于32MB</span><span>,设置IP优先级为5,超过10M的FTP流量被丢弃</span>
登录后复制

router(config-if)# <b>rate-limit input access-group 102 10000000 24000 32000    conform-action set-prec-transmit 5 exceed-action drop </b>
登录后复制
<span><span>!其他小于8Mbps</span></span><span>流量</span><span>、normal burst小于16MB、excess burst小于24MB</span><span>,设置</span><span>设置IP优先级为5,</span><span>normal burst 为16000字节,excess burst 为24000字节,</span><span>超过8mbps的被丢弃,</span>
登录后复制

router(config-if)# <b>rate-limit input 8000000 16000 24000 conform-action    set-prec-transmit 5 exceed-action drop </b>
登录后复制

router(config-if)# <b>ip address 200.200.14.250 255.255.255.252 </b>
登录后复制

<span>!101<strong>访问</strong>控制列表匹配任意www流量,102<strong>访问</strong>控制列表匹配任意FTP流量</span> 
登录后复制

router(config-if)# <b>access-list 101 permit tcp any any eq www </b>
登录后复制

router(config-if)# <b>access-list 102 permit tcp any any eq ftp</b>
登录后复制



四、CAR的运作机制

CAR可以看成是数据包分类识别和流量控制的结合。其工作流程可以从下图指出:

Cisco committed access rate(CAR)承诺访问速率

 

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

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

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

(3)QoS 分组

(4)MAC地址,此种方式通过rate-limit  access list来定义。

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

第二步,流量衡量(traffic measurement)。CAR采用一种名为token bucket的机制来进行流量衡量。见下图:

Cisco committed access rate(CAR)承诺访问速率

 

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

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

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

二、如何配置CAR

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

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

(1)所有的IP流量

(2)基于IP前缀

(3)基于QoS分组

(4)基于MAC地址

(5)基于standard或extended的IP access list

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

access-list 101 permit tcp any eq www any

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

2.在相应的端口配置rate-limit:

一般的写法是:

interface X

rate-limit {input|output} [access-group number ] bps burst-normal burst-max conform-action action exceed-action action

命令解释如下:

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

Input|output:用户希望限制输入或输出的流量。还是以限制浏览网页为例子,如果在以太网端口配置,则该流量为output;如果在serial端口配置,则该流量为input。

Access-group number: number是前面用户用access list定义流量的access list号码。

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

Burst-normal、burst-max:这个是指token bucket的大小,一般采用8000,16000,32000这些值,视乎bps值的大小而定。

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

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

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

Transmit:传输

Drop:丢弃

Set precedence and transmit:修改优先权然后传输

Set QoS group and transmit:将该流量划入一个QoS group内传输

Continue:不动作,看下一条rate-limit命令中有无流量匹配和处理策略,如无,则transmit

Set precedence and continue:修改优先权然后continue

Set QoS group and continue:划入QoS group然后continue

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

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

interface e0

rate-limit output access-group 101 128000 16000 16000 conform-action transmit exceed-action drop

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

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

采用命令show interface XX rate-limit可以检查端口XX的CAR实际效果,见如下实例:

Fddi2/1/0

Input

matches: access-group 101

params: 80000000 bps, 72000 limit, 72000 extended limit

conformed 0 packets, 0 bytes; action: set-prec-transmit 5

exceeded 0 packets, 0 bytes; action: set-prec-transmit 0

last packet: 4738036ms ago, current burst: 0 bytes

last cleared 01:02:05 ago, conformed 0 bps, exceeded 0 bps

matches: all traffic

params: 50000000 bps, 64000 limit, 64000 extended limit

conformed 0 packets, 0 bytes; action: set-prec-transmit 5

exceeded 0 packets, 0 bytes; action: set-prec-transmit 0

last packet: 4738036ms ago, current burst: 0 bytes

last cleared 01:00:22 ago, conformed 0 bps, exceeded 0 bps

Output

matches: all traffic

params: 80000000 bps, 80000 limit, 80000 extended limit

conformed 0 packets, 0 bytes; action: transmit

exceeded 0 packets, 0 bytes; action: drop

last packet: 4809528ms ago, current burst: 0 bytes

last cleared 00:59:42 ago, conformed 0 bps, exceeded 0 bps

这里解释一下show interface rate-limit看到的结果。

Matches 是表示该interface配置的traffic matching规则,有多个matches表示该interface配置了多条rate-limit命令,采用了多条matching规则。下面的 params表示该规则定义的各项参数,xxx bps表示设定速率值,limit和extended limit表示token bucket的容量。Conformed x packets,y bytes表示对速率限制内的包数量和字节数,action表示对符合规则的包采用的处理方式;exceeded x packets这行也类似地是表示对超过速率限制的包的数量和字节数,action是其处理方式。下面的last packet是表示最新的到来数据包的是多久前到达的,current burst是当前token bucket内的数据大小,last cleared是最近一次清记数器到现在的时间,conform x bps表示速率限制内的包的实际流量速率,exceed y bps 表示超过部分的速率

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

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1662
14
CakePHP 教程
1419
52
Laravel 教程
1313
25
PHP教程
1262
29
C# 教程
1235
24
sql if语句怎么用 sql if语句怎么用 Apr 09, 2025 pm 06:12 PM

SQL IF 语句用于有条件地执行 SQL 语句,语法为: IF (condition) THEN {语句} ELSE {语句} END IF;。条件可以是任何有效的 SQL 表达式,如果条件为真,执行 THEN 子句;如果条件为假,执行 ELSE 子句。IF 语句可以嵌套,允许更复杂的条件检查。

如何解决Vue Axios跨域导致的&quot;Network Error&quot; 如何解决Vue Axios跨域导致的&quot;Network Error&quot; Apr 07, 2025 pm 10:27 PM

解决 Vue Axios 跨域问题的方法包括:服务器端配置 CORS 头使用 Axios 代理使用 JSONP使用 WebSocket使用 CORS 插件

apache怎么配置zend apache怎么配置zend Apr 13, 2025 pm 12:57 PM

如何在 Apache 中配置 Zend?在 Apache Web 服务器中配置 Zend Framework 的步骤如下:安装 Zend Framework 并解压到 Web 服务器目录中。创建 .htaccess 文件。创建 Zend 应用程序目录并添加 index.php 文件。配置 Zend 应用程序(application.ini)。重新启动 Apache Web 服务器。

c#多线程的好处有哪些 c#多线程的好处有哪些 Apr 03, 2025 pm 02:51 PM

多线程的好处在于能提升性能和资源利用率,尤其适用于处理大量数据或执行耗时操作。它允许同时执行多个任务,提高效率。然而,线程过多会导致性能下降,因此需要根据 CPU 核心数和任务特性谨慎选择线程数。另外,多线程编程涉及死锁和竞态条件等挑战,需要使用同步机制解决,需要具备扎实的并发编程知识,权衡利弊并谨慎使用。

无法以 root 身份登录 mysql 无法以 root 身份登录 mysql Apr 08, 2025 pm 04:54 PM

无法以 root 身份登录 MySQL 的原因主要在于权限问题、配置文件错误、密码不符、socket 文件问题或防火墙拦截。解决方法包括:检查配置文件中 bind-address 参数是否正确配置。查看 root 用户权限是否被修改或删除,并进行重置。验证密码是否准确无误,包括大小写和特殊字符。检查 socket 文件权限设置和路径。检查防火墙是否阻止了 MySQL 服务器的连接。

如何在Debian上监控Nginx SSL性能 如何在Debian上监控Nginx SSL性能 Apr 12, 2025 pm 10:18 PM

本文介绍如何在Debian系统上有效监控Nginx服务器的SSL性能。我们将使用NginxExporter将Nginx状态数据导出到Prometheus,再通过Grafana进行可视化展示。第一步:配置Nginx首先,我们需要在Nginx配置文件中启用stub_status模块来获取Nginx的状态信息。在你的Nginx配置文件(通常位于/etc/nginx/nginx.conf或其包含文件中)中添加以下代码段:location/nginx_status{stub_status

phpmyadmin漏洞汇总 phpmyadmin漏洞汇总 Apr 10, 2025 pm 10:24 PM

PHPMyAdmin安全防御策略的关键在于:1. 使用最新版PHPMyAdmin及定期更新PHP和MySQL;2. 严格控制访问权限,使用.htaccess或Web服务器访问控制;3. 启用强密码和双因素认证;4. 定期备份数据库;5. 仔细检查配置文件,避免暴露敏感信息;6. 使用Web应用防火墙(WAF);7. 进行安全审计。 这些措施能够有效降低PHPMyAdmin因配置不当、版本过旧或环境安全隐患导致的安全风险,保障数据库安全。

使用DICR/YII2-Google将Google API集成在YII2中 使用DICR/YII2-Google将Google API集成在YII2中 Apr 18, 2025 am 11:54 AM

vProcesserazrabotkiveb被固定,мнелостольностьстьс粹馏标д都LeavallySumballanceFriablanceFaumDoptoMatification,Čtookazalovnetakprosto,kakaožidal.posenesko

See all articles