E então pessoal, para quem tem acompanhado meus post semanais, o último falou sobre o conceito de trabalho com compartilhamento e permissionamento no Sistema de Arquivos NTFS e espero ter sido claro com a simplicidade do exemplo.
Hoje vou abordar sobre problemas com endereçamento MAC duplicado.
No meio físico é possível, apesar de muito difícil, de se encontrar um endereço MAC duplicado na rede, por conta da quantidade de endereços disponíveis para cada fabricante, porém esta possibilidade começa a aumentar com as facilidades atribuídas à criação de máquinas virtuais com a clonagem.
Para falar um pouco mais tecnicamente, na verdade não seria o meio físico, pois com base na camada OSI, esta seria a camada 2 ou de Enlace de dados em que se encontra o nível de comunicação entre os adaptadores de rede, então, fora o fato de (pelo menos) dois computadores estarem ligados num mesmo meio físico (Camada 1), para a comunicação entre eles precisa elevar um pouco mais o nível, indo para a Camada de Enlace (Camada 2) em que cada adaptador de rede possui seu endereço físico único, o MAC, e também encontramos a atuação de switch, por mais básico que seja.
Para que um PC estabeleça uma comunicação através do protocolo TCP/IP a outro PC, ele precisa conhecer o endereço físico (Camada 2) antes, então o PC de origem “pergunta” pra rede através de Broadcast quem é o PC de destino, ou qual o endereço MAC cujo IP é o que ele procura. Com a resposta (se existir), a comunicação na camada 3 começa.
Há poucos dias me deparei com uma situação em um laboratório que não estava conseguindo entender o porquê de apenas uma VM, dentre umas 20, estar se comunicando com outra e o resto não. Suspeitamos do Switch que poderia ter a tabela de endereçamento físico configurada manualmente com os MACs das máquinas físicas por questão de segurança, mas este argumento foi quebrado pelo fato de ter uma VM funcionando então, como que por uma “maçã caindo sobre a cabeça” nos perguntamos se as VMs foram clonadas, e com a confirmação, fomos comparar o endereço MAC dos adaptadores entre as VMs e ali estava o nosso problema! Todas as VMs foram clonadas e por consequência (ou falha da aplicação de máquina virtual), os endereços também foram clonados.
Para a explicação do acontecido, montarei o seguinte ambiente:
Figura 1
Como pode ser observado, coloquei um MAC fictício de apenas 8 bits para ficar mais simples.
O PC01 e PC 02 possuem o mesmo endereço físico (MAC: 01).
Vamos simular a necessidade de envio de pacotes ICMP do PC03 para o PC01, e no meio do envio dos pacotes, também enviarei do PC02 para o PC03.
Antes de enviar o pacote ICMP nº 1, o PC03 não sabe quem é o PC01, então envia um Broadcast ARP para a rede “perguntando” quem detém o endereço MAC referente ao IP 192.168.0.1.
No momento que o Switch recebe o Broadcast ARP do PC03, armazena a referência da porta 03 ao MAC 03 em sua tabela e repassa a solicitação aos computadores por todas as portas menos a 03.
| Porta | Endereço físico |
| 03 | 03 |
Tabela Switch
O PC02 descartará o pacote por não ter o IP procurado, mas o PC01 irá responder ao ARP, enviando um pacote ao switch com o seu próprio endereço físico como origem e o endereço físico do PC03 como destino.
Ao receber o pacote do PC01 na porta 01, o switch armazena a referência ficando com a tabela como abaixo e repassa o pacote para a porta 03
| Porta | Endereço físico |
| 01 | 01 |
| 03 | 03 |
Tabela Switch
Com isto, o PC03 recebe o pacote do switch e começa a comunicação com o PC01.
Agora é que acontece o problema.
Imagine que o PC02 (que tem o mesmo MAC do PC01) precise enviar um pacote para o PC03.
No momento em que o PC02 enviar o Broadcast ARP para saber qual o endereço do PC03, o switch irá modificar a entrada porta 01 para porta 02 referente ao MAC 01, ficando assim:
| Porta | Endereço físico |
| 02 | 01 |
| 03 | 03 |
Tabela Switch
Então, com esta perda de referência do PC01, quando o PC03 tentar entrar em contato com o PC01 novamente, não irá conseguir porque o pacote será encaminhado para a porta 02 e em seguida descartado pelo PC02. Isto acontecerá até que o PC01 faça contato com PC03, pois neste momento a tabela será modificada novamente, mas o PC02 não será mais alcançável.
Quanto a comunicação entre o PC01 e PC02, nunca acontecerá por conta do descarte do pacote no switch, já que o MAC de origem será o mesmo de destino e na mesma porta.
Conclusão
Nesta publicação foi abordado um problema pontual e pouco frequente, mas acredito ter sido o suficiente para agregar conhecimento sobre a comunicação de equipamentos na Camada de Enlace de Dados (camada 2), mostrando como um switch funciona.
Existem Switches mais sofisticados que atuam até a camada 3 com a utilização de VLANs, que proporciona segmentação de domínios de Broadcast ARP e agregação de outras facilidades de segurança.
Abraços e até o próx. post!
Scridb filter





























