session 1 限速技术的两种类型
一、管制policing(限速)和整形shaping
在限速技术中,管制和整形是两种方案。与队列技术不同,这两种技术是分开的不是相辅相成的,没有关系的两种解决方案,两种策略而已,并且根据不同的情况只能有一种策略被执行,所以这两种技术也被分开叫管制和整形,不像拥塞管理和拥塞避免都统称为队列技术。限速这个说法是在早期的cisco中的叫法,当时的限速只能基于接口来做,而不能基于类CB来做,所以叫做限速,IOS12.2以后的版本可以基于类来做了,已经不叫限速了,而是分成两个技术了,但是作用都是用来限制入站流量的速率的。
整形:对于出站流量,来源于更好的让对方接受(来源娱乐圈整容,更好的让大众接受)将不重要的数据包进行buff缓存(突发流量),会导致数据包延迟。当数据包超过buffBuff存储入战流量,当buff满了:也一样执行丢弃操作。
通用流量整形(Generic Traffic Shaping: GTS)
承诺访问速率(commit access rate:CAR)
使用范围:
1、管制,主要是用于isp和企业网的边界处,isp对于进入的流量进行QOS重新标记和速率限制,支持双向。
2、整形,主要是针对于企业site之间,用于星星网络结构中中心site与多分支site速率不匹配的时候进行流量整形使site之间的速率一致。只支持output方向。
管制是重在管理流量的速度和标记,而整形是重在通过放慢传输数据量达到两端传输速率一致

二、管制即流量限速技术,它使用令牌桶的概念来对于双向流量都可以起到限速作用,令牌桶的大小就是接口的buff缓存容量(可以修改),在流量管制policing中对流量所采用的动作根据令牌桶的数量不同而不同,在policing中最多可以分配出两个令牌桶,第一个令牌桶叫做BC用于承载超出定义速率的突发流量,第二个令牌桶叫BE用于承载超出BC桶的流量。
管制policing中的参数
BC:burst size 突发流量的大小
BE:exceed burst超出的流量
TC:time interval 时间间隔,1/8s,因为BC单位是bit而CIR单位是Byte,所以为了转换TC被设置1/8s
CIR:承诺速率,计算公式:BC/TC。指流量每秒的速率。BC=CIR*TC=CIR/8,cir=800,则bc应=1000
PIC: 最大速率
violate:违规的流量,be桶也容不下的流量

1、在policing中对流量有两种作用:
1.1、可以重新标记数据包的ipp或dscp值
1.2、对数据包进行丢弃处理,针对流量的速率进行限制,超出的流量进行丢弃PHB的动作

三、policing和shaping都是用到了接口的buff(令牌桶大小)来存储超出速率的数据流量,当buff被填满后根据指定的策略和令牌桶的数量进行动作,处理动作分为单令牌桶和双令牌桶,具体和配置有关:
1、对流量限制只配置了单令牌桶:数据量超过了令牌桶的大小。数据太大而不能进入buff的数据包会被drop
2、对流量限制只配置了双令牌通,数据量超过了第一个bc桶的大小时可以执行两种动作:
1)和单令牌桶一样drop
2)或者将超出第一个bc桶的流量放入第二个be桶,期间也可以修改数据包的ipp和dscp以及执行PHB,超出be桶的流量将被drop(对违规的流量只有drop选项并且不能修改)
管制中令牌桶的色是指对于超出设定速率的数据的动作,分别是符合条件的数据包conform、超出限额的数据包exceed、违反最大限额的数据包violate。

session 2 管制policing的配置
单令牌桶的双色配置:
R1(config)#class-map match-all http
R1(config-cmap)#match protocol http
R1(config-cmap)#exit

R1(config)#policy-map policing
R1(config-pmap)#class http
R1(config-pmap-c)#police cir 16000 bc 3000 conform-action transmit exceed-action transmit
使用管制设置入站http流量的速录为16000bit(2KB),用于突发流量的bc桶体积3KB,动作为没有超出bc桶大小的流量transmit(转发),超出bc桶大小的流量也transmit传输
R1(config-pmap-c)#exit
R1(config-pmap)#class class-default
R1(config-pmap-c)#police cir 8000 bc 1500 conform-action transmit exceed-action drop
使用管制设置入站其余流量的速录为8000bit(1KB),用于突发流量的bc桶体积1.5KB,动作为没有超出bc桶大小的流量transmit(转发),超出bc桶大小的流量drop丢弃
R1(config-pmap-c)#exit

R1(config)#interface f0/0
R1(config-if)#service-policy input policing 本次用在入站方向

双令牌桶的三色配置:
R1(config-pmap-c)#police cir 8000 bc 1500 be 1500 conform-action transmit exceed-action transmit violate-action drop
使用管制设置入站http流量的速录为8000bit(1KB)/s,用于突发流量的bc桶体积1.5KB,最大允许突发速率为16000bit/s,用于承载溢出bc桶流量的be桶的大小为1500Byte,动作为允许bc桶中的流量转发,超出bc桶大小的流量进入be桶允许transmit传输,超出be桶的违规流量将被drop

双令牌桶的三色配置+最大速率限制:
R1(config-pmap-c)#police cir 8000 bc 1500 pir 16000 be 1500 conform-action set-prec-transmit 3 exceed-action transmit violate-action drop
使用管制设置入站http流量的速录为8000bit(1KB)/s,用于突发流量的bc桶体积1.5KB,最大允许突发速率为16000bit/s,用于承载溢出bc桶流量的be桶的大小为1500Byte,动作为bc桶中的流量(也就是合法的能被转发出去的流量)将被重新标记其ipp为3并且转发,超出bc桶大小的流量进入be桶也transmit传输,超出be桶的违规流量将被drop

单令牌桶的数据包数量限制:
R1(config-pmap-c)#police rate 50 pps burst 30 packets conform-action transmit exceed-action drop
使用rate限制数据包数量,转发速率限制为50个包/s,允许突发流量bc为30个包,动作没有超出bc桶的流量转发,超出bc的流量被drop

双令牌桶的数据包数量限制:
R2(config-pmap-c)#police rate 10 pps burst 5 packets peak-rate 15 pps peak-burst 5 packets conform-action set-prec-transmit 3 exceed-action transmit violate-action drop
使用rate限制数据包数量,转发速率限制为10个包/s,允许突发流量bc为5个包,最大允许突发速率15个包/s,允许be桶的数据包为5个,动作没有超出bc桶的流量进入be桶转发,超出be桶的流量被drop

session 3 整形 shaping
整形与管制一样都是将超出速率的数据包放入buff内,但是整形相比管制要宽松许多,尽量的不丢包而是延迟转发,主要用于两端速率不匹配,又不能丢弃数据包时使用,将流量缓存至buff中,等待单位时间内链路空闲然后在转发buff内的数据包,从而降低丢包的几率,但是这样也会增加延迟,只适合做一些文件传输、下载等 ,而不适合语音和视频等对延迟敏感的流量。
shape整形的配置:
R1(config)#class-map match-all http
R1(config-cmap)#match protocol icmp
R1(config-cmap)#exit

R1(config)#policy-map shpe
R1(config-pmap-c)#bandwidth 256 给http流量分配256k带宽
R1(config-pmap-c)#shape average 40000 限制流量(整形为)平均速率CIR为40000bit/s=5KB/s
R1(config-pmap-c)#exit

R1(config)#interface f0/0
R1(config-if)#service-policy output shape 使用在接口出站ouput方向

补充参数:
R1(config-pmap-c)#shape peak 80000 限制流量(整形为)最大速率CIR为80000bit/s=10KB/s

R1(config-pmap-c)#shape average 40000 8000 8000
限制流量(整形为)平均速率CIR为40000bit/s=5KB/s,bc桶大小为8000bit,be桶大小为8000bit,官方建议bc和be使用默认值8000不建议修改!在ios中打?可以看到提示。

实验:使用policing管制来控制icmp流量,拓扑为R1连接R2,都是f0/0接口,在R1的f0/0接口out方向做policing,来管制R1去往R2的icmp流量,配置如下:
R1#show policy-map
Policy Map policing
Class icmp
Bandwidth 16 (kbps) Max Threshold 64 (packets) 给icmp分配了2KByte的带宽
police cir 8000 bc 1000 使用policing控制icmp流量速率为1Kbyte/s,允许突发流量为1000
conform-action set-prec-transmit 6 动作:超过bc容量的icmp流量被drop没有超过cir速率(bc容量)的转发并且重标记icmp的ipp为6,
exceed-action drop 超过bc容量的icmp流量被drop
Class class-default
Bandwidth 8 (kbps) Max Threshold 64 (packets)
Traffic Shaping
Average Rate Traffic Shaping 其余是所有流量我使用了shape整形
CIR 8000 (bps) Max. Buffers Limit 1000 (Packets) 速率限制为1Kbyte/s,缓存1000个数据包

   然后在接口f0/0的out方向上使用policy-map策略,然后分别用普通ping和1000byte的icmp去pingR2的环回接口2.2.2.2,在R1与R2之间抓包查看数据包是否能转发,能转发的icmp的ipp是多少

结果如下:
1、普通ping
R1#ping 2.2.2.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/18/20 ms

可以ping通,没有超过cir速率,并且icmp数据包的ipp被标记位6

2、使用大byte包ping
R1#ping
Protocol [ip]:
Target IP address: 2.2.2.2
Repeat count [5]:
Datagram size [100]: 1000
Timeout in seconds [2]:
Extended commands [n]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 5, 1000-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:

Success rate is 0 percent (0/5)
可以看到ping了5个1000byte的数据包已经超过了policing的cir速率了,被丢弃了。

R1#show policy-map interface f0/0
FastEthernet0/0
Service-policy output: policing
Class-map: icmp (match-all)
5 packets, 5070 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: protocol icmp
Queueing
Output Queue: Conversation 265
Bandwidth 16 (kbps)Max Threshold 64 (packets)
(pkts matched/bytes matched) 0/0
(depth/total drops/no-buffer drops) 0/0/0
police:
cir 8000 bps, bc 1000 bytes
conformed 0 packets, 0 bytes; actions:
set-prec-transmit 6
exceeded 5 packets, 5070 bytes; actions: 这里看到超出bc桶容量的5个icmp包的直接被drop了
drop 在没有设置be桶的时候exceeded就对应的超出bc桶时候的执行策略drop
conformed 0 bps, exceed 0 bps
Class-map: class-default (match-any)
7 packets, 714 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: any
Queueing
Output Queue: Conversation 266
Bandwidth 8 (kbps)Max Threshold 64 (packets)
(pkts matched/bytes matched) 0/0
(depth/total drops/no-buffer drops) 0/0/0
Traffic Shaping
Target/Average Byte Sustain Excess Interval Increment
Rate Limit bits/int bits/int (ms) (bytes)
8000/8000 2000 8000 8000 1000 1000
Adapt Queue Packets Bytes Packets Bytes Shaping
Active Depth Delayed Delayed Active
- 0 7 714 0 0 no
抓包中看不到任何数据包,因为在R1的f0/0接口就被丢弃了,所以没有办法抓取到了。

session 4 在交换机上做QOS
在交换机上也可以做三层的QOS,前提是三层交换机(可以关闭三层功能no ip routing)
前提是要开启mls qos
xkyxbg2-3(config)#mls qos 开启QOS功能
xkyxbg2-3(config-ext-nacl)#permit ip host 172.17.17.243 any
xkyxbg2-3(config-ext-nacl)#exit

xkyxbg2-3(config)#class-map match-all x
xkyxbg2-3(config-cmap)#match access-group name net243
xkyxbg2-3(config-cmap)#exit

xkyxbg2-3(config)#policy-map x
xkyxbg2-3(config-pmap)#class x 对匹配class为x的流量限制
xkyxbg2-3(config-pmap-c)#police 16000 16000 exceed-action drop 限制进入流量2K,突发2K,超出丢弃
xkyxbg2-3(config-pmap)#class class-default 其余流量不限制
xkyxbg2-3(config-pmap)#exit

xkyxbg2-3(config)#interface f0/2
xkyxbg2-3(config-if)#service-policy input x
xkyxbg2-3(config-if)#exit
https://blog.csdn.net/weixin_34406086/article/details/93032454?utm_medium=distribute.pc_relevant_download.none-task-blog-baidujs-4.nonecase&depth_1-utm_source=distribute.pc_relevant_download.none-task-blog-baidujs-4.nonecase
https://blog.51cto.com/14157628/2396940
https://blog.csdn.net/fw0124/article/details/5837839?utm_source=blogxgwz8

shaper与policer相关推荐

  1. FD.io/VPP — QoS — Policer CLI

    目录 文章目录 目录 QoS Policer CLI 1. 创建 Policer(限速策略器) 2. 创建 Classify Table(流量分类表) 3. 查看 Classify Table(流量分 ...

  2. PDF Shaper Professional v11.3 全能PDF工具箱单文件版

    前言 PDF Shaper Professional 是一个强大的 PDF 编辑软件,它提供了一整套的 PDF 工具和实用程序,可以用来修改和优化您的 PDF 文档及其内容.使用 PDF Shaper ...

  3. PDF Shaper Pro v12.8 全能PDF工具箱中文版

    PDF Shaper 是一款实用的全能PDF工具箱!这款PDF转换器包含了很多非常实用的PDF工具,可以轻松的把 PDF 转成 Word,PDF 转图像,PDF 加密等等.它还可以合并,分割,加密和解 ...

  4. QOS流量监管与常见POLICER模型

    流量监管的作用: 流量监管的典型作用是限制进入某一网络的某一连接的流量与突发.在报文满足一定的条件时,如某个连接的报文流量过大,流量监管就可以对报文采取不同的处理动作.例如丢弃报文,或重新设置报文的优 ...

  5. 鼓式瞬态成型机 XLN Audio DS-10 Drum Shaper 1.0.5 WiN-MAC

    XLN Audio DS-10 Drum Shaper 1.0.5 WiN-MAC | 60M 鼓式瞬态成型机 XLN Audio在软件开发和鼓录制方面拥有10年的经验.所有这些专业知识已被精炼成功能 ...

  6. 为基于类的策略选择突发数据量和超额突发数据量

    什么是令牌桶 在我们讨论突发数据量之前,我们首先要理解令牌桶的概念.令牌桶本身没有丢弃和优先级策略, 令牌桶是这样工作的: 1. 令牌以一定的速率放入桶中. 2. 每个令牌允许源发送一定数量的比特. ...

  7. 网络工程师英语系列2(CISCO IP Telephony)

    CISCO IP Telephony The H.263 codec is more demanding of PC system resources, but it requires less ba ...

  8. 计网PPT 第八章 互联网上的音频和视频服务

    目录 1.概述 多媒体信息的特点 互联网是非等时的 在接收端设置缓存 缓存的影响 需要解决的问题 必须改造现有的互联网 互联网提供的音频/视频服务类型心 "边下载边播放"中的&qu ...

  9. 《Linux 高级路由与流量控制手册(2012)》第九章

    更多奇技淫巧欢迎订阅博客:https://fuckcloudnative.io 译者序 本文内容来自 Linux Advanced Routing & Traffic Control HOWT ...

最新文章

  1. 大数据谋定农业发展路径-丰收节贸易会:全球十大经典案例
  2. Go判断输出数据类型
  3. 哈佛大学计算机与科学,Harvard的CS「哈佛大学计算机科学专业」
  4. java回调使用小结
  5. 输入 3 个正数,判断能否构成一个三角形。
  6. 猿辅导的python课_每天自学俩小时Python,改变命运足矣
  7. 鸟哥Linux服务器-8
  8. Nginx源码阅读 ---- 模块的初始化过程,工作进程中初始化事件模块
  9. 用于应用开发的新数据可视化模板
  10. win10使用vnc远程树莓派
  11. matlab实现单极性,怎样用matlab画单极性非归零码传输码型示意图?请各位大虾赐教...
  12. 计算机网络(第7版) - 第五章 运输层 习题答案
  13. bmp怎样转成jpg?
  14. nn.Sigmoid torch
  15. Java---多线程入门
  16. 前端程序员未来如何发展?
  17. HFDS 常用命令 fsck 查看文件信息和block位置信息
  18. 通过nodejs搭建HTTP服务器
  19. 微信朋友圈投票刷票脚本实现分析
  20. RFID自助借还书的功能介绍

热门文章

  1. 国内那几家语音唤醒技术做的比较好? 语音唤醒技术哪家强?
  2. matlab 符号微积分
  3. 关于树莓派4B的屏幕输入信号源由HDMI变为AV2的处理方法
  4. 蓝桥杯—ALGO-131 Beaver's Calculator
  5. 计算机网络-超网聚合(子网合并)
  6. 工业相机概述-选型事项-生产厂家汇总
  7. 计算机二级文件名错误胶卷,第三章计算机环境安全..ppt
  8. luajit开发文档wiki中文版(四) LuaJIT 内部结构
  9. uoj#311. 【UNR #2】积劳成疾(期望dp)
  10. USB 协议 (五) 枚举