38
Exercícios Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

Embed Size (px)

Citation preview

Page 1: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

ExercíciosExercícios

Prof. Edgard Jamhour

Recursos de QoS no RoteadorCBQ – Class Based Queuing

Diff-Serv

Page 2: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

CBQ: Class-Based QueuingCBQ: Class-Based Queuing

• Class-Based Tree

Root100 Mbps

TCP60 Mbps UDP

40 Mbps

ICMP0 Mbps

HTTP30 Mbps

FTP30 Mbps

Page 3: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

Identificando as InterfacesIdentificando as Interfaces

• A numeração adotada pelo roteador depende dos protocolos adicionados a cada interface.

• >status– Slot 1.1 Tcom T1 Driver

• cbq.1• frame-relay.1

– Slot 2.1 Ethernet Driver• cbq.2• eth.1• ip.1

Page 4: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

SentidoSentido

• As regras se aplicam de forma diferente de acordo com o sentido do pacote.

• Existe uma árvore diferente para cada sentido em cada porta do roteador.

CBQ.2

Inbound: root-input-tree

Outbound: root-output-tree

ROTEADOR CBQ.3

Inbound: root-input-tree

Outbound: root-output-tree

Page 5: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

Comandos – Sintaxe BásicaComandos – Sintaxe Básica

• config cbq.2 traffic-class.nome-da-classe-filho (e.g. tcp)

parent nome-da-classe-pai (e.g. root-input-tree)

[ ... definições da classe ... ]

per-classification-order int (default 100)

bandwidth-allocation banda-em-bps (e.g. 500000)

bounded true/false (permite ou não ultrapassar o limite alocado)

maxbandwidth banda-em-Mbps (limite máximo)

Page 6: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

Criação de uma Classe Filho Criação de uma Classe Filho

classe-pai

classe-filhapre-order

1

100.000.000 (100 Mbps)bounded true

50.000.000 (50 Mbps)bounded falsemaxbandwidth 80.000.000

classe-filhapre-order

2

50.000.000 (50 Mbps)bounded true

Page 7: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

Ativação do CBQAtivação do CBQ

• Ativação da classificação dos pacotes que entram pela interface associada ao cbq.2 do roteador:– config cbq.2 traffic-class.root-input-tree

row-status active

• Ativação da classificação dos pacotes que saem pela interface associada ao cbq.2 do roteador:– config cbq.2 traffic-class.root-output-tree

row-status active

Page 8: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

Verificação e AlteraçãoVerificação e Alteração

• Toda a árvore de um cbq– show cbq.2 traffic-filters summary

• Uma árvore (classe) específica– show cbq.2 nome-da-classe

• Apagando um classe específica– delete cbq.2 traffic-filter.nome-da-classe

Page 9: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

Opções de FiltroOpções de Filtro

• Endereços IP:– src-ip-addresses ip1-ip2 dst-ip-addresses ip3-ip4– (e.g.) src-ip-addresses 192.168.0.1-192.168.0.100– (e.g.) dst-ip-addresses 192.168.0.1,192.168.0.7

• Portas:– src-ports p1-p2 dst-port p3-p4– (e.g.) src-ports 1024-65535– (e.g.) src-ports 110,143

• Protocols (sigla ou número)– protocols sigla-ou-número– (e.g.) protocols tcp,udp– (e.g.) protocols 6-17

Page 10: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

ExemplosExemplos

• Regra para subrede:– config cbq.1 traffic-class.bancada1

src-ip-addresses 192.168.1.0-192.168.1.20

parent root-input-tree• Regra para protocolo:

– config cbq.2 traffic-class.udp protocols udpparent root-input-treebandwidth-allocation 0 bounded true.

Page 11: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

OperadoresOperadores

• O operador default é and, isto é, apenas os pacotes que atendem todos os critérios de filtro de uma classe são classificados:– config cbq.1 traffic-class.httpserver src-ip-

addresses 192.168.1.2 protocols tcp [operator and]

• No caso do operador or, basta que um critério seja satisfeito:– config cbq.1 traffic-class.httpserver src-ip-

addresses 192.168.1.2 protocols tcp operator or

Page 12: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

Operação com Diff-ServOperação com Diff-Serv

• A operação com Diff-Serv implica na criação de classes que:

– 1) Efetuam a classificação de pacotes baseado no campo TOS (DSCP)

– 2) Remarcam o campo TOS (DSCP) baseando em dois critérios:

• a) Adequação aos critério de classificação de uma classe

• b) Empréstimo ou não de banda da classe pai.

Page 13: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

Sintaxe para Re-Marcação TOSSintaxe para Re-Marcação TOS

• config cbq.2 nome-da-classe-filho• parent nome-da-classe-pai

• bandwidth-allocation bps • bounded true/false maxbandwidth bps

• tos-value byte tos-mask byte– marcação de pacotes dentro da banda estipulada

• tos-borrow-value byte tos-borrow-mask byte– marcação de pacotes fora da banda estipulada

Page 14: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

ExemploExemplo

• SLA para o cliente da sub-rede 192.168.1.0/24

– pacotes dentro da classe: 0.5 Mbps• AÇÃO: marcação DSCP=001

– pacotes fora da classe mas abaixo do limite 0.5 a 1 Mbps• AÇÃO: marcação DSCP=002

– pacotes acima do limite-hard: > 1 Mbps• AÇÃO: descartados

Page 15: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

RemarcaçãoRemarcação

Acima da Banda Máxima

Zona de Empréstimo

Zona Normal0 bps

bandwidth-allocation

maxbandwidth

capacidade do link

DSCP = 001

DSCP = 002

Descarte

Page 16: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

ExercícioExercício

192.168.1.0/24

192.168.2.0/24

192.168.3.0/24

192.168.4.0/24

1

2

3

4

rede 1

rede 2

rede 3

rede 4

192.168.1.1

192.168.2.1

192.168.2.2

192.168.3.1

192.168.4.1

192.168.3.2

192.168.5.1/30

192.168.5.2/30

1 2

Page 17: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

Exercício – Marcação dos pacotes Exercício – Marcação dos pacotes

root-input-tree

se a origem for o computador 1• banda: 500 bps• bounded false • até 500 bps, marcar DSCP 1• acima de 500 = DSCP 2

se a origem for o computador 2• banda: 500 bps• bounded false • até 500 bps, marcar DSCP 1• acima de 500 = DSCP 2

Page 18: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

Exercício – Traffic Shaping na SaídaExercício – Traffic Shaping na Saída

root-output-tree se DSCP = 1• banda: 1000 bps• bounded true 2000 bps

se DSCP =2• banda: 500 bps• bounded true 500 bps

Page 19: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

Exercício – Traffic Shaping na EntradaExercício – Traffic Shaping na Entrada

root-input-tree se DSCP = 1• banda: 1000 bps• bounded true 2000 bps

se DSCP =2• banda: 500 bps• bounded true 500 bps

Page 20: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

Q-Elasticity FactorQ-Elasticity Factor

• Por default, cada classe do CBQ possui um buffer para 100 pacotes.

• Esse valor pode ser alterado através do comando:

• config cbq.2 traffic-class.nome-da-classe q-elasticity-factor 1000

Page 21: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

Configuração do REDConfiguração do RED

• Por default, o CBQ não implementa RED.

• RED é controlado pelo parâmetro red-minimum-queue-value (valor default = 0 – desativado)

• O valor pode ser alterado pelo comando:

• config cbq.2 traffic-class.nome-da-classe redminimum-queue-value 3– esse comando iniciará o processo de descarte quando o

número médio de pacotes no buffer for superior a 3.

Page 22: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

Monitorando REDMonitorando RED

• show cbq.2 traffic-class.nome-da-classe red

• Mostra:

– pacotes descartados por RED (não inclui os descartados por estouro de buffer)

– probabilidade do próximo pacote ser descartado da classe.

Page 23: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

Monitorando as ClassesMonitorando as Classes

• Por default, as estatísticas estão desabilitadas:

• config cbq.2 cbq-history-status enabled– ou

• config cbq.2 traffic-class.nome-da-classe history-status enabled

• show cbq.2 traffic-classes history– ou

• show cbq.2 traffic-class.nome-da-classe history

Page 24: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

Criação Automática de ClassesCriação Automática de Classes

• Para gerar classes automáticas por IP de origem ou destino.– config cbq.2 traffic-class.nome-da-classe

auto-class-enabled true

auto-class-child-bw-allocation 1000auto-class-child-max-bw-alloc 2000auto-class-child-bounded true/false

dest-ip-addresses 192.168.1.1-192.168.1.10 ou scr-ip-addresses 192.168.1.1-192.168.1.10

parent root-output-treebandwidth-allocation 10000

Page 25: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

Agrupamento de IPsAgrupamento de IPs

• Para criar classes com IPs agrupados por faixas, incluir no final do comando as diretivas:

• Agrupamento pelo IP de origem:– auto-class-child-src-ip-divisor int (e.g. 4)

• Agrupamento pelo IP de destino:– auto-class-child-dest-ip-divisor int (e.g. 4)

Page 26: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

ExercícioExercício

root input tree

cbq 2

TCP1

100 Kbpsbounded true

UDP2

100 Kbps

outros100

50 Kbpsbounded true

Ip1 IpN Ip1 IpN... ...

computadores da bancadaclassificação automática

10 Kbps50 kbpsboundedfalse

5 Kbps20 kbpsboundedfalse

50 Kbpsbounded true

Page 27: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

Operação StatefulOperação Stateful

• Configuração stateful cria regras dinâmicas, limitando a resposta para a porta da aplicação cliente:

cliente servidor1010 80

flow (detectado) - http

counterflow - httpEstablished(automático)

Page 28: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

Opções de Filtro StatefulOpções de Filtro Stateful

• applications sigla– http, ftp, allICMP, etc.– httpEstablised, ftpEstablished,

allICMPEstablished, etc

– traffic-class.http-out applications http

– traffic-class.http-return aplications httpEstablished

Page 29: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

Applicações StatefullApplicações Statefull

• allTcp, allTcpEstablished• allUdp, allUdpEstablished• allIcmp, allIcmpEstablished• ftp, ftpEstablished• http, httpEstablished• telnet, telnetEstablished• dns, dnsEstablished• ssh, sshEstablished• h323Control, h323ControlEstablished, • h323Audio, h323AudioEstablished, • etc ..

Page 30: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

ExemploExemplo

• config cbq.2 traffic-class.requisicao – protocols udp dest-ports 1081 parent root-input-tree

• config cbq.3 traffic-class.resposta– protocols allUdp src-ports 1081 parent root-input-tree

(** ERRADO **)• config cbq.3 traffic-class.resposta

– applications allUdpEstablished src-ports 1081 parent root-input-tree

roteadorBancada 1 Bancada 2cbq.3

clienteServidor

UDPresposta

cbq.2

1081requisicao

Page 31: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

ExercícioExercício

• Construa a arvore CBQ para as seguintes regras:– Bancada1 pode abrir conexões TCP (porta 80) na bancada

2, mas não o contrário.– Bancada2 pode abrir “conexões” UDP na bancada 1 (porta

53), mas não o contrário.

roteadorBancada 1 Bancada 2cbq.3

clienteServidor

UDPresposta

cbq.2

requisicao

Page 32: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

Integração de QoS com VLANsIntegração de QoS com VLANs

• O mapeamento de condições para os campos da VLAN é feito através dos parâmetros:– datalink-traffic-indice e datalink-traffic-mask

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

prioridade CFI VLAN ID

máscara 0xe000

máscara 0x0ffff

Page 33: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

Exemplos de mapeamento de prioridadeExemplos de mapeamento de prioridade

• Regra para pacotes com prioridade 0– config cbq.3 traffic-class.prioridade0

datalink-traffic-class-indices 0datalink-traffic-mask 0xe000parent root-input-tree

• Regra para pacotes com prioridade 1 a 3– config cbq.3 traffic-class.prioridade0

datalink-traffic-class-indices 0x2000-0x6000datalink-traffic-mask 0xe000parent root-input-tree

• Regra para pacotes com prioridade 4 a 7– config cbq.3 traffic-class.prioridade0

datalink-traffic-class-indices 0x8000-0xe000datalink-traffic-mask 0xe000parent root-input-tree

Page 34: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

Exemplos de mapeamento de VLANExemplos de mapeamento de VLAN

• Regra para pacotes pertencentes as VLANs de 1 a 10 e 14.– config cbq.3 traffic-class.prioridade0

datalink-traffic-class-indices 0x01-0x0a,0x0edatalink-traffic-mask 0x0ffffparent root-input-tree

Page 35: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

Preparando o RoteadorPreparando o Roteador

• para aceitar quadros com tags de VLAN:– config eth.<instance> admit-8021q-tagged-frames true

• para rotear para dispositivos com VLANs ID que não estão configuradas no AP– config eth.<instance> admit-configured-vlans-only false

• para remover tags de VLAN– config eth.<instance> strip-bridged-8021q-tags true

• para verificar os parâmetros de VLAN da interface– show eth.<instance> vlan

Page 36: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

Preparando o RoteadorPreparando o Roteador

• 1) É necessário criar uma sub-interface para cada VLAN tratada pelo roteador:– stack slot.4.1 cbq.3 eth.2 eth.2.new ip.new

• 2) Use o comando status para verificar o novo id da interface. Elas serão criadas na seqüência:– eth.2.1, eth.2.2, etc.– ip.2.1, ip.2.3, etc.

• 3) Atribua um código de VLAN a nova instância. Exemplo:– config eth.2.1 vlan-id 12

• 4) Atribua o endereço IP e as rotas.

Page 37: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

ObservaçãoObservação

• Quadros com VLAN IDs configurados no roteador serão enviados para interface correspondente.

• Quadros sem VLAN IDs ou com VLAN IDs que não existam no roteador, serão enviados para interface integral: e.g. eth.2

• Use os comandos abaixo para a porta do switch onde o roteador está conectado:– set trunk 1/19 dot1q– set port vlan-binding-mode 1/19 bind-to-configured

Page 38: Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv

Comandos ÚteisComandos Úteis

• reset defaults

• add ip.2 address.192.168.2.1

• show ip.* address-table summary

• add ip static-route.192.168.1.0 ...