Switches HPN – QoS: Marcação, Filas “Local Precedence” e Tabela “Mapping Table”

Os Switches HPN possuem 8 filas (0 a 7) para encaminhamento de pacotes em uma interface, para assim,  serem trabalhadas em diferentes modelos de QoS, permitindo configurar uma preferência a determinadas filas de saída em caso de congestionamento na interface.

O encaminhamento de pacotes para as filas de saída é baseado na marcação de pacotes,quadros e labels, sendo efetuado na entrada dos dados (no Switch) ou já marcados por qualquer Aplicação ou Telefone IP.

Para confiar na macação já efetuada em outro dispositivo ou aplicação digite na interface qos trust [ auto | dot1p | dscp | exp ]

[SW1-Ethernet1/0/1]qos trust ?
  auto   Trust auto
  dot1p  Trust 802.1p Precedence
  dscp   Trust DSCP
  exp    Trust EXP

Caso pretenda marcar os pacotes de entrada de uma interface baseado por protocolo/aplicação (HTTP, FTP, SAP, etc) siga os seguintes passos:

  1. selecione o tráfego com uma ACL (match),
  2. vincule  a ACL no Classifier
  3.  crie o Behavior com a marcação
  4.  vincule o Classifier com o Behavior dentro de uma policy
  5.  Atribua a policy a uma ou mais interfaces de entrada do tráfego ou VLANs.

No exemplo abaixo, mostramos a marcação do trafego HTTP com o valor DSCP 24 e o trafego de Voz com o DSCP 46. Depois, aplicamos a policy na interface de entrada do trafego no Switch.

 

# Criando as ACL para match no tráfego
!
acl number 3001 name MATCH_WWW
 rule permit tcp destination-port eq www
rule deny ip
! Selecionando o tráfego HTTP porta 80 como destino
!
acl number 3002 name MATCH_VOZ
rule permit ip source 10.248.0.0 0.0.255.255
rule deny ip
! Selecionando  a rede de Telefonia IP
!
# Classificando o tráfego baseado nas ACL’s
!
traffic classifier MATCH_HTTP 
 if-match acl  3001
! Classificação do tráfego da ACL  MATCH_WWW
!
traffic classifier MATCH_VOIP 
if-match acl  3002
! Classificação do tráfego da ACL MATCH_VOZ
!
#  Criando os Behavior’s para futura marcação
!
traffic behavior HTTP_MARK_CS3
remark  dscp  24
! Criando o behavior para a marcação com o dscp 24 (CS3)
!
traffic behavior VOIP_MARK_EF
remark  dscp  46
! Criando o behavior para a marcação com o dscp 46 (EF)
!
# Criando a policy para o vinculo da classificação (classifier)
! com o comportamento (behavior)
!
qos policy QOS_MARK_ONLY
classifier MATCH_HTTP  behavior HTTP_MARK_CS3
classifier MATCH_VOIP  behavior VOIP_MARK_EF
!
# Vinculando a policy para a Interface  de entrada do tráfego
interface Ethernet1/0/1
 port link-mode bridge
 qos apply policy QOS_MARK_ONLY inbound
!

Local Precedence e Mapping Table

Com os dados já marcados (pelo Switch, ou não) é possível tratar o encaminhamento de pacotes com diversas técnicas de enfileiramento como Priority Queue, Weight Round –Robin, Weight Fair Queue, etc. Há também a possíbilidade de configurar o descarte de pacotes por amostra ou prioridade para descarte (drop) para evitar o congestionamento de uma interface.

A tabela “Mapping Table” nos Switches 3Com/H3C/HPN com o Sistema Operacional Comware 5 permite a visualização de qual fila (do total de 8 filas do Switch) o Switch encaminhará o pacote marcado. A tabela também demonstra qual será o mapeamento  em caso de troca de marcação de um valor para outro, por exemplo, Cos para DSCP.

Já a fila local do Switch para onde serão encaminhados os pacotes marcados é chamada de “Local Precedence”.

Para visualizar o mapeamento digite display qos map-table

<4800G>display qos map-table
! Comando digitado em um Switch 3Com 4800G
MAP-TABLE NAME: dot1p-lp   TYPE: pre-define
IMPORT  :  EXPORT
0    :    2
1    :    0
2    :    1
3    :    3
4    :    4
5    :    5
6    :    6
7    :    7
< saída omitida>

Caso seja necessário a troca da fila de saída para um determinado tráfego marcado é possível trocar via comando qos map table. No exemplo abaixo é vizualizamos que a marcação DSCP 24 está na fila  local-precedence 3 do Switch, então faremos na seguida o mapeamento local no Switch para que a marcação citada faça parte da fila 2.

[Switch]display qos map-table | begin dscp-lp

MAP-TABLE NAME: dscp-lp   TYPE: pre-define
IMPORT  :  EXPORT
0    :    0
1    :    0
2    :    0
3    :    0
4    :    0
5    :    0
6    :    0
7    :    0
8    :    1
9    :    1
10    :    1
11    :    1
12    :    1
13    :    1
14    :    1
15    :    1
16    :    2
17    :    2
18    :    2
19    :    2
20    :    2
21    :    2
22    :    2
23    :    2
24    :    3
<saida omitida>

# Configurando a mudança de fila para o valor DSCP 24
#
qos map-table dscp-lp
import 24 export 2
#

Agora você pode me perguntar: “-  Ah, mas após  a marcação e também a alteração da fila local do Switch, como podemos usar isso na prática?”

Simples, podemos usar qualquer algoritimo de enfileiramento  para determinar as prioridades ou garantia de banda. No exemplo abaixo, faremos a garantia de banda de 10Mb para a fila 2 em caso de congestionamento na interface usando o algoritmo WFQ  😉

interface Ethernet1/0/1
 description INTERFACE_OUTBOUND_INTERNET
 qos wfq 
 qos bandwidth queue 2 min 10240
 qos bandwidth queue 5 min 4096
#

O tráfego marcado com EF (DSCP 46) já está mapeado por padrão pelo Switch na fila 5 e terá a garantia de 4Mb de banda. O tráfego não marcado ( geralmente mapeado para a fila zero) utilizará o restante da banda, mas não terá a garantia de reserva.

Apesar de ser apenas um exemplo ilustrativo, outros modelos de enfileiramento poderão ser usados como SP (LLQ) para tráfego de Voz, etc.

Obs: em diversos cenários a marcação poderá ser feito no Switch e o enfileiramento no Roteador, tudo dependerá dos seus equipamentos e a maneira como você deseja aplicar a qualidade de serviço na sua rede.

Até logo!