Configurações comuns de QOS para um link WAN usando MQC

Fundo técnico:

Qualidade de serviço (QoS) tornar-se essencial e característica das redes IP modernas, especialmente com o implementações de VoIP e vídeo sobre redes IP. O QoS trabalha como engrenagem das redes modernas porque ele marca/remarca (classifca) reserva e prioriza algum tipo de tráfego sobre outros (enfileiramento) e em caso da congestão pode começar a eliminar tráfego menos importante baseado em classificações antes do tráfego importante (Weighted Random Early Detection WRED). Todas as características e serviços acima podem ser executados e distribuído para conseguir o que é conhecido como a rede QoS fim-a-fim. com este conhecimento nós podemos garantir em grande parte que nosso tráfego sensível tal como a voz e o vídeo é garantido e dado a prioridade sobre nenhum tráfego sensível (nenhum tempo real) como o tráfego de web e o FTP.

Além da gestão dos congestionamentos e dos mecanismos de prevenção de congestionamento mencionado acima QOC pode ser usado para segurança e / ou limitação de taxa para se certificar de que o tráfego passando pelo link WAN não está sobreutilizando a largura do link da banda WAN efectiva e não mais utilizados, por policiamento ou tráfego moldado que vai para fora da  interface WAN, também podemos implantar o policiamento e shaping para limitar alguns tráfegos para determinada quantidade de largura de banda que é útil também ter algum nível de segurança, por exemplo, podemos usá-lo para limitar a gestão tráfego, como distender o tráfego telnet ou SNMP ao roteador WAN ou qualquer outro dispositivo na rede.

O Cisco IOS tem diversas maneiras e mecanismos que podem ser usados para executar e configurar o QoS, um dos melhores métodos de uso geral são agora os dados da linha de comando MQC da Qualidade de Serviço modular

Neste documento nós discutiremos um exemplo de configuração de como usar e configurar o MQC para cumprir um exemplo de exigências de negócios, igualmente nós veremos como conseguir o mesmo objetivo usando mais de um método

Requisitos de QoS:

A empresa xyz.com tem um link WAN entre o escritório QG e um escritório filial a largura de banda de enlace WAN é 1Mbps

A empresa utiliza tráfego VOIP em cima desse link WAN com a seguinte marcação:

VOIP RTP DSCP EF

Sinalização VOIP CS3

O tráfego VOIP RTP deve ser prestado pimeiro no caso de congestionamento da interface e garantido e limitado em todas as vezes a 30 % da largura da interface WAN.

Asinalização VOIP precisa de uma largura de banda garantida de 8% da interface em caso de congestionamento

O tráfego telnet necessita de 3% de banda garantido em caso da congestão

Contudo o tráfego telnet para um host com o endereço IP 130.1.1.1 precisa 5% da largura de banda de interface garantido no caso da congestão

Distribuindo o tráfego:

se há 30 pacotes na fila com CS 6 (tráfego de roteamento) o roteador tem que começar a dropar estes pacotes, se os pacotes alcançam 40, uns 25% dos pacotes deve ser deixado cair, se vai além do pacote que 40 todo o pacote com CS 6 deve ser deixado cair

Configurações:

para conseguir as exigências que acima nós primeiramente precisamos identificar nossas classes de tráfego este será feito usando class maps.

access-list 100 permit tcp any host 130.1.1.1 eq telnet

esta ACL é usada para macar o tráfego telnet que vai ao host 130.1.1.1 como requerido para ter o tratamento de QoS diferente do que outro tráfego.

class-map match-all VOIP_SIG
match  dscp cs3
class-map match-all TELNET
match protocol telnet
class-map match-all RTP_VOIP
match ip dscp ef
class-map match-all TELNET_HOST130
match access-group 100

como mostrado acima nós combinamos o tráfego baseado nas exigências especificadas acima de (para o QoS fim a fim você precisa ter certeza de que seu  ponto final ou o switch enviam o tráfego com a marcação apropriada DSCP ou você pode usar números de porta para combinar o tráfego com os ACL)

depois que nós temos nossas class maps criadas agora nós precisamos criar uma policy para dar o tráfego a banda requerida e o tratamento QoS em caso de congestão da interface, isso será alcançado utilizando policy maps:

Mas antes de nós vermos as configurações do policy map vamos revisar o requerimento VOIP RTP acima, o requerimento precisa que o tráfego VOIP tenha priorização e tráfego garantido de 10% da largura da banda do enlace WAN e igualmente em todas as vezes

isto implica que nós precisamos dar uma largura de banda garantida de 30% do 1Mbps e igualmente desta necessidade ser prestado serviços de manutenção primeiramente no caso da congestão

isto pode ser arquivado usando o mecanismo de filas de latênci baixa LLQ, mas o LLQ não policiará nem limitará esta largura de faixa da classe no caso de NENHUMA congestão.

para limitar o tráfego VOIP RTP em todas as vezes a 30% do link WAN nós podemos usar uma policy map aninhada sob a configuração de class map este é chamado igualmente Hierárquico Qualidade de Serviço HQOS

policy-map VOIP
class class-default
   police cir 300000     --- 1Mb = 100000 x 0.3 = 300000 bps

para o tráfego do roteamento

as exigências:

Tráfego roteado por padrão é marcado como CS 6 e como exposto nas exigências acima  tráfego com CS 6 de ser configurado com WRED

note por favor que WRED a ser configurado sob a class default ou alguma outra classe você precisa configurar o comando bandwidth ou permitir o fair queueing para essa classe

a fila CS6 descarta como ponto inicial min 30 max 40 probabilidade de drop 25% = 1/4

class class-default
fair-queue
random-detect
random-detect precedence 6   30    40    4

a configuração da política de saída:

policy-map P1
class RTP_VOIP
   priority percent 30
   service-policy VOIP
class VOIP_SIG
   bandwidth percent 8
class TELNET_HOST130
   bandwidth percent 5
class TELNET
   bandwidth percent 3
class class-default
   fair-queue
   random-detect
   random-detect precedence 6   30    40    4

agora nós precisamos aplicar o policy map acima sob a interface WAN na direção externa

interface FastEthernet1/0

service-policy output P1


verificação:

WAN_rtr#show policy-map interface fastEthernet 1/0
FastEthernet1/0

  Service-policy output: P1

    Class-map: RTP_VOIP (match-all)
       4 packets, 456 bytes
       5 minute offered rate 0 bps, drop rate 0 bps
       Match: ip dscp ef (46)
       Queueing
         Strict Priority
         Output Queue: Conversation 264
         Bandwidth 30 (%)
        Bandwidth 30000 (kbps)
Burst 750000 (Bytes)

         (pkts matched/bytes matched) 0/0
         (total drops/bytes drops) 0/0

      Service-policy : VOIP

        Class-map: class-default (match-any)
           4 packets, 456 bytes
           5 minute offered rate 0 bps, drop rate 0 bps
           Match: any
           police:
               cir 300000 bps, bc 9375 bytes
             conformed 4 packets, 456 bytes; actions:
               transmit
             exceeded 0 packets, 0 bytes; actions:
               drop
             conformed 0 bps, exceed 0 bps

    Class-map: VOIP_SIG (match-all)
       0 packets, 0 bytes
       5 minute offered rate 0 bps, drop rate 0 bps
       Match:  dscp cs3 (24)
       Queueing
         Output Queue: Conversation 265
         Bandwidth 8 (%)
         Bandwidth 8000 (kbps)Max Threshold 64 (packets)
         (pkts matched/bytes matched) 0/0
         (depth/total drops/no-buffer drops) 0/0/0

    Class-map: TELNET_HOST130 (match-all)
       0 packets, 0 bytes
       5 minute offered rate 0 bps, drop rate 0 bps
       Match: access-group 100
       Queueing
         Output Queue: Conversation 266
         Bandwidth 5 (%)
         Bandwidth 5000 (kbps)Max Threshold 64 (packets)
         (pkts matched/bytes matched) 0/0
         (depth/total drops/no-buffer drops) 0/0/0

    Class-map: TELNET (match-all)
       0 packets, 0 bytes
       5 minute offered rate 0 bps, drop rate 0 bps
       Match: protocol telnet
       Queueing
         Output Queue: Conversation 267
         Bandwidth 3 (%)
         Bandwidth 3000 (kbps)Max Threshold 64 (packets)
         (pkts matched/bytes matched) 0/0
         (depth/total drops/no-buffer drops) 0/0/0

    Class-map: class-default (match-any)
       375 packets, 37786 bytes
       5 minute offered rate 0 bps, drop rate 0 bps
       Match: any
       Queueing
         Flow Based Fair Queueing
         Maximum Number of Hashed Queues 256
         (total queued/total drops/no-buffer drops) 0/0/0
          exponential weight: 9

  class    Transmitted      Random drop      Tail drop    Minimum Maximum  Mark
            pkts/bytes       pkts/bytes       pkts/bytes    thresh  thresh  prob
       0     347/34921           0/0              0/0           20      40  1/10
       1       0/0               0/0              0/0           22      40  1/10
       2       0/0               0/0              0/0           24      40  1/10
       3       0/0               0/0              0/0           26      40  1/10
       4       0/0               0/0              0/0           28      40  1/10
       5       0/0               0/0              0/0           30      40  1/10
       6       0/0               0/0              0/0           30      40  1/4
       7       0/0               0/0              0/0           34      40  1/10
    rsvp       0/0               0/0              0/0           36      40  1/10


como é óbvio a partir do comando show acima, temos a largura de banda alocada de forma incorreta pela nossa policy-map!!!

por exemplo o VOIP atribuiu sob a class LLQ 30000 Kbps que é 30 Mbps quando era para ser 300 Kbps

mesmo para outras classes!!

isto é porque nós estamos usando a largura de banda default da interface em nosso caso fastethernet com 100Mbps e a policy map provê a largura de banda da interface para atribuir a largura da banda e para considerar igualmente a relação congestionada ou não,

vamos mudar o bandwidth da interface para 1 Mbps e ver a diferença

nterface FastEthernet1/0
bandwidth 1000

WAN_rtr#show policy-map interface fastEthernet 1/0
FastEthernet1/0

  Service-policy output: P1

    Class-map: RTP_VOIP (match-all)
       1569 packets, 1051356 bytes
       5 minute offered rate 5000 bps, drop rate 0 bps
       Match: ip dscp ef (46)
       Queueing
         Strict Priority
         Output Queue: Conversation 264
         Bandwidth 30 (%)
        Bandwidth 300 (kbps)
Burst 7500 (Bytes)

         (pkts matched/bytes matched) 3/402
         (total drops/bytes drops) 0/0

      Service-policy : VOIP

        Class-map: class-default (match-any)
           1569 packets, 1051356 bytes
           5 minute offered rate 5000 bps, drop rate 0 bps
           Match: any
           police:
               cir 300000 bps, bc 9375 bytes
             conformed 1011 packets, 318144 bytes; actions:
               transmit
             exceeded 558 packets, 733212 bytes; actions:
               drop
             conformed 0 bps, exceed 0 bps

    Class-map: VOIP_SIG (match-all)
       30 packets, 3420 bytes
       5 minute offered rate 0 bps, drop rate 0 bps
       Match:  dscp cs3 (24)
       Queueing
         Output Queue: Conversation 265
         Bandwidth 8 (%)
         Bandwidth 80 (kbps)Max Threshold 64 (packets)
         (pkts matched/bytes matched) 0/0
         (depth/total drops/no-buffer drops) 0/0/0

    Class-map: TELNET_HOST130 (match-all)
       23 packets, 1283 bytes
       5 minute offered rate 0 bps, drop rate 0 bps
       Match: access-group 100
       Queueing
         Output Queue: Conversation 266
         Bandwidth 5 (%)
         Bandwidth 50 (kbps)Max Threshold 64 (packets)
         (pkts matched/bytes matched) 0/0
         (depth/total drops/no-buffer drops) 0/0/0

    Class-map: TELNET (match-all)
       22 packets, 1229 bytes
       5 minute offered rate 0 bps, drop rate 0 bps
       Match: protocol telnet
       Queueing
         Output Queue: Conversation 267
         Bandwidth 3 (%)
         Bandwidth 30 (kbps)Max Threshold 64 (packets)
         (pkts matched/bytes matched) 0/0
         (depth/total drops/no-buffer drops) 0/0/0

    Class-map: class-default (match-any)
       899 packets, 323243 bytes
       5 minute offered rate 2000 bps, drop rate 0 bps
       Match: any
       Queueing
         Flow Based Fair Queueing
         Maximum Number of Hashed Queues 256
         (total queued/total drops/no-buffer drops) 0/0/0
          exponential weight: 9

  class    Transmitted      Random drop      Tail drop    Minimum Maximum  Mark
            pkts/bytes       pkts/bytes       pkts/bytes    thresh  thresh  prob
       0      55/5653            0/0              0/0           20      40  1/10
       1       0/0               0/0              0/0           22      40  1/10
       2       0/0               0/0              0/0           24      40  1/10
       3       0/0               0/0              0/0           26      40  1/10
       4       0/0               0/0              0/0           28      40  1/10
       5       0/0               0/0              0/0           30      40  1/10
       6     428/275592          0/0              0/0           30      40  1/4
       7       0/0               0/0              0/0           34      40  1/10
    rsvp       0/0               0/0              0/0           36      40  1/10


agora tudo está trabalhando como esperado e a alocação de largura de banda é como necessário

vamos agora remover nossa policy map P1 e também vamos colocar o bandwidth da Fa0/1 para o valor default que é 100Mbps

int fa1/0

no service-policy output P1
no bandwidth 1000


nós podemos conseguir o mesmo resultado que nós fizemos acima mas sem mudar a largura de banda de interface, esta vez onde nós usaremos HQOS com um shaper

nós vamos criar uma policy pai e fazer um shape em todo o tráfego para a policy para 1 Mb e então vamos aplicar nossa policy map P1 nela

policy-map P2
class class-default
   shape average 1000000
   service-policy P1


interface FastEthernet1/0
   service-policy output P2


verificação:

WAN_rtr#show int fa1/0 | include BW
   MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec,

WAN_rtr#show policy-map interface fastEthernet 1/0
FastEthernet1/0

  Service-policy output: P2

    Class-map: class-default (match-any)
       218 packets, 238044 bytes
       5 minute offered rate 8000 bps, drop rate 0 bps
       Match: any
       Traffic Shaping
            Target/Average   Byte   Sustain   Excess    Interval  Increment
              Rate           Limit  bits/int  bits/int  (ms)      (bytes)
           1000000/1000000   6250   25000     25000     25        3125

        Adapt  Queue     Packets   Bytes     Packets   Bytes     Shaping
         Active Depth                         Delayed   Delayed   Active
         -      0         213       231474    24        31536     no

      Service-policy : P1

        Class-map: RTP_VOIP (match-all)
           102 packets, 134028 bytes
           5 minute offered rate 4000 bps, drop rate 0 bps
           Match: ip dscp ef (46)
           Queueing
             Strict Priority
             Output Queue: Conversation 72
             Bandwidth 30 (%)
            Bandwidth 300 (kbps)
Burst 7500 (Bytes)

             (pkts matched/bytes matched) 0/0
             (total drops/bytes drops) 0/0

          Service-policy : VOIP

            Class-map: class-default (match-any)
               102 packets, 134028 bytes
               5 minute offered rate 4000 bps, drop rate 0 bps
               Match: any
               police:
                   cir 300000 bps, bc 9375 bytes
                 conformed 97 packets, 127458 bytes; actions:
                   transmit
                 exceeded 5 packets, 6570 bytes; actions:
                   drop
                 conformed 4000 bps, exceed 0 bps

        Class-map: VOIP_SIG (match-all)
           0 packets, 0 bytes
           5 minute offered rate 0 bps, drop rate 0 bps
           Match:  dscp cs3 (24)
       Queueing
         Output Queue: Conversation 73
         Bandwidth 8 (%)
         Bandwidth 80 (kbps)Max Threshold 64 (packets)
         (pkts matched/bytes matched) 0/0
         (depth/total drops/no-buffer drops) 0/0/0

        Class-map: TELNET_HOST130 (match-all)
           0 packets, 0 bytes
           5 minute offered rate 0 bps, drop rate 0 bps
           Match: access-group 100
       Queueing
         Output Queue: Conversation 74
         Bandwidth 5 (%)
         Bandwidth 50 (kbps)Max Threshold 64 (packets)
         (pkts matched/bytes matched) 0/0
         (depth/total drops/no-buffer drops) 0/0/0

        Class-map: TELNET (match-all)
           0 packets, 0 bytes
           5 minute offered rate 0 bps, drop rate 0 bps
           Match: protocol telnet
       Queueing
         Output Queue: Conversation 75
         Bandwidth 3 (%)
         Bandwidth 30 (kbps)Max Threshold 64 (packets)
         (pkts matched/bytes matched) 0/0
         (depth/total drops/no-buffer drops) 0/0/0

        Class-map: class-default (match-any)
           116 packets, 104016 bytes
           5 minute offered rate 4000 bps, drop rate 0 bps
           Match: any
       Queueing
         Flow Based Fair Queueing
         Maximum Number of Hashed Queues 64
         (total queued/total drops/no-buffer drops) 0/0/0
          exponential weight: 9

  class    Transmitted      Random drop      Tail drop    Minimum Maximum  Mark
            pkts/bytes       pkts/bytes       pkts/bytes    thresh  thresh  prob
       0      40/4152            0/0              0/0           20      40  1/10
       1       0/0               0/0              0/0           22      40  1/10
       2       0/0               0/0              0/0           24      40  1/10
       3       0/0               0/0              0/0           26      40  1/10
       4       0/0               0/0              0/0           28      40  1/10
       5       0/0               0/0              0/0           30      40  1/10
       6      76/99864           0/0              0/0           30      40  1/4
       7       0/0               0/0              0/0           34      40  1/10
    rsvp       0/0               0/0              0/0           36      40  1/10


Embora a largura de banda de interface seja 100M mas nossa política que atribui agora o percentual de largura de banda baseado em 1M isto é porque é uma política aninhada sob uma política dada forma com 1Mbp

Nota:

Eu pretendi pôr formas múltiplas de configurações de QoS tais como a harmonização com e sem o ACL usando um class map, modelagem e vigilância para cobrir a maioria do simples e dos métodos padrão comuns usados em configurar o QoS

Obrigado

Marwan Alshawi - Revisado por Rafael Lima

6722
Apresentações
10
Útil
0
Comentários