服务质量 (QoS) : QoS 策略

GRE 隧道接口的服务质量选项

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


目录


简介

本文档回顾了可以使用通用路由封装 (GRE),在隧道接口上进行配置的服务质量 (QoS) 特性。配置了 IP 安全 (IPsec) 的隧道不在本文档的讨论范围之内。

先决条件

要求

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

使用的组件

本文档不限于特定的软件和硬件版本。

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

规则

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

GRE 概述

在您学习GRE隧道的QoS以前,您首先需要了解隧道信息包的格式。

隧道接口是在运行思科IOS�软件的路由器的一个虚拟或逻辑接口。它在 IP 互联网络远程点上的两个 Cisco 路由器之间创建虚拟点对点链接。

GRE 是由 IOS 支持的封装协议,在 RFC 1702 中进行定义。leavingcisco.com 隧道协议将数据包封装在传输协议内部。

隧道接口支持下列每一种协议的报头:

  • 乘客协议或封装的协议,例如 IP、AppleTalk、DECnet 或者 IPX。

  • 载波协议 (本例中为 GRE)。

  • 传输协议 (本例中仅为 IP)。

隧道数据包的格式如下图所示:

http://www.cisco.com/c/dam/en/us/support/docs/quality-of-service-qos/qos-policing/10106-qostunnel-01.gif

有关配置 GRE 隧道的详细信息,请参阅配置逻辑接口

GRE 隧道的 Cisco QoS

隧道接口支持的许多 QoS 特性和物理接口一样。这些部分描述支持的 QoS 功能。

整形

Cisco IOS 软件版本 12.0(7)T 引入了对在隧道接口上直接应用 Generic Traffic Shaping (GTS) 的支持。以下配置示例将隧道接口整形为具有 500 Kbps 的整体输出速率。有关详细信息,请参阅配置通用流量整形

interface Tunnel0 
  ip address 130.1.2.1 255.255.255.0 
  traffic-shape rate 500000 125000 125000 1000 
  tunnel source 10.1.1.1 
  tunnel destination 10.2.2.2

Cisco IOS 软件版本 12.1(2)T 添加了对使用模块化 QoS 命令行界面 (MQC) 进行基于类的整形的支持。以下示例配置显示如何把相同的整形策略应用到带有MQC命令的隧道接口。有关详细信息,请参阅配置基于类的整形

policy-map tunnel 
  class class-default 
    shape average 500000 125000 125000 
interface Tunnel0 
  ip address 130.1.2.1 255.255.255.0 
  service-policy output tunnel 
  tunnel source 130.1.35.1 
  tunnel destination 130.1.35.2

修正

当接口变得拥塞并且信息包开始排队时,您可以把排队方法应用到等待传输的信息包中。Cisco IOS逻辑接口本身不支持拥塞状态,并且不支持运用排队方法的服务策略的直接应用程序。相反,您需要按照以下步骤应用分级策略

  1. 创建一个"子"或更低级策略,来配置排列机制,例如带有优先命令的低延迟排队和带宽命令的基于类别的加权公平队列(CBWFQ)。有关详细信息,请参阅拥塞管理

    policy-map child 
     class voice 
      priority 512
  2. 创建应用基于类的整形的“父”策略或顶层策略。因为子等级的准入控制根据父等级的整形速率完成的,所以将子策略作为父策略的命令。

    policy-map tunnel 
     class class-default 
      shape average 2000000 
      service-policy child 
  3. 对隧道接口应用父策略。

    interface tunnel0 
       service-policy tunnel

当隧道接口配有应用排队而不是整形的服务策略时,路由器将打印此日志消息。

router(config)# interface tunnel1
router(config-if)# service-policy output child
 Class Based Weighted Fair Queueing not supported on this interface

隧道接口也支持基于类的策略,但是不支持 Committed Access Rate (CAR)。

注意: 7500 上的隧道接口不支持服务策略。

拥塞避免

Cisco IOS软件版本11.3T介绍GRE隧道标记和DSCP或者IP优先级值,配置路由器复制Tos字节IP优先位值到通道或GRE IP报头封装内部信息包。以前,这些位设为零。隧道终点之间的中间路由器可以使用IP优先级值,来对QoS功能的信息包分类,例如策略路由、WFQ和加权随机早期检测(WRED)。

qos pre-classify 命令

当信息包由隧道或加密头封装时,QoS功能无法检查原始信息包报头,并正确分类信息包。同一隧道传输的信息包具有相同的隧道报头,因此如果物理接口被堵塞,信息包则视为相等。通过引入虚拟专用网络(VPN)的服务质量,信息包现在可以在隧道和加密发生之前进行分类。

在本例中,tunnel0 是隧道名称。qos pre-classify 命令在 tunnel0 上启用 QoS for VPNs 功能:

Router(config)# interface tunnel0
Router(config-if)# qos pre-classify

注意: qos pre-classify命令可以用于为了分类根据值的流量除IP优先级或DSCP之外。例如,您也许要分类根据Ip流或第3层信息的数据包,例如此命令可以使用的源和目的地IP地址。只有当分类在IP、协议或者端口的流量qos pre-classify命令要求。如果分类根据DSCP代码,则qos pre-classify没有要求。

QoS 策略所需的数据流特点分析

配置服务策略时,您可能首先需要识别穿越隧道的数据流。Cisco IOS 支持在隧道等逻辑接口上进行 NetFlow 和 IP Cisco Express Forwarding (CEF) 记帐。有关详细信息,请参阅 NetFlow 服务解决方案指南

在哪里应用服务策略?

您可以将服务策略应用到隧道接口或基础物理接口。策略应用场合取决于 QoS 目标,还取决于您需要用于分类的报头。

  • 当您想要根据预隧道报头分类信息包时,请将策略应用到隧道接口,而无需启用qos-preclassify。

  • 当您想要根据后隧道报头分类信息包时,请将策略应用到物理接口,并启用qos-preclassify。另外,当您想要整形或控制所有属于隧道的数据流时,把策略应用到物理接口,该物理接口可支持几条隧道。

  • 当您要根据预隧道报头分类数据包时,请将该策略应用到物理接口,并启用隧道接口上的 qos-preclassify

多点隧道接口

多点接口不支持基于类的整形中的 CBWFQ。当拒绝策略时,Cisco Bug ID CSCds87191 将路由器配置为打印错误消息。

已知问题

在少数的情况下,应用带有shape命令的服务策略会导致高CPU利用和校准错误。CPU负载由记录校验错误引起,反之则由CEF不正确设置输出接口和邻接重写信息引起。此问题只影响非RSP平台(低端)和使用基于点的(particle-based)CEF交换的平台,此问题可以通过Cisco Bug ID CSCdu45504和CSCuk30302来解决。您也可以考虑以下解决方案:

  • tunnel mode ipip 替换 GRE 封装。

  • police 命令替换 shape 命令。

  • 配置在支持隧道的物理接口上的整形。

相关的思科支持社区讨论

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


相关信息


Document ID: 10106