设为首页 收藏本站
查看: 1387|回复: 0

[经验分享] cisco的CAR--流量桶

[复制链接]

尚未签到

发表于 2018-7-10 09:40:25 | 显示全部楼层 |阅读模式
marking:  1.定义class-map.
  class-map [match-all/match-any] {map-name}
  默认不打的话是match-all
  2.定义匹配命令match
  match access-group {NO}
  match input-interface {interface}

  match>  match source-address {mac-address}           源mac地址
  match destination-address {mac-address}      目的mac地址
  match vlan {vlan-ID}
  match ip dscp {DSCP}
  match ip precedencc {precedence}
  match protocol {protocol}                    基于NBAR

  Router(config)>  Router(config-cmap)#match ?
  access-group             Access group
  any                      Any packets

  >
  cos                      IEEE 802.1Q/ISL>  destination-address      Destination address
  input-interface          Select an input interface to match
  ip                       IP specific values
  mpls                     Multi Protocol Label Switching specific values
  not                      Negate this match result
  protocol                 Protocol
  qos-group                Qos-group
  source-address           Source address
  3.设置policy-map
  policy-map {policy-name}
  4.调用class-map
  class-map {map-name}
  5.设置标记
  set ip dscp {DSCP}
  set ip precedence {PRECEDENCE}
  set cos {COS}
  priority {Kbps|percent PERCENT} [bc]       定义优先级流量的带宽以及突发流量
  bandwidth {Kbps|percent PERCENT}           定义保留带宽
  random-detect                              启用WRED
  police {CIR BC BE} conform-action {action} exceed-action {action} [violated-action {action}]     使用令牌桶限速
  queue-limit {PACKETS}                      定义队列中数据报的最大个数
  service-policy {policy-name}               调用其它的策略进行嵌套
  shape {average|peak} {CIR [BC] [BE]}       整形
  drop
  6.在接口模式下调用policy-map
  service-policy [input|ouput] {POLICY-NAME}
  察看命令:
  show policy-map [policy-name]
  show policy-map interface [INTERFACE]

  show>  show ip nbar pdlm
  show ip nbar port-map        显示NBAR使用的协议到端口的映射
  NBAR应用:
  使用限制:
  1.快速以太网信道
  2.隧道接口或加密的接口
  3.SVI(交换虚拟接口)
  4.拨号接口
  5.多链路PPP(MLP)
  使用前先要敲命令:ip cef
  class-map {name}
  match protocol ...
  ip nbar pdlm flash://bittorrent.pdlm     加载bittorrent.pdlm 到路由器闪存里(事先要把pdlm复制到flash中)
  match procotol http url "*.jpeg|*.jpg" (匹配url中带有jpeg和jpg的连接)
  match procotol http url "*.gif" (匹配url中有gif的连接)
  拥塞管理
  WFQ:
  特点:
  1.基于流(5元素)分类,队列数N可以配置
  2.出队后按IP优先级来分配带宽,优先级越低则带宽越小
  3.在其它队列空闲时抢占它们的带宽,又有流量时归还带宽
  4.是低于2.048Mbps串行接口的默认配置
  配置命令:
  接口模式下fair-queue
  show queueing fair
  show queue [interface]
  PQ:
  缺点:1.只能静态配置,不能适应网络拓扑的变化2.不支持隧道接口3.要通过数据分类卡,比FIFO慢
  配置:
  1.定义优先级队列,可以基于协议和基于进站接口
  基于协议poriority-list {list-number} protocol {PROTOCOL-NAME} {high|medium|normal|low}
  基于进站接口poriority-list {list-number} interface {interface} {high|medium|normal|low}
  2.定义默认优先级队列,未被分类的数据报被送到此处,默认级别为normal
  priority-list {list-number} default {high|medium|normal|low}
  3.定义每个队列中数据报的个数,从高到低,默认为20,40,60,80
  priority-list {list-number} queue-limit {high-limit medium-limit normal-limit low-limit}
  4.把优先级队列运用在接口上
  priority-group {list-number}
  察看命令:
  show queue [interface]
  show queueing priority
  RTP(Real Time Protocol)
  支持端口号为偶数的udp报文
  可以进行限速,超过的可丢弃,也可以配置带宽,不会占用超出规定的带宽
  命令:
  ip rtp priority {starting-rtp-port-number port-number-range} {bandwidth}
  max-reserved-bandwidth PERCENT
  show queue [interface]
  debug priority
  CRTP(压缩实时协议): 用来压缩ip/udp/rtp报头
  压缩分为三种:链路压缩,有效负载压缩,报头压缩
  二层报头--tcp/ip报头--有效负载
  1.链路压缩:对整个分组进行压缩,包括报头和有效负载。独立于协议的。只适用于点到点链路。两种算法:Predictor和STAC
  2.有效负载压缩:只压缩数据部分,对报头没有影响。适用于frame-relay或ATM网络。
  3.tcp/ip报头压缩:针对协议的,适用于几个字节数据的小型分组。
  配置:
  对HDLC,LAPB: compress [predictor|stac|mppc]
  对ppp: ip compress [predictor|stac]
  对frame-relay点到点接口或子接口启用stac压缩: frame-relay payload-compress
  启用crtp:
  1. ip rtp header-compression [passive]
  若不启用passive,则对所有RTP数据流压缩;若启用passive,则只有当进入端口的RTP分组被压缩时,软件才能对离开该接口的RTP分组压缩
  2. ip rtp compression-connections {NUMBER}
  更改CRTP压缩的条数,默认为16条
  3. 启用tcp报头压缩: ip tcp header-compression [passive]     若没有启用passive, 则必须指定关键字active,将对所有IP/UDP/RTP包头进行压缩
  ip tcp compression-connections {NUMBER}
  frame-relay中的 crtp:
  在物理接口上启用CRTP,则在它的子接口上将继承特性
  frame-relay ip rtp header-compression [passive]
  frame-relay ip rtp compression-connections {NUMBER}
  只针对特定的PVC启用CRTP:
  frame-relay map ip {ip-address} {dlci} [broadcast] rtp header-compression [active|passive] [connections number]
  察看命令:
  show ip rtp header-compression [interface] [detail]
  show frame-relay ip rtp header-compression [interface]
  WRR(weighted round-robin)
  一种队列调度机制,根据每个出站队列的权值来分配带宽,权值与带宽成正比。
  仅当发生拥塞时才会使用WRR,不拥塞时不会分配带宽。
  步骤:
  1.全局启用mls qos
  2.进入接口模式
  3.通过COS将数据报分配到不同的队列中去。
  wrr-queue cos-map QUEUE-ID THROSHOLD COS1... COSn     它用于配置cos值到出站队列的映射关系。
  对队列进行编号时,从低优先级开始,到严格优先级结束。
  配置严格优先级队列:wrr-queue priority-queue
  4.配置WRR队列的权重
  wrr-queue bandwidth WEIGHT1 WEIGHT2 WEIGHT3 WEIGHT4
  计算每个队列的方法是:
  example:wrr-queue bandwith 1 2 3 4
  则带宽: 队列1:权重1/总权重=1/10
  5.定义传输队列长度的比例,取值为1-100%
  wrr-queue queue-limit LOW-PRIORITY-QUEUE-WEIGHT MEDIUM-PRIORITY-QUEUE-WEIGHTS HIGH-PRIORITY-QUEUE-WEIGHTS
  高优先级队列因为延时小,数据量小,所以不需要太大的缓存区。往往将大部分缓冲区用于低优先级队列。
  拥塞避免
  1.尾丢弃
  对所有通信流平等对待,将导致TCP全局同步
  wrr-queue threshold QUEUE-ID THR1% 100%         THR1%是开始丢弃通信流时输出队列的填满程度,后面一个是100%是尾丢弃
  2.WRED
  WRED与RED的区别在于前者引入IP优先权DSCP值来区别丢弃策略,可以为不同IP优先级DSCP设定不同的队列长度、队列阈值、丢弃概率。并且RED只对TCP流量有用
  通过对队列数据流传输速度的平均值计算来决定是否丢弃,防止了对突发流量的不公平待遇。
  WRED和LLQ矛盾
  WRED往往和WRR一起使用。
  WRED可以在接口上进行配置,也可以在policy上进行配置,可以针对于precedence进行RED,也可以针对于DSCP值进行RED,当然,两者之间只能选择一个。
  (1)基于DSCP
  random-detect dscp-based
  random-detect dscp {DSCP} {min max mark}
  (2)基于ip precedence
  random-detect
  random-detect precedence {PRECEDENCE} {min max mark}
  WRED与WRR连用:
  wrr-queue random-detect min-throshold QUEUE-ID THR1% [THR2% [THR3% ...]]
  wrr-queue random-detect max-throshold QUEUE-ID THR1% [THR2% [THR3% ...]]
  min-throshold表示开始丢弃某些数据包时的最大填满程度
  max-throshold表示丢弃所有数据包时的最大填满程度
  example:
  int G1/1
  wrr-queue bandwidth 50 75
  wrr-queue queue-limit 100 50
  wrr-queue random-detect min-throshold 1 50 70
  wrr-queue random-detect max-throshold 1 75 100
  wrr-queue cos-map 1 1 0 2
  wrr-queue cos-map 1 2 3
  wrr-queue cos-map 2 1 4
  wrr-queue cos-map 2 2 6
  priority-queue cos-map 1 1 5 7
  rcv-queue cos-map 1 1 0
  switchport
  解释:共有两个队列。当队列1的填满程度达到50%和70%时,交换机分别对映射到闸值1和闸值2的数据包进行WRED(即开始丢弃),当队列1的填满程度达到75%和100%时,交换机分别对映射到闸值1和闸值2的数据包全部丢弃。注意:队列2没有采取WRED。
  基于流的WRED(WRED和WFQ结合起来使用)
  小的流丢弃的概率小,大的流丢弃的概率大,保护小的流。
  命令:
  1.启用基于流的WRED。
  random-detect flow
  2.设置平均深度因素(average depth factor)的值,值必须为2的幂,默认值为4.可选:
  random-detect flow average-depth-factor {scaling-factor} 这个参数是改变一个乘法的比例因数.从而改变队列的大小,其实就是改变队列的长度。
  3.设置基于流的WRED 的数据流数目,默认值为256
  random-detect flow count {number}
  流量策略
  qos的流程:1.基于流或基于类的分类;2.结合令牌桶进行policing或shaping(CAR或GTS);3.拥塞避免(尾丢弃或WRED);4.拥塞管理(各种队列机制);5.出队。
  标记在什么地方进行??(标记可以在进行CAR的时候进行,CAR也可以进行重新标记)
  CAR(Committed Access Rate)
  CAR通过使用令牌桶TC来进行流量控制。分类后,不需要流控的流量直接继续发送,而需要进行流控的流量就要经过令牌桶。只有当令牌桶中有令牌时,相应的流量才能通过。若没有足够的令牌,要么流量被直接丢弃(policing),要么缓存起来(shaping),等有了足够的令牌后再发送出去。
  CAR还可以用来做mark或remark(即可以用来设置ip优先级或重新设置ip优先级)
  CAR可以为不同类别的报文设置不同的流量特性和标记特性,即可以对每个类进行CAR。CAR的策略还可以串联处理,比如先对总的流量进行一次限速,然后再对各个类进行小范围的限速。
  CAR一般用在网络边界路由器上。可以在一个接口上设置多个CAR策略,数据包依次和多个CAR策略匹配,若没有匹配的,则默认操作时转发数据包。
  CAR的使用有以下限制:1.只能对IP流量限速;2.不支持fast EtherChannel;3.不支持隧道接口;4.不支持ISDN PRI接口。
  命令:
  rate-limit {output|input} {CIR BC BE} conform-action {action} exceed-action {action}
  注意:CIR单位是bit/s;而BC和BE的单位是byte/s。
  conform-action的条件是指当要发的数据小于正常突发(bc)的时候。exceed-action是指要发的数据大于普通突发,小于最大突发(be)的时候。
  action的选项共有如下这些:
  continue                           继续执行下一条CAR语句
  drop                               丢弃数据包
  tranmsit                            转发数据包
  set-prec-continue {precedence}     设置IP优先级并继续执行下一条CAR语句
  set-prec-transmit {precedence}      设置IP优先级并转发数据包
  set-dscp-continue {dscp}           设置dscp值并继续执行下一条CAR语句
  set-dscp-transmit {dscp}            设置dscp值并转发数据包
  上面都是只能基于整个接口的流量进行CAR,下面的可以分别针对某个流量或ip precedence或dscp值或MAC地址进行CAR
  扩展的配置
  1.针对dscp值进行CAR
  rate-limit {output|input} [dscp DSCP] {CAR BC BE} conform-action {action} exceed-action {action}
  2.针对ACL进行CAR
  rate-limit {output|input} access-group {ACL NUM} {CAR BC BE} conform-action {action} exceed-action {action}
  3.针对限速ACL进行CAR
  rate-limit {output|input} access-group rate-limit {ACL NUM} {CAR BC BE} conform-action {action} exceed-action {action}
  限速ACL只是一种调用关系:access-list rate-limit {ACL NUM} {precedence|mac-address}     可以匹配优先级,也可以匹配MAC地址
  察看命令:
  1.查看限速ACL:show access-lists rate-limit [ACL]
  2.查看接口的限速信息:show interfaces [interface] rate-limit
  policy map中CAR操作
  police {CIR BC BE} conform-action {action} exceed-action {acion} violated-action {acion}
  action的选项同上。
  流量整形(shaping)
  通常通过缓冲区和令牌桶来完成,当报文的发送速度过快时,首先在缓冲区进行缓存,在令牌桶的控制下再均匀地发送这些被缓冲的报文。
  采用的技术为GTS(通用流量整形)。
  GTS与CAR的主要区别在于:利用CAR进行报文流量控制时对不符合流量特性的报文进行丢弃,而GTS对于不符合流量特性的报文则是进行缓冲,减少了报文的丢弃,同时满足报文的流量特性。
  若报文不需要进行GTS,则不经过令牌桶的处理直接发送。
  当因为缺乏足够的令牌而采用GTS后,GTS按一定的周期从队列中取出报文进行发送。每次发送都会与令牌桶中的令牌数作比较。直到令牌桶中的令牌数减少到队列中的报文不能再发送或是队列中的报文全部发送完毕为止。
  一般在路由器的出口进行shaping,入口进行policing。
  命令:
  1.基本的GTS:traffic-shape rate {CIR BC BE}
  2.基于ACL的GTS: traffic-shape group {ACL} {CIR BC BE}
  察看:
  1.查看GTS 的配置信息:show traffic-shape [interface]
  2.查看GTS 的统计信息:show traffic-shape statistics [interface]

  GTS在Frame>  1.在接口上启用GTS:
  traffic-shape rate {CIR [Bc [Be]]}
  2.当接口收到向后显性拥塞通知(BECN)时,估算流量速率的最低值:
  traffic-shape adaptive {CIR}
  3.以向前显性拥塞通知(FECN)做为BECN 的响应.可选:
  traffic-shape fecn-adapt
  GTS在policy map上的实现
  GTS还可以定义平均值和峰值的流量整形,并且可以在配置GTS 的时候采用CBWFQ。
  配置基于分类的流量整形的步骤如下:
  1.定义平均值和峰值的CIR,Bc 和Be:
  (config-pmap-c)#shape {average|peak} {CIR [Bc] [Be]}     average指的是平均值,peak说得是峰值
  2.定义缓冲区上限,默认值为1000.可选:
  (config-pmap-c)#shape max-buffers {number-of-buffers}
  3.在策略上应用CBWFQ。可选:
  (config-if)#service-policy output {policy-name}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-535759-1-1.html 上篇帖子: Cisco IOS Unicast NAT 工作原理 [二] 下篇帖子: cisco DHCP 技术
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表