exercícios
DESCRIPTION
Exercícios. Prof. Edgard Jamhour Recursos de QoS no Roteador CBQ – Class Based Queuing Diff-Serv. CBQ: Class-Based Queuing. Class-Based Tree. Root 100 Mbps. TCP 60 Mbps. ICMP 0 Mbps. UDP 40 Mbps. HTTP 30 Mbps. FTP 30 Mbps. Identificando as Interfaces. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Exercícios](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/1.jpg)
ExercíciosExercícios
Prof. Edgard Jamhour
Recursos de QoS no Roteador
CBQ – Class Based Queuing
Diff-Serv
![Page 2: Exercícios](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/10.jpg)
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 udp
parent root-input-treebandwidth-allocation 0 bounded true.
![Page 11: Exercícios](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/18.jpg)
Exercício – Traffic Shaping na SaídaExercício – Traffic Shaping na Saída
root-output-treese DSCP = 1
• banda: 1000 bps• bounded true 2000 bps
se DSCP =2• banda: 500 bps• bounded true 500 bps
![Page 19: Exercícios](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/19.jpg)
Exercício – Traffic Shaping na EntradaExercício – Traffic Shaping na Entrada
root-input-treese DSCP = 1
• banda: 1000 bps• bounded true 2000 bps
se DSCP =2• banda: 500 bps• bounded true 500 bps
![Page 20: Exercícios](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/31.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/33.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/35.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/36.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/37.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a76550346895dc7dfe4/html5/thumbnails/38.jpg)
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 ...