A Cisco possui algo que eles chamam de Cisco Validated Designs (CVD). Estes são projetos de rede de diferentes perspectivas, como QoS, alta disponibilidade, WAN, etc, que a Cisco recomenda e testou.
Para QoS, eles têm três designs diferentes, com 4, 8 ou 12 classes, que podem ser vistos na figura abaixo.
Começando com o modelo de 4 classes:
! 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
Como você pode ver, ele corresponde a diferentes valores de DSCP. O DSCP EF é geralmente usado para VoIP. Isso significa que seus pacotes já devem ter sido marcados o mais cedo possível em sua rede. Os valores da largura de banda são inseridos em porcentagem, o que significa que a política pode ser aplicada em diferentes interfaces de velocidade e ainda fornecer bons valores em comparação com a entrada deles em kbit / s. Em interfaces de velocidade muito alta como 10 Gbit, pode ser muito usar 7% para controlar o tráfego, já que isso seria 700 Mbit / s.
Os dados e o padrão de classe usam a fila justa, que é uma maneira de enfileirar pacotes com base no DSCP e no tamanho do pacote para fornecer enfileiramento justo, mesmo para fluxos de pacotes pequenos. Para poder usar isso, você precisa de uma imagem que suporte o HQ (Hierarchical Queing Framework), que é 12.4 (20) T ou mais recente.
A Detecção Precoce Aleatória Ponderada (WRED) também é aplicada para resolver problemas como a sincronização TCP, na qual os fluxos TCP aceleram e recuam ao mesmo tempo.
Então você tem o modelo de 8 classes.
! 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
Essa política é mais granular para aplicativos em tempo real, como vídeo, streaming e sinalização para esses protocolos.
Finalmente, este é o modelo de 12 classes.
! 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
Essa política possui ainda mais classes para tráfego interativo e também mais classes para diferentes tipos de dados e uma classe de gerenciamento.
Finalmente, você deve aplicar a política a uma interface como esta.
saída da política de serviço int gix / x CLASSE WAN-EDGE-12
Aqui está um link para WAN QoS CVD.