搜尋
首頁資料庫mysql教程Cisco committed access rate(CAR)承诺访问速率

一、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
MySQL與Sqlite有何不同?MySQL與Sqlite有何不同?Apr 24, 2025 am 12:12 AM

MySQL和SQLite的主要區別在於設計理念和使用場景:1.MySQL適用於大型應用和企業級解決方案,支持高性能和高並發;2.SQLite適合移動應用和桌面軟件,輕量級且易於嵌入。

MySQL中的索引是什麼?它們如何提高性能?MySQL中的索引是什麼?它們如何提高性能?Apr 24, 2025 am 12:09 AM

MySQL中的索引是數據庫表中一列或多列的有序結構,用於加速數據檢索。 1)索引通過減少掃描數據量提升查詢速度。 2)B-Tree索引利用平衡樹結構,適合範圍查詢和排序。 3)創建索引使用CREATEINDEX語句,如CREATEINDEXidx_customer_idONorders(customer_id)。 4)複合索引可優化多列查詢,如CREATEINDEXidx_customer_orderONorders(customer_id,order_date)。 5)使用EXPLAIN分析查詢計劃,避

說明如何使用MySQL中的交易來確保數據一致性。說明如何使用MySQL中的交易來確保數據一致性。Apr 24, 2025 am 12:09 AM

在MySQL中使用事務可以確保數據一致性。 1)通過STARTTRANSACTION開始事務,執行SQL操作後用COMMIT提交或ROLLBACK回滾。 2)使用SAVEPOINT可以設置保存點,允許部分回滾。 3)性能優化建議包括縮短事務時間、避免大規模查詢和合理使用隔離級別。

在哪些情況下,您可以選擇PostgreSQL而不是MySQL?在哪些情況下,您可以選擇PostgreSQL而不是MySQL?Apr 24, 2025 am 12:07 AM

選擇PostgreSQL而非MySQL的場景包括:1)需要復雜查詢和高級SQL功能,2)要求嚴格的數據完整性和ACID遵從性,3)需要高級空間功能,4)處理大數據集時需要高性能。 PostgreSQL在這些方面表現出色,適合需要復雜數據處理和高數據完整性的項目。

如何保護MySQL數據庫?如何保護MySQL數據庫?Apr 24, 2025 am 12:04 AM

MySQL數據庫的安全可以通過以下措施實現:1.用戶權限管理:通過CREATEUSER和GRANT命令嚴格控制訪問權限。 2.加密傳輸:配置SSL/TLS確保數據傳輸安全。 3.數據庫備份和恢復:使用mysqldump或mysqlpump定期備份數據。 4.高級安全策略:使用防火牆限制訪問,並啟用審計日誌記錄操作。 5.性能優化與最佳實踐:通過索引和查詢優化以及定期維護兼顧安全和性能。

您可以使用哪些工具來監視MySQL性能?您可以使用哪些工具來監視MySQL性能?Apr 23, 2025 am 12:21 AM

如何有效監控MySQL性能?使用mysqladmin、SHOWGLOBALSTATUS、PerconaMonitoringandManagement(PMM)和MySQLEnterpriseMonitor等工具。 1.使用mysqladmin查看連接數。 2.用SHOWGLOBALSTATUS查看查詢數。 3.PMM提供詳細性能數據和圖形化界面。 4.MySQLEnterpriseMonitor提供豐富的監控功能和報警機制。

MySQL與SQL Server有何不同?MySQL與SQL Server有何不同?Apr 23, 2025 am 12:20 AM

MySQL和SQLServer的区别在于:1)MySQL是开源的,适用于Web和嵌入式系统,2)SQLServer是微软的商业产品,适用于企业级应用。两者在存储引擎、性能优化和应用场景上有显著差异,选择时需考虑项目规模和未来扩展性。

在哪些情況下,您可以選擇SQL Server而不是MySQL?在哪些情況下,您可以選擇SQL Server而不是MySQL?Apr 23, 2025 am 12:20 AM

在需要高可用性、高級安全性和良好集成性的企業級應用場景下,應選擇SQLServer而不是MySQL。 1)SQLServer提供企業級功能,如高可用性和高級安全性。 2)它與微軟生態系統如VisualStudio和PowerBI緊密集成。 3)SQLServer在性能優化方面表現出色,支持內存優化表和列存儲索引。

See all articles

熱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

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)