电工之家_电工基础知识学习网站
当前位置:电工之家 > 弱电工程 > 正文

cisco 871w路由器QoS配置步骤

时间:2016-05-10 11:40 来源:电工之家

cisco 871w路由器QoS配置步骤
在Cisco网络设备上使用服务质量(QoS),可以为某些类型的网络流量提供固定的带宽和优先级。笔者会向大家介绍如何通过我们的设置模板,轻松的为Cisco路由器和交换机配置 QoS.网络管理员可以通过QoS为某类网络流量指定所需的带宽和优先级。

  首先我们要理解带宽和优先级之间的区别。当我们在网络设备(路由器和交换机)上指定了某类数据流的优先级和带宽,那么这些数据就会在其它数据传输之前进行传输,同时网 络设备也会通过加大该类数据的发送量的方式来提高其传输带宽。

  正如我之前所说的,配置QoS是一件复杂的工作。根据QoS的不同,使用QoS的方式也多种多样。我们曾介绍过如何利用Cisco IOS AutoQoS对路由器进行自动配置,为VoIP数据流提 供足够的带宽和优先级。

  配置QoS

  下面我们就来看看在Cisco 871W路由器上配置QoS的具体步骤。

  第1步:定义传输类型

  你必须告诉路由器,哪种数据流需要进行QoS管理。你可以通过访问控制列表(ACL)或者基于网络应用程序识别(NBAR)的方式来进行定义。其中ACL是为路由器设定不同传输数据 类型的传统方式。

  而NBAR则是让路由器识别流经路由器的各种数据的类别,比如HTTP数据是HTTP类别,Skype是Skype类别。但是路由器可识别的应用程序协议数量是有限的,这依赖于路由器内部存 储的一个程序协议列表。

  虽然路由器无法识别全部应用程序,但是路由器厂商在每次IOS升级时,会在列表中加入更多的程序。另外,你也可以自己定义程序识别列表。

  第2步:创建类映射(class-map)

  类映射就是将不同类型的数据流进行分组。比如,你可以创建一个叫做"VoIP traffic"的类映射,然后将各种VoIP协议归入该类。

  第3步:创建策略映射(policy-map)

  策略映射可以与类映射匹配,确定某类数据流的带宽和/或优先级。

  第4步:将策略映射应用于接口

  和ACL列表一样,你必须将策略映射应用于某个你所设定的端口上。你可以设定策略映射为输入或输出模式,以下是相应的指令代码:

  service-policy output|input {name of policy-map}

  对不同IP组进行流量限制实例:

  Cisco(config)#ip access-list extended BOSS

  Cisco(config-ext-nacl)#permit ip host 192.168.1.8 any

  Cisco(config-ext-nacl)#permit ip host 192.168.1.18 any

  Cisco(config-ext-nacl)#permit ip host 192.168.1.38 any

  Cisco(config-ext-nacl)#permit ip host 192.168.1.48 any

  Cisco(config-ext-nacl)#permit ip host 192.168.1.58 any

  Cisco(config-ext-nacl)#permit ip host 192.168.1.68 any

  Cisco(config-ext-nacl)#end

  Cisco#config t

  Cisco(config)#ip access-list extended COMMON

  Cisco(config-ext-nacl)#deny ip host 192.168.1.8 any

  Cisco(config-ext-nacl)#deny ip host 192.168.1.18 any

  Cisco(config-ext-nacl)#deny ip host 192.168.1.38 any

  Cisco(config-ext-nacl)#deny ip host 192.168.1.48 any

  Cisco(config-ext-nacl)#deny ip host 192.168.1.58 any

  Cisco(config-ext-nacl)#deny ip host 192.168.1.68 any

  Cisco(config-ext-nacl)#permit ip 192.168.0.0 0.0.255.255 any

  Cisco(config-ext-nacl)#end

  Cisco#config t

  Cisco(config)#route-map QoS permit 10

  Cisco(config-route-map)#match ip address BOSS

  Cisco(config-route-map)#set ip precedence ?

  <0-7>             Precedence value

  critical          Set critical precedence (5)

  flash             Set flash precedence (3)

  flash-override    Set flash override precedence (4)

  immediate         Set immediate precedence (2)

  internet          Set internetwork control precedence (6)

  network           Set network control precedence (7)

  priority          Set priority precedence (1)

  routine           Set routine precedence (0)

  <cr>

  Cisco(config-route-map)#set ip precedence critical

  Cisco(config-route-map)#exit

  Cisco(config)#route-map QoS permit 20

  Cisco(config-route-map)#match ip address COMMON

  Cisco(config-route-map)#set ip precedence priority

  Cisco(config-route-map)#exit

  Cisco(config)#class-map match-any NORMAL

  Cisco(config-cmap)#match ip precedence 0 1 2

  Cisco(config-cmap)#class-map match-any PREMIUM

  Cisco(config-cmap)#match ip precedence 0 1 2

  Cisco(config-cmap)#exit

  Cisco(config)#policy-map QoS_OUTPUT

  Cisco(config-pmap)#class PREMIUM

  Cisco(config-pmap-c)#bandwidth 2048

  Cisco(config-pmap-c)#police 2048000 bc 19200 38400

  Cisco(config-pmap-c-police)#conform-action transmit

  Cisco(config-pmap-c-police)#exceed-action transmit

  Cisco(config-pmap-c-police)#class NORMAL

  Cisco(config-pmap-c)#bandwidth 512

  Cisco(config-pmap-c)#police cir 51000 bc 1200 be 1200

  Cisco(config-pmap-c-police)#conform-action transmit

  Cisco(config-pmap-c-police)#exceed-action drop

  Cisco(config-pmap-c-police)#end

  Cisco#config t

  Cisco(config)#interface G 0/0

  Cisco(config-if)#ip nat inside

  Cisco(config-if)#ip policy route-map QoS

  Cisco(config)#interface G 0/1

  Cisco(config-if)#ip nat outside

  Cisco(config-if)#service-policy output QoS_OUTPUT

  ----------------------------------------------------------------------------

  marking:

  1.定义class-map.

  class-map [match-all/match-any] {map-name}

  默认不打的话是match-all

  2.定义匹配命令match

  match access-group {NO}

  match input-interface {interface}

  match class-map {map-name}                class-map嵌套

  match source-address {mac-address}           源mac地址

  match destination-address {mac-address}      目的mac地址

  match vlan {vlan-ID}

  match ip dscp {DSCP}

  match ip precedencc {precedence}

  match protocol {protocol}                    基于NBAR

  Router(config) class-map FOO

  Router(config-cmap)#match ?

  access-group             Access group

  any                      Any packets

  class-map                Class map

  cos                      IEEE 802.1Q/ISL class of service/user priority values

  destination-address      Destination address

  input-interface          Select an input interface to match

  ip                       IP specific values

  mpls                     Multi Protocol Label Switching specific values

  not                      Negate this match result

  protocol                 Protocol

  qos-group                Qos-group

  source-address           Source address

3.设置policy-map

  policy-map {policy-name}

  4.调用class-map

  class-map {map-name}

  5.设置标记

  set ip dscp {DSCP}

  set ip precedence {PRECEDENCE}

  set cos {COS}

  priority {Kbps|percent PERCENT} [bc]       定义优先级流量的带宽以及突发流量

  bandwidth {Kbps|percent PERCENT}           定义保留带宽

  random-detect                              启用WRED

  police {CIR BC BE} conform-action {action} exceed-action {action} [violated-action {action}]     使用令牌桶限速

  queue-limit {PACKETS}                      定义队列中数据报的最大个数

  service-policy {policy-name}               调用其它的策略进行嵌套

  shape {average|peak} {CIR [BC] [BE]}       整形

  drop

  6.在接口模式下调用policy-map

  service-policy [input|ouput] {POLICY-NAME}

  察看命令:

  show policy-map [policy-name]

  show policy-map interface [INTERFACE]

  show class-map [class-name]

  show ip nbar pdlm

  show ip nbar port-map        显示NBAR使用的协议到端口的映射

  NBAR应用:

  使用限制:

  1.快速以太网信道

  2.隧道接口或加密的接口

  3.SVI(交换虚拟接口)

  4.拨号接口

  5.多链路PPP(MLP)

  使用前先要敲命令:ip cef

  class-map {name}

  match protocol …

  ip nbar pdlm flash://bittorrent.pdlm     加载bittorrent.pdlm 到路由器闪存里(事先要把pdlm复制到flash中)

  match procotol http url "*.jpeg|*.jpg" (匹配url中带有jpeg和jpg的连接)

  match procotol http url "*.gif" (匹配url中有gif的连接)

  拥塞管理

  WFQ:

  特点:

  1.基于流(5元素)分类,队列数N可以配置

  2.出队后按IP优先级来分配带宽,优先级越低则带宽越小

  3.在其它队列空闲时抢占它们的带宽,又有流量时归还带宽

  4.是低于2.048Mbps串行接口的默认配置

  配置命令:

  接口模式下fair-queue

  show queueing fair

  show queue [interface]

  PQ:

  缺点:1.只能静态配置,不能适应网络拓扑的变化2.不支持隧道接口3.要通过数据分类卡,比FIFO慢

  配置:

  1.定义优先级队列,可以基于协议和基于进站接口

  基于协议riority-list {list-number} protocol {PROTOCOL-NAME} {high|medium|normal|low}

  基于进站接口riority-list {list-number} interface {interface} {high|medium|normal|low}

  2.定义默认优先级队列,未被分类的数据报被送到此处,默认级别为normal

  priority-list {list-number} default {high|medium|normal|low}

  3.定义每个队列中数据报的个数,从高到低,默认为20,40,60,80

  priority-list {list-number} queue-limit {high-limit medium-limit normal-limit low-limit}

  4.把优先级队列运用在接口上

  priority-group {list-number}

  察看命令:

  show queue [interface]

  show queueing priority

  RTP(Real Time Protocol)

  支持端口号为偶数的udp报文

  可以进行限速,超过的可丢弃,也可以配置带宽,不会占用超出规定的带宽

  命令:

  ip rtp priority {starting-rtp-port-number port-number-range} {bandwidth}

  max-reserved-bandwidth PERCENT

  show queue [interface]

  debug priority

  CRTP(压缩实时协议): 用来压缩ip/udp/rtp报头

  压缩分为三种:链路压缩,有效负载压缩,报头压缩

  二层报头--tcp/ip报头--有效负载

  1.链路压缩:对整个分组进行压缩,包括报头和有效负载。独立于协议的。只适用于点到点链路。两种算法:Predictor和STAC

  2.有效负载压缩:只压缩数据部分,对报头没有影响。适用于frame-relay或ATM网络。

  3.tcp/ip报头压缩:针对协议的,适用于几个字节数据的小型分组。

  配置:

  对HDLC,LAPB: compress [predictor|stac|mppc]

  对ppp: ip compress [predictor|stac]

  对frame-relay点到点接口或子接口启用stac压缩: frame-relay payload-compress

  启用crtp:

  1. ip rtp header-compression [passive]

  若不启用passive,则对所有RTP数据流压缩;若启用passive,则只有当进入端口的RTP分组被压缩时,软件才能对离开该接口的RTP分组压缩

  2. ip rtp compression-connections {NUMBER}

  更改CRTP压缩的条数,默认为16条

  3. 启用tcp报头压缩: ip tcp header-compression [passive]     若没有启用passive, 则必须指定关键字active,将对所有IP/UDP/RTP包头进行压缩

  ip tcp compression-connections {NUMBER}

  frame-relay中的 crtp:

  在物理接口上启用CRTP,则在它的子接口上将继承特性

  frame-relay ip rtp header-compression [passive]

  frame-relay ip rtp compression-connections {NUMBER}

  只针对特定的PVC启用CRTP:

  frame-relay map ip {ip-address} {dlci} [broadcast] rtp header-compression [active|passive] [connections number]

  察看命令:

  show ip rtp header-compression [interface] [detail]

  show frame-relay ip rtp header-compression [interface]

  WRR(weighted round-robin)

  一种队列调度机制,根据每个出站队列的权值来分配带宽,权值与带宽成正比。

  仅当发生拥塞时才会使用WRR,不拥塞时不会分配带宽。

  步骤:

  1.全局启用mls qos

  2.进入接口模式

  3.通过COS将数据报分配到不同的队列中去。

  wrr-queue cos-map QUEUE-ID THROSHOLD COS1… COSn     它用于配置cos值到出站队列的映射关系。

  对队列进行编号时,从低优先级开始,到严格优先级结束。

  配置严格优先级队列:wrr-queue priority-queue

  4.配置WRR队列的权重

  wrr-queue bandwidth WEIGHT1 WEIGHT2 WEIGHT3 WEIGHT4

  计算每个队列的方法是:

  example:wrr-queue bandwith 1 2 3 4

  则带宽: 队列1:权重1/总权重=1/10

5.定义传输队列长度的比例,取值为1-100%

  wrr-queue queue-limit LOW-PRIORITY-QUEUE-WEIGHT MEDIUM-PRIORITY-QUEUE-WEIGHTS HIGH-PRIORITY-QUEUE-WEIGHTS

  高优先级队列因为延时小,数据量小,所以不需要太大的缓存区。往往将大部分缓冲区用于低优先级队列。

  拥塞避免

  1.尾丢弃

  对所有通信流平等对待,将导致TCP全局同步

  wrr-queue threshold QUEUE-ID THR1% 100%         THR1%是开始丢弃通信流时输出队列的填满程度,后面一个是100%是尾丢弃

  2.WRED

  WRED与RED的区别在于前者引入IP优先权DSCP值来区别丢弃策略,可以为不同IP优先级DSCP设定不同的队列长度、队列阈值、丢弃概率。并且RED只对TCP流量有用

  通过对队列数据流传输速度的平均值计算来决定是否丢弃,防止了对突发流量的不公平待遇。

  WRED和LLQ矛盾

  WRED往往和WRR一起使用。

  WRED可以在接口上进行配置,也可以在policy上进行配置,可以针对于precedence进行RED,也可以针对于DSCP值进行RED,当然,两者之间只能选择一个。

  (1)基于DSCP

  random-detect dscp-based

  random-detect dscp {DSCP} {min max mark}

  (2)基于ip precedence

  random-detect

  random-detect precedence {PRECEDENCE} {min max mark}

  WRED与WRR连用:

  wrr-queue random-detect min-throshold QUEUE-ID THR1% [THR2% [THR3% …]]

  wrr-queue random-detect max-throshold QUEUE-ID THR1% [THR2% [THR3% …]]

  min-throshold表示开始丢弃某些数据包时的最大填满程度

  max-throshold表示丢弃所有数据包时的最大填满程度

  example:

  int G1/1

  wrr-queue bandwidth 50 75

  wrr-queue queue-limit 100 50

  wrr-queue random-detect min-throshold 1 50 70

  wrr-queue random-detect max-throshold 1 75 100

  wrr-queue cos-map 1 1 0 2

  wrr-queue cos-map 1 2 3

  wrr-queue cos-map 2 1 4

  wrr-queue cos-map 2 2 6

  priority-queue cos-map 1 1 5 7

  rcv-queue cos-map 1 1 0

  switchport

  解释:共有两个队列。当队列1的填满程度达到50%和70%时,交换机分别对映射到闸值1和闸值2的数据包进行WRED(即开始丢弃),当队列1的填满程度达到75%和100%时,交换机分别对映射到闸值1和闸值2的数据包全部丢弃。注意:队列2没有采取WRED.

  基于流的WRED(WRED和WFQ结合起来使用)

  小的流丢弃的概率小,大的流丢弃的概率大,保护小的流。

  命令:

  1.启用基于流的WRED.

  random-detect flow

  2.设置平均深度因素(average depth factor)的值,值必须为2的幂,默认值为4.可选:

  random-detect flow average-depth-factor {scaling-factor} 这个参数是改变一个乘法的比例因数。从而改变队列的大小,其实就是改变队列的长度。

  3.设置基于流的WRED 的数据流数目,默认值为256

  random-detect flow count {number}

  流量策略

  qos的流程:1.基于流或基于类的分类;2.结合令牌桶进行policing或shaping(CAR或GTS);3.拥塞避免(尾丢弃或WRED);4.拥塞管理(各种队列机制);5.出队。

  标记在什么地方进行??(标记可以在进行CAR的时候进行,CAR也可以进行重新标记)

  CAR(Committed Access Rate)

  CAR通过使用令牌桶TC来进行流量控制。分类后,不需要流控的流量直接继续发送,而需要进行流控的流量就要经过令牌桶。只有当令牌桶中有令牌时,相应的流量才能通过。若没有足够的令牌,要么流量被直接丢弃(policing),要么缓存起来(shaping),等有了足够的令牌后再发送出去。

  CAR还可以用来做mark或remark(即可以用来设置ip优先级或重新设置ip优先级)

  CAR可以为不同类别的报文设置不同的流量特性和标记特性,即可以对每个类进行CAR.CAR的策略还可以串联处理,比如先对总的流量进行一次限速,然后再对各个类进行小范围的限速。

  CAR一般用在网络边界路由器上。可以在一个接口上设置多个CAR策略,数据包依次和多个CAR策略匹配,若没有匹配的,则默认操作时转发数据包。

  CAR的使用有以下限制:1.只能对IP流量限速;2.不支持fast EtherChannel;3.不支持隧道接口;4.不支持ISDN PRI接口。

  命令:

  rate-limit {output|input} {CIR BC BE} conform-action {action} exceed-action {action}

  注意:CIR单位是bit/s;而BC和BE的单位是byte/s.

  conform-action的条件是指当要发的数据小于正常突发(bc)的时候。exceed-action是指要发的数据大于普通突发,小于最大突发(be)的时候。

  action的选项共有如下这些:

  continue                           继续执行下一条CAR语句

  drop                               丢弃数据包

  tranmsit                            转发数据包

  set-prec-continue {precedence}     设置IP优先级并继续执行下一条CAR语句

  set-prec-transmit {precedence}      设置IP优先级并转发数据包

  set-dscp-continue {dscp}           设置dscp值并继续执行下一条CAR语句

  set-dscp-transmit {dscp}            设置dscp值并转发数据包

  上面都是只能基于整个接口的流量进行CAR,下面的可以分别针对某个流量或ip precedence或dscp值或MAC地址进行CAR

  扩展的配置

  1.针对dscp值进行CAR

  rate-limit {output|input} [dscp DSCP] {CAR BC BE} conform-action {action} exceed-action {action}

  2.针对ACL进行CAR

  rate-limit {output|input} access-group {ACL NUM} {CAR BC BE} conform-action {action} exceed-action {action}

  3.针对限速ACL进行CAR

  rate-limit {output|input} access-group rate-limit {ACL NUM} {CAR BC BE} conform-action {action} exceed-action {action}

  限速ACL只是一种调用关系:access-list rate-limit {ACL NUM} {precedence|mac-address}     可以匹配优先级,也可以匹配MAC地址

  察看命令:

  1.查看限速ACL:show access-lists rate-limit [ACL]

  2.查看接口的限速信息:show interfaces [interface] rate-limit

  policy map中CAR操作

  police {CIR BC BE} conform-action {action} exceed-action {acion} violated-action {acion}

  action的选项同上。

  流量整形(shaping)

  通常通过缓冲区和令牌桶来完成,当报文的发送速度过快时,首先在缓冲区进行缓存,在令牌桶的控制下再均匀地发送这些被缓冲的报文。

  采用的技术为GTS(通用流量整形)。

  GTS与CAR的主要区别在于:利用CAR进行报文流量控制时对不符合流量特性的报文进行丢弃,而GTS对于不符合流量特性的报文则是进行缓冲,减少了报文的丢弃,同时满足报文的流量特性。

  若报文不需要进行GTS,则不经过令牌桶的处理直接发送。

  当因为缺乏足够的令牌而采用GTS后,GTS按一定的周期从队列中取出报文进行发送。每次发送都会与令牌桶中的令牌数作比较。直到令牌桶中的令牌数减少到队列中的报文不能再发送或是队列中的报文全部发送完毕为止。

  一般在路由器的出口进行shaping,入口进行policing.

  命令:

  1.基本的GTS:traffic-shape rate {CIR BC BE}

  2.基于ACL的GTS: traffic-shape group {ACL} {CIR BC BE}

  察看:

  1.查看GTS 的配置信息:show traffic-shape [interface]

  2.查看GTS 的统计信息:show traffic-shape statistics [interface]

  GTS在Frame Relay上的实现

  1.在接口上启用GTS:

  traffic-shape rate {CIR [Bc [Be]]}

  2.当接口收到向后显性拥塞通知(BECN)时,估算流量速率的最低值:

  traffic-shape adaptive {CIR}

  3.以向前显性拥塞通知(FECN)做为BECN 的响应。可选:

  traffic-shape fecn-adapt

  GTS在policy map上的实现

  GTS还可以定义平均值和峰值的流量整形,并且可以在配置GTS 的时候采用CBWFQ.

  配置基于分类的流量整形的步骤如下:

  1.定义平均值和峰值的CIR,Bc 和Be:

  (config-pmap-c)#shape {average|peak} {CIR [Bc] [Be]}     average指的是平均值,peak说得是峰值

  2.定义缓冲区上限,默认值为1000.可选:

  (config-pmap-c)#shape max-buffers {number-of-buffers}

  3.在策略上应用CBWFQ.可选:

  (config-if)#service-policy output {policy-name}

看过《cisco 871w路由器QoS配置步骤》的人还看了以下文章
消防联动西门子设备怎样操作 消防联动西门子设备怎样操作
(一)西门子的报警主机想要联动测试,怎么操作? 图(1)首先在报警主机上登录,获取二级或三级权限,然后将主机调在自动状态,然后想要测试的区域按下手报或者用发烟器测试烟感,既可使得火警层发生联动测试。 1、先在图(1)的3区按下粉红色菜单,屏幕上...
安装网络摄像头有哪些省线的装法 安装网络摄像头有哪些省线的装法
安装网络摄像头有哪些省线的装法 装的海康威视的网络摄像头,每个摄像头都要从交换机接一根网线到摄像头,装了四个摄像头走线都走了一大堆,有没有什么办法节省线的装法?比如像从交换机截一根网线出来,然后从这根网线上一分为四,这样可不可以 按照需求有...
火灾报警控制器的工作原理与过程 火灾报警控制器的工作原理与过程
火灾发生时,安装在现场的火灾探测器,将火灾产生的烟雾、热量等火灾特征参数变为电信号,经数据处理后,将火灾特征参数信息传输至火灾报警控制器;或直接由火灾探测器做出火灾报警判断,将报警信息传输到火灾报警控制器。火灾报警控制器在接到探测器的火灾...
一级消防工程师备考中容易混淆的消防工程师知识点 一级消防工程师备考中容易混淆的消防工程师
一级消防工程师备考中容易混淆的消防工程师知识点: 1、防火隔墙VS防火墙 防火隔墙:建筑内防止火灾蔓延至相邻区域且耐火极限不低于规定要求的不燃性墙体。 防火墙:防止火灾蔓延至相邻建筑或相邻水平防火分区且耐火极限不低于3.00h的不燃性墙体。 2、封闭楼...
消防柜上的电话怎么用 消防柜上的电话怎么用
提起电话,有密码输密码,没密码拨分机号接通就可以了 一般消防控制室内有两种电话,一个是可以直接报警的外线电话,一个是消防专用电话。外线电话很简单,拿起听筒,然后直接拨号就可以了。这里重点说下消防专用电话。 消防专用电话用于消防控制室与建筑中...