Press "Enter" to skip to content

QoS – Configuração e troubleshooting em switch Cisco

0

Veja como funciona e os principais comandos para configuração e troubleshooting  de QoS em switches Cisco.

SWITCH CISCO – QUALIDADE DE SERVIÇO (QOS)

 Em uma rede normal com pouca utilização um switch envia os pacotes assim que chegam, mas se a rede estão congestionados os pacotes não podem ser entregues em um tempo razoável.

Normalmente a disponibilidade da rede é incrementada aumentando a largura de banda dos enlaces ou o hardware dos switches. QoS (Quality of servisse) oferece técnicas utilizadas na rede para priorizar um trafego determinado. O aspecto mais importante de transportar o trafego de voz em uma rede de dados é manter um nível de QoS adequado. Os pacotes de voz devem ser entregues o mais rápido possível com a mínima flutuação, poucas perdas e mínimo atraso.

Diferentes tipos de aplicações tem por sua vez diferentes requerimentos de como devem ser enviados seus dados de extremo a extremo, por exemplo é aceitável uma espera pequena de tempo para mostrar uma pagina Web, no entanto os mesmos atrasos não seriam toleráveis para uma imagem de vídeo ou uma conversação telefônica. Qualquer perda ou atraso na entrega dos pacotes podem estragar o propósito da aplicação.

Existem 3 conceitos básicos que podem ocorrer nos pacotes quando são enviados através da rede:

  • Delay ou atraso, quando um pacote é enviado através da rede sua entrega sofre um atraso em um período devido ao tempo que requer o meio de transmissão, o tempo requerido pelo roteador e o switch em buscar suas tabelas e etc. O atraso total desde o principio até o final é conhecido como latência. O atraso pode considerar-se como o tempo desde que o usuário pressiona uma tecla até que esse caráter se vê no terminal correspondente.
  • Flutuação ou Jitter, algumas aplicações são encarregadas da entrega de uma série de dados relacionados. A entrega desses pacotes podem atrasar de tal maneira que não chegam em tempos previsíveis. Essa variação no atraso é conhecida como Os meios de áudio são particularmente susceptíveis as flutuações se os dados de áudio não chegam com uma velocidade adequada e constante podem sofrem cortes.
  • Perdas, em casos extremos os pacotes que entram em um meio muito congestionado são eliminados sem que nunca cheguem a ser entregados. Uma certa perda de pacotes é normal e aceitável e certamente recuperável por algumas aplicações que utilizam um protocolo confiável orientado a conexão, como pode ser o TCP. Outras aplicações não são tolerantes e os pacotes eliminados são perdidos.

 Para solucionar e aliviar esse tipo de condições uma rede pode empregar 3 tipos básicos de QoS:

  • Best-effort
  • Serviços Integrados
  • Serviços Diferenciados

SWITCH CISCO – BEST-EFFORT

 Esse método simplesmente envia pacotes à medida que são recebidos sem aplicar nenhuma tarefa especifica real, os switches e os roteadores fazem seu trabalho da melhor maneira para entregar os pacotes o mais rápido possível sem importar o tipo de trafego ou as prioridades do serviço.

SERVIÇOS INTEGRADOS

 A ideia básica desse sistema é pré-acordar um caminho para os dados que necessitam prioridade ao longo do caminho completo. Começou a se desenvolver com a RFC 1633, que se refere à RSVP (Resorce Reservation Protocol) desenvolvido como o mecanismo para programar e reservar a largura de banda adequada do caminho de uma aplicação.

A origem da aplicação requer os parâmetros de QoS através de RSVP, cada dispositivo da rede ao longo do caminho tem que verificar que essa petição pode ser suportada. Quando o recorrido do caminho completo está de acordo com as mínimas características requeridas, o caminho é aceito. A origem é sinalizada com uma confirmação para poder começar a utilizar o caminho.

SERVIÇOS DIFERENCIADOS

O modelo de serviços integrados não é capaz de escalar muito bem devido a quantidade dos recursos que necessita para estar reservando as largura de banda. Os serviços diferenciados (Diffserv) permitem a cada dispositivo de rede conduzir os pacotes de uma maneira individual, cada roteador ou switch pode configurar suas próprias políticas de qualidade de serviço para seguir e para tomar decisões sobre de como devem enviar os pacotes.

Os serviços diferenciados não requer reservas previas na qualidade de serviço, se manejam dinamicamente de maneira distribuída, ou seja, enquanto os serviços integrados aplicam QoS por fluxo, DiffServ aplica a QoS a um grupo de fluxos similares por salto. DiffServ também é baseado nas decisões de QoS tomadas na informação contida no campo 2 do cabeçalho IP.

Esse livro tratará mais a fundo os conceitos dos serviços diferenciais, cobrado no exame CCNP Switch.

MODELO QOS DIFFSERV

Os serviços diferenciais geram um comportamento diferente por salto em cada roteador ou switch inspecionando o cabeçalho de cada pacote para decidir como realizar o envio desse pacote. Toda a informação necessária para esta decisão viaja no cabeçalho, que por si só não pode dispor seu próprio manejo, simplesmente apresenta certas bandeiras, etiquetas ou marcas que servirão para ser utilizadas na decisão de envio baseada nas políticas de QoS configuradas em cada roteador ou switch ao longo do caminho.

Classificação de camada 2 de QoS, os quadros de camada 2 por si só não contem um mecanismo que indique a prioridade de seu conteúdo. Um quadro simplesmente é tão importante como a outra, dessa maneira um switch de camada 2 somente pode enviar quadros de maneira Best-effor. Quando os quadros são transportadas de um switch a outro switch através do troncal surge a possibilidade de classifica-las. A encapsulação que viaja pelo trunk inclui a identificação de VLAN, em um campo que permite marcar o custo e a classe de serviço (CoS) em cada quadro. Isso é utilizado pelos switches fronteira para tomar decisões de QoS. Depois de que o trunk é desencapsulado no switch remoto a informação CoS é descartada.

As duas maneiras de encapsular o trunk são:

  • IEEE 802.1Q, onde cada quadro é encapsulada com um VLAN ID de 12 bits e um campo de usuário de 3 bits de prioridade (802.1P) que indica o CoS do quadro em um range de 0 a 7. Os quadros da VLAN nativa não são encapsuladas adquirindo o custo padrão do switch que recebe o quadro.
  • ISL, cada quadro é encapsulada com um VLAN ID de 15 bits, no campo User de 4 bits os 3 bits mais baixos indicam a CoS. Mesmo o ISL não sendo padrão, os switches Catalyst tomam a decisão de CoS copiando os bits de 802.1P dos troncais 802.1Q dentro dos bits User cost nos troncais ISL, permitindo que a informação CoS seja propagada entre os troncais com diferentes encapsulações.

Classificação de camada 3 QoS com DSCP, desde o começo os pacotes IP sempre tiveram um byte chamado ToS (Type of Service)que pode ser utilizado para marcar pacotes. Esse byte é dividido em 3 bits chamado IP Precedence e 4 bits que são o valor ToS. O modelo de DiffServ mantém o Byte IP ToS mas utiliza de maneira mais escalável. Esse byte também é conhecido como DS (Differentiated Service) com um formato diferente, os 6 bits DS são conhecidos como DSCP (Diferentiated Service Code Point), que é um valor determinado por qualquer dispositivo DiffServ da rede.

Não devemos confundir com a terminologia que utiliza QoS, os Bytes ToS e DS são o mesmo, inclusive ocupam a mesma localização no cabeçalho IP, somente seu nome e a maneira que o valor é interpretado é diferente. Os bits DSCP permitem compatibilidade com os bits IP precedentes de tal maneira que um dispositivo que não seja capaz de interpretar todo esse campo poderia decifrar somente a informação de QoS.

Os campos DiffServ são mostrados com o seguinte gráfico:

DSCP ocupa 6 bits (DS5-DS0). Os três bits de seleção de classe ou Class Selector (DS5 a DS3) categorizam os pacotes em sete classes:

  • Chass 0, é a classe padrão, simplesmente oferece o serviço Best-effort.
  • Classes 1 a 4, chamadas AF (assured Forwarding). Quanto mais altos sejam os numero de classe AF, mais prioridade terão o trafego e menos probabilidade de ser eliminado ou recusado em caso de congestão.
  • Class 5, conhecida como EF (Expedited Forwarding). Utilizada para dar o maior serviço, é a que tem menos probabilidade de ser eliminada, normalmente utilizada para tráfego de voz ou vídeo.
  • Classes 6 e 7, são também conhecidas como Internetwork Control e Network Control. São utilizadas pelos roteadores e switches para trafego de controle em STP, protocolos de roteamento, etc. Em definitiva, para aqueles que mantém a rede operacional.

Cada classe representada no DSCP tem três níveis de possibilidade de descarte, representados nos bits DS2 a DS0, mas tem que ter em conta que DS0 sempre tem o valor 0.

  • Baixa probabilidade de descarte: 1
  • Media probabilidade de descarte: 2
  • Alta probabilidade de descarte: 3

Dentro da mesma classe os pacotes com mais alta probabilidade de descarte são eliminados primeiro, levando em consideração que a probabilidade de descarte é maior quanto maior é o valor.

SWITCH CISCO – Implementação de QoS para voz

Para manipular os pacotes de acordo com as políticas de QoS, um switch tem que identificar o nível de serviço que cada pacote tem que receber. Esse processo é conhecido como classificação, cada pacote é classificado de acordo a um tipo de trafego, por exemplo, TCP ou UDP, segundo os parâmetros configurados nas ACL, route-maps, etc. Os pacotes IP levam consigo os valores DSCP dentro dos cabeçalhos ao longo de todo o caminho da rede.

Os quadros em um troncal também levam um valor de custo associado da rede. Os quadros em um troncal também levam um valor de custo associado com elas, por tanto, um switch pode decidir se confiar em ToS, DSCP, CoS, que foram atribuídos previamente aos pacotes de entrada. Se o switch confia em alguns desses valores, serão utilizados para tomar decisões de qualidade de serviço dentro do switch. Se esses valores não são confiáveis podem ser eliminados ou reatribuidos, dessa maneira um switch pode assumir novos valores para que sejam aceitos dentro das políticas de gestão. Esse ultimo pode prevenir a intrusão de usuários não autorizados na rede.

Todos e cada um dos switches devem confiar nos valores de QoS entrantes geralmente uma organização deve confiar nos parâmetros de QoS dentro da própria rede. Na fronteira com outra organização ou ISP QoS tipicamente não deveria ser confiável. É prudente confiar em valores de QoS que foram atribuídos pelos próprios dispositivos de rede, dessa forma os valores de QoS produzidos pelos usuários finais não deveriam ser confiados até que a rede possa verificá-los ou sobrescrevê-los.

O perímetro formado pelos switches que não confiam na QoS de entrada é chamado de fronteira de confiança. Essa fronteira está no extremo da rede empresarial, na camada de acesso, marcações WAN e limites com os ISP.  Quando a fronteira de confiança foi identificada através das portas não confiáveis dentro desse perímetro, as portas podem ser configuradas para confiar nos valores QoS de entrada.

A seguinte figura mostra uma rede em que foi definido uma fronteira de confiança, está definida na rede de usuários finais e redes publicas:

O Catalyst A a porta GigaEthernet 2/1 está configurada para receber dados de entrada não confiável. O Catalyst B está conectado a um PC que também não é confiável, o telefone IP em uma porta FastEthernet 0/1 é um caso especial porque suporta seu próprio tráfego de voz e tráfego de usuário final, por tanto a fronteira de confiança não pode estar definida exatamente nessa porta.

CONFIGURAÇÃO DE FRONTEIRA DE CONFIANÇA

Quando um telefone IP é conectado a um switch é como se adicionasse outro switch a rede. Caso um telefone IP seja instalado como parte da rede pode-se confiar na informação de QoS emitida pelo telefone.

O telefone IP tem duas fontes de emissão de dados:

  • Dados próprios do telefone: O telefone pode controlar a informação de QoS que inclui os pacotes de VOZ.
  • Dados de usuário na porta do switch: São pacotes da porta do PC de dados gerados em algum outro lugar, de tal maneira que a informação de QoS não será confiável.

Um switch instrui ao telefone IP que tem conectado mediante mensagens CDP sobre como deveria estender a confiança QoS a sua própria porta de usuário de dados. A configuração da extensão desses dados de confiança seguem os seguintes passos:

  1. Habilitar QoS no switch Cisco. Por padrão está desabilitado globalmente no switch e toda a informação de QoS é permitida entre portas de um switch a outro. Ao habilitar QoS todas as portas do switch ficam configuradas como não confiáveis.
Switch(config)# mls qos

Definição dos parâmetros que serão utilizados. É possível eleger entre confiar na CoS, IP Precedence ou DSCP dos pacotes de entrada nas portas do switch, só um desses parâmetros pode ser selecionado. Geralmente um telefone IP pode ser configurado com os parâmetros cos porque podem controlar os valores em seu troncal de VLAN.

Switch(config)# interface type mod/num
Switch(config-if)#mls qos trust {cos | ip-precedence | dscp}

Confiança conditional

Switch(config-if)# mls qos trust device cisco-phone

Se esse comando é configurado, os parâmetros de QoS definidos no passo anterior serão confiáveis somente se um telefone IP for detectado através de CDP. Quando não é detectado o telefone os parâmetros de QoS não são confiáveis.

Indicações para estender a fronteira de confiança do telefone IP. Normalmente a informação de QoS de um PC conectado a um telefone deveria ser não confiável devido a que as aplicações do PC poderiam tentar utilizar alguns campos de CoS ou DSCP se são melhores aos seus para ganhar melhor acesso a rede, em esse caso o parâmetro cos seria sobrescrito o valor 0.

Switch(config-if)# switchport priority extend {cos value | trust}

O PC pode estar executando alguma aplicação confiável que faz petições de QoS de níveis específicos de serviço, nesse caso o telefone IP pode estender a confiança até o PC, permitindo que os bits do custo sejam enviados através do telefone IP sem modificá-lo, para isso é utilizado o parâmetro trust. Por padrão um switch instrui a um telefone IP que tem conectado um PC para que seja considerado como não confiável. O telefone sobrescreverá os valores do custo a 0.

Os uplinks com conexões até os switches deveriam ser considerados como portas confiáveis sempre e quando estejam conectadas a dispositivos confiáveis da fronteira de confiança de QoS. Para configurar uma porta uplink em um switch para que seja confiada (trust)  utilizamos o seguinte comando:

Switch(config)# interface type mod/num
Switch(config-if)# mls qos trust cos

O parâmetro de confiança trust não é condicional, e o switch confiará só nos valores de custo que são encontrados nos pacotes de entrada.

Os switches possuem um mapeio de valores de custo chamado Cos-to-DSCP, que é utilizado para converter os valores CoS de entrada em valores DSCP.

SWITCH CISCO – CONFIGURAÇÃO DE AUTO QOS

Os switches Cisco podem ser configurados para suportar uma variedade de mecanismos e parâmetros de QoS, a lista e as características dos comandos de configuração podem ser enormes e a configuração real pode ser muito complexa.

Essa é uma razão para que os tópicos relativos a QoS não tratem na totalidade nesse livro. Para simplificar a configuração, Cisco introduziu a característica de Auto-QoS para quase todas as plataformas.

Utilizando uma quantidade mínima de comandos podemos habilitar o switch para que automaticamente configure todos os parâmetros de QoS.

Auto-QoS é realmente manejado por um comando macro no qual se encarrega de adicionar outros comandos de configuração como se fossem introduzidos manualmente. Graças a esse Auto-QoS permite a rápida configuração dos switches que ainda permanecem com a configuração padrão. A utilização de Auto-QoS em switches já configurados poderia sobrescrever alguns dos comandos já configurados.

Auto-QoS maneja os seguintes modos de configuração de QoS:

  • Habilita QoS
  • Mapeia CoS-to-DSCP até QoS
  • Configura melhor as filas de entrada e saída
  • Gera filas de prioridade estritas para saídas de voz
  • Estabelece uma interface QoS que será a fronteira de confiança.

Os seguintes passos de configuração são utilizados para configurar Auto-QoS:

  • Seleção da interface que será a fronteira de QoS:
Switch(config)# interface type mod/num

Habilitar Auto-QoS com trust (confiança)

Switch(config)# interface fastethernet 0/37
Switch(config-if)#auto qos voip
*Sep 7 04:14:41.618 EDT: mls qos map cos-dscp 0 8 16 26 32 46 48 56
*Sep 7 04:14:41.622 EDT: mls qos min-reserve 5 170
*Sep 7 04:14:41.622 EDT: mls qos min-reserve 6 85
*Sep 7 04:14:41.622 EDT: mls qos min-reserve 7 51
*Sep 7 04:14:41.626 EDT: mls qos min-reserve 8 34
*Sep 7 04:14:41.626 EDT: mls qos
*Sep 7 04:14:42.598 EDT: interface FastEthernet0/37
*Sep 7 04:14:42.598 EDT: mls qos trust device cisco-phone
*Sep 7 04:14:42.602 EDT: mls qos trust cos
*Sep 7 04:14:42.606 EDT: wrr-queue bandwidth 10 20 70 1
*Sep 7 04:14:42.610 EDT: wrr-queue min-reserve 1 5
*Sep 7 04:14:42.618 EDT: wrr-queue min-reserve 2 6
*Sep 7 04:14:42.626 EDT: wrr-queue min-reserve 3 7
*Sep 7 04:14:42.634 EDT: wrr-queue min-reserve 4 8
*Sep 7 04:14:42.642 EDT: no wrr-queue cos-map
*Sep 7 04:14:42.646 EDT: wrr-queue cos-map 1 0 1
*Sep 7 04:14:42.650 EDT: wrr-queue cos-map 2 2 4
*Sep 7 04:14:42.654 EDT: wrr-queue cos-map 3 3 6 7
*Sep 7 04:14:42.658 EDT: wrr-queue cos-map 4 5
*Sep 7 04:14:42.662 EDT: priority-queue out

Switch(config-if)# interface gigabitethernet 0/1
Switch(config-if)# auto qos voip trust
*Sep 7 15:05:50.943 EDT: interface GigabitEthernet0/1
*Sep 7 15:05:50.947 EDT: mls qos trust cos
*Sep 7 15:05:50.951 EDT: wrr-queue bandwidth 10 20 70 1
*Sep 7 15:05:50.955 EDT: wrr-queue queue-limit 50 25 15 10
*Sep 7 15:05:50.959 EDT: no wrr-queue cos-map
*Sep 7 15:05:50.963 EDT: wrr-queue cos-map 1 0 1
*Sep 7 15:05:50.967 EDT: wrr-queue cos-map 2 2 4
*Sep 7 15:05:50.971 EDT: wrr-queue cos-map 3 3 6 7
*Sep 7 15:05:50.975 EDT: wrr-queue cos-map 4 5
*Sep 7 15:05:50.979 EDT: priority-queue out

Em uma porta uplink do switch até outro switch ou roteador, deve-se utilizar o comando trust. Todos os pacotes ecebidos nessa porta deveriam ser confiáveis, a informação de QoS deveria ficar intacta.

O comando auto qos voip aparecerá na configuração do switch junto com os outros comandos que o próprio comando insere.

TROUBLESHOOTING QOS CISCO

Uma porta do switch pode ser configurada para que confie no estado de QoS com o dispositivo conectado. Se esse dispositivo é um telefone IP, o switch pode instruir ao telefone e estender a confiança de QoS a um PC que tenha conexão a esse telefone.

Para verificar que a confiança foi estendida ao telefone IP utiliza-se o comando:

Switch# show mls qos interface type mod/num

Se a porta é confiável todo o trafego enviado pelo telefone IP é aceito com a informação de QoS permanecendo intacta. Se a porta não é confiável, os pacotes, incluso os de voz, poderão ter a informação sobrescrita pelo switch. A seguinte saída mostra um exemplo:

Switch# show mls qos interface fastethernet0/1
FastEthernet 0/1
Trust state: trust cos
Trust mode: trust cos
Trust enabled flag: ena
COS override: dis
Default COS: 0
DSCP Mutation Map: Default DSCP Mutation Map
Trust devie: none

Pode-se verificar como um telefone IP foi instruído para tratar a informação de QoS entrante do PC conectado a ultima linha da sintaxe anterior (trust device). Também podemos ver na seguinte linha de comando Appliance trust:

Switch# show interface fastethernet 0/1 switchport
Name: Fa0/1
Switchport: Enabled
[output deleted…]
Voice VLAN: 2 (VLAN0002)
Appliance trust: nome

Se o dispositivo é de confiança a linha de comandos mostra Appliance trust: trusted.

O seguinte exemplo mostra quando um telefone IP se conecta, mais abaixo aparece à sintaxe, quando o telefone IP não está conectado na porta do switch e não é detectado e o parâmetro trust não está habilitado.

Switch# show running-config interface fastethernet 0/47
Building configuration...
Current configuration : 219 bytes
!
interface FastEthernet0/47
switchport access vlan 10
switchport trunk encapsulation dot1q
switchport mode access
switchport voice vlan 100
mls qos trust device cisco-phone
mls qos trust cos
no mdix auto
end
Switch#
Switch# show mls qos interface fastethernet 0/1
FastEthernet0/1
trust state: not trusted
trust mode: trust cos
trust enabled flag: dis
COS override: dis
default COS: 0
DSCP Mutation Map: Default DSCP Mutation Map
Trust device: cisco-phone
Switch#

Quando o telefone IP é conectado, se fornece energia para que seja detectado, então a confiança de QoS condicional, nesse caso CoS, é habilitada:

6d18h: %ILPOWER-7-DETECT: Interface Fa1/0/1: Power Device detected: Cisco PD
6d18h: %ILPOWER-5-POWER_GRANTED: Interface Fa1/0/1: Power granted
6d18h: %LINK-3-UPDOWN: Interface FastEthernet1/0/1, changed state to up
6d18h: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet1/0/1, changed
state to up
6d18h: %SWITCH_QOS_TB-5-TRUST_DEVICE_DETECTED: cisco-phone detected on port Fa1/
0/1, port trust enabled.
Switch# show mls qos interface fastethernet 1/0/1
FastEthernet1/0/1
trust state: trust cos
trust mode: trust cos
trust enabled flag: ena
COS override: dis
default COS: 0
DSCP Mutation Map: Default DSCP Mutation Map
Trust device: cisco-phone
Switch#

Podemos ver a autoconfiguração de QoS em uma porta com o seguinte comando:

Switch# show auto qos interface fastethernet 0/37
FastEthernet0/37
auto qos voip cisco-phone

 

HOSTINGER

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

%d blogueiros gostam disto: