Introdução

A finalidade deste artigo é educar administradores ASA sobre a funcionalidade de QoS que os ASA podem fornecer. Nós explicaremos breviamente os mecanismos de QoS que são suportados e forneceremos alguns exemplos que mostrarão como os usar.

  • Policiamento de tráfego

Quando a quantidade total de tráfego excede um determinado limite, muitas vezes é preciso aplicar policiamento. Dessa maneira a largura de banda não é consumida por um único usuário ou uma única aplicação e as limitações do tráfego são aplicadas para preservá-la. O firewall pode policiar o tráfego de entrada e de saída a uma interface. Existem as opções de descarte (drops) ou permitir o tráfego em excesso além do limite no firewall.

  • Modelagem de tráfego

O modelagem de tráfego foi introduzido em ASA 7.2.4 e é suportado igualmente nos "trains" 8,0 e 8,1. Com modelagem de tráfego, o que excede determinados limites é na verdade enfileirado/bufferizado e enviado quando o tráfego está abaixo do threshold. Essa opção realmente não descartará os pacotes que atingirem o threshold e trabalhará melhor para as aplicações que são muito afetadas por perdas de pacotes.

  • Filas de Prioridade

As filas de prioridade detêm a capacidade de priorizar os pacotes que tenham essa necessidade, como por exemplo, aplicativos sensíveis a atraso como voz. O firewall pode somente fazer low latency queueing (LLQ), ao contrário dos roteadores que podem fornecer mecanismos de priorização mais sofisticados (WFQ, CBWFQ etc.).

 

 

 

NOTA 1: O usuário precisa ter em mente que o tráfego de entrada policiado em uma interface não pode fornecer esta função porque estes pacotes já terão chegado na interface, o que significa que já foi usada a largura de banda disponível. Há uma vantagem de se policiar a um valor um pouco menor do que a largura de banda disponível de download, isto é, se nós começarmos a descartar antes de sobrecarregarmos o link TCP, convirgiremos ao valor do throughput ótimo. Entretanto, isso seria difícil de se conseguir dado que há fluxos múltiplos que atravessam o canal.

 

 

 

NOTA 2: As filas de prioridade precisam ser usadas com policiamento ou modelagem de tráfego. A razão é que, a menos que o link tenha o LLQ saturado, os pacotes serão priorizados. Geralmente as interfaces do ASA podem ser 100Mbps ou 1Gbps ou mais, portanto a saturação destes links não é algo que acontecerá frequentemente. Mas executar o policiamento ou o modelagem de tráfego junto com o LLQ na verdade faz o LLQ retroceder no ponto em que o policiamento ou os limites da modelagem se encontram.

 

 

 

NOTA 3: Se as filas de prioridade são aplicadas para as aplicações que são executado entre dois sítios (sites), recomenda-se aplicar a prioridade de tráfego para os aplicativos em ambos os lados. A razão é que mesmo dando prioridade a só um lado, o tráfego de retorno poderia ter atraso e isto poderia ter o mesmo efeito que não dar qualquer prioridade.

Vigilância de tráfego com Prioridade

Vamos supor que nós temos um ASA que esteja executando voz sobre um túnel VPN. E por isso que nós queremos dar a prioridade ao tráfego de voz com o VPN. Igualmente nós queremos policiar o tráfego VPN que não é voz e o resto do tráfego TCP.

Vamos assumir que a largura de banda disponível de tráfego de arquivo pela rede para a interface externa é 1Mbps. Nós queremos dedicar 300kbps para o VPN em que 100kbps será garantido para a voz (assim 200kbps para o tráfego que não seja voz sobre a VPN), 500kbps para o tráfego TCP e o 200kbps para o restante. Também, vamos supor que o tráfego de voz está com flag dscp field ef (porque é a opção default para a maioria de casos). O nome do grupo de túneis é tunnel-grp1.

 

 

ASA(config)# priority-queue outside
ASA(config)# access-list tcp-traffic-acl permit tcp any any
ASA(config)# class-map tcp-traffic-class
ASA(config-cmap)# match access-list tcp-traffic-acl
ASA(config)# class-map TG1-voice-class
ASA(config-cmap)# match tunnel-group tunnel-grp1
ASA(config-cmap)# match dscp ef
ASA(config-cmap)# class-map TG1-rest-class
ASA(config-cmap)# match tunnel-group tunnel-grp1
ASA(config-cmap)# match flow ip destination-address
ASA(config)# policy-map police-priority-policy
ASA(config-pmap)# class tcp-traffic-class
ASA(config-pmap-c)# police output 500000
ASA(config-pmap-c)# class TG1-voice-class
ASA(config-pmap-c)# priority
ASA(config-pmap-c)# class TG1-rest-class
ASA(config-pmap-c)# police output 200000
ASA(config-pmap-c)# class class-default
ASA(config-pmap-c)# police output 200000
ASA(config-pmap-c)# service-policy police-priority-policy interface outside

Modelagem de tráfego com Prioridade

Agora, vamos supor que nós temos o mesmo ASA que no caso anterior. E nós queremos agora modelar todo o tráfego e dar a prioridade à voz com o VPN. Em outras palavras, nós modelaremos todo o tráfego para 900kbps, daremos prioridade à voz e garantiremos 100kbps para ela. Além disso, vamos supor que o tráfego de voz com o flag DHCP field ef e o nome do grupo de túneis é tunnel-grp1.

 

 

ASA(config)# priority-queue outside
ASA(config)# class-map TG1-voice-class
ASA(config-cmap)# match tunnel-group tunnel-grp1
ASA(config-cmap)# match dscp ef
ASA(config-cmap)# policy-map priority-policy
ASA(config-pmap)# class TG1-voice-class
ASA(config-pmap-c)# priority
ASA(config-pmap-c)# policy-map shape-priority-policy
ASA(config-pmap)# class class-default
ASA(config-pmap-c)# shape average 900000
ASA(config-pmap-c)# service-policy priority-policy
ASA(config-pmap-c)# service-policy shape-priority-policy interface outside

Vendo estatísticas de QoS

Para ver as estatísticas o usuário pode executar comandos " show " (os exemplos abaixo não se relacionam aos acima).

 

Para as estatísticas de policiamento:

 

ASA# show service-policy police

Global policy:
Service-policy: global_fw_policy

Interface outside:
Service-policy: qos
Class-map: browse
police Interface outside:
cir 56000 bps, bc 10500 bytes
conformed 10065 packets, 12621510 bytes; actions: transmit
exceeded 499 packets, 625146 bytes; actions: drop
conformed 5600 bps, exceed 5016 bps
Class-map: cmap2
police Interface outside:
cir 200000 bps, bc 37500 bytes
conformed 17179 packets, 20614800 bytes; actions: transmit
exceeded 617 packets, 770718 bytes; actions: drop
conformed 198785 bps, exceed 2303 bps

 

 

 

 

Para as estatísticas da prioridade:

 

ASA# show service-policy priority

Global policy:

Service-policy: global_fw_policy

 

Interface outside:

Service-policy: qos

Class-map: TG1-voice-class

Priority:

Interface outside: aggregate drop 0, aggregate transmit 9383

 

 

Para as estatísticas de modelagem:

 

ASA# show service-policy shape

Interface outside:

Service-policy: shape

Class-map: class-default

Queueing

queue limit 64 packets

(queue depth/total drops/no-buffer drops) 0/0/0

(pkts output/bytes output) 0/0

shape (average) cir 2000000, bc 16000, be 16000

Service-policy: voip

Class-map: voip

Queueing

queue limit 64 packets

(queue depth/total drops/no-buffer drops) 0/0/0

(pkts output/bytes output) 0/0

Class-map: class-default

queue limit 64 packets

(queue depth/total drops/no-buffer drops) 0/0/0

(pkts output/bytes output) 0/0

 

1440
Apresentações
4
Útil
0
Comentários