QoS Ethernet e VLANs
Redes de Computadores
QoS Ethernet
• A família Ethernet, padronizada pela série
802.3x tornou-se o modelo de LAN mais
utilizado na atualidade, e sua utilização está se
estendendo também a criação de enlaces WAN.
– IEEE 802.1z (1 Gbe) e 10 Gbe (10 Gigabit
Ethernet)
QoS Ethernet
• A importância do IEEE 802.3x motivou o IEEE a
propor extensões do padrão original para
suportar QoS:
– IEEE 802.1Q: define o funcionamento de VLANs
• Acrescenta dois campos no quadro:
– Identificador de VLAN
– Prioridade
– IEEE 802.1p: define o uso do campo prioridade.
Quadros Ethernet
Ethernet I & II
>= 1536
MAC origem
MAC destino
Tipo Proto.
Dados
CRC
(6 bytes)
(6 bytes)
(2 bytes)
(46 a 1500 bytes)
(4 bytes)
IEEE 802.3
< 1536
MAC origem
MAC destino
Tamanho
Dados
CRC
(6 bytes)
(6 bytes)
(2 bytes)
(46 a 1500 bytes)
(4 bytes)
IEEE 802.1Q
MAC origem
MAC destino
Tipo Proto
VLAN id e prioridade
Dados
CRC
(6 bytes)
(6 bytes)
(2 bytes)
(2 bytes)
(46 a 1500 bytes)
(4 bytes)
Tipo 802.1Q = 0x8100
Prioridade (3 bits) + CF (1bit) + VLANID (12 bits)
LANS Virtuais
• SEGMENTO = Domínio de Colisão
– Os computadores de um Hub estão no mesmo segmento físico.
• VLAN = Domínio de Broadcast
– O tráfego de broadcast pode passar de uma VLAN para outra apenas
através de um roteador.
FF.FF.FF.FF.FF.FF
FF.FF.FF.FF.FF.FF
B
FF.FF.FF.FF.FF.FF
A,B,C: VLAN 1
D,E: VLAN 2
C
A
SWITCH
D
E
Interligação de Switches
B
C
VLAN 2
VLAN 2
VLAN 1,2,3
VLAN 1
SWITCH
A
D
SWITCH
TRUNK
ACCESS
VLAN 3
VLAN 1,2,3
Interface Trunk: Tráfego de
Várias VLANs
IEEE 802.1Q
Interface de Acesso: Tráfego
de uma única VLAN
IEEE 802.3
VLAN 1,2,3
SWITCH
VLAN 2
E
Modos das Portas de Switch
• As portas de um switch pode trabalhar em dois
modos:
– Modo Access
• Cada porta do switch pertence a uma única VLAN.
• Quadros Ethernet: Formato Normal.
– Modo Trunk
• O tráfego de múltiplas VLANs é multiplexado em um
único link físico.
• Usualmente interconectam switches.
• Quadros Ethernet: formato especial (VLAN).
• Apenas computadores com placas especiais podem se
conectar a essas portas.
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 inteface Trunk.
6 Bytes
6 Bytes
Endereço
Físico de
Destino
Endereço
Físico de
Origem
2 Bytes
Identificador
de Tipo de
VLAN
Esses campos são removidos
quando o quadro é enviado para
uma interface do tipo access.
2 Bytes
Prioridade e
VLAN ID
4 Bytes
Dados
CRC
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
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 dos campos dos cabeçalhos de
transporte e rede.
Exemplo
•
•
•
•
•
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.3 traffic-class.prioridade0
datalink-traffic-class-indices 0
datalink-traffic-mask 0xe000
parent root-input-tree
Exemplos de mapeamento de prioridade
• Regra para pacotes com prioridade 1 a 3
– config cbq.3 traffic-class.prioridade0
datalink-traffic-class-indices 0x2000-0x6000
datalink-traffic-mask 0xe000
parent root-input-tree
• Regra para pacotes com prioridade 4 a 7
– config cbq.3 traffic-class.prioridade0
datalink-traffic-class-indices 0x8000-0xe000
datalink-traffic-mask 0xe000
parent root-input-tree
Exemplos 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 0x010x0a,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
Preparando 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.
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.2
• 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

VLANs e QoS em Ethernet