QoS Ethernet e VLANs
Redes de Computadores
Cenário de Estudo
• Como utilizar os recursos de priorização de
VLANs em switches Ethernet
VLAN 1 - VOZ
1
VLAN 2 - DADOS
2
rede 1
T
rede 2
T
1
2
Protocolos Trunk
• Os quadros nas interfaces Trunk são formatados em quadros
especiais para identificar a quais LANs eles pertencem. O
IEEE 802.1Q é um protocolo para interface Trunk.
0x8100
6 Bytes
6 Bytes
2 Bytes
3 Bits
1 Bit
12 Bits
DESTINO
ORIGEM
TYPE
PRIO
CFI
VLAN ID
Esses campos são removidos
quando o quadro é enviado para
uma interface do tipo access.
2 Bytes
TYPE
Dados
CRC
PRIO: IEEE 802.1 P
CFI: Canonical Format Indicator
• 0 em redes Ethernet
Tipos de Tráfego: Exemplos
• Switches Ethernet precisam diferenciar o tráfego, pois
cada tipo de aplicação pode ter requisitos de QoS
distintos:
a) Gerenciamento da Rede: alta disponibilidade
b) Voz: Atraso < 10 ms
c) Video: Atraso < 100 ms
d) Carga Controlada
e) Excellent Effort: Best Effort para usuários importantes
f) Best Effort: Best Effor para os demais usários
g) Background: Transferências em batch, jogos, etc.
Uso de Prioridade: Exemplo
• De acordo com a abordagem do padrão 802.1p, o
diferentes tipos de tráfego podem ser tratados
utilizando 8 níveis de prioridade:
–
–
–
–
–
–
–
–
000 = 0 : Best Effort
001 = 1 : Background
010 = 2 : Não Utilizado
011 = 3: Excellent Effort
100= 4 : Carga Controlada
101 = 5 : Vídeo
110 = 6 : Voz
111= 7 : Controle de Rede
Avaya P130
• Operação sem políticas:
– Frames com TAG:
• Usa o valor de COS que vem no quadro
– Frames sem TAG:
• Usa o valor de COS default da porta
• Operação com políticas:
– Efetua a remarcação do CoS dos quadros de
acordo com políticas associadas a interface de
entrada
Algoritmo no Avaya P130
• O P130 usa um escalonamento com 4 filas,
usando um round-robin ponderado.
Remarcação de Prioridade
• O switch permite criar regras de (re)marcação em
função:
– Da porta do switch
– Dos campos dos cabeçalhos de transporte e rede.
Remarcação por Regras
•
•
•
•
•
ip access-list 100 1 fwd6 ip host 149.49.50.40 any
ip access-list 100 2 fwd1 ip host 149.49.70.61 any
ip access-list 100 3 fwd4 ip any host 204.34.45.3
ip access-list 100 4 fwd3 tcp any any eq 80
ip access-list 100 5 fwd2 tcp any any range 20 21
– ativa a listra de acesso
• ip access-group 100
Mapeamento DSCP - COS
• Para integração com a marcação diffserv, o switch permite mapear códigos
de DSCP em níveis de prioridade.
• set qos dscp-cos-map 52 fwd2
• set qos dscp-cos-map 53 fwd3
Parâmetos de QoS no Switch
•
O padrão 802.1p define que as seguintes características de
QoS devem ser controladas pelo Switch:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Taxa de disponibilidade do Serviço
Taxa de perda de quadros
Reordenamento de quadros de mesmo endereço (proibido)
Duplicação de Quadros (proibido)
Atraso introduzido pelo Switch
Controle do tempo de vida dos quadros
Taxa de erros não detectados
Controle de MTU
Prioridade de Usuário
Vazão
Configurando as portas do Switch
• Verificar a configuração atual do switch
– show port
• Configurando uma prota como trunk ou não
– set trunk 1/19 dot1q
– set trunk 1/19 off
• Configuração de uma porta não-trunk
– set port vlan 1 1/1-2
• Configuração de prioridade
– set port level 1/1-2 6
Configurando com trunk
• Configurando o switch com trunk:
– set trunk 1/19 dot1q
– set port vlan-binding-mode 1/19 bind-toconfigured
• Configuração da porta de gerenciamento
– set inband vlan 1
Integraçã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
máscara 0xe000
15
14
13
prioridade
12
CFI
11
10
9
8
7
6
5
4
3
VLAN ID
máscara 0x0fff
2
1
0
Exemplos de mapeamento de prioridade
• Regra para pacotes com prioridade 0
– config cbq.1 traffic-class.prioridade0
datalink-traffic-class-indices 0
datalink-traffic-mask 0xe000
parent root-input-tree
• Regra para pacotes com prioridade 1 a 3
– datalink-traffic-class-indices 0x2000-0x6000
• Regra para pacotes com prioridade 4 a 7
– datalink-traffic-class-indices 0x8000-0xe000
Exemplos de mapeamento de VLAN
• Regra para pacotes pertencentes as
VLANs de 1 a 10 e 14.
– config cbq.1 traffic-class.prioridade1-10-14
datalink-traffic-class-indices 0x01-0x0a,0x0e
datalink-traffic-mask 0x0fff
bandwidth-allocation 100000
parent root-input-tree
Preparando 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
Interface do Roteador
vlan1
eth0.1
eth0.2
vlan2
Preparando o Roteador
• 1) É necessário criar uma sub-interface para cada
VLAN tratada pelo roteador:
– stack slot.4.1 cbq.1 eth.1 eth.1.new ip.new
• 2) Use o comando status para verificar o novo id da
interface. Elas serão criadas na seqüência:
– eth.1.1, eth.1.2, etc.
– ip.1.1, ip.1.2, 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.
Observaçã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.1
• A porta do switch ao qual o roteador está ligado
deve ser configurado em trunk.
Comandos Úteis
• reset defaults
• add ip.2 address.192.168.2.1
• show ip.* address-table summary
• add ip static-route.192.168.1.0 ...
Exercício: Parte 1
• Divida o switch da sua bancada em 2 VLANs
– Dados: VLAN 11 (portas 1 a 2) – prioridade 0
– Voz: VLAN 12 (portas 3 e 4) – prioridade 6
1
192.168.1.1 (1.1)
2
192.168.2.1 (1.2)
rede 1
192.168.1.0/25
192.168.2.0/24
rede 2
192.168.3.0/24
192.168.4.0/24
T
T
192.168.3.1 (2.1)
1
2
192.168.4.1 (2.2)
Comandos para o Switch
• 1) Configuração das portas dos computadores
–
–
–
–
set port vlan 11 1/1-2
set port vlan 12 1/3-4
set port level 1/1-2 0
set port level 1/3-4 6
• 2) Configuração da porta trunk
– set trunk 1/12 dot1q
– set port vlan-binding-mode 1/12 bind-toconfigured
Exercício: Parte 2
• Crie duas sub-interfaces para cada porta do roteador, e
atribua o identificador de VLAN para cada uma delas.
1
192.168.1.1 (1.1)
2
192.168.2.1 (1.2)
rede 1
192.168.1.0/25
192.168.2.0/24
rede 2
192.168.1.0/24
192.168.2.0/24
T
T
192.168.1.2 (2.1)
1
2
192.168.2.2 (2.2)
Exercício: Comandos do Roteador
• 3) Criação das sub-interfaces
– stack slot.4.1 cbq.2 eth.1 eth1.new
– stack slot.4.1 cbq.2 eth.1 eth1.new
• 4) Criação das interfaces IP
– stack slot.4.1 cbq.2 eth.1 eth1.1 ip.new
– stack slot.4.1 cbq.2 eth.1 eth1.2 ip.new
• OBS.
– config eth.1 admit-8021q-tagged-frames true
Exercício: Comandos do Roteador
• 5) Atribuição das VLANs e endereços IP
– config eth.1.1 vlan-id 11
– config eth.1.2 vlan-id 12
• 6) Atribuição dos endereços IP
– add ip.7 address.192.168.1.1 net-mask
255.255.255.0
– add ip.8 address.192.168.2.1 net-mask
255.255.255.0
Exercício: Parte 3
• Em cada porta do roteador crie as regras para
restringir o tráfego que atravessa o roteador para
as VLANs 1 e 2, conforme a árvore abaixo.
root
input tree
cbq 2
500 Kbps
bounded true
VLAN
11
VLAN
12
1000 Kbps
bounded true
Configuração do CBQ
• comando para root-input-tree
– config cbq.2 traffic-class.DADOS
datalink-traffic-class-indices 0x0b
datalink-traffic-mask 0x0fff
bandwidth-allocation 500000
bounded true
parent root-input-tree
Configuração do CBQ
• comando para root-input-tree
– config cbq.2 traffic-class.VOZ
datalink-traffic-class-indices 0x0c
datalink-traffic-mask 0x0fff
bandwidth-allocation 1000000
bounded true
parent root-input-tree
Exercício: Parte 4
• Avalie a configuração implementada, utilizando o
analisador de desempenho tanto para o protocolo
TCP quanto UDP.
Download

QoS Ethernet e VLANs