迈普路由器QOS配置
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
QOS配置
本手册著作权属迈普通信技术有限公司所有,未经著作权人书面许可,任何单位或个人不得以任何方式摘录、复制或翻译。
侵权必究。
策划:研究院资料服务处
* * *
迈普(四川)通信技术有限公司
地址:成都市高新区九兴大道16号迈普大厦
技术支持热线:400 886 8668
传真:(+8628)85148948
E-mail:support@
网址:
邮编:610041
* * *
版本:2008年5月第2版
编号:MP/DC-RD-CPSJ-114
前言
读者对象
●网络工程师
●技术推广人员
●网络管理人员
适用范围
本手册适用于迈普路由器6.1.X的版本及对应的设备。
本书约定
命令行关键字用加粗表示;
命令行参数用斜体表示。
大括号“{ }”表示括号中的选项是必选的;
中括号“[ ]”表示括号中的选项是可选的;
尖括号“<>”表示括号中的信息不被显示出来;
方括号“【】”表示括号中的内容需要用户注意;
竖线“|”用于分隔若干选项,表示二选一或多选一;
正斜线“/”用于分隔若干选项,表示被分隔的各选项是可以被同时选中的;
“ 注意”表示需要读者注意的事项,是配置系统的关键之处,希望用户能认真阅读。
“ 注”表示对前面内容的注解;
“ 图解”表示对图例的文字解释。
声明
由于产品版本升级或其它原因,本手册内容会不定期进行更新。
除非另有约定,本手册仅作为使用指导,本手册中的所有陈述、信息和建议不构成任何明示或暗示的担保。
目录
第16章QOS配置................................................................................................................. 错误!未定义书签。
16.1带宽管理(B ANDWIDTH M ANAGEMENT,B W M G) (5)
16.1.1 承诺访问速率(Committed Access Rate) (5)
16.1.2 流量整形(Traffic Shape) (8)
16.2拥塞管理(C ONGESTION M ANAGEMENT,C G M G) (10)
16.2.1 FIFO排队(Fist In Fist Out Queueing) (10)
16.2.2 PQ排队(Priority Queueing) (10)
16.2.3 FQ排队(Fair Queueing) (13)
16.2.4 CBWFQ排队(Class-Based Weighted Fair Queueing) (15)
16.2.5 LLQ排队(Low Latency Queueing) (23)
16.3拥塞避免(C ONGESTION A VOIDENCE,C G A V D) (27)
16.3.1 选择性包丢弃(Selected Packet Drop) (27)
16.4B IT T ORRENT流量控制 (29)
16.4.1 BT流控方式 (29)
16.4.2 BT流控参数配置 (30)
第1章简介
本章主要讲述IP网络中的服务质量技术。
在传统的IP网络中,所有的报文都被无区别地等同对待,每个路由器对所有的报文均采用先入先出的策略进行处理,它尽最大的努力将报文送到目的地,但对报文传送的可靠性、传送延迟等性能不提供任何保证。
随着IP网络上新应用的不断出现,对IP网络的服务质量也提出了新的要求,传统IP网络尽力而为的服务已不能满足应用的需要。
尽力而为的服务根本不可能区分IP网络中的各种流,因此不能为任何应用通信提供优先级或者保证,这使得IP网络无法运载对网络资源和服务有特定要求的通信。
IP QoS致力于解决这个问题。
它通过分类和标记、通信速率管理、带宽资源分配和拥塞避免实现对指定报文或数据流的优先服务。
对于区分服务而言,不需要为每一类通信维护状态信息,它根据配置好的QoS机制来区分每个报文的QoS级别并根据该级别为此报文提供服务。
因此,有时也将提供此种QoS方案的机制称作COS。
分类的机制分门别类,方法颇多,其常用的方式如:根据IP报文的优先级分类、根据报文的源、目的地址和端口分类、根据报文的协议分类、根据报文的大小分类等。
网络就根据这些信息来对报文进行分类,分类结果用于流量监管、流量整形和排队等,从而达到带宽管理、拥塞管理和拥塞避免等功效。
本节主要内容:
●带宽管理
●拥塞管理
●拥塞避免
●BitTorrent流量控制
第2章带宽管理(Bandwidth Management, BwMg)
带宽管理主要包含两个方面:
●承诺访问速率(Committed Access Rate)
●流量整形(Traffic Shape)
2.1承诺访问速率(Committed Access Rate)
承诺访问速率(Committed Access Rate)是通过保证在指定速率参数范围内的通信可以传输的方法来管理带宽的策略(丢弃那些超出可接受范围内的数据包,或者根据不同的策略来设置它们的通信类)。
⏹CAR基本指令描述
⏹rate-limit命令
rate-limit {input |output } [access-group access-list-name]cir conform-burst exceed-burst conform-action {actions [action-val] } exceed-action { actions [action-val] }
语法描述
input | output 指定此规则应用于输出还是输入数据包
access-list-name 用访问列表并指定访问列表号来匹配数据包,如果此项缺省,则匹配接
口上的所有输入/输出数据包
cir 承诺信息速率,即给定令牌的速率。
单位比特/秒
数值范围
带有GE接口的设备:8000-1000000000
不带GE接口的设备:8000-100000000
conform-burst 顺从允许突发流量,即第一层令牌桶( Bc )深度。
单位字节
数值范围1500-5000000
exceed-burst 扩展允许突发流量,即第二层令牌桶( Be )深度。
单位字节
数值范围0-10000000
actions[action-val]顺从或扩展突发流量处理行为。
有如下actions选项:
continue不做任何处理,继续让数据包匹配下一条规则
drop 丢弃此数据包
transmit 转发此数据包
set-prec-continue 设置数据包优先级为action-val并继续
set-prec-transmit 设置数据包优先级为action-val并转发
set-dscp-continue设置数据包DSCP域为action-val并继续
set-dscp-transmit 设置数据包DSCP域为action-val并转发【缺省情况】不运行CAR
注:
1、迈普系列路由器增加了可设定DSCP域的行为set-dscp-XXX 。
2、迈普系列路由器中的CAR可以支持子接口上的速率限制。
并在子接口被no掉以后,所有在子接口上存在的CAR规则会被自动清除而不会被保留。
3、从令牌桶的原理来理解,CAR所配置的三个数值的参数就分别代表了给定令牌的速率、第一层令牌桶的深度( Bc )、第二层令牌桶深度( Be ) (这里和CISCO不一样,CISCO的第二层令牌桶深度相当于迈普系列路由器两层令牌桶深度之和,但在功能上完全一致)。
4、顺从突发量推荐值从数值上等于顺从带宽的1/320,最小值从数值上不低于顺从带宽的1/480,如果配置低于此值,系统会自动调节顺从突发量为顺从带宽的1 / 480。
5、上条中的推荐值和最小值不带单位。
而顺从带宽的单位是比特每秒,顺从突发量的单位是字节数。
即如果顺从带宽配置值为480000(比特每秒),则最小顺从突发量应该为480000÷480 = 1000(字节)。
⏹CAR监测与调试
show命令
为了显示CAR当前的工作情况,可以使用show命令查看CAR的工作记录。
show interface interface-name rate-limit [ { input | output} ]
语法描述
interface-name 通过接口名interface-name指定需要显示工作记录的接口
input | output 指定查看输入或输出工作记录,此项缺省则显示接口所有方向上的工作记
录
【缺省情况】不显示
⏹CAR配置示例
图解:
上图为一个小型局域网通过NAT地址转换上INTERNET的典型环境,由于WWW浏览的数据流量很大,导致其他应用不能正常工作,因而现在用CAR把WWW的流量限制为1M,超额的流量将被路由器丢弃。
Router 的接入方式为2M的专线,走PPP协议。
router的配置如下:
命令描述
router#configure terminal
router(config)#access-list 1001 permit tcp any any eq 80 设置要限制速率的应用类型(此例为:
WWW)
router(config)#interface serial 0/0
router(config-if-serial0/0)#encapsulation ppp
router(config-if-serial0/0)#ip address 202.98.19.8
255.255.255.252
router(config-if-serial0/0)#rate-limit output access-group 1001 1000000 3125 0 conform-action transmit
exceed-action drop 把出去的WWW流量所占带宽限定为1M
router(config-if-serial0/0)#rate-limit input access-group 把进来的WWW流量所占带宽限定为
1M
1001 1000000 3125 0 conform-action transmit
exceed-action drop
2.2流量整形(Traffic Shape)
流量整形(Traffic Shape)的作用在于在拥塞发生时,将接口的数据包以比较平均的速度发送,平滑接口的输出流量。
⏹流量整形基本指令描述
⏹traffic-shape命令
traffic-shape conform-rate permit-burst
语法描述
conform-rate 接口的最大输出带宽
数值范围480- 1000000000单位比特/秒
permit-burst 在1/60秒内,允许突发传送的字节数
数值范围1600- 5000000,单位字节
⏹流量整形配置示例
图解:
上图为一个小型局域网通过卫星连接外部。
卫星速率链路很低(9.6K),所以需要在路由器到卫星地面站之间的以太连接上进行速率限制。
为充分利用链路带宽,决定使用流量整形。
router的配置如下:
命令描述
router#configure terminal
router(config)# interface fastethernet 0
router(config -if-fastethernet0)# traffic-sharp 9600 1600设置9600比特的流量整形,允许1600字节的突发
第3章拥塞管理(Congestion Management, CgMg)
迈普系列路由器上,有FIFO、PQ、FQ、CBWFQ、LLQ等排队方式。
本节主要内容:
●FIFO排队(Fist In Fist Out Queueing)
●PQ排队(Priority Queueing)
●FQ排队(Fair Queueing)
●CBWFQ排队(Class-Based Weighted Fair Queueing)
●LLQ排队(Low Latency Queueing)
注:
迈普系列路由器中的各种队列是以互斥的关系存在的,当用户在某个接口上配置了某个队列时,原
来所配置的队列会被清除。
3.1FIFO排队(Fist In Fist Out Queueing)
路由器按照分组到达输出队列的顺序来传输分组,对于这样的排队方式称为先进先出排队(FIFO)。
FIFO是最基本的排队方式,也是迈普系列路由器默认的排队方式。
3.2PQ排队(Priority Queueing)
根据优先级排队(Priority Queueing),路由器就把优先级高的包放在优先级低的包之前发送出去。
但这仅发生在输出接口出现拥挤时,或是包需要排队时,如果不发生拥挤,路由器不管包的优先级,尽快地把它们向前传送。
⏹PQ基本指令描述
priority-list命令
为了启用优先队列,需要先定义优先队列列表,再在接口上针对某个已定义的优先队列列表启用优先队列。
priority-list 命令用做定义优先队列列表。
priority-list list-number default{ high | medium | normal | low}
语法描述
list-number 从列表号中选择需要定义的优先队列列表,数值范围1-16
high | normal |
指定标准的default数据包的优先级
medium | low
priority-list list-number interface interface-name{high|low|medium|normal}
语法描述
list-number 从列表号中选择需要定义的优先队列列表,数值范围1-16
interface-name匹配接口名为interface-name的接口输入的数据包
high |low |medium
设定数据包进入的优先队列
|normal
priority-list list-number queue-limit high-queue-length medium-queue-length normal-queue-length low-queue-length
语法描述
list-number 从列表号中选择需要定义的优先队列列表,数值范围1-16
high-queue-length指定high优先级队列的最大长度,数值范围为0-15000
medium-queue-length 指定medium优先级队列的最大长度,数值范围为0-32767
normal-queue-length 指定normal优先级队列的最大长度,数值范围为0-45000
low-queue-length 指定low优先级队列的最大长度,数值范围为0-65535
priority-list list-number protocol ip { high | normal | medium | low } {fragments| gt |lt |list |tcp| udp}语法描述
list-number 从列表号中选择需要定义的优先队列列表,数值范围1-16
high | normal |
medium | low
指定匹配下面规则的IP包进入的队列
fragments| gt |lt |list |tcp| udp fragments: 根据数据包是否分片定义优先级
gt|lt: 根据包的大小大于/小于一定字节的数据定义优先级list: 根据符合访问列表的数据定义优先级
tcp|udp: 根据出去的tcp/udp的端口号定义优先级
【缺省情况】不配置priority-list
⏹priority-group命令
在全局模式下定义了优先队列列表以后,可以使用priority-group命令在接口模式下启用优先队列。
priority-group priority-list-number
语法描述
priority-list -no 在接口上启用由优先队列列表号priority-list-number所指定的优先队列【缺省情况】不配置priority-group
注:
1、定义队列的优先级,分为高、中、正常和低四个级别;
2、同一优先级列表可以应用于多个接口上;
3、也可以创建多个不同的优先级策略来应用于不同的接口上;
4、每一个接口上只能分配一个优先级列表。
⏹PQ调试与监测
3.2.1show pq命令
用来显示当前PQ队列的统计信息
show pq [interface interface-name]
3.2.2debug pq命令
用来实时显示各包的出入队情况
debug pq [interface interface-name]
⏹PQ配置示例
电话1电话2
图解:
两个网点通过一条2M的专线相连,这条专线同时承载着语音和数据,由于语音的应用对延迟和抖动都比较敏感,因而决定用PQ队列来保障语音的清晰。
假定FTP工作在TCP端口20,21且流向从client 到 server。
图中靠左一台路由器为Router1 Router1的配置如下:
命令描述
router1#configure terminal
router1(config)#access-list 1001 permit ip host
指定IP电话的数据
192.168.1.6 host 192.168.1.5
router1(config)#access-list 1002 permit ip host
指定FTP管理的数据
192.168.2.101 host 192.168.0.101 eq 21
router1(config)#access-list 1002 permit ip host
指定FTP应用的数据
192.168.2.101 host 192.168.0.101 eq 20
router1(config)#priority-list 1 protocol ip high list
把语音应用的数据放在高优先级队列1001
router1(config)#priority-list 1 protocol ip low list
把FTP应用的数据放在低优先级队列1002
router1(config)#interface serial 0/0
router1(config-if-serial0/0)#priority-group 1将PQ应用到S0/0接口上
3.3FQ排队(Fair Queueing)
公平排队(Fair Queueing)是一种在调度时区分对待不同流的调度规则,它实现在尽量模拟广义处理
器共享的基础上,它是一个复杂的排队过程。
每个流或通信类被自动指定一个权重,流或通信类得到服务的频率与权重成正比。
⏹FQ基本指令描述
⏹fair-queue 命令
fair-queue命令在接口上启用公平队列。
fair-queue[queue-nums | queue-limit queue-no queue-limi t]
语法描述
queue-nums 将公平队列应用于接口,并可选择地指定队列的数目。
queue-limit queue-no queue-limit 更改公平队列某指定序号队列的最大长度
queue-no 指定队列序号
queue-limit 指定队列最大长度。
单位为字节,默认为32767字节。
【缺省情况】不启用公平队列
注:
迈普系列路由器的公平排队中,所有的用户数据流的权重都是相等的。
⏹FQ监测与调试
3.3.1show wfq命令
用来显示当前WFQ队列的统计信息
show wfq [interface interface-name]
3.3.2debug wfq命令
用来实时显示各包的出入队情况
debug wfq [interface interface-name]
⏹FQ配置示例
192.168.0.101/24 192.168.2.101/24
图解:
两个网点通过一条2M的专线相连,这条专线同时承载着终端做业和FTP数据,现在既要保障终端做业的流畅性又要确保FTP可以使用。
因而决定用FQ队列来满足这些应用的要求。
假定FTP工作在TCP端口20,21且流向从client 到 server.图中靠左一台路由器为Router1。
Router1的配置如下:
命令描述
router1#configure terminal
router1(config)#interface serial 0/0
router1(config-if-serial0/0)#fair-queue在接口上启用FQ
3.4CBWFQ排队(Class-Based Weighted Fair Queueing)
基于类的加权公平排队(Class-Based Weighted Fair Queueing)是一种在调度时区别对待不同的通信类的队列调度规则。
不同的通信类得到的服务频率与该类的权重/带宽成正比。
⏹CBWFQ基本指令描述
class-map 命令
对CBWFQ的通信类进行划分。
class-map[match-all | match-any]class-map-name
语法描述
match-all 如果有多条规则,要求所有的规则都必须匹配
match-any 如果有多条规则,只需匹配其中任何一条规则即可class-map-name 配置以class-name为名的通信类
【缺省情况】不配置CBWFQ通信类
注:
创建通信类时,如果用户不指明match-all或match-any,那么缺省被认为是match-all。
策略与通信类是多对多的关系。
也就是说,同一个策略可以应用于多个通信类。
同样,同一个通信类也可以在不同的策略中配置。
⏹match 命令
match access-group access-list-name
语法描述
access-list-name 通过访问列表序号或访问列表名匹配通信类,仅针对IP接口。
match input-interface input-interface-name
语法描述
input-interface-name 匹配从名为input-interface-name的接口输入的数据包,仅针对
IP接口。
match ip precedence ip-precedence
语法描述
ip-precedence 匹配优先级Prededence字段为ip-precedence的数据包,取值范
围0-7,仅针对IP接口。
match ip dscp ip-dscp
语法描述
ip-dscp 匹配优先级DSCP字段为ip-dscp的数据包,取值范围0-63,
仅针对IP接口。
match qos-group QoS_group_id
语法描述
QoS_group_id匹配优先级QoS Group ID为QoS_group_id的数据包,取值范围
1-99
match protocol protocol
语法描述
protocol 根据数据包承载的协议类型匹配规则,仅针对IP接口。
match class-map class-map-name
语法描述
class-map-name 与另外一个通信类相匹配,仅针对IP接口。
【缺省情况】不生成CBWFQ通信类
注:
迈普系列路由器使用访问列表来匹配。
通信类匹配访问列表时,对应的访问列表的定义必须是permit,而不能是deny。
因为对于应拒绝掉的通信流,对它QOS的调度是毫无意义的。
通信类匹配协议时,目前只支持BitTorrent协议,且仅在中低端路由器上支持。
⏹policy-map 命令
由全局模式进入策略配置模式config-pmap
policy-map policy-map-name
语法描述
policy-map-name 配置以policy-map-name为名的策略
【缺省情况】不配置CBWFQ策略
⏹class 命令
从策略配置模式config-pmap进入策略配置下的类配置模式config-pmap-c。
在此模式下可以为策略中的类配置分配的带宽,设置丢弃模式等等。
class class-map-name
语法描述
class-map-name配置以class-name为名的类
【缺省情况】没有进入类配置模式
⏹bandwidth 命令
在模式config-pmap-c下,为策略下的该通信类配置带宽
bandwidth percent bandwidth-in-percentage
或者
bandwidth bandwidth-in-kbps total-in-kbps
语法描述
bandwidth-in-percentage 设定该通信类可以分配到的带宽百分比,取值范围1-100 bandwidth-in-kbps 以千比特/秒为单位配置带宽
total-in-kbps 接口的总带宽,以千比特/秒为单位
注:
一般情况下,推荐使用百分比的带宽分配方式。
⏹priority 命令
⏹具体请参见LLQ一节的配置部分。
⏹set命令
在模式config-pmap-c下,为策略下的该通信类指定设置的标签
set {ip { precedence | dscp} val | mpls {experimental imposition | experimental topmost } val }语法描述
ip { precedence | dscp} val该通信类需要设置的ip头标签
precedence val:ip优先级。
取值范围0~7
dscp val:ip dscp字段。
取值范围0~63
mpls { experimental imposition | experimental topmost } va 该通信类需要设置的mpls exp字段
experimental imposition val:将所有mpls标签都设置。
取值范围0~7
experimental topmost val:仅仅设置mpls报文头第一层的标签。
取值范围0~7
⏹drop 命令
在模式config-pmap-c下,配置drop用于丢弃与该类相匹配的报文。
drop
语法描述
drop 丢弃与这个规则类相匹配的报文
⏹service-policy命令
在模式config-pmap-c下,使用service-policy命令来配置嵌套策略。
service-policy policy-name
语法描述
policy-name配置以policy-name为名称的嵌套策略⏹random-detect 命令
将该通信类的队列配置为WRED队列。
random-detect[exponential-weighting-constant exponential-weighting-constant] 语法描述
exponential-weighting-cons tant WRED的平均队列计算使用的加权因子,系统默认的加权因子是6,取值范围1-12
random-detect [precedence precedence minimum-threshold maximum-threshold]
语法描述
precedence匹配优先级为precedence的数据包
取值范围0-7
minimum-threshold 设定此队列的最小阈值
取值范围1-100000
maximum-threshold 设定此队列的最大阈值
取值范围1-100000
【缺省情况】不生成CBWFQ规则
注:
1、由于WRED丢弃策略的加权指数因子的设置会较大影响系统的性能,强烈建议用户使用默认值。
2、WRED丢弃策略主要是为了防止尾丢弃引起的全局同步。
全局同步是因为尾丢弃导致大量TCP 源同时将窗口大小变为1并进入慢启动模式而引起的。
所以WRED丢弃策略对UDP报文没有意义。
建议不为UDP报文配置WRED丢弃策略。
⏹service-policy 命令
在接口配置模式下,将策略policy-name作用于接口的输入/输出方向。
service-policy {input | output}policy-name
语法描述
policy-name配置以policy-name为名的规则
【缺省情况】不在接口上启用基于类的加权公平队列
service-policy queue-limit queue-no queue-limit
语法描述
queue-no queue-limit 更改基于类的加权公平队列某指定序号队列的最大长度
queue-no 指定队列序号
queue-limit 指定队列最大长度。
单位为字节,默认为65535字节。
【缺省情况】不在接口上启用基于类的加权公平队列
⏹cbwfq nums 命令
该命令用于设置CBWFQ的队列数。
cbwfq nums number
语法描述
number 更改CBWFQ的队列数,范围为16-128
【缺省情况】CBWFQ的队列数为16个。
注:
一个接口某一个方向上只能有一个策略。
当配置另一个策略时,原来配置的策略自动被清除。
接口输入方向上应用的策略只能作为设置标签用,不提供带宽保证。
应用在接口输入方向上的策略中的bandwidth、priority、random-detect等命令无效。
如果CBWFQ队列已经产生,则cbwfq nums number命令不会改变现有的队列数,需要将接口上的service-policy策略先删除再重新启动一下,新的队列数才会生效。
⏹CBWFQ监测与调试
3.4.1show cbwfq命令
用来显示当前CBWFQ队列的统计信息
show cbwfq [interface interface-name]
3.4.2show policy interface 命令
用来显示接口的CBWFQ队列中每个通信类的统计信息
show policy interface interface-name
3.4.3clear queue statis命令
清除CBWFQ队列的统计信息
clear queue statis [interface interface-name]
3.4.4show policy-map statistics命令
显示policy-map中每个通信类的统计信息
show policy-map statistics [interface interface-name]
3.4.5clear policy-map statistics
清除policy-map中每个通信类的统计信息
clear policy-map statistics [interface interface-name]
3.4.6debug wfq命令
用来实时显示各包的出入队情况
debug wfq [interface interface-name]
⏹CBWFQ配置示例
电话1电话2
图解:
两个网点通过一条2M的专线相连,这条专线同时承载着语音,终端做业和数据传输,为保障语音的清晰和终端做业的流畅性,因而用CBWFQ来限制数据传输所占带宽。
假定FTP工作在TCP端口20,21且流向从client 到 server,图中靠左一台路由器为Router1。
Router1的配置如下:
命令描述
Router1#configure terminal
router1(config)#access-list 1001 permit ip host
指定IP电话的数据
192.168.1.6 host 192.168.1.5
router1(config)#access-list 1002 permit ip host
指定终端做业的数据
192.168.2.100 host 192.168.0.100 eq 23
router1(config)#access-list 1003 permit ip host
指定FTP管理数据
192.168.2.101 host 192.168.0.101 eq 21
router1(config)#access-list 1003 permit ip host
指定FTP应用数据
192.168.2.101 host 192.168.0.101 eq 20
router1(config)#class-map voip定义VOIP类
router1(config-cmap)#match access-group 1001 指定VOIP类的匹配条件
router1(config)#class-map telnet定义TELNET类
router1(config-cmap)#match access-group 1002 指定TELNET类的匹配条件
router1(config)#class-map ftp定义FTP类
router1(config-cmap)#match access-group 1003 指定FTP类的匹配条件
router1(config)#policy-map one定义策略ONE
router1(config-pmap)#class voip进入到VOIP类配置模式
router1(config-pmap-c)#bandwidth percent 50给VOIP类分配50%带宽
router1(config-pmap)#class telnet进入到TELNET类配置模式
router1(config-pmap-c)#bandwidth percent 20给TELNET类分配20%带宽
router1(config-pmap)#class ftp进入到FTP类配置模式
router1(config-pmap-c)#bandwidth percent 5给FTP类分配5%带宽
router1(config)#interface serial 0/0
router1(config-if-serial0/0)#service-policy output one将策略ONE应用到接口
3.5LLQ排队(Low Latency Queueing)
低延迟排队(Low Latency Queueing)在CBWFQ的基础上使某些类成为优先类,这些类具有绝对优先调度的特权,保证了优先类的延迟和抖动最小,缺点是其他类有可能得不到及时的调度。
⏹LLQ基本指令描述
命令描述配置模式
priority * 设置优先类并分配带宽config-pmap-
c
⏹priority 命令
在模式config-pmap-c下,配置该通信类为优先类,并为之分配带宽。
priority bandwidth
或者
priority percent bandwidth-in-percentage
语法描述
bandwidth设定低延迟队列可以受到保证的带宽。
单位为字节/秒。
取值范
围为60-10000000
bandwidth-in-percentage 设定该低延迟队列可以分配到的带宽百分比,即占接口的
bandwidth属性的百分比,取值范围1-100 【缺省情况】不生成关于LLQ的CBWFQ规则
注:
一般情况下,推荐使用绝对值的带宽分配方式。
如果采用百分比的配置方式,不会影响到后面普通CBWFQ百分比的配置,也就是说后面普通CBWFQ的百分比的总和仍然为100。
⏹LLQ监测与调试
LLQ仍然使用CBWFQ的监测和调试命令。
3.5.1show cbwfq命令
用来显示当前CBWFQ队列的统计信息
show cbwfq
3.5.2debug wfq命令
用来实时显示各包的出入队情况
debug wfq
⏹LLQ配置示例
电话1电话2
图解:
两个网点通过一条2M的专线相连,这条专线同时承载着语音,终端做业和数据传输,为保障语音的清晰,因而用LLQ来保障语音流量的绝对优先。
假定FTP工作在TCP端口20,21且流向从client 到 server,图中靠左一台路由器为Router1。
Router1的配置如下:
命令描述
router1#configure terminal
router1(config)#access-list 1001 permit ip host
指定IP电话的数据
192.168.1.6 host 192.168.1.5
router1(config)#access-list 1002 permit ip host
指定终端做业的数据
192.168.2.100 host 192.168.0.100 eq 23
router1(config)#access-list 1003 permit ip host
指定FTP管理数据
192.168.2.101 host 192.168.0.101 eq 21
router1(config)#access-list 1003 permit ip host
指定FTP应用数据
192.168.2.101 host 192.168.0.101 eq 20
router1(config)#class-map voip 定义VOIP类
router1(config-cmap)#match access-group 1001 指定VOIP类的匹配条件
router1(config)#class-map telnet 定义TELNET类
router1(config-cmap)#match access-group 1002 指定TELNET类的匹配条件
router1(config)#class-map ftp 定义FTP类
router1(config-cmap)#match access-group 1003 指定FTP类的匹配条件
router1(config)#policy-map one 定义策略ONE
router1(config-pmap)#class voip 进入到VOIP类配置模式
router1(config-pmap-c)#priority 50将VOIP类放入到LLQ队列,允许带宽
为50字节/秒
router1(config)#interface serial 0/0
router1(config-if-serial0/0)#service-policy output one 将策略ONE应用到接口
第4章 拥塞避免(Congestion Avoidence, CgAvD )
● 选择性包丢弃(Selected Packet Drop )
4.1 选择性包丢弃(Selected Packet Drop )
SPD 可以区分进入路由器的常规数据和关键业务(通常是路由协议)。
它能够在路由器发生拥塞的时候保证关键业务的顺利传输,并且对发生拥塞的常规业务也可以根据配置进行随机早期丢弃,还能够在数据包进入网络层之前对数据包的合法性、完整性等进行健全检测,可以抵抗对路由器的攻击。
SPD 工作时有两个平行的队列——普通队列和优先队列。
普通队列有两个可配置参数:最小随机丢弃门限、最大随机丢弃门限。
数据包到达后,根据普通队列的状态决定对该数据包的处理:
普通数据包
数据包进入普通队列
数据包进行早期丢弃,如果没有被丢弃进入普通队列
直接丢弃该数据包
优先队列只有一个可配置参数:优先队列最大长度。
优先数据包到达后,如果优先队列的长度未超过最大值,则直接进入优先队列;如果优先队列长度达到最大值,则丢弃该数据包。
优先数据包
数据包进入优先队列 丢弃该数据包
网络层处理数据包时,先试图从优先队列中获得数据包,直到优先队列中已经没有数据包时,才从普通队列中获得数据包。
由此可见,根据上述方法描述数据包的分类的调度机制可以保证在路由器发生拥塞时关键业务的顺利传递。
⏹
SPD 基本指令描述
spd命令
命令用于在路由器上启用SPD或者配置SPD的各项参数
spd [{headroom headroomnum | minthreshhold minimum-threshold maxthreshhold maximum-threshold | mode aggressive| priority { access-list access-list-name | AH | BGP | ESP | BGP | IRMP | OSPF | PIM | RIP | RSVP } } ]
语法描述
headroom
headroomnum
指定SPD的优先队列的大小
minthreshhold minimum-threshold maxthreshhold maximum-threshold 修改普通队列随机丢弃的门限minimum threshold数值范围1~ 200 maximum threshold数值范围1~ 400
mode aggressive 配置SPD为主动丢弃模式
priority {access-list access-list-name | AH | BGP | ESP | BGP | IRMP | OSPF | PIM | RIP | RSVP } 描述关键业务的类型。
关键业务可以通过访问列表匹配,也可以是命令列出的协议数据包。
关键业务的配置是平行的,可以配置多条。
多条配置中满足条件的判断是或,任意一条配置中的条件满足则认为是匹配的。
【缺省情况】不启动SPD。