1.服务质量中的基于策略的路由。
![](http://www.cublog.cn/u/18307/upfile/060818113302.jpg)
Qos-Quality of service
服务质量
* 流量分类 (traffic Classification )
-基于策略的路由(policy-based routing)
-承诺接入速率(committed access rate)
-基于类的加权公平队列(class-based weighted fair queuing)
* 拥塞管理
-加权公平队列(weighted fair queuing)
-优先级队列(priority queuing)
-自定义队列(custom queuing)
* 拥塞避免
加权早期随机监测(weighted random early detection)
服务质量
* 流量分类 (traffic Classification )
-基于策略的路由(policy-based routing)
-承诺接入速率(committed access rate)
-基于类的加权公平队列(class-based weighted fair queuing)
* 拥塞管理
-加权公平队列(weighted fair queuing)
-优先级队列(priority queuing)
-自定义队列(custom queuing)
* 拥塞避免
加权早期随机监测(weighted random early detection)
¥基于策略的路由(policy-based routing)
配置在接口上,包基于配置的策略进行路由。
配置步骤---
1.配置路由表来识别对哪些包进行策略路由:
配置在接口上,包基于配置的策略进行路由。
配置步骤---
1.配置路由表来识别对哪些包进行策略路由:
2.配置route-map 来分类或者给包定制路由策略。
TOS位级别与name对应关系。这个数就写在ip包头的tos位,这1byte能表示0-7这8个数。
![](http://www.cublog.cn/u/18307/upfile/060818113813.jpg)
critical 设置为火速优先级别 (5)
flash 设置为瞬间优先级别 (3)
flash-override 设置为超瞬间优先级别 (4)
immediate 设置为中等优先级别 (2)
internet 设置为互联网控制优先级别 (6)
network 设置为网络控制优先级 (7)
priority 设置为优先级别 (1)
routine 设置为尽力而为优先级别 (0)
flash 设置为瞬间优先级别 (3)
flash-override 设置为超瞬间优先级别 (4)
immediate 设置为中等优先级别 (2)
internet 设置为互联网控制优先级别 (6)
network 设置为网络控制优先级 (7)
priority 设置为优先级别 (1)
routine 设置为尽力而为优先级别 (0)
policy-based routing
configuration example:
access-li 1 per ip 135.1.9.1 //分别定义了两个acl
access-li 2 per ip 135.1.9.2
!
interface e0/0
ip policy route-map example //在e0/0接口应用名叫example的route-map
!
route-map example per 10 //开始定义名为example的route-map
match ip address 1 //匹配acl1的ip地址。
set ip precedence critical //设置ip 优先级为5(火速).
set ip default next-hop 135.1.20.3 //路由表里有那条路由就走路由表里写的下一跳,
! 如果路由表没有那么就以135.1.20.3为下一跳。
! 还有一个相关的“set ip next-hop 135.1.20.3"
! 这个则是如果135.1.20.3存在就直接把135.1.20.3转发包,
! 如果135.1.20.3不存在就按路由表进行路由。
route-map example per 20
match ip add 2 //匹配acl2的ip地址。
set ip precedence routine //设置ip 优先级为0(尽力而为)
set interface s0/0 //如果s0/0 up了就把包从s0/0转发,如果down了就按照路由表转发。
相关的还有"set default interface s0/0" 意思是只有当路由表里找不到
时从s0/0转发。
configuration example:
access-li 1 per ip 135.1.9.1 //分别定义了两个acl
access-li 2 per ip 135.1.9.2
!
interface e0/0
ip policy route-map example //在e0/0接口应用名叫example的route-map
!
route-map example per 10 //开始定义名为example的route-map
match ip address 1 //匹配acl1的ip地址。
set ip precedence critical //设置ip 优先级为5(火速).
set ip default next-hop 135.1.20.3 //路由表里有那条路由就走路由表里写的下一跳,
! 如果路由表没有那么就以135.1.20.3为下一跳。
! 还有一个相关的“set ip next-hop 135.1.20.3"
! 这个则是如果135.1.20.3存在就直接把135.1.20.3转发包,
! 如果135.1.20.3不存在就按路由表进行路由。
route-map example per 20
match ip add 2 //匹配acl2的ip地址。
set ip precedence routine //设置ip 优先级为0(尽力而为)
set interface s0/0 //如果s0/0 up了就把包从s0/0转发,如果down了就按照路由表转发。
相关的还有"set default interface s0/0" 意思是只有当路由表里找不到
时从s0/0转发。
*本路由器产生的包不会正常遵守策略路由,想开起本地策略路由需要在全局配置模式下敲一下命令:
ip local policy route-map 名
* 策略路由在Ios12.0以上的版本就可以用fast-switched这个命令来进行硬交换了,软路由每次转发数据包都要察看路由表,需要cpu运算的 每秒转发速率是1000,而 fast-switched(快速交换)运用cache,每秒转发速率10000.开启方法在接口上启用:
ip route-cache policy
*set default interface和set ip default next-hop这俩命令不支持。
ip local policy route-map 名
* 策略路由在Ios12.0以上的版本就可以用fast-switched这个命令来进行硬交换了,软路由每次转发数据包都要察看路由表,需要cpu运算的 每秒转发速率是1000,而 fast-switched(快速交换)运用cache,每秒转发速率10000.开启方法在接口上启用:
ip route-cache policy
*set default interface和set ip default next-hop这俩命令不支持。
Qos总结之二:承诺接入速率(Committed Access Rate )配置案例以及详解。
![](http://www.cublog.cn/u/18307/upfile/060818113409.jpg)
![](http://www.cublog.cn/u/18307/upfile/060818113441.jpg)
案例要求:
1.所有的www流量都得发出,而且web中遵从第一个速率侧策略的流量设置ip优先级为5,不遵从的就把ip
1.所有的www流量都得发出,而且web中遵从第一个速率侧策略的流量设置ip优先级为5,不遵从的就把ip
precedence设为0(尽力而为的传输)。
2.ftp流量遵从第二个速率策略的ip precedence设置为5,如果ftp超出速率策略就扔包。
3.其他剩余流量限制到8m,普通突发大小为16000byte,最大突发大小为24000byte;遵从策略的流量设
ip precedence为5,超出的流量扔包。
*
关于ip precedence,请参考上一篇:昨天晚上写的那个pbr.
*
条件和动作:
什么是遵从的条件?
我告诉你吧,当要发的数据小于正常突发(bc)的时候。
啥是最大条件乜?
要发的数据大于普通突发,小于最大突发(be)的时候
违章条件是?
要发的数据大于最大突发(be)的时候就算违章了。
动作:
丢弃/传输/标记且传输。
2.ftp流量遵从第二个速率策略的ip precedence设置为5,如果ftp超出速率策略就扔包。
3.其他剩余流量限制到8m,普通突发大小为16000byte,最大突发大小为24000byte;遵从策略的流量设
ip precedence为5,超出的流量扔包。
*
关于ip precedence,请参考上一篇:昨天晚上写的那个pbr.
*
条件和动作:
什么是遵从的条件?
我告诉你吧,当要发的数据小于正常突发(bc)的时候。
啥是最大条件乜?
要发的数据大于普通突发,小于最大突发(be)的时候
违章条件是?
要发的数据大于最大突发(be)的时候就算违章了。
动作:
丢弃/传输/标记且传输。
案例解决方案:
interface hssi0/0/0
desription 45mbps to r2 //这是一句描述,无配置意义。
rate-limit out put accees-group 101 200000000 24000 32000 conform-action set prec-transmit 5 exceed-action set-prec-transmit 0 //这句真tm长,刚开始接触的时候看见这么长一串东西还是郁闷了很长时间的。呵呵。output指输出流量。101是访问列表标号,200000000 是承诺接入速率,它的值是在8000-2000000000 bit每秒。24000是普通突发,它的值应在1000-512000000byte,32000是最大突发,其值范围为2000- 1024000000bytes.conform-action后面规定的是遵从条件时候的动作,exceed-action 后面规定的是超出时的动作。关于动作的细节,后面讲。
rate-limit output access-group 102 10000000 24000 32000 conform-action set-prec-tranmit 5 exceed-action drop
rate-limit output 8000000 16000 24000 conform-action set-prec-transmit 5 exceed-action drop
ip address 10.1.0.9 255.255.255.0
!
access-li 101 per tcp any any eq www
access-li 102 per tcp any any eq ftp
interface hssi0/0/0
desription 45mbps to r2 //这是一句描述,无配置意义。
rate-limit out put accees-group 101 200000000 24000 32000 conform-action set prec-transmit 5 exceed-action set-prec-transmit 0 //这句真tm长,刚开始接触的时候看见这么长一串东西还是郁闷了很长时间的。呵呵。output指输出流量。101是访问列表标号,200000000 是承诺接入速率,它的值是在8000-2000000000 bit每秒。24000是普通突发,它的值应在1000-512000000byte,32000是最大突发,其值范围为2000- 1024000000bytes.conform-action后面规定的是遵从条件时候的动作,exceed-action 后面规定的是超出时的动作。关于动作的细节,后面讲。
rate-limit output access-group 102 10000000 24000 32000 conform-action set-prec-tranmit 5 exceed-action drop
rate-limit output 8000000 16000 24000 conform-action set-prec-transmit 5 exceed-action drop
ip address 10.1.0.9 255.255.255.0
!
access-li 101 per tcp any any eq www
access-li 102 per tcp any any eq ftp
*校验以及排错
Router#
show interfaces hssi 0/0/0 rate-limit
所有动作:
continue 扫描察看其他的rate limits
drop 扔掉数据包
set dscp-continue # 设dscp,(也是一种类似ip precedence的优先级别)扫描察看其他的rate limits #代表0-63.
set dsc-transmit # 设dscp,发送包。#代表0-63。
set mpls-exp-continue # 设exp,继续 #代表0-7
set mpls-exp-transmit # 设exp,发送包。#代表0-7
set prec-continue # 重新写入优先级,继续。#代表0-7
set prec-transmit # 重新写入优先级,发送包。#代表0-7
set qos-continue # 设qos组,继续。#代表0-99
set qos-transmit # 设qos组,发送包。#代表0-99
transmit 发送包.
continue 扫描察看其他的rate limits
drop 扔掉数据包
set dscp-continue # 设dscp,(也是一种类似ip precedence的优先级别)扫描察看其他的rate limits #代表0-63.
set dsc-transmit # 设dscp,发送包。#代表0-63。
set mpls-exp-continue # 设exp,继续 #代表0-7
set mpls-exp-transmit # 设exp,发送包。#代表0-7
set prec-continue # 重新写入优先级,继续。#代表0-7
set prec-transmit # 重新写入优先级,发送包。#代表0-7
set qos-continue # 设qos组,继续。#代表0-99
set qos-transmit # 设qos组,发送包。#代表0-99
transmit 发送包.
qos系列专题之3
![](http://www.cublog.cn/u/18307/upfile/060818113538.jpg)
加权公平队列(weighted fair queuing)
wfq是cisco首要的队列技术,它一种基于流(flow)的队列算法,做两件事:它与留交互式流量给队列的前面来减少响应时间,另外还公平地在剩余的高带宽流之间的共享(share)带宽.
一个流(flow)可以理解为一个从源到目的的会话。它是配置在接口上的。
配置举例:
要求-
丢弃门限为100消息。
500个动态队列。
20 rsvp队列。
interface serial 0
fair-queue 100 500 20
//这3个数字分别为:丢弃门限,默认为64。动态队列默认为256。rsvp队列
wfq是cisco首要的队列技术,它一种基于流(flow)的队列算法,做两件事:它与留交互式流量给队列的前面来减少响应时间,另外还公平地在剩余的高带宽流之间的共享(share)带宽.
一个流(flow)可以理解为一个从源到目的的会话。它是配置在接口上的。
配置举例:
要求-
丢弃门限为100消息。
500个动态队列。
20 rsvp队列。
interface serial 0
fair-queue 100 500 20
//这3个数字分别为:丢弃门限,默认为64。动态队列默认为256。rsvp队列
默认为0
基于类的加权公平队列(class-based weighted fair queuing)
比wfq更加强大,流量(traffic)由用户定义的类(class)进行排队。一个队列包留给每个类。队列用于为丢弃或者wred(加权随机早期检测)。其他未分类的流量是基于流的。
配置cbwfq
¥步骤1-定义流量分类
全局配置模式下:
class-map uptmd //class-map的uptmd是名字。
class-map match-all uptmd //匹配“与”的关系。
class-map match-any uptmd //匹配“或”的关系。
基于类的加权公平队列(class-based weighted fair queuing)
比wfq更加强大,流量(traffic)由用户定义的类(class)进行排队。一个队列包留给每个类。队列用于为丢弃或者wred(加权随机早期检测)。其他未分类的流量是基于流的。
配置cbwfq
¥步骤1-定义流量分类
全局配置模式下:
class-map uptmd //class-map的uptmd是名字。
class-map match-all uptmd //匹配“与”的关系。
class-map match-any uptmd //匹配“或”的关系。
class-map match-any uptmd
match ? //在这打个问号可以得到帮
match ? //在这打个问号可以得到帮
助信息。就是可选择匹配的内容
access-group 访问控制列表组
any 任何,所有。
class-map 某个class map
cos ieee802.1q/isl 的服务类别
access-group 访问控制列表组
any 任何,所有。
class-map 某个class map
cos ieee802.1q/isl 的服务类别
(class of service)/优先级别值。
destination-address 目的mac地址。
input-interface 选择一个输入接口
destination-address 目的mac地址。
input-interface 选择一个输入接口
进行匹配。
ip 指定 ip,具体选项可以继续定义.
mpls 多协议标签交换指定的值
not 否定这个匹配结果
protocol 协议
qos-group qos组
source-address 源mac地址。
第一步全局配置举例:
class-map match-any uptmd
match protocol sqlnet
match protocol ipsec
match access-group 100
match ip precedence 4 5
!
class-map match-all freebeme
match access-group 101
match access-group 102
!
class-map panda
match access-group 103
//第一个class-map要求任意一个匹配条件。第二个class-map要求所有匹配条件。panda这个class-map就匹配那一条。
ip 指定 ip,具体选项可以继续定义.
mpls 多协议标签交换指定的值
not 否定这个匹配结果
protocol 协议
qos-group qos组
source-address 源mac地址。
第一步全局配置举例:
class-map match-any uptmd
match protocol sqlnet
match protocol ipsec
match access-group 100
match ip precedence 4 5
!
class-map match-all freebeme
match access-group 101
match access-group 102
!
class-map panda
match access-group 103
//第一个class-map要求任意一个匹配条件。第二个class-map要求所有匹配条件。panda这个class-map就匹配那一条。
¥ 第二步:定义策略。
全局配置模式下:
policy-map uptmd //policy-map的
全局配置模式下:
policy-map uptmd //policy-map的
uptmd是名字。
class class-map-name
class class-map-name
//class-map-name指刚才第一步中定
义的class-map的名字。
有以下可配置项目(policy-map下的子命令):
bandwidth kbit每秒或百分比。
queue-limit (1-512个包-用于尾丢弃)
random-detect (wred)
shape 令牌桶参数
police (car限速)
priority 优先级,低延迟队列(llq).
有以下可配置项目(policy-map下的子命令):
bandwidth kbit每秒或百分比。
queue-limit (1-512个包-用于尾丢弃)
random-detect (wred)
shape 令牌桶参数
police (car限速)
priority 优先级,低延迟队列(llq).
¥第三步,应用策略:
policy-map services
class god
bandwidth 6000
class silver
bandwidth 3000
class bronze
bandwidth 700
class class-default
bandwidth 200
!
interface ethernet 1/1
service-policy output services
policy-map services
class god
bandwidth 6000
class silver
bandwidth 3000
class bronze
bandwidth 700
class class-default
bandwidth 200
!
interface ethernet 1/1
service-policy output services
专题之四----
低延迟队列(LLQ)
,优先级队列(PQ),
自定义队列(CQ)
低延迟队列LOW LATENCY QUEUING,低延迟队列特性给基于类的加权公平队列带来绝对的优先级别队列。
例:
policy-map multiservice
class Voip
priority 240 //单位kb/s
优先级队列PRIORITY QUEUING ,优先级队列确保重要的流量在每个处理点得到最快的处理。它是为给重要流量
例:
policy-map multiservice
class Voip
priority 240 //单位kb/s
优先级队列PRIORITY QUEUING ,优先级队列确保重要的流量在每个处理点得到最快的处理。它是为给重要流量
![](http://www.cublog.cn/u/18307/upfile/060818113620.jpg)
设精确优先级用的。
-流量排队根据协议和可选端口号。
-流量被分为高,中,普通,低这四个优先级队列。
-高优先级别的流量会优先接受服务。(这有时候会导致优先级别低的流量迟迟得 不到服务。
-队列深度可以配置。
默认的队列深度给高,中,普通和低分别为20,40,60,和80。
例:
要求sna流量高优先级,www 的ip 流量低优先级别,其他流量中等优先级别,给sna流量设置队列深度为50消息
-流量排队根据协议和可选端口号。
-流量被分为高,中,普通,低这四个优先级队列。
-高优先级别的流量会优先接受服务。(这有时候会导致优先级别低的流量迟迟得 不到服务。
-队列深度可以配置。
默认的队列深度给高,中,普通和低分别为20,40,60,和80。
例:
要求sna流量高优先级,www 的ip 流量低优先级别,其他流量中等优先级别,给sna流量设置队列深度为50消息
。
interface serial 0 //在接口下应用队列
priority-group 1
priority-group 1
priority-list 1 protocol sna high //sna是高优先级
priority-list 1 protocol ip low tcp 80 //www是低优先级
priority-list 1 protocol ip medium //其他ip流量是中等优先级
priority-list 1 queue-limit 50 40 60 80 //高优先级队列,队列深度50。
priority-list 1 protocol ip low tcp 80 //www是低优先级
priority-list 1 protocol ip medium //其他ip流量是中等优先级
priority-list 1 queue-limit 50 40 60 80 //高优先级队列,队列深度50。
自定义队列
CUSTOM QUEUING :
![](http://www.cublog.cn/u/18307/upfile/060818113656.jpg)
-流量排队也是根据协议和可选端口号。
-流量被放入用户定义的队列。
-每个队列中流量的服务是基于字节数目和队列深度。
一旦一个队列的字节数目超过限制,下一个队列接受服务。
-队列字节数目限制和队列深度可以配置。
默认定义队列字节数目限制是1500字节。
例:
sna流量得到三倍于其他流量的带宽。
ip 得到最大为3500 bytes的服务。
ipx得到最大1500 bytes的服务。
-流量被放入用户定义的队列。
-每个队列中流量的服务是基于字节数目和队列深度。
一旦一个队列的字节数目超过限制,下一个队列接受服务。
-队列字节数目限制和队列深度可以配置。
默认定义队列字节数目限制是1500字节。
例:
sna流量得到三倍于其他流量的带宽。
ip 得到最大为3500 bytes的服务。
ipx得到最大1500 bytes的服务。
interface serial 0
custom-queue-list 1 //在接口应用队列
custom-queue-list 1 //在接口应用队列
queue-list 1 protocol sna 1 //在queue-list 1中定义sna,ip,ipx队列。
queue-list 1 protocol ip 2
queue-list 1 protocol ipx 3
queue-list 1 protocol ip 2
queue-list 1 protocol ipx 3
queue-list 1 queue 1 byte-count 15000 //queue 1,sna被设为3*(1500+3500)=15000
queue-list 1 queue 2 byte-conut 3500 //queue 2,ipx,被设为3500字节
queue-list 1 queue 3 byte-conut 1500 //其实这条不写也成,默认就是1500
queue-list 1 queue 2 byte-conut 3500 //queue 2,ipx,被设为3500字节
queue-list 1 queue 3 byte-conut 1500 //其实这条不写也成,默认就是1500