分类及标记
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