分类及标记
1 marking
(1)cos
(2)mpls exp=ipp
(3)fr de
(4)dscp
AF :保证转发
AF11 AF12 AF13---------1
AF21 AF22 AF23---------2
AF31 AF32 AF33---------3
AF41 AF42 AF43---------4
EF: 马上转发 ----------5
default:
每个 IP 优先级就代表 82 位的 DSCP
(5)ipp
2 )信任边界
3 NBAR
1 PDLM
R1(config-if)#ip nbar protocol-discovery       启用 NBAR ,发现简单的协议
2 )使用新增的 PDLM 文件
R2#format disk0:
通过 TFTP 软件下载 BT 文件,再启用就可以使用
R2#sh ip nbar protocol-discovery  
队列
1 )队列作用:拥塞管理
2 )拥塞场景:速率不匹配、汇聚
3 )队列的类型:
1 )硬件队列:
R1#sh controllers s1/0
 tx_limited=1(2)
R1(config-if)#tx-ring-limit 10
越长:软件队列没有意义
越短:很多中断
算法: FIFO
2 )软件队列: FIFO WFQ PQ CQ CBWFQ LLQ
每种队列技术要掌握:
1 、分类
2 、加队及丢弃
3 、调度
 
1 FIFO
1 )分类:不用分类
2 )加队: FCFS 丢弃: taildrop
3 )调度: FCFS
>2M 默认就是使用 FIFO
sh int f0/0
  Queueing strategy: fifo
 Output queue: 0/40 (size/max)
R1(config-if)#hold-queue 120 out
优点:简单,易实现
缺点:没有区分的服务
 
2 PQ 优先级队列
1 )分类: ACL
2 )加队:匹配不同数据放到不同队列 丢弃: taildrop
3 )调度:高 正常
严格按照高 --> --> 正常 ---> 低,当传完其中一个队列,发现更高队列有数据,会回去调高队列
R1(config)#priority-list 1 ?
 protocol     协议
 queue-limit  队列数
R1(config)#access-list 101 permit icmp any any
R1(config)#priority-list 1 protocol ip low list 101
R1(config)#priority-list 1 protocol ip high tcp 23
R1(config-if)#priority-group 1
R1#debug priority
sh int s1/0
 Queueing strategy: priority-list 1
 Output queue (queue priority: size/max/drops):
     high: 0/20/0, medium: 0/40/0, normal: 0/60/0, low: 0/80/0
R1(config)#priority-list 1 queue-limit 22 44 66 88
优点:严格保证高优先数据
缺点:带宽 饿死
 
3 CQ 定制队列
1 )每个队列转发一定量的数据,跳到下一个队列
2 )分类: ACL
3 )加队及丢弃:  taildrop
4 )调度:每个队列转发 1500byte ,转发下 1 个队列的数据
R1(config)#queue-list 1 ?
 lowest-custom 
 protocol     
 queue         
R1(config)#queue-list 1 protocol ip 2 tcp 23
R1(config)#queue-list 1 protocol ip 4 list 101
R1(config-if)#no priority-group 1
R1(config-if)#custom-queue-list 1
R1#debug custom-queue
R1(config)#queue-list 1 queue 2 byte-count 3000
R1(config)#queue-list 1 queue 4 limit 100
R1(config)#queue-list 1 lowest-custom 2
优点:相对公平
缺点:一个轮回可能 delay 比较大
 
4 WFQ--->FB-WFQ
            CB-WFQ
分类:自动分类
       源目 IP+port+ 协议号 +TOS---->hash---> 不同值进不同的队列
        默认有 256 队列,我们可以配置到 4096 个队列
加队及丢弃:
CDT :拥塞丢弃阀值
HQO :队列最大值
new  >hqo                            drop
           >cdt     要的是最长队列    drop
           >cdt     不是加最长队列    drop 最长 自己加队
           <cdt                    加队
调度: 计算蕞小 finish time= 真实包大小 /( 优先级 +1
配置:
R1#sh int s1/0
  Queueing strategy: weighted fair
 Output queue: 0/1000/64/0 (size/max total/threshold/drops)
     Conversations 0/1/256 (active/max active/max total)
     Reserved Conversations 0/0 (allocated/max allocated)
     Available Bandwidth 1158 kilobits/sec
R1(config-if)#hold-queue 1200 out  修改 HQO
R1(config-if)#fair-queue 66 修改 CDT 512 队列数 5 保留给 RSVP
 fair-queue 64 256 37
 ip rsvp bandwidth 启用这条命令自动为 RSVP 保留 37 个队列
优点:配置简单
缺点:不能手工分类,导致可能会有多种流去抢一个带宽
 
5 LLQ==PQ+WFQ
1 )有限制保留带宽 ----> 针对语音应用
2 配置
R1(config-if)#ip rtp priority 16384 16383 50
偶数端口号一般是控制数据,而奇数端口为流量
优点:可以保证最低带宽和低 delay
 
6 CBWFQ
凡是 CB 都可以按 MQC 方法来配置
class-map ---->policy-map---->service-policy
分类:手工
加队及丢弃:默认有 65 个队列,丢弃也是采用 taildrop
调度: bd---> 多少字节数
配置
Router(config)#class-map voip
Router(config)#class-map www
 
Router(config)#policy-map a
Router(config-pmap)#class voip
Router(config-pmap-c)# bandwidth per 50
Router(config-pmap)#class www
Router(config-pmap-c)#band per 30
Router(config-pmap)#class class-default
Router(config-pmap-c)#bandwidth per 20
 
Router(config-if)#service-policy output a
I/f Serial1/0 class www requested bandwidth 30%, available only 25%      // 要开启所有的
Router(config-if)#max-reserved-bandwidth 100
Router(config-if)#service-policy output a  
Router#sh policy-map int s1/0       验证结果
优点 最低带宽保证技术
缺点 对语音流量会有 delay 过大的问题
 
7 CBLLQ
保证带宽及 delay
LLQ CBWFQ 中一个特殊队列,有限制的 PQ
分类: class-map
加队及丢弃
调度:
Router(config)#policy-map a
Router(config-pmap)#class voip
Router(config-pmap-c)# priority per 50
 
拥塞避免(丢弃技术)
1 taildrop
队列满了后来就丢弃
缺点:对于 TCP 流量 TCP 窗口震荡
2 RED
快满之前随便丢弃
解决 taildrop 窗口震荡的问题
缺点:可能会把重要的包丢弃
3 WRED
快满之前有选择丢弃
解决重要的包被丢的问题
配置:
Router(config-if)#random-detect          启用 WRED
Router#sh queueing random-detect
Router(config-if)#random-detect flow UDP     流量启用 WRED
Router(config-if)#random-detect dscp-based       启用基于 DSCP 值来丢弃
 
1 、为什么要×××和管制
1 )速度不匹配
2 过载
----------> 限速
2 shaping policing 区别
shaping: 对超额的流量进行缓存。仅用于出口
policing 对超额的流量进行丢弃 可以应用到入口和出口
shaping 队列 ---> 软件队列 ----> 硬件队列
3 、术语
1 BC 正常突发量     byte
2 CIR 承诺信息速度 bps
3 AR  访问速率
4 BE  超额突发流量
5 TC 125ms
4 shaping--GTS
1
Router(config-if)#traffic-shape rate 64000
Router#sh traffic-shape
Interface   Se1/0
       Access Target    Byte   Sustain   Excess    Interval Increment Adapt
VC     List   Rate      Limit bits/int bits/int (ms)      (bytes)  
Active
-             64000     2000   8000      8000      125       1000      -  
              cir       bc+be bc         be        tc        bc  
2 )也可以针对某种流量限速 , 使用 ACL 定义流量
3 GTS over FR
FECN: 在去往目标路径上由 FRSW 打上
BECN 在返回源路径上由 FRSW 打上
DE :合法丢弃位,用于匹配数据
interface Serial1/0
 encapsulation frame-relay
 traffic-shape rate 128000 7936 7936 1000
以上是针对 TCP 流量有 ACK 才可以设置 BECN ,但 UDP 流量没有 ACK ,但可以在接收方设置
让接收方接收到 FECN 置位的数据,回送一个 Q922 测试帧,
 traffic-shape fecn-adapt
Router(config-if)#traffic-shape adaptive 32000
当收到 BECN ,最多降到 3200 ,默认降到 3/4
5 shaping--FRTS
1 主要功能 针对 VC TS
2 配置
(1)R2(config-if)#frame-relay traffic-shaping   启用 FRTS
R2#sh traffic-shape
Interface   Se1/0
       Access Target    Byte   Sustain   Excess    Interval Increment Adapt
VC     List   Rate      Limit bits/int bits/int (ms)      (bytes)  
Active
203           56000     875    7000      0         125       875       -  
(2)
R2(config)#map-class frame-relay frts
R2(config-map-class)#frame-relay traffic-rate 64000  全局定义
R2(config-if)#frame-relay interface-dlci 203
R2(config-fr-dlci)# class frts   VC 下调用
R2#sh traffic-shape
(3)
Interface   Se1/0
       Access Target    Byte   Sustain   Excess    Interval Increment Adapt
VC     List   Rate      Limit bits/int bits/int (ms)      (bytes)  
Active
203           64000     1000   64000     0         125       1000      - 
R2(config-map-class)#frame-relay adaptive-shaping becn
R2#sh traffic-shape
Interface   Se1/0
       Access Target    Byte   Sustain   Excess    Interval Increment Adapt
VC     List   Rate      Limit bits/int bits/int (ms)      (bytes)  
Active
203           64000     1000  64000     0         125       1000      BECN
R2(config-map-class)#frame-relay mincir 32000
(4)
FRTS shaping 队列可以是 PQ/CQ/WFQ
软件队列  Queueing strategy: fifo
6 shaping--CB-Shaping
使用 MQC class-map--->policy-map--->service policy
class-map match-all frts
policy-map frts
 class frts
   shape average 64000 CIR 速率
   shape adaptive 32000 不能降到这个速率之下
   shape fecn-adapt     启用发送 Q922 测试
R3(config-if)#service-policy output frts
R3#sh policy-map int s1/1
切记 不要用 R3#sh traffic-shape
凡是使用 MQC 配置 都是使用 sh policy-map 来查看效果
7 policy--->CAR
 rate-limit input 64000 8000 8000 conform-action transmit exceed-action drop
                   cir bc    be
正常突发流量 转发
超额突发流量 drop
8 policy--->CB-Policing
R3(config)#class-map policy
R3(config-cmap)#exi
R3(config)#policy-map policy
R3(config-pmap)#class policy
R3(config-pmap-c)#police 64000 8000 8000 conform-action transmit ex drop
R3#show policy-map int f0/0
 
***********************
R3(config-if)#$input 64000 8000 8000 conform-action transmit exceed-action ?
 continue                          scan other rate limits