Posts com a tag: Layer 2

Switching camada 2–Tabelas CAM e TCAM

Os switches são equipamentos inteligentes, e que possuem grande capacidade de encaminhamento de frames. Para isso duas tabelas são usadas: CAM e TCAM.

Quando os frames chegam em uma interface de um switch, eles são colocados na fila de entrada (ingress queue) desta porta. Depois, quando o switch decide por qual porta este frame deverá ser enviado, ele é colocado na fila de saída (egress queue), da porta escolhida.

Se o switch não conhecer o MAC address de destino, o frame é enviado para a fila de saída de todas as portas (menos aquela por onde o frame foi recebido), e então é feito o flooding.

As duas tabelas são usadas para escolher por onde o frame deverá ser enviado, se poderá ser enviado e como.

CAM – Content Addressable Memory: A tabela CAM, também chamada de MAC Address Table ou Layer 2 Fowarding Table, armazena os MAC address aprendidos pelo switch. O switch usa a informação do campo MAC Address Source dos frames que recebe, para preencher esta tabela.

CAM Table

Por padrão, um MAC aprendido dinamicamente fica na tabela CAM por 300 segundos após a uma atividade registrada. Este tempo é conhecido como aging timer, e podemos alterá-lo. Também é possível criar uma entrada estática.

Criando uma entrada estática na tabela CAM

BrainSW05(config)# mac address-table static 0012.1122.3355 vlan 10 interface fa0/5

Aumentando o Aging timer para 400 segundos, na VLAN 10

BrainSW05(config)# mac address-table aging-time 400 vlan 10

Apagando da Tabela CAM um MAC aprendido dinamicamente

BrainSW05(config)# clear mac address-table dynamic 0012.da8e.c496

A tabela CAM fica armazenada na memória RAM, o que torna sua consulta rápida.

É importante lembrar que a tabela CAM é finita, e se não houver espaço para cadastrar os novos MAC dos frames que o switch recebe, ele passará a fazer o floding sempre que chegar um frame destinado ao endereço MAC não gravado.

Use o comando show mac address-table count para ver quanto espaço ainda tem na Tabela CAM.

TCAM – Ternary Content Addressable Memory: A tabela TCAM é usada para armazenar access-lists baseadas em MAC Address e access-lists usadas na configuração de QoS. Em switches camada 3, access-lists baseadas em endereços IPs e portas também ficam na TCAM.

Assim como a CAM, a TCAM fica armazenada na memória RAM, porém ela é mais complexa, e um switch pode ter mais de uma TCAM (uma para o tráfego que entra, outra para o tráfego que sai, outra para QoS,…).

Ela conta com os campos Valor, Máscara e Resultado, não pode ser configurada, mas em alguns switches podemos especificar o tamanho que ela terá, otimizando-a para uma funcionalidade específica.

Mudando o tamanho / otimizando a TCAM

BrainSW05(config)#sdm prefer ?
  default                    Default bias
  dual-ipv4-and-ipv6  Support both IPv4 and IPv6
  lanbase-routing      Lanbase routing
  qos                        QoS bias

Até a próxima.

Identificando o caminho físico

O Traceroute é uma ferramenta que utiliza o ICMP para verificar o caminho layer 3 (lógico) até um determinado IP.  Além do caminho ele também permite diagnosticar possíveis problemas na rede, já que nos informação a latência até cada “salto” do caminho.

Muito útil, mas até aqui nenhuma novidade. Até o Windows possui essa ferramenta (Tracert).

Nos switches Cisco porém,  temos a opção de fazer um Traceroute Mac, e mapear o caminho físico (layer 2) entre dois hosts.

Por exemplo, se o Admin quiser saber o caminho físico entre o PC1 e PC2, basta saber o MAC ou IP dos dois PCs.

Traceroute Layer 2

Exemplo:

BrainGW01#traceroute mac 00c0.9f79.f41e  000d.9dd1.3918 detail
Source not directly connected, tracing source …..
Source 00c0.9f79.f41e found on BrainSW02[WS-C2950T-48-SI] (10.10.10.52)
1 BrainSW02 / WS-C2950T-48-SI / 10.10.10.52 :
Gi0/1 [full, 1000M] => Fa0/39 [full, 100M]
2 BrainSW06 / WS-C2950-24 / 10.10.10.56 :
Fa0/24 [full, 100M] => Fa0/2 [auto, auto]
Destination 000d.9dd1.3918 found on BrainSW06[WS-C2950-24] (10.10.10.56)
Layer 2 trace completed.
BrainGW01#

Como resultado temos a informação de que o MAC de origem (00c0.9f79.f41e) está no switch BrainSW02 porta G0/1 e o MAC de destino (000d.9dd1.3918) está na porta F0/2 do switch BrainSW06. Também podemos identificar as conexões entre os switches, neste exemplo a porta F0/39 do BrainSW02 está conectada a porta F0/24 do BrainSW06.

Outra opção é utilizar o comando traceroute mac ip 10.10.10.5 10.10.10.20 detail, e deixar que o switch encontre o MAC.

Restrições

Para o trace layer 2 funcionar é necessário atender algumas especificações:

  • O CDP deve estar habilitado em todos os switches;
  • Todos os switches devem estar alcançáveis a partir de onde a consulta esta sendo realizada (se der um ping todos os equipamentos devem responder;
  • O máximo de saltos no caminho deve ser 10;
  • Origem e destino devem pertencer a mesma VLAN;
  • Não é possível rastrear um endereço de multicast;
  • Se o MAC pertence a múltiplas VLANs, a VLAN deve ser especificada;
  • O traceroute layer 2 não consegue rastrear MACs através de hubs;
  • Esta funcionalidade não é suportada em redes Token Ring;

Até a próxima.

Tema Brainwork 0.2(beta)