Top Ad unit 728 × 90

Dê uma olhada

random

Como os switches aprendem endereços MAC?

O switch é um dispositivo inteligente que opera na camada 2 do modelo OSI. Essa inteligência se refere sobretudo ao modo como ele encaminha os frames que chegam às suas portas. Para isso, ele precisa aprender endereços MAC. Vamos utilizar como base a seguinte topologia, formada por três computadores conectados a um switch:


Todos os computadores possuem um endereço MAC, que está representado de forma simplificada na figura. O switch possui uma tabela de endereços MAC [1] onde armazena todos os endereços MAC que estão na rede. Digamos que PC1 envie uma mensagem a PC2:


Uma vez que PC1 está enviando alguns dados a PC2, PC1 criará um frame Ethernet contendo um endereço MAC de origem (AAA) e um endereço MAC de destino (BBB). Eis o que o switch fará quando receber o frame de PC1:


O switch iniciou sua tabela de endereços MAC. Ele aprenderá apenas endereços MAC de origem. Por enquanto, ele aprendeu que o endereço MAC de PC1 está na interface Fa0/1, e adicionou essa aprendizagem em sua tabela de endereços MAC.

Como podemos ver, o switch não possui informações sobre onde o PC2 está localizado. Por isso, só resta uma opção ao switch: inundar (flood) todas as suas interfaces com o frame, exceto a interface por onde o frame foi recebido. PC2 e PC3 receberão o frame.


PC2 vê o seu endereço MAC listado como o destino do frame e, assim, sabe que a mensagem é para ele. PC3, por sua vez, simplesmente descartará o frame. PC2 enviará uma resposta a PC1, e para isso terá que construir um frame Ethernet e enviá-lo para o switch. Neste instante, o switch aprenderá o endereço MAC de PC2.

E esse é o fim da história. O switch agora conhece os dois endereços MAC, e da próxima vez que PC1 se comunicar com PC2, o encaminhamento dos frames poderá ser feito diretamente, sem a necessidade de inundar (fazer o flooding) do frame. PC3 nunca receberá os frames trocados entre PC1 e PC2, exceto o primeiro que foi inundado.

VERIFICAÇÃO

Vamos entender como isso funciona em um switch Cisco real. Usaremos a mesma topologia formada por um switch e três computadores:


A única diferença em relação à topologia anterior é que, agora, os endereos MAC estão listados em formato real.

Vamos verificar se todas as interfaces estão funcionando corretamente:

SW1#show interfaces status

Port      Name               Status       Vlan       Duplex  Speed Type
Fa0/1                        connected    1            auto   auto unknown
Fa0/2                        connected    1            auto   auto unknown
Fa0/3                        connected    1            auto   auto unknown

Todas as interfaces estão conectadas. Vamos checar a tabela de endereços MAC:

SW1#show mac address-table dynamic
          Mac Address Table
-------------------------------------------

Vlan    Mac Address       Type        Ports
----    -----------       --------    -----
   1    90e2.c325.1d01    DYNAMIC     Fa0/1
   1    90e2.c325.2e02    DYNAMIC     Fa0/2
   1    90e2.c325.3f03    DYNAMIC     Fa0/3
Total Mac Addresses for this criterion: 3

O comando show mac address-table dynamic lista todos os endereços MAC que o switch aprendeu dinamicamente. Podemos ver que ele aprendeu três endereços MAC.

Existem alguns parâmetros que podemos usar com este comando. Por exemplo:

SW1#show mac address-table dynamic address 90e2.c325.1d01
          Mac Address Table
-------------------------------------------

Vlan    Mac Address       Type        Ports
----    -----------       --------    -----
   1    90e2.c325.1d01    DYNAMIC     Fa0/1
Total Mac Addresses for this criterion: 1

Podemos ver acima o output para o endereço MAC de PC1.

Também podemos obter uma visão geral de todos os endereços MAC que foram aprendidos em uma única interface:

SW1#show mac address-table dynamic interface fa0/2
          Mac Address Table
-------------------------------------------

Vlan    Mac Address       Type        Ports
----    -----------       --------    -----
   1    90e2.c325.2e02    DYNAMIC     Fa0/2
Total Mac Addresses for this criterion: 1

O output acima nos diz que a interface FastEthernet0/2 aprendeu o endereço MAC de PC2.

Para visualizar o aging time, usamos o seguinte comando:

SW1#show mac address-table aging-time
Global Aging Time:  300
Vlan    Aging Time
----    ----------

Se o switch não precisar usar um endereço MAC listado na tabela num intervalo de 300 segundos (5 minutos), esse endereço será removido da tabela. 300 segundos é o valor padrão de aging time.

Para saber quantos endereços MAC são suportados na tabela do switch, usamos o seguinte comando:

SW1#show mac address-table count

Mac Entries for Vlan 1:
---------------------------
Dynamic Address Count  : 0
Static  Address Count  : 0
Total Mac Addresses    : 0

Total Mac Address Space Available: 212588024

Podemos constatar que a tabela MAC do switch em questão suporta mais de 212 milhões de endereços MAC.

E se quisermos remover manualmente uma linha da tabela de endereços MAC, podemos usar o comando clear mac address-table:

SW1#clear mac address-table dynamic ?
  address    address keyword
  interface  interface keyword
  vlan       vlan keyword
  <cr>

Podemos optar por remover um único endereço MAC, todos os endereços MAC em uma interface específica ou todos os endereços MAC que pertencem a uma VLAN. Se nenhum parâmetro for adicionado, o switch removerá todos os endereços MAC da tabela. Vamos fazer isso:

SW1#clear mac address-table dynamic

A tabela de endereços MAC agora está vazia:

SW1#show mac address-table dynamic
          Mac Address Table
-------------------------------------------

Vlan    Mac Address       Type        Ports
----    -----------       --------    -----

Vamos enviar um ping de PC1 para PC2 e verificar se o switch aprenderá os endereços MAC:

C:\Users\PC1>ping 192.168.0.2

Disparando 192.168.0.2 com 32 bytes de dados:
Resposta de 192.168.0.2: bytes=32 tempo<1ms TTL=64
Resposta de 192.168.0.2: bytes=32 tempo<1ms TTL=64
Resposta de 192.168.0.2: bytes=32 tempo<1ms TTL=64
Resposta de 192.168.0.2: bytes=32 tempo<1ms TTL=64

Estatísticas do Ping para 192.168.0.2:
    Pacotes: Enviados = 4, Recebidos = 4, Perdidos = 0 (0% de
             perda),
Aproximar um número redondo de vezes em milissegundos:
    Mínimo = 0ms, Máximo = 0ms, Média = 0ms

O ping foi bem sucedido.

Vamos verificar a tabela de endereços MAC:

SW1#show mac address-table dynamic
          Mac Address Table
-------------------------------------------

Vlan    Mac Address       Type        Ports
----    -----------       --------    -----
   1    90e2.c325.1d01    DYNAMIC     Fa0/1
   1    90e2.c325.2e02    DYNAMIC     Fa0/2
Total Mac Addresses for this criterion: 2

Agora temos listados os endereços MAC de PC1 e PC2.

Até aqui, tudo bem. Mas o que aconteceria se tivéssemos dois switches, como na topologia abaixo:


Vamos dar uma olhada no output dos dois switches, especialmente em suas interfaces GigabitEthernet0/1:

SW1#show mac address-table dynamic
          Mac Address Table
-------------------------------------------

Vlan    Mac Address       Type        Ports
----    -----------       --------    -----
   1    90e2.c325.1d01    DYNAMIC     Fa0/1
   1    90e2.c325.2e02    DYNAMIC     Fa0/2
   1    f12a.aa21.622d    DYNAMIC     Gi0/1
   1    90e2.c325.3f03    DYNAMIC     Gi0/1
   1    90e2.c325.4004    DYNAMIC     Gi0/1
Total Mac Addresses for this criterion: 5

Como podemos ver acima, SW1 aprendeu os endereços MAC de PC3 e PC4 na interface GigabitEthernet0/1. (f12a.aa21.622d corresponde ao endereço MAC da interface GigabitEthernet0/1 de SW2.) SW2 aprendeu os endereços de PC1 e PC2:

SW2#show mac address-table dynamic
          Mac Address Table
-------------------------------------------

Vlan    Mac Address       Type        Ports
----    -----------       --------    -----
   1    90e2.c325.3f03    DYNAMIC     Fa0/1
   1    90e2.c325.4004    DYNAMIC     Fa0/2
   1    f12a.bb32.733e    DYNAMIC     Gi0/1
   1    90e2.c325.1d01    DYNAMIC     Gi0/1
   1    90e2.c325.2e02    DYNAMIC     Gi0/1
Total Mac Addresses for this criterion: 5

(f12a.bb32.733e corresponde ao endereço MAC da interface GigabitEthernet0/1 de SW1.)

Este é apenas um exemplo rápido para explicar que um switch é capaz de aprender vários endereços MAC em uma única interface.

Hope this helps!

[1] Também chamada de tabela CAM, em referência à memória do switch em que é armazenada (Content Addressable Memory).

Como os switches aprendem endereços MAC? Reviewed by Carlos Wolkartt on dezembro 24, 2018 Rating: 5
Todos os direitos reservados a Wolkartt.com © 2019
Hospedado no Blogger.

Mande sua mensagem

Nome

E-mail *

Mensagem *

Tecnologia do Blogger.