Ver Feed RSS

Tecnologia de Redes, Mobilidade e Inovação

O Que É 802.1Q e Quando Usar

Avaliação: 4 votos, 5,00 média.
O conceito de VLAN permite a segmentação da rede em partes isoladas, em verdadeiras ilhas de comunicação, aonde uma ilha não se comunica diretamente com as demais. Como comentei no artigo Os Prós e Contras das VLANs isso tem muitas vantagens (como segurança e redução de broadcast) mas também tem seus problemas (como interligar essas ilhas).

Neste artigo vamos falar com o padrão 802.1Q de marcação de pacotes, quais são suas aplicações e como usa-lo para transformar o Linux em um "roteador entre as ilhas VLAN".

Múltiplas VLANs

Para entender o conceito de marcação de pacotes (tagging) vamos inicialmente compreender o problema que ele resolve. Vamos imaginar uma rede local, com apenas um switch, neste caso fazer as VLANs é simples: se quero 3 VLANs, seleciono quais portas pertencem a cada VLAN e pronto. Por exemplo, o switch tem portas 1 a 24, faço o seguinte:

VLAN 1: portas 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 21, 22, 23, 24
VLAN 50: portas 11, 12, 13, 14, 15, 16, 17
VLAN 55: portas 18, 19 e 20

Até ai tudo tranqüilo. A porta 1 não fala, por exemplo, com a porta 18. Se eu precisar interligar essas três redes, posso então montar um Linux com firewall, coloco 3 placas de rede no Linux e conecto cada placa a uma porta do switch. Por exemplo:

Placa 1: IP 192.168.0.1 máscara 255.255.255.0 e conecto na porta 1
Placa 2: IP 192.168.1.1 máscara 255.255.255.0 e conecto na porta 11
Placa 3: IP 10.0.0.1 máscara 255.255.255.0 e conecto na porta 20

Dessa forma, cada placa de rede será o default gateway de cada VLAN. Um PC na porta 2 teria IP 192.168.0.10 com default gateway 192.168.0.1

Uma Rede Com 2 Switchs

Vamos agora ver como ficaria essa rede com 2 switchs. Um é o do exemplo anterior (que já configuramos as portas) e o outro teria esta configuração:

VLAN 1: portas 21, 22, 23 e 24
VLAN 50: portas 14, 15, 16 e 17
VLAN 55: portas 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 18, 19 e 20

Como fariamos a interligação entre os switchs? Neste caso precisariamos de 3 cabos de rede entre os switchs, um para cada VLAN. Por exemplo porta 2 com porta 21 do segundo; porta 12 do primeiro com 14 do segundo e porta 1 com 18. Dessa forma as 2 VLANs de cada switch se comunicariam diretamente de maneira interna e via o Linux para se comunicarem entre si.

O Problema

O primeiro problema é que gastamos um monte de portas Ethernet: três portas do primeiro switch para o Firewall/roteador e seis portas (3 no primeiro switch e 3 no segundo) para interconecta-los. Não é nenhum fim do mundo, mas acho que você já percebeu que a coisa fica cada vez mais complicada com o aumento do tamanho da rede.

Vamos pensar o que vai acontecer se tivermos uma rede com 3 switchs de 24 portas e 5 VLANs. Como ficaria a configuração de cada switch? Iríamos precisar de 5 cabos entre switch 1 e 2 e depois mais 5 outros cabos entre os switchs 2 e 3 (cada cabo consome duas portas, seriam 20 portas no total) e mais 5 para o Linux. Assim em uma rede com 3 switchs de 24 portas (72 portas no total) gastamos 20 para interconexão.

Assim foi necessário a criação de um mecanismo mais eficiente para interconexão entre switchs, para isso foi criada a marcação de pacotes.

Marcação de Pacotes

Assim como a VLAN, o conceito de marcação de pacotes é muito simples, não entanto muitas pessoas não entendem ou não conseguem usar a marcação de pacotes por esperar que ela faça mágica ou resolva magicamente os problemas.

Na marcação de pacotes, um switch "marca" cada pacote antes de encaminha-lo. É como um boi marcado a ferro quente para saber quem é o dono, o switch marca o pacote com um número (a VLAN) e envia. Em inglês, tag quer dizer etiqueta, então taggear um pacote significa etiqueta-lo (com o número da VLAN).

Assim o switch que recebe o pacote sabe a qual VLAN esse pacote pertence. Voltando ao nosso exemplo dos dois switchs com 5 VLANs, vamos fazer o seguinte:
- no switch 1 configuramos a porta 2 para pertencer às VLANs 1, 50, 55, 100 e 208 de maneira taggeada
- no switch 2 configuramos a porta 5 para pertencer às VLANs 1, 50, 55, 100 e 208 de maneira taggeada

Agora com apenas um cabo conectando porta 2 do primeiro com porta 5 do segundo, conectamos todas as VLANs. Se você quer saber porque escolhi porta 2 do primeiro e 5 do segundo? Porque eu quis, podia ser qualquer uma outra.

Se eu configurar a porta 3 do primeiro switch para também pertencer às VLANs 1, 50, 55, 100 e 208 de maneira taggeada e configurar VLAN tag no Linux, preciso de apenas 1 portas Ethernet no switch para interconectar as 3 VLANs.

Assim, com VLAN tagging, gastei 2 portas no switch 1 (para o Linux e outra para o switch 2) e 1 porta no switch 2. Foram gastas apenas 3 portas contra as 20 do exemplo anterior.

802.1Q

Sendo assim se criou o padrão IEEE 802.1Q que permite com que switchs de fabricante diferentes marquem pacotes e enviem essa informação de um para outro.

Uma VLAN é um número de 1 a 4096 (normalmente a VLAN 0 é a VLAN default).

Sendo assim um pacote Ethernet pode ser de dois tipos: taggeado ou não taggeado. Os pacotes não taggeados são aqueles que não tem marcação nenhuma (ou simplesmente são marcados com VLAN 0) e os que são taggeados.

Na configuração de cada porta do switch, você informa qual VLAN passa por essa porta e se essa VLAN é taggeada ou não. Essa flexibilidade pode causar confusões.

Exemplos de Configuração de VLAN

Exemplo 1

VLAN 1: portas não taggeadas 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 21, 22, 23, 24, 20
VLAN 50: portas não taggeadas 11, 12, 13, 14, 15, 16, 17, 20
VLAN 55: portas não taggeadas 18, 19, 20

Neste caso a porta 20 pertence a todas as VLANs. No entanto cada VLAN tem um endereçamento diferente, dessa forma podemos ter uma confusão de endereçamento na porta 20. Nem todo switch suporta esse tipo de VLAN, chamada de VLANs assimétricas (cada fabricante tem um nome para esse tipo de possibilidade).

Exemplo 2

VLAN 1: portas não taggeadas 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 21, 22, 23 e taggeadas 24, 20
VLAN 50: portas não taggeadas 11, 12, 13, 14, 15, 16, 17 e taggeadas 24, 20
VLAN 55: portas não taggeadas 18, 19 e taggeadas 20

Neste caso teríamos a porta 20 pertencendo a todas as VLAN e porta 24 a apenas 2 VLANs. Porque faríamos isso? Por exemplo a porta 24 se conecta a um segundo switch que só tem portas nas VLANs 1 e 50 (assim não precisa receber tráfego de broadcast da VLAN 55). Já a porta 20 vai para o Linux/Firewall/Roteador que interconecta todas.

Exemplo 3

VLAN 1: portas não taggeadas 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 21, 22, 23, 24, 20
VLAN 50: portas não taggeadas 11, 12, 13, 14, 15, 16, 17 e taggeadas 24, 20
VLAN 55: portas não taggeadas 18, 19 e taggeadas 20

Neste exemplo a VLAN 1 vai não taggeada para as portas 20 e 24, como se fosse a VLAN default (se não falar nada, é VLAN 1).

Saiba Mais:

Definição de VLAN no Wikipedia

Download de Autotreinamento Sobre VLANs

Atualizado 08-11-2009 em 20:58 por mlrodrig

Categorias
Não Categorizado

Comentários

  1. Avatar de lovenique
    Muito bom artigo amigo...
  2. Avatar de Valle
    Olá mlrodrig.
    Você saberia dizer se o quadro 802.1q é marcado com a VLAN ID de origem ou com a VLAN ID de destino, ou ambos?
    Obrigado!

+ Enviar Comentário



Visite: BR-Linux ·  VivaOLinux ·  Dicas-L