Cisco CCNAv7 - A tabela MAC e o encaminhamento de quadros
Introdução
Section titled “Introdução”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.
O que é a tabela MAC?
Section titled “O que é a tabela MAC?”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 MAC | Porta |
|---|---|
AAAA.AAAA.AAAA | Fa0/1 |
BBBB.BBBB.BBBB | Fa0/2 |
CCCC.CCCC.CCCC | Fa0/3 |
As duas etapas: aprender e encaminhar
Section titled “As duas etapas: aprender e encaminhar”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ção | O que o switch faz |
|---|---|
| MAC de origem ainda não está na tabela | Adiciona a entrada (MAC + porta) |
| MAC de origem já está na tabela, na mesma porta | Renova o tempo da entrada |
| MAC de origem já está, mas em outra porta | Atualiza 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 destino | Ação | Nome |
|---|---|---|
| Unicast conhecido (está na tabela) | Envia o quadro somente pela porta do destino | Encaminhar (forward) |
| Unicast desconhecido (não está na tabela) | Envia o quadro por todas as portas, exceto a de entrada | Inundar (flood) |
| Broadcast ou, em geral, multicast | Envia por todas as portas, exceto a de entrada | Inundar |
| Destino na mesma porta de onde o quadro veio | Descarta o quadro | Filtrar (filter) |
Exemplo passo a passo
Section titled “Exemplo passo a passo”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"]
| Passo | Quadro | Aprende | Decisão |
|---|---|---|---|
| 1 | A envia para B | MAC A → Fa0/1 | B é desconhecido: inunda por Fa0/2 e Fa0/3 |
| 2 | B responde para A | MAC B → Fa0/2 | A é conhecido: encaminha só por Fa0/1 |
| 3 | C envia para A | MAC C → Fa0/3 | A é conhecido: encaminha só por Fa0/1 |
| 4 | A envia para C | (A já conhecido) | C é conhecido: encaminha só por Fa0/3 |
Tabela MAC ao final:
| MAC | Porta |
|---|---|
| MAC A | Fa0/1 |
| MAC B | Fa0/2 |
| MAC C | Fa0/3 |
Depois do passo 2, a comunicação entre A e B passa a ser direta, sem incomodar o PC C.
Envelhecimento das entradas
Section titled “Envelhecimento das entradas”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).
| Evento | Efeito na tabela |
|---|---|
| O dispositivo envia um quadro | A entrada é renovada |
| Passam 300 s sem quadros | A entrada é removida |
| O cabo é movido para outra porta | A entrada é atualizada quando o dispositivo transmitir |
Isso evita que a tabela cresça com dispositivos que já saíram da rede.
Comandos de verificação
Section titled “Comandos de verificação”Switch#show mac address-tableSwitch#show mac address-table dynamicSwitch#show mac address-table aging-timeSwitch#clear mac address-table dynamic| Comando | Para que serve |
|---|---|
show mac address-table | Mostra toda a tabela |
show mac address-table dynamic | Mostra só as entradas aprendidas |
show mac address-table aging-time | Mostra o tempo de envelhecimento (em equipamento real) |
clear mac address-table dynamic | Apaga 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/2Total Mac Addresses for this criterion: 2| Coluna | Significado |
|---|---|
| Vlan | A VLAN em que o MAC foi aprendido (por padrão, a 1) |
| Mac Address | O endereço MAC aprendido |
| Type | DYNAMIC (aprendido) ou STATIC (configurado) |
| Ports | A porta associada |
Entrada estática
Section titled “Entrada estática”Também é possível cadastrar uma entrada manualmente:
Switch(config)#mac address-table static 0001.4a2b.1c3d vlan 1 interface fastEthernet 0/1Entradas 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
- No switch, apague a tabela e consulte:
Switch>enableSwitch#clear mac address-table dynamicSwitch#show mac address-table- Anote quantas entradas dinâmicas existem.
Parte 2: primeiro ping
- No PC0, abra o Command Prompt e rode
ping 192.168.10.2. - Volte ao switch e rode
show mac address-table. - Anote quais MACs e portas apareceram.
Parte 3: veja a inundação (Simulation)
- Limpe a tabela de novo.
- Mude para o modo Simulation e envie um
pingdo PC0 para o PC1. - 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
- Faça
pingdo PC2 para o PC0 e consulte a tabela. - Compare com a Parte 2.
Parte 5: envelhecimento
- Anote os MACs da tabela e não gere tráfego por um tempo.
- Em um switch real, o tempo de envelhecimento aparece com:
Switch#show mac address-table aging-time- No Packet Tracer, esse subcomando não existe. Pesquise o valor padrão (300 segundos) e compare com o que você viu na teoria.
| Pergunta | Resposta |
|---|---|
| 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.
Resumo
Section titled “Resumo”- 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 dynamiceshow mac address-table aging-time.
