terça-feira, 29 de setembro de 2009

QOS - Parte II

Vou escrever um pouco sobre classificação e marcação antes de entrar na parte de queuing e priorização.

O Modular QoS CLI, MQC, separa a ferramenta de QOS por ações PHB(per hop behavior - comportamento por hop) e são 3:


-Classificação

-Marcação (Ação)
-Interface a ser aplicada.





Classificação

Pode ser usado um ou mais critérios para classificação e pode ser usado lógica AND com o match-all ou OR com o match-any após o comando class map.
Dentro das class-map podem ser usados critérios como:
* Access-list
* Nbar (Citrix, IP, RTP, MIME, peer-to-peer (KaZaa, Gnutella, etc) nota: Em IOS posteriores a 12.2T/12.3 o comando IP nbar protocol-discovery na interface não é necessário, o uso do comando match protocol já ativa o NBAR
* Valores dos campo DS ou TOS
* Valores Layer 2
Entre muitos outros que poder ser consultados no paper:
Configuring the Modular Quality of Service Command-Line Interface

Exemplo:

Class-map match-all MINHACLASSE1 (Só valida se TODOS forem verdade)
match ip rtp 16390 3 (RTP que use as portas 16390 até 16393, o segundo numero indica a range)
match precedence 5 (Que tenha o campo Precedence 5)
Class-map match-any MINHACLASSE2 (Valida caso QUALQUER UM seja verdade)
macth access-group 102 ( Valores da Access-list 102)
match protocol http url "*importante*" (Utiliza o NBAR e verifica pacotes HTTP com a string na URL)

Marcação

Com os pacotes classificados basta marcar eles (Alterar os valores precedence, DSCP, CoS, etc). Nesta parte também é feita a reserva de banda para cada fila, mas vou escrever sobro isso no próximo tópico. Ex:

policy-map MINHAPOLICY
class MINHACLASSE1
set ip dscp EF
class MINHACLASSE2
set ip AF41

*Nota o uso de marcação set cos x só é possível em interfaces dot1.q ou ISL por motivos obvios :)

E quando executamos o comando show policy-map observamos que ele traz as configurações dscp em decimal (por isso que eu postei a fórmula no tópico anterior) e ele elege a classe default automaticamente:
Router#show policy-map MINHAPOLICY Policy Map MINHAPOLICY Class MINHACLASSE1 set ip dscp 46
Class MINHACLASSE2
set ip dscp 34
Class class-default
set ip dscp 0


Interface a ser aplicada

Agora basta aplicar na interface.

Interface Fastethernet 0/0 service-policy input MINHAPOLICY


O uso do CoS

A Cisco recomenda o uso dos seguintes valores para a marcação quando usar o campo CoS:

QOS - Parte I

Passei 19 dias sem postar (porém não sem estudar) devido a uma série de compromissos, então a parte do BGP e a parte de route map eu vou deixar para depois pois é quase metade do livro e eu vou usar pra fazer revisão do que foi estudado até agora.
Passamos então ao:

Quality of Service QoS.
Serve para priorizar a passagem de determinados dados em caso na rede, ele não é transmitido mais rápido, apenas priorizado no buffer de saida da interface em caso de competição de recursos da rede.

No inicio era utilizado o IP Precedence (IPP) como ferramenta de QOS, após a chegada das RFCs definindo algumas regras de QOS conhecidas como Differentiated Services (DiffServ) (existe também o Integrated Services, Intserv, que trabalha com reserva de recursos por toda a rede ao invés de marcação de pacotes per hop, mas não será abordado agora) o campo Type of service (TOS) passou a se chamar DS Field com uma alteração em sua estrutura, o espaço Precedence+TOS é usado agora como DSCP (Differenciated Services Code Point) e agora existe um campo que pode ser utilizado como ECN (Explicit Congestion Notification).
Para facilitar:















O Assured Forwarding (AF - RFC 2597) "é um tratamento mais fino do CS", trata o DSCP em 4 filas e dentro de cada uma existem 3 prioridades de descarte, é indicado como AFxy, onde x indica a fila de 1 a 4, sendo que o maior tem mais prioridade na fila e o y indica a probabilidade de descarte de 1 a 3. Então por exemplo o pacote AF 41 tem mais prioridade que o AF 21 (Fila diferente) e que o AF 43.

Para transformar o AFxy em decimal basta usar a formulinha:
8x+2y = Valor em decimal

Ex: AF31 -> 8*3 + 2*1 = 26



Marcação em quadros não IP


Ethernet (3 bits) - Ambos podem ser chamados de CoS
-802.1Q (user-priority bits - 3 primeiros do campo TAG(2 Bytes))
-ISL (CoS - 3 Últimos bits do User field (1 Byte))

















Wan (1 bit)
Frame Relay (DE - Discart Eligibility)
ATM (CLP - Cell Loss Priority)

MPLS (3 bits) - EXP- MPLS Experimental

Exemplo:









Resumão da marcação: