Skip to content

Cisco CCNAv7 - A tabela MAC e o encaminhamento de quadros

O switch é o dispositivo central das redes locais. A grande diferença dele para o hub é que ele não repete tudo para todos: ele aprende onde cada dispositivo está e envia os quadros apenas para o destino certo. Neste post, você vai ver como isso funciona, passo a passo.

A tabela MAC (também chamada de tabela de endereços MAC, CAM table ou tabela de encaminhamento) é uma lista mantida pelo switch que associa:

endereço MAC ⇄ porta do switch

Ela é guardada na memória do switch e consultada a cada quadro recebido.

Endereço MACPorta
AAAA.AAAA.AAAAFa0/1
BBBB.BBBB.BBBBFa0/2
CCCC.CCCC.CCCCFa0/3

Para cada quadro que chega a uma porta, o switch faz duas coisas:

flowchart TB
  A["Quadro chega<br/>em uma porta"] --> B["Aprender<br/>MAC de origem + porta"] --> C{"MAC de destino<br/>está na tabela?"}
  C -->|"Sim"| D["Encaminhar<br/>só pela porta do destino"]
  C -->|"Não ou broadcast"| E["Inundar<br/>por todas as portas, menos a de entrada"]

Etapa 1: aprender (olhando o MAC de origem)

Section titled “Etapa 1: aprender (olhando o MAC de origem)”

O switch lê o MAC de origem do quadro e o associa à porta pela qual o quadro chegou.

SituaçãoO que o switch faz
MAC de origem ainda não está na tabelaAdiciona a entrada (MAC + porta)
MAC de origem já está na tabela, na mesma portaRenova o tempo da entrada
MAC de origem já está, mas em outra portaAtualiza a entrada (o dispositivo mudou de lugar)

Etapa 2: encaminhar (olhando o MAC de destino)

Section titled “Etapa 2: encaminhar (olhando o MAC de destino)”
Situação do MAC de destinoAçãoNome
Unicast conhecido (está na tabela)Envia o quadro somente pela porta do destinoEncaminhar (forward)
Unicast desconhecido (não está na tabela)Envia o quadro por todas as portas, exceto a de entradaInundar (flood)
Broadcast ou, em geral, multicastEnvia por todas as portas, exceto a de entradaInundar
Destino na mesma porta de onde o quadro veioDescarta o quadroFiltrar (filter)

Cenário: o switch S1 tem três PCs. A tabela está vazia.

flowchart TB
  S["Switch S1"] ---|"Fa0/1"| A["PC A<br/>MAC A"]
  S ---|"Fa0/2"| B["PC B<br/>MAC B"]
  S ---|"Fa0/3"| C["PC C<br/>MAC C"]
PassoQuadroAprendeDecisão
1A envia para BMAC A → Fa0/1B é desconhecido: inunda por Fa0/2 e Fa0/3
2B responde para AMAC B → Fa0/2A é conhecido: encaminha só por Fa0/1
3C envia para AMAC C → Fa0/3A é conhecido: encaminha só por Fa0/1
4A envia para C(A já conhecido)C é conhecido: encaminha só por Fa0/3

Tabela MAC ao final:

MACPorta
MAC AFa0/1
MAC BFa0/2
MAC CFa0/3

Depois do passo 2, a comunicação entre A e B passa a ser direta, sem incomodar o PC C.

As entradas dinâmicas não ficam para sempre. Se um dispositivo fica em silêncio, a entrada é removida depois de um tempo, chamado de tempo de envelhecimento (aging time). Nos switches Cisco, o padrão é 300 segundos (5 minutos).

EventoEfeito na tabela
O dispositivo envia um quadroA entrada é renovada
Passam 300 s sem quadrosA entrada é removida
O cabo é movido para outra portaA entrada é atualizada quando o dispositivo transmitir

Isso evita que a tabela cresça com dispositivos que já saíram da rede.

Switch#show mac address-table
Switch#show mac address-table dynamic
Switch#show mac address-table aging-time
Switch#clear mac address-table dynamic
ComandoPara que serve
show mac address-tableMostra toda a tabela
show mac address-table dynamicMostra só as entradas aprendidas
show mac address-table aging-timeMostra o tempo de envelhecimento (em equipamento real)
clear mac address-table dynamicApaga as entradas dinâmicas

A saída tem esta forma:

Mac Address Table
-------------------------------------------
Vlan Mac Address Type Ports
---- ----------- -------- -----
1 0001.4a2b.1c3d DYNAMIC Fa0/1
1 0002.5b3c.2d4e DYNAMIC Fa0/2
Total Mac Addresses for this criterion: 2
ColunaSignificado
VlanA VLAN em que o MAC foi aprendido (por padrão, a 1)
Mac AddressO endereço MAC aprendido
TypeDYNAMIC (aprendido) ou STATIC (configurado)
PortsA porta associada

Também é possível cadastrar uma entrada manualmente:

Switch(config)#mac address-table static 0001.4a2b.1c3d vlan 1 interface fastEthernet 0/1

Entradas estáticas não envelhecem. São usadas em casos específicos, como servidores críticos.

Mini laboratório: observando a tabela MAC

Section titled “Mini laboratório: observando a tabela MAC”

Objetivo: ver o switch aprendendo endereços MAC.

Topologia: 1 Switch 2960 e 3 PCs (PC0, PC1, PC2), ligados às portas Fa0/1, Fa0/2 e Fa0/3, com IPs 192.168.10.1, .2 e .3 (máscara 255.255.255.0).

Parte 1: tabela vazia

  1. No switch, apague a tabela e consulte:
Switch>enable
Switch#clear mac address-table dynamic
Switch#show mac address-table
  1. Anote quantas entradas dinâmicas existem.

Parte 2: primeiro ping

  1. No PC0, abra o Command Prompt e rode ping 192.168.10.2.
  2. Volte ao switch e rode show mac address-table.
  3. Anote quais MACs e portas apareceram.

Parte 3: veja a inundação (Simulation)

  1. Limpe a tabela de novo.
  2. Mude para o modo Simulation e envie um ping do PC0 para o PC1.
  3. Avance os eventos e observe o ARP (broadcast) chegando aos três PCs. Observe depois a resposta e o ICMP indo só ao destino.

Parte 4: terceiro PC

  1. Faça ping do PC2 para o PC0 e consulte a tabela.
  2. Compare com a Parte 2.

Parte 5: envelhecimento

  1. Anote os MACs da tabela e não gere tráfego por um tempo.
  2. Em um switch real, o tempo de envelhecimento aparece com:
Switch#show mac address-table aging-time
  1. No Packet Tracer, esse subcomando não existe. Pesquise o valor padrão (300 segundos) e compare com o que você viu na teoria.
PerguntaResposta
Quantas entradas dinâmicas havia no passo 1??
Quais MACs apareceram depois do primeiro ping??
Qual é o tempo de envelhecimento padrão??

Perguntas para fixar:

  • O que o switch usa para aprender: o MAC de origem ou o de destino?
  • O que o switch faz com um quadro para um MAC que não está na tabela?
  • Por que o MAC de broadcast nunca aparece na tabela?
Ver respostas

Tabela: 0 entradas dinâmicas; depois do primeiro ping, os MACs do PC0 e do PC1 nas portas Fa0/1 e Fa0/2 (e, se o ARP já tiver sido resolvido, só esses dois); aging time padrão de 300 segundos.

  • O MAC de origem.
  • Inunda: envia por todas as portas, menos a de entrada.
  • Porque o broadcast só aparece como destino, e o switch aprende apenas pelo MAC de origem.
  • O switch mantém uma tabela MAC (MAC ⇄ porta) construída automaticamente.
  • Aprende pelo MAC de origem e encaminha pelo MAC de destino.
  • Ações: encaminhar (destino conhecido), inundar (destino desconhecido, broadcast e multicast) e filtrar (destino na mesma porta).
  • Entradas dinâmicas envelhecem em 300 s por padrão.
  • Comandos úteis: show mac address-table, clear mac address-table dynamic e show mac address-table aging-time.