服务质量 (QoS) : QoS 拥塞管理(队列)

了解使用 QoS 服务策略时路由更新和第二层控制包在接口上如何排队

2015 年 8 月 28 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 4 月 22 日) | 反馈


目录


简介

本文解释路由协议消息,例如hello和数据库描述符,以及其他重要控制流量如何排队,当一个出站路由器接口配置与服务策略使用模块化服务质量命令行接口时(MQC)的命令。

特别地,此本文探讨了Cisco IOS 路由器用于的这两机制优先安排控制数据包:

字段 位置 那里优先级考虑
IP优先级比特 在IP报头的服务类型(ToS)字节 通过网络提供优先级
pak_priority 内部信息包标签在路由器里面,分配由接口驱动程序 通过路由器提供优先级(每跳跃)

设计了两个机制来确保出局接口被堵塞时,关键控制数据包没有丢失,也没有被路由器和排队系统最后丢下。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档中的信息根据Cisco IOS软件版本12.2。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。

规则

有关文档规则的详细信息,请参阅 Cisco 技术提示规则

外部数据包优先处理标记

请求注释(RFC) 791leavingcisco.com 定义了在IP数据包的报头的TOS字节。虽然RFC 2474leavingcisco.comRFC 2475leavingcisco.com 重新解释此字节作为差分服务代码点值, Cisco IOS路由器根据RFC 791仍然使用TOS字节的原始IP优先级位。公告RFC如何定义了TOS字节:

“服务类型提供服务质量的抽象参数的征兆希望的。这些参数将使用通过特定网络时指导服务参数的选择,当传送数据包。几网络提供服务优先,比其他流量莫名其妙地处理高优先级数据流如重要(通常通过接受在一必然的优先上的仅流量在高负载的时期)”。

如图表所示, IP优先域占用TOS字节的三最高有效位。仅三个IP优先级位反射数据包的优先级或重要性, TOS字节的不是完整值。

/image/gif/paws/18664/rtgupdates-a.gif

此表列出优先顺序位的值:

号码 比特值 名称
0 000 惯例
1 001 优先级
2 010 立即
3 011 闪存
4 100 闪烁覆盖
5 101 CRITIC/ECP
6 110 互联网络控制
7 111 网络控制

Cisco IOS分配IP优先级6到在控制飞机上的路由协议信息包。如注释由RFC 791, “互联网络控制指定打算供只有网关控制创建人使用”。特别地, Cisco IOS标记这些基于IP的控制数据包:开放最短路径优先(OSPF)、路由信息协议(RIP),增强的内部网关路由选择协议(EIGRP) hello和Keepalive。到/从路由器的Telnet数据包也接收IP优先值6。当输出接口传送他们到网络时,已分配值用数据包依然是。

内部数据包优先级划分标记

当IP优先值通过网络时指定一数据包的处理在其发射内的,在其发射期间在路由器里面, pak_priority机制指定数据包的处理。

除路由器CPU的核心之外,每个接口使用一个网络控制器或本地CPU,运行呼叫驱动程序的一特殊软件块。驱动程序代码提供特定接口的说明。

当它收到数据包时,接口驱动程序复制从一小先入先出(FIFO)缓冲区的数据包到在输入-输出(I/O)存储器的一个数据缓冲区。它然后附加一个小信息包报头到缓冲区。信息包报头,指在Cisco IOS术语方面paktype结构,包含关于数据块的关键信息在缓冲区。从属在数据包的内容,信息包报头能指向在以太网封装报头、网络协议(IP)报头和传输控制协议(TCP)报头开始的内存的地址。

Cisco IOS软件在信息包报头使用字段控制数据包的处理在接口队列的。信息包报头包括pak_priority标志,指示标记的信息包相对重要性到排队系统。

在一路由器标记核心CPU运行所有流量他们的RIP和OSPF路由进程产生与IP优先级6和pak_priority。相反,边界网关协议(BGP)指示TCP用IP优先级6标记其流量,但是不设置pak_priority。

Cisco IOS必须也保证非IP控制数据包的几种类型的一个低丢弃概率。这些数据包类型包括这些:

  • 中间系统对中间系统(IS-IS)路由协议消息

  • 增强的内部网关路由选择协议(EIGRP)消息

  • 点对点协议(PPP)和高级数据链路控制(HDLC) Keepalive在序列和SONET上的分组(POS)接口

  • 操作、管理和维护(OAM)信元和地址解析服务(ARP)消息在ATM接口

因为这样流量不是IP, Cisco IOS在IP优先值不能配比提供优先级。反而,它在信息包缓冲头使用仅内部pak_priority值。

注意: 最初支持在仅FlexWan的pak_priority机制的Cisco Catalyst 6000 /Cisco 7600系列。对IP和非IP控制数据包的优先级的增强随后实现。

数据包优先处理标记与排队

路由器例如Cisco 7500路由/交换机处理器(RSP)和低端的路由器(例如Cisco 7200及3600系列)比Cisco 7500通用接口处理器(VIP)使用一不同的机制路由和控制流量。此表汇总两个途径并且假设,服务策略配置与MQC应用对出站接口。

平台 排队pak_priority消息
Cisco 7500系列(与分布式QOS和VIP)
  • 地方pak_priority流量在默认类的等级队列默认情况下或在一个特别地已配置的(分开的)队列。
  • 当排队对类别默认值,数据包去队列的尾端。pak_priority标志用于避免丢弃高优先级数据包。
基于RSP的QoS和其他平台,包括Cisco7200, 3600, 2600系列
  • 除类别默认值之外,在另二套队列安置pak_priority流量。(请参阅与NON-RSP平台部分的了解特殊队列。)
  • 标记这样消息用一个特殊权重值(当前1024)。

换句话说,在Cisco 7500系列,如果输出服务策略附加对接口,数据包分类关于在该策略的类,并且pak_priority数据包被放置在选定组队列结束时。如果pak_priority数据包不匹配任何用户定义的类,被放置在类别默认值队列的尾标。

注意: 使用传统排队方法例如优先级队列和自定义排列或者与默认接口FIFO队列, non-RSP路由器排队pak_priority消息到队列的题头保证最小延迟和最小丢弃概率。

了解特殊队列用NON-RSP平台

数据包优先级标记与排队表中注明, Cisco路由器平台类似Cisco 7200、3600及2600系列放置pak_priority消息到另二套队列而不是类别默认值设置队列。

有三套在接口的队列:

  • 2^n考虑这样报头值作为源和目的IP地址的设置基于流的队列。队列实际数量根据接口或虚拟电路的带宽。参考说明fair-queue命令cisco ios命令参考资料

  • 用于用户创建的类的队列。

  • 根据链路类型的哈希访问的队列。例如, IP microflow由公平排队系统分类到根据源地址和目的地址和端口、TOS位和IP协议号的哈希的队列。帧中继本地管理接口(LMI)消息根据表明幻数的哈希排队消息是LMI。消息用pak_priority标志进入这些独立的链路类型队列。

此表列出多种队列和他们的会话ID (如在show policy-map interface或show queue命令的输出中看到)一个接口的与非常地比512 Kbps带宽。

会话/队列编号 通信类型
1 - 256 基于流的一般流量队列。不配比对一用户建立的类的流量配比到类别默认值和其中一个基于流的队列。
257 - 263 保留为Cisco发现协议和为用内部高优先级标志位标记的数据包。
264 为优先级类(用 priority 命令配置的类)保留的队列。在 show policy-map interface 输出中查找类的“Strict Priority”值。优先级队列使用会话ID相等与动态队列的数目加上8。
265 及以上版本 用于用户创建的类的队列。

注意: 值在此表里根据执行的和随时变化。

确定优先级的IS-IS信息包

Intermediate System to Intermediate System (IS-IS)路由控制信息包是特殊情况关于队列和信息包优先级划分。

Is-is是国际标准化组织(ISO)的无连接网络协议(CLNP)的路由协议。CLNP开发员观看TCP/IP作为开放式系统互联(OSI)套件最终将替换的临时协议套件。为了支持此预测的转换,集成IS-IS (或双向IS-IS)创建作为对Is-is的一分机提供单个路由协议能够路由两无连接模式网络服务(CLNS)和IP。协议在一个纯CLNS环境、纯IP环境或者一个双重CLNS/IP环境设计运行。

既使当Is-is用于路由仅TCP/IP, Is-is仍然是ISO CLNP协议。IS-IS与其对等体联络的数据包是CLNS协议数据单元(PDU),反过来意味着在一个IP专用环境,排队系统和Cisco IOS不能使用IP优先级优先安排CLNS控制消息。反而, IS-IS信息包通过pak_priority机制接收优先级在路由器里面。

配置路由信息包的排队策略

此部分设想对特定设计排队策略的三个一般方案在Cisco 7500系列和VIP的严重拥塞条件下最小化已丢失控制数据包的机会。(收回默认情况下NON-RSP平台在独立队列安置控制数据包。)

策略 什么时候使用 说明如何配置
对独立队列的匹配。 多数保守的策略。保证很少或没有丢包。 请使用模块化QoS CLI配置独立类和在拥塞期时使用bandwidth命令分配对流量相匹配的一个最小带宽分配。用bandwidth命令配置的类使用一日程安排“重要性”带宽和不根据IP优先级。参考了解在ATM的基于类的加权公平排队
对类别默认值的匹配与公平排队。 满足为多数配置。一些控制数据包可以在拥塞面前丢弃。 请使用Cisco IOS 6自动地分配的IP优先级到数据包影响其重要性和因而其带宽的共享。请参阅了解ATM上的加权公平排队
匹配对与FIFO队列的类别默认值。 没推荐为阻塞链路。一些控制数据包可以在拥塞面前丢弃。 此方法不考虑IP优先级。使用基于VIP的QoS, pak_priority消息排队对FIFO队列的尾端。

这是示例如何创建RIP控制数据包的一个独立队列。

 class-map match-all rp 
   match access-group 104 
! 
 access-list 104 permit udp any eq rip any eq rip 

!--- Create a class-map that matches an ACL permitting RIP. 

! 
 policy-map bandwidth 
   class voip 
     priority 64 
   class bus 
    bandwidth 184 
   class RP 
    bandwidth 8 

!--- Create a policy-map (named "bandwidth") and specify 
!--- class RP. 

! 
interface Serial1/0:0.1 point-to-point 
  bandwidth 256 
  ip unnumbered Loopback0 
  ip accounting precedence input 
  no cdp enable 
  frame-relay class sample 
  frame-relay interface-dlci 100 IETF 

!--- Apply the map-class named "sample" to the PVC. 

! 
map-class frame-relay sample 
  frame-relay cir 256000 
  frame-relay bc 2560 
  frame-relay mincir 256000 
  no frame-relay adaptive-shaping 
  service-policy output bandwidth 
  frame-relay fragment 160 

!--- Create a frame relay map-class and apply the service 
!--- policy inside the map-class.

当您选择这些途径之一时,请设想这些要素:

  • 用于hello和数据库的和已配置的计时器值特定的路由协议刷新

  • 需要交换的大小数据库,并且更新/更改或者仅全双工表是否周期地刷新

  • 相当数量拥塞预计在接口或虚拟电路

换句话说,请在拥塞面前考虑实际上排队高优先级数据包的机会。

QoS 与本地产生的数据包

路由器生成的流量代表出站QoS服务策略的一特殊情况。必须处理若干本地产生的数据流作为其他用户数据流,并且QoS系统必须应用已配置的QoS机制到此流量。这样流量示例是设计测量一给的类的数据包导致的行为的性能探测器。特殊其他本地产生的数据流、Layer2 Keepalive和路由协议消息,对基本作用是重要的路由器,并且不能是受一些QoS功能支配。例如,当平均队列深度到达一高水印时,加权随机早期检测(WRED)不能下降Layer2 Keepalive

另外,必须仔细处理数据包被注定对路由器。例如,请记住运用基于类的策略的服务策略不能适用于数据包被注定对路由器避免丢弃重要控制消息。

注意: 根据设计, RP生成的数据包在模块化QoS CLI计数器没有认为,即使那些数据包适当地分类/排队。那些数据包在show policy-map interface命令输出中没有认为。

此表列出到/从路由器被注定的数据包如何与关键QoS功能当前呼应。

QoS功能 说明
基于类的标记
  • 最初仅工作在思科快速转发(CEF) -交换数据包。
  • 进程交换和快速交换方法的支持在Cisco IOS软件版本12.2(5) (CSCdt74738)介绍。
修正
  • 入站-速率限制可以应用。必须配置入站接口上与CEF,如果使用而不是承诺接入速率(CAR) (基于类的策略)。在Cisco 7500系列路由器上,流量监管能监控仅CEF交换开关路径。
  • 出站-限制与CAR或基于类的策略工作的速率。

在Catalyst 6000的确定优先级的数据包

当您运行在Supervisor和多层交换机特性卡(MSFC)的Cisco IOS在Catalyst 6000时, RP用IP优先级6.标记路由控制信息包。此引人注目的价值可以与输出调度一起使用映射路由控制信息包到高队列,在加权轮回(WRR)系统的高限阈值。只要QoS用mls qos命令,启用全局MSFC发出的路由控制信息包这样映射自动地发生。如果启用QoS,造成系统设置所有排队参数,例如WRED丢弃门限、WRR带宽和队列限制。使用禁用的QoS全局,所有信息包被映射对低队列,输出调度的低限阈值, WRR。

在Catalyst 6000配置指南的配置的QoS章节中注明, QoS支持分类、标记、日程安排和拥塞避免使用Layer2业务类别(CoS)值在以太网进入端口。分类、标记、日程安排和拥塞避免在以太网进入端口不使用或集第3层IP优先或者DSCP值。另外,用所有交换引擎, QoS支持以太网输出端口日程安排和拥塞避免与Layer2 Cos值。结果,必须映射关键的IP和非IP信息包到Cos值,作为数据总线头一部分,即使这样值只内部使用。关键的IP信息包有他们的IP优先值6被映射对值6.关键的非IP信息包,包括IS-IS信息包起源于MSFC,标记用pak_priority标志的等同的Cos这样己标记数据包然后被映射对Cos值为6。此映射在当前Cisco IOS版本自动地发生。

入口策略和出口策略不标记为发射发出由MSFC和注定的数据包通过一个物理以太网接口。

在本文的范围之外,在Catalyst 6000的QoS配置是。参考配置QoSCatalyst LAN和ATM交换机支持页面欲知更多信息。

相关的思科支持社区讨论

思科支持社区是您提问、解答问题、分享建议以及与工作伙伴协作的论坛。


相关信息


Document ID: 18664