Qualidade de Serviço (QoS) : Marcação de pacotes QoS

Implementando Políticas de Qualidade de Serviço com o DSCP

23 Março 2008 - Tradução Manual
Outras Versões: Versão em PDFpdf | Tradução por Computador (29 Julho 2013) | Inglês (15 Fevereiro 2008) | Feedback


Índice

Introdução
Pré-requisitos
     Requisitos
     Componentes usados
     Teoria Complementar
     Convenções
Ponto de Código de Serviços Diferenciados
Encaminhamento Assegurado
Encaminhamento expedido
Usando o Campo DSCP
Classificação de Pacotes
Marcação
Usando a Taxa de Acesso Comprometida ou a Política Baseada na Classe
WRED Compatível com DSCP
Problemas Conhecidos em Treinamentos do Cisco IOS Software Release 12.2
Discussões relacionadas da comunidade de suporte da Cisco

Introdução

Este documento descreve como definir os valores do ponto de código de serviços diferenciados (DSCP) em configurações de Quality of Service (QoS) em um roteador Cisco e resume o relacionamento entre o DSCP e a precedência do IP.

Pré-requisitos

Requisitos

Você deverá estar familiarizado com os campos no cabeçalho do IP e na CLI do Cisco IOS®

Componentes usados

Este documento não se restringe a versões específicas de software e de hardware.

As informações apresentadas neste documento foram criadas a partir dos dispositivos em um ambiente de laboratório específico. Todos os dispositivos usados neste documento começaram com uma configuração esclarecida (padrão). Caso esteja trabalhando em uma rede ativa, certifique-se de ter compreendido o possível impacto dos comandos antes de utilizá-los.

Teoria Complementar

O Differentiated Services (DiffServ) é um novo modelo no qual o tráfego é tratado por sistemas intermediários com prioridades relativas com base no campo de tipo de serviço (ToS). Definido no RFC 2474 leavingcisco.com e no RFC 2475 leavingcisco.com, o padrão DiffServ substitui a especificação original para definir a prioridade de pacotes descrita no RFC 791 leavingcisco.com. O DiffServ aumenta a qualidade de níveis de prioridade definíveis através da realocação de bits de um pacote de IP para marcação de prioridade.

A arquitetura do DiffServ define o campo DiffServ (DS), que substitui o campo ToS no IPv4 para realizar decisões de comportamento por salto (PHB) sobre classificação de pacotes e funções de condicionamento de tráfego, tal como medição, marcação, modelagem e vigilância.

Os RFCs não ditam uma forma de implementar PHBs; essa responsabilidade é do fornecedor. A Cisco implementa técnicas de enfileiramento que possam basear seu PHB na precedência do IP ou no valor do DSCP no cabeçalho do IP de um pacote. Baseado na precedência do IP ou do DSCP, o tráfego pode ser colocado em uma classe de serviço específica. Os pacotes dentro de uma classe de serviço são tratados do mesmo modo.

Convenções

Para obter mais informações sobre convenções de documentos, consulte Convenções de Dicas Técnicas da Cisco.

Ponto de Código de Serviços Diferenciados

Os seis bits mais significativos do campo DiffServ são chamados de DSCP (ponto de código de serviços diferenciados). Os dois últimos bits atualmente inutilizados (CU) no campo DiffServ não foram definidos dentro da arquitetura do DiffServ; eles estão sendo agora utilizados como bits de notificação de congestionamento explícito (ECN). Os roteadores na extremidade da rede classificam pacotes e os marcam com o valor de precedência de IP ou de DSCP em uma rede Diffserv. Outros dispositivos de rede centrais que oferecem suporte ao Diffserv usam o valor do DSCP no cabeçalho do IP para selecionar um comportamento de PHB para o pacote e fornecer o tratamento de QoS apropriado.

Os diagramas nesta seção mostram uma comparação entre o byte de ToS definido pelo RFC 791 leavingcisco.com e pelo campo DiffServ.

Byte ToS

P2

P1

P0

T2

T1

T0

CU1

CU0

  • Precedência do IP — três bits (de P2 a P0)

  • Retardo, taxa de transferência e confiabilidade — três bits (T2 a T0)

  • CU (atualmente inutilizado) — dois bits (CU1-CU0)

Campo DiffServ

DS5

DS4

DS3

DS2

DS1

DS0

ECN

ECN

  • DSCP — seis bits (DS5-DS0)

  • ECN — dois bits

O campo DiffServ padronizado do pacote está marcado com um valor para que o pacote receba um tratamento de encaminhamento específico ou PHB, em cada nó de rede.

O DSCP padrão é 000 000. Os DSCPs de seletor de classes são valores com compatibilidade retrógrada com a precedência do IP. Ao converter entre a precedência de IP e o DSCP, faça a correspondência com os três bits mais significativos. Em outras palavras:

IP Prec 5 (101) maps to IP DSCP 101 000
         

Byte ToS

1

0

1

T2

T1

T0

CU2

CU0

Campo DiffServ

1

0

1

0

0

0

ECN

ECN

O padrão DiffServ utiliza os mesmos bits de precedência (os bits mais significativos — DS5, DS4 e DS3) para a definição de prioridades, mas posteriormente esclarece as definições, oferecendo granularidade fina através do uso dos três bits seguintes no DSCP. O DiffServ reorganiza e renomeia os níveis de precedência (ainda definidos pelos três bits mais significativos do DSCP) nestas categorias (os níveis são explicados mais detalhadamente neste documento):

Nível de precedência

Descrição

7

Permanece igual (keep alive do protocolo de roteamento e camada de link)

6

Permanece igual (usado em protocolos de IP routing)

5

Express Forwarding (EF)

4

Classe 4

3

Classe 3

2

Classe 2

1

Classe 1

0

Melhor esforço

Com este sistema, um dispositivo prioriza o tráfego pela classe primeiro. E então diferencia e prioriza tráfego de classes iguais, considerando a probabilidade de queda.

O padrão DiffServ não especifica uma definição precisa de probabilidade de queda "low" (baixa), "medium" (média) e "high" (alta). Nem todos os dispositivos reconhecem as definições do DiffServ (DS2 e DS1); e mesmo quando essas definições são reconhecidas, elas não acionam necessariamente a mesma ação de encaminhamento de PHB em cada nó de rede. Cada nó implementa sua própria resposta com base em como está configurado.

Encaminhamento Assegurado

O RFC 2597 leavingcisco.com define o PHB de encaminhamento assegurado (AF) e o descreve como um meio para um domínio de DS de provedor para oferecer níveis diferentes de garantias de encaminhamento para pacotes de IP recebidos de um domínio de DS de cliente. O PHB de encaminhando assegurado garante uma certa quantidade de largura de banda ara uma classe de AF e permite acesso a largura de banda extra, caso disponível. Há quatro classes de AF, de AF1x a AF4x. Em cada classe, há três probabilidades de queda. Dependendo da política de uma determinada rede, os pacotes podem ser selecionados para um PHB com base em transmissão de dados requerida, retardo, variação de sinal, perda ou de acordo com a prioridade de acesso a serviços da rede.

As classes de 1 a 4 são chamadas de classes AF. A tabela a seguir ilustra a codificação DSCP para a especificação da classe AF com a probabilidade. Os bits DS5, DS4 e DS3 definem a classe; os bits DS2 e DS1 especificam a probabilidade de queda; o bit DS0 é sempre zero.

Queda

Classe 1

Classe 2

Classe 3

Classe 4

Baixa

001010

AF11

DSCP 10

010010

AF21

DSCP 18

011010

AF31

DSCP 26

100010

AF41

DSCP 34

Média

001100

AF12

DSCP 12

010100

AF 22

DSCP 20

011100

AF32

DSCP 28

100100

AF42

DSCP 36

Alta

001110

AF13

DSCP 14

010110

AF23

DSCP 22

011110

AF33

DSCP 30

100110

AF43

DSCP 38

Encaminhamento expedido

O RFC 2598 leavingcisco.com define o PHB de encaminhamento expedido (EF): "O PHB de EF pode ser usado para gerar baixa perda, baixa latência, baixa variação de sinal, largura de banda garantida e serviço ponto a ponto através de domínios de DS (Diffserv). Tal serviço aparece nas extremidades como uma conexão ponto a ponto ou uma "linha virtual alugada". Esse serviço também foi descrito como um serviço Premium. Recomenda-se o ponto de código 101110 para o PHB de EF.

Mais uma vez, mecanismos específicos do fornecedor precisam ser configurados para implementar esses PHBs. Consulte RFC 2598 leavingcisco.com para obter mais informações sobre o PHB de EF.

Usando o Campo DSCP

Há três maneiras de você utilizar o campo DSCP:

  • Classificador — Selecione um pacote com base no conteúdo de algumas partes do cabeçalho do pacote e aplique o PHB com base na característica de serviço definida pelo valor do DSCP.

  • Marcador — Defina o campo DSCP com base no perfil de tráfego.

  • Medição — Verifique a conformidade com o perfil de tráfego utilizando um formador ou função de conta-gotas.

O Cisco IOS Software considera os bits de precedência do campo de ToS se houver tráfego enfileirado em Enfileiramento Moderado Ponderado (WFQ), Detecção Antecipada Aleatória Ponderada (WRED) ou Rodízio Ponderado (WRR). Os bits de precedência não são considerados quando o Roteamento Baseado em Política, o Enfileiramento de Prioridade (PQ), o Enfileiramento Personalizado (CQ) ou o Enfileiramento Moderado Ponderado Baseado em Classe (CBWFQ) estão configurados.

Classificação de Pacotes

A classificação de pacotes envolve o uso de um descritor de tráfego para categorizar um pacote dentro de um grupo específico e torna-lo acessível para tratamento de QoS na rede. Usando a classificação do pacote, você pode particionar o tráfego de rede em diversos níveis de prioridade ou em uma classe de serviço (CoS).

Você pode usar as listas de acesso (ACLs) ou o comando match na CLI QoS modular para fazer a correspondência com valores do DSCP. Para obter mais informações sobre como usar as ACLs, consulte Qualidade de Serviço para o Cisco 7200/7500. A seleção de um valor de DSCP no comando correspondente foi apresentada no Cisco IOS Software Release 12.1(5)T.

Router1(config)# access-list 101 permit ip any any ?
            dscp       Faz a correspondência de pacotes com um valor de dscp específico 
fragments  Check non-initial fragments
log        Log matches against this entry
log-input  Log matches against this entry, including input interface
precedence Match packets with given precedence value
time-range Specify a time-range
tos        Match packets with given TOS value

Quando você especifica o valor do dscp do ip no comando class map, acontece isto:

Router(config)# class-map match-all VOIP 
 1751-uut1(config-cmap)# match ip dscp ? 
   <0-63>   Differentiated services codepoint value
   af11     Match packets with AF11 dscp (001010)
   af12     Match packets with AF12 dscp (001100)
   af13     Match packets with AF13 dscp (001110)
   af21     Match packets with AF21 dscp (010010)
   af22     Match packets with AF22 dscp (010100)
   af23     Match packets with AF23 dscp (010110)
   af31     Match packets with AF31 dscp (011010)
   af32     Match packets with AF32 dscp (011100)
   af33     Match packets with AF33 dscp (011110)
   af41     Match packets with AF41 dscp (100010)
   af42     Match packets with AF42 dscp (100100)
   af43     Match packets with AF43 dscp (100110)
   cs1      Match packets with CS1(precedence 1) dscp (001000)
   cs2      Match packets with CS2(precedence 2) dscp (010000)
   cs3      Match packets with CS3(precedence 3) dscp (011000)
   cs4      Match packets with CS4(precedence 4) dscp (100000)
   cs5      Match packets with CS5(precedence 5) dscp (101000)
   cs6      Match packets with CS6(precedence 6) dscp (110000)
   cs7      Match packets with CS7(precedence 7) dscp (111000)
   default  Match packets with default dscp (000000)
   ef       Match packets with EF dscp (101110)
 Router1(config-cmap)# match ip dscp af31

         

Marcação

O DSCP pode ser definido com um valor desejado na extremidade da rede para que os dispositivos centrais classifiquem mais facilmente o pacote conforme mostrado na seção Classificação de Pacotes e forneçam um nível adequado de serviço. A marcação de pacotes com base na classe pode ser usada para definir o valor do DSCP conforme mostrado aqui:

policy-map pack-multimedia-5M

               !--- Cria um mapa de política chamado pack-multimedia-5M.
            
  class management


               !--- Especifica a política a ser criada para o
!--- tráfego classificado pelo gerenciamento de classes.
            

    bandwidth 50
    set ip dscp 8
    
               !--- Define o valor do DSCP dos pacotes que correspondem ao
!--- gerenciamento de classes para 8.
            
  class C1
    priority 1248
    set ip dscp 40
  class voice-signalling
    bandwidth 120
    set ip dscp 24

Usando a Taxa de Acesso Comprometida ou a Política Baseada na Classe

A taxa de acesso comprometida e a política baseada na classe são mecanismos de regulamentação de tráfego, usados para regular o fluxo de tráfego para que se conformem com os parâmetros de serviço acordados. Esses mecanismos junto com o DSCP podem ser usados para fornecer níveis diferentes de serviço para tráfego adequado e inadequado através da modificação apropriada do valor do DSCP, conforme mostrado nesta seção.

Consulte Configurando a Política de Tráfego e Comparando a Política Baseada na Classe e a Taxa de Acesso Comprometida para obter mais informações.

interface Serial1/0.1 point-to-point

bandwidth 5000
ip address 192.168.126.134 255.255.255.252
rate-limit output access-group 150 8000 1500 2000 conform-action
  set-dscp-transmit 10 exceed-action set-dscp-transmit 20

               !--- Para obter a lista de acesso de correspondência de tráfego 150, define o valor do DSCP do tráfego adequado
!--– para 10 e do tráfego não-adequado para 20.
            
rate-limit output access-group 152 8000 1500 2000 conform-action
  set-dscp-transmit 15 exceed-action set-dscp-transmit 25
rate-limit output access-group 154 8000 1500 2000 conform-action
  set-dscp-transmit 18 exceed-action set-dscp-transmit 28
frame-relay interface-dlci 17
class shaper-multimedia-5M

WRED Compatível com DSCP

A detecção aleatória antecipada ponderada (WRED) descarta seletivamente o tráfego de prioridade inferior quando a interface começa a ficar congestionada. A WRED pode fornecer características de desempenho diferenciadas em CoSs diferentes. Esse serviço diferenciado pode basear-se no DSCP, conforme mostrado aqui:

class C2
    bandwidth 1750
    random-detect dscp-based
    
               !--- Ativa a WRED baseada no dscp como política de queda.
            
    random-detect exponential-weighting-constant 7
    
               !--- Especifica o fator de ponderação exponencial para o
!--- cálculo da média de tamanho de fila para a fila.
            
    random-detect dscp 16 48 145 10
    
               !--- Especifica os limiares mínimo e máximo da fila
!--- para cada valor do DSCP.
            
    random-detect dscp 32 145 435 10

Consulte a seção WRED de Conformidade DiffServ em Visão Geral Sobre Fuga de Congestionamento para obter mais informações.

Problemas Conhecidos em Treinamentos do Cisco IOS Software Release 12.2

Para obter ais informações sobre os erros a seguir, você pode usar o Bug Toolkit (clientes registrados somente) para obter mais informações sobre estes erros:

  • CSCdt63295 (clientes registrados somente) — Se você não conseguir definir o byte de ToS com os novos comandos de marcação de DSCP nos correspondentes de discagem (definidos para 0) no Cisco IOS Software Release 12.2.2T, então os pacotes não serão marcados e permanecerão com o ToS definido como 0.

  • CSCdt74738 (clientes registrados somente) — O suporte ao comando set ip dscp no roteador Cisco 7200 e em plataformas com poucos recursos para pacotes de transmissão múltipla deverá estar disponível no Cisco IOS Software versão 12.2(3.6) e mais recente.


Discussões relacionadas da comunidade de suporte da Cisco

A Comunidade de Suporte da Cisco é um fórum onde você pode perguntar e responder, oferecer sugestões e colaborar com colegas.


Document ID: 10103