思科有一种他们称之为思科验证设计 (CVD) 的东西。这些是思科推荐并测试过的从不同角度的网络设计,如 QoS、高可用性、WAN 等。
对于 QoS,它们有 3 种不同的设计,分别为 4、8 或 12 个类别,如下图所示。
从 4 类模型开始:
! This section defines the 4-Class class-maps
! (three are explicitly defined and one is default)
Router(config)# class-map match-any REALTIME
Router(config-cmap)# match dscp ef
! Matches VoIP
Router(config-cmap)# match dscp cs5
! Matches Broadcast Video
Router(config-cmap)# match dscp cs4
! Matches Realtime-Interactive
Router(config)# class-map match-any CONTROL
Router(config-cmap)# match dscp cs6
! Matches Network-Control
Router(config-cmap)# match dscp cs3
! Matches Signaling (control-plane traffic for voice/video infrastructure)
Router(config-cmap)# match dscp cs2
! Matches Network Management
Router(config)# class-map match-any CRITICAL-DATA
Router(config-cmap)# match dscp af41 af42 af43
! Matches Multimedia Conferencing on AF4
Router(config-cmap)# match dscp af31 af32 af33
! Matches Multimedia Streaming on AF3
Router(config-cmap)# match dscp af21 af22 af23
! Matches Transactional Data on AF2
Router(config-cmap)# match dscp af11 af12 af13
! Matches Bulk Data on AF1
! This section defines the 4-Class Policy-Map
Router(config)# policy-map WAN-EDGE-4-CLASS
Router(config-pmap)# class REALTIME
Router(config-pmap-c)# priority percent 33
! Provisions 33% LLQ for REALTIME class
Router(config-pmap-c)# class CONTROL
Router(config-pmap-c)# bandwidth percent 7
! Provisions 7% CBWFQ for CONTROL class
Router(config-pmap-c)# class CRITICAL-DATA
Router(config-pmap-c)# bandwidth percent 35
! Provisions 35% CBWFQ for CRITICAL-DATA class
Router(config-pmap-c)# fair-queue
! Enables fair-queuing pre-sorter on CRITICAL-DATA class
Router(config-pmap-c)# random-detect dscp-based
! Enables DSCP-based WRED on CRITICAL-DATA class
Router(config-pmap-c)# random-detect dscp af11 50 64
! Tunes WRED min and max drop-thresholds for AF11/10 to 50 and 64 packets
Router(config-pmap-c)# random-detect dscp af12 45 64
! Tunes WRED min and max drop-thresholds for AF12/12 to 45 and 64 packets
Router(config-pmap-c)# random-detect dscp af13 40 64
! Tunes WRED min and max drop-thresholds for AF13/14 to 40 and 64 packets
Router(config-pmap-c)# random-detect dscp af21 50 64
! Tunes WRED min and max drop-thresholds for AF21/18 to 50 and 64 packets
Router(config-pmap-c)# random-detect dscp af22 45 64
! Tunes WRED min and max drop-thresholds for AF22/20 to 45 and 64 packets
Router(config-pmap-c)# random-detect dscp af23 40 64
! Tunes WRED min and max drop-thresholds for AF23/22 to 40 and 64 packets
Router(config-pmap-c)# random-detect dscp af31 50 64
! Tunes WRED min and max drop-thresholds for AF31/26 to 50 and 64 packets
Router(config-pmap-c)# random-detect dscp af32 45 64
! Tunes WRED min and max drop-thresholds for AF32/28 to 45 and 64 packets
Router(config-pmap-c)# random-detect dscp af33 40 64
! Tunes WRED min and max drop-thresholds for AF33/30 to 40 and 64 packets
Router(config-pmap-c)# random-detect dscp af41 50 64
! Tunes WRED min and max drop-thresholds for AF41/34 to 50 and 64 packets
Router(config-pmap-c)# random-detect dscp af42 45 64
! Tunes WRED min and max drop-thresholds for AF42/36 to 45 and 64 packets
Router(config-pmap-c)# random-detect dscp af43 40 64
! Tunes WRED min and max drop-thresholds for AF43/38 to 40 and 64 packets
Router(config-pmap-c)# class class-default
Router(config-pmap-c)# bandwidth percent 25
! Provisions 25% CBWFQ for default (Best-Effort) class
Router(config-pmap-c)# fair-queue
! Enables fair-queuing pre-sorter on default (Best-Effort) class
Router(config-pmap-c)# queue-limit 128 packets
! Expands queue-limit to 128 packets
Router(config-pmap-c)# random-detect dscp-based
! Enables DSCP-based WRED on default (Best-Effort) class
Router(config-pmap-c)# random-detect dscp default 100 128
! Tunes WRED min and max drop-thresholds for DF/0 to 100 and 128 packets
Router(config-pmap-c)# random-detect dscp cs1 60 100
! Tunes WRED min and max drop-thresholds for CS1/8 to 60 and 100 packets
如您所见,它匹配不同的 DSCP 值。DSCP EF 通常用于 VoIP。这意味着您的数据包应该已经在您的网络中尽早标记。带宽值以百分比形式输入,这意味着该策略可以应用于不同速度的接口,并且与以 kbit/s 输入它们相比仍然提供良好的值。在 10 Gbit 等非常高速的接口上,将 7% 用于控制流量可能会很大,但因为那将是 700 Mbit/s。
数据和类默认都使用公平队列,这是一种基于 DSCP 和数据包大小的数据包排队方式,即使对于小数据包流也能提供公平排队。为了能够使用它,您需要一个支持12.4(20)T或更新版本的分层队列框架 (HQF) 的图像。
加权随机早期检测 (WRED) 还用于处理 TCP 同步等问题,其中 TCP 流将同时加速和回退。
然后你有 8 类模型。
! This section defines the 8-Class class-maps
! (seven are explicitly defined and one is default)
Router(config)# class-map match-all VOICE
Router(config-cmap)# match dscp ef
! Matches VoIP
Router(config)# class-map match-any INTERACTIVE-VIDEO
Router(config-cmap)# match dscp cs5
! Matches Broadcast Video
Router(config-cmap)# match dscp cs4
! Matches Realtime-Interactive
Router(config)# class-map match-any NETWORK-CONTROL
Router(config-cmap)# match dscp cs6
! Matches Network Control
Router(config-cmap)# match dscp cs2
! Matches Network Management
Router(config)# class-map match-all SIGNALING
Router(config-cmap)# match dscp cs3
! Matches Signaling
Router(config)# class-map match-all MULTIMEDIA-STREAMING
Router(config-cmap)# match dscp af31 af32 af33
! Matches Multimedia-Streaming on AF3
Router(config)# class-map match-any CRITICAL-DATA
Router(config-cmap)# match dscp af41 af42 af43
! Matches Multimedia-Conferencing on AF4
Router(config-cmap)# match dscp af21 af22 af23
! Matches Transactional-Data on AF2
Router(config-cmap)# match dscp af11 af12 af13
! Matches Bulk-Data on AF1
Router(config)# class-map match-all SCAVENGER
Router(config-cmap)# match dscp cs1
! Matches Scavenger
! This section configures the 8-class policy-map
Router(config)# policy-map WAN-EDGE-8-CLASS
Router(config-pmap)# class VOICE
Router(config-pmap-c)# priority percent 10
! Provisions 10% LLQ for VOICE class (dual LLQ-policy)
Router(config-pmap-c)# class INTERACTIVE-VIDEO
Router(config-pmap-c)# priority percent 23
! Provisions 23% LLQ for INTERACTIVE-VIDEO class (dual-LLQ policy)
Router(config-pmap-c)# class NETWORK-CONTROL
Router(config-pmap-c)# bandwidth percent 5
! Provisions 5% CBWFQ for NETWORK-CONTROL class
Router(config-pmap-c)# class SIGNALING
Router(config-pmap-c)# bandwidth percent 2
! Provisions 2% CBWFQ for SIGNALING class
Router(config-pmap-c)# class MULTIMEDIA-STREAMING
Router(config-pmap-c)# bandwidth percent 10
! Provisions 10% CBWFQ for MULTIMEDIA-STREAMING class
Router(config-pmap-c)# fair-queue
! Enables fair-queuing pre-sorter on MULTIMEDIA-STREAMING class
Router(config-pmap-c)# random-detect dscp-based
! Enables DSCP-based WRED on MULTIMEDIA-STREAMING class
Router(config-pmap-c)# random-detect dscp af31 50 64
! Tunes WRED min and max drop-thresholds for AF31/26 to 50 and 64 packets
Router(config-pmap-c)# random-detect dscp af32 45 64
! Tunes WRED min and max drop-thresholds for AF32/28 to 45 and 64 packets
Router(config-pmap-c)# random-detect dscp af33 40 64
! Tunes WRED min and max drop-thresholds for AF33/30 to 40 and 64 packets
Router(config-pmap-c)# class CRITICAL-DATA
Router(config-pmap-c)# bandwidth percent 24
! Provisions 24% CBWFQ for CRITICAL-DATA class
Router(config-pmap-c)# fair-queue
! Enables fair-queuing pre-sorter on CRITICAL-DATA class
Router(config-pmap-c)# random-detect dscp-based
! Enables DSCP-based WRED on CRITICAL-DATA class
Router(config-pmap-c)# random-detect dscp af11 50 64
! Tunes WRED min and max drop-thresholds for AF11/10 to 50 and 64 packets
Router(config-pmap-c)# random-detect dscp af12 45 64
! Tunes WRED min and max drop-thresholds for AF12/12 to 45 and 64 packets
Router(config-pmap-c)# random-detect dscp af13 40 64
! Tunes WRED min and max drop-thresholds for AF13/14 to 40 and 64 packets
Router(config-pmap-c)# random-detect dscp af21 50 64
! Tunes WRED min and max drop-thresholds for AF21/18 to 50 and 64 packets
Router(config-pmap-c)# random-detect dscp af22 45 64
! Tunes WRED min and max drop-thresholds for AF22/20 to 45 and 64 packets
Router(config-pmap-c)# random-detect dscp af23 40 64
! Tunes WRED min and max drop-thresholds for AF23/22 to 40 and 64 packets
Router(config-pmap-c)# random-detect dscp af41 50 64
! Tunes WRED min and max drop-thresholds for AF41/34 to 50 and 64 packets
Router(config-pmap-c)# random-detect dscp af42 45 64
! Tunes WRED min and max drop-thresholds for AF42/36 to 45 and 64 packets
Router(config-pmap-c)# random-detect dscp af43 40 64
! Tunes WRED min and max drop-thresholds for AF43/38 to 40 and 64 packets
Router(config-pmap-c)# class SCAVENGER
Router(config-pmap-c)# bandwidth percent 1
! Constrains Scavenger class to 1% CBWFQ
Router(config-pmap-c)# class class-default
Router(config-pmap-c)# bandwidth percent 25
! Provisions 25% CBWFQ for default (Best-Effort) class
Router(config-pmap-c)# fair-queue
! Enables fair-queuing pre-sorter on default (Best-Effort) class
Router(config-pmap-c)# queue-limit 128 packets
! Expands queue-limit to 128 packets
Router(config-pmap-c)# random-detect dscp-based
! Enables DSCP-based WRED on default (Best-Effort) class
Router(config-pmap-c)# random-detect dscp default 100 128
! Tunes WRED min and max drop-thresholds for DF/0 to 100 and 128 packets
对于这些协议的视频、流媒体和信令等实时应用程序,此策略更为细化。
最后这是12类模型。
! This section configures the class-maps
! (eleven class maps are explicitly defined and one is default)
Router(config)# class-map match-all VOICE
Router(config-cmap)# match dscp ef
! Matches VoIP
Router(config)# class-map match-all BROADCAST-VIDEO
Router(config-cmap)# match dscp cs5
! Matches Broadcast Video
Router(config)# class-map match-all REALTIME-INTERACTIVE
Router(config-cmap)# match dscp cs4
! Matches Realtime-Interactive
Router(config)# class-map match-all NETWORK-CONTROL
Router(config-cmap)# match dscp cs6
! Matches Network Control
Router(config)# class-map match-all SIGNALING
Router(config-cmap)# match dscp cs3
! Matches Signaling
Router(config)# class-map match-all NETWORK-MANAGEMENT
Router(config-cmap)# match dscp cs2
! Matches Network Management
Router(config)# class-map match-any MULTIMEDIA-CONFERENCING
Router(config-cmap)# match dscp af41
Router(config-cmap)# match dscp af42
Router(config-cmap)# match dscp af43
! Matches Multimedia-Conferencing
! One match statement per Drop Precedence increases visibility
Router(config)# class-map match-any MULTIMEDIA-STREAMING
Router(config-cmap)# match dscp af31
Router(config-cmap)# match dscp af32
Router(config-cmap)# match dscp af33
! Matches Multimedia-Streaming
! One match statement per Drop Precedence increases visibility
Router(config)# class-map match-any TRANSACTIONAL-DATA
Router(config-cmap)# match dscp af21
Router(config-cmap)# match dscp af22
Router(config-cmap)# match dscp af23
! Matches Transactional-Data
! One match statement per Drop Precedence increases visibility
Router(config)# class-map match-any BULK-DATA
Router(config-cmap)# match dscp af11
Router(config-cmap)# match dscp af12
Router(config-cmap)# match dscp af13
! Matches Bulk-Data
! One match statement per Drop Precedence increases visibility
Router(config)# class-map match-all SCAVENGER
Router(config-cmap)# match dscp cs1
! Matches Scavenger
! This section configures the 12-Class policy-map
Router(config)# policy-map WAN-EDGE-12-CLASS
Router(config-pmap)# class VOICE
Router(config-pmap-c)# priority percent 10
! Provisions 10% LLQ to VOICE class (multi-LLQ policy)
Router(config-pmap-c)# class BROADCAST-VIDEO
Router(config-pmap-c)# priority percent 10
! Provisions 10% LLQ to BROADCAST-VIDEO class (multi-LLQ policy)
Router(config-pmap-c)# class REALTIME-INTERACTIVE
Router(config-pmap-c)# priority percent 13
! Provisions 13% LLQ to REALTIME-INTERACTIVE class (multi-LLQ policy)
Router(config-pmap-c)# class NETWORK-CONTROL
Router(config-pmap-c)# bandwidth percent 2
! Provisions 2% CBWFQ to NETWORK-CONTROL class
Router(config-pmap-c)# class SIGNALING
Router(config-pmap-c)# bandwidth percent 2
! Provisions 2% CBWFQ to SIGNALING class
Router(config-pmap-c)# class NETWORK-MANAGEMENT
Router(config-pmap-c)# bandwidth percent 3
! Provisions 3% CBWFQ to NETWORK-MANAGEMENT class
Router(config-pmap-c)# class MULTIMEDIA-CONFERENCING
Router(config-pmap-c)# bandwidth percent 10
! Provisions 10% CBWFQ to MULTIMEDIA-CONFERENCING class
Router(config-pmap-c)# fair-queue
! Enables fair-queuing pre-sorter on MULTIMEDIA-CONFERENCING class
Router(config-pmap-c)# random-detect dscp-based
! Enables DSCP-based WRED on MULTIMEDIA-CONFERENCING class
Router(config-pmap-c)# random-detect dscp af41 50 64
! Tunes WRED min and max drop-thresholds for AF41/34 to 50 and 64 packets
Router(config-pmap-c)# random-detect dscp af42 45 64
! Tunes WRED min and max drop-thresholds for AF42/36 to 45 and 64 packets
Router(config-pmap-c)# random-detect dscp af43 40 64
! Tunes WRED min and max drop-thresholds for AF43/38 to 40 and 64 packets
Router(config-pmap-c)# class MULTIMEDIA-STREAMING
Router(config-pmap-c)# bandwidth percent 10
! Provisions 10% CBWFQ to MULTIMEDIA-STREAMING class
Router(config-pmap-c)# fair-queue
! Enables fair-queuing pre-sorter on MULTIMEDIA-STREAMING class
Router(config-pmap-c)# random-detect dscp-based
! Enables DSCP-based WRED on MULTIMEDIA-STREAMING class
Router(config-pmap-c)# random-detect dscp af31 50 64
! Tunes WRED min and max drop-thresholds for AF31/26 to 50 and 64 packets
Router(config-pmap-c)# random-detect dscp af32 45 64
! Tunes WRED min and max drop-thresholds for AF32/28 to 45 and 64 packets
Router(config-pmap-c)# random-detect dscp af33 40 64
! Tunes WRED min and max drop-thresholds for AF33/30 to 40 and 64 packets
Router(config-pmap-c)# class TRANSACTIONAL-DATA
Router(config-pmap-c)# bandwidth percent 10
! Provisions 10% CBWFQ to TRANSACTIONAL-DATA class
Router(config-pmap-c)# fair-queue
! Enables fair-queuing pre-sorter on TRANSACTIONAL-DATA class
Router(config-pmap-c)# random-detect dscp-based
! Enables DSCP-based WRED on TRANSACTIONAL-DATA class
Router(config-pmap-c)# random-detect dscp af21 50 64
! Tunes WRED min and max drop-thresholds for AF21/18 to 50 and 64 packets
Router(config-pmap-c)# random-detect dscp af22 45 64
! Tunes WRED min and max drop-thresholds for AF22/20 to 45 and 64 packets
Router(config-pmap-c)# random-detect dscp af23 40 64
! Tunes WRED min and max drop-thresholds for AF23/22 to 40 and 64 packets
Router(config-pmap-c)# class BULK-DATA
Router(config-pmap-c)# bandwidth percent 4
! Provisions 4% CBWFQ to BULK-DATA class
Router(config-pmap-c)# fair-queue
! Enables fair-queuing pre-sorter on BULK-DATA class
Router(config-pmap-c)# random-detect dscp-based
! Enables DSCP-based WRED on BULK-DATA class
Router(config-pmap-c)# random-detect dscp af11 50 64
! Tunes WRED min and max drop-thresholds for AF11/10 to 50 and 64 packets
Router(config-pmap-c)# random-detect dscp af12 45 64
! Tunes WRED min and max drop-thresholds for AF12/12 to 45 and 64 packets
Router(config-pmap-c)# random-detect dscp af13 40 64
! Tunes WRED min and max drop-thresholds for AF13/14 to 40 and 64 packets
Router(config-pmap-c)# class SCAVENGER
Router(config-pmap-c)# bandwidth percent 1
! Constrains Scavenger to 1% CBWFQ
Router(config-pmap-c)# class class-default
Router(config-pmap-c)# bandwidth percent 25
! Provisions 25% CBWFQ for default (Best-Effort) class
Router(config-pmap-c)# fair-queue
! Enables fair-queuing pre-sorter on default (Best-Effort) class
Router(config-pmap-c)# queue-limit 128 packets
! Expands queue-limit to 128 packets
Router(config-pmap-c)# random-detect dscp-based
! Enables DSCP-based WRED on default (Best-Effort) class
Router(config-pmap-c)# random-detect dscp default 100 128
! Tunes WRED min and max drop-thresholds for DF/0 to 100 and 128 packets
该策略有更多的交互式流量类,也有更多的不同类型数据的类和一个管理类。
最后,您必须将策略应用于这样的界面。
int gix/x 服务策略输出 WAN-EDGE-12-CLASS
这是WAN QoS CVD的链接。