Destaques

Entenda de uma vez por todas o que é o endereço MAC

Postado por Danilo Augusto na categoria Redes e Internet no dia 18-09-2010

16

alt

Como a grande maioria das pessoas que leem este blog deve saber, o endereço que identifica as máquinas na maioria das redes de computadores de todo o mundo é o IP. O que algumas pessoas não sabem é que além do IP há um endereço chamado MAC que é responsável por identificar interfaces de rede Ethernet, como placas de rede (com e sem fio), switches, roteadores e de uma infinidade de equipamentos que utilizam a tecnologia Ethernet.

Quase todo mundo acha que numa rede local o único tipo de endereço existente é o IP. Há ainda os que sabem da existência do endereço MAC mas que não sabem da sua utilidade. Por fim, há os que sabem da existência do MAC mas acham que a sua única utilidade é identificar placas de rede. Resumindo, os que sabem e os que não sabem nada sobre o MAC, todos eles acham que o IP é soberano nas redes de computadores.

Pois bem, contrariando o pensamento da maioria, afirmo que o MAC Address supera o endereço IP nas redes locais no quesito importância. Ok, ok, sei que o que estou dizendo contraria tudo que os seus pais lhe ensinaram na infância, mas esta é a verdade. Comecemos este história entendendo como é formado o endereço MAC de nossas placas de rede.

Entendendo o endereço

Ao contrário do IP, o endereço MAC é único no mundo inteiro para cada interface de rede, ou seja, em nenhum lugar do mundo deverão existir interfaces de rede com MACs iguais.

O MAC Address é composto por 48 bits representados em algarismos hexadecimais que vão de 0 a F. 24 desses 48 bits representam um código que o IEEE (Instituto de Engenheiros Eletricistas e Eletrônicos) entrega a cada fabricante de placa de rede. A 3Com, por exemplo, é dona do OUI 00-01-02, ou seja, podemos descobrir se a placa de rede é da 3Com apenas olhando os 6 primeiros dígitos do MAC Address. Observe o endereço abaixo:

00-1A-4D-78-42-27

O OUI está destacado na cor azul.

Copie a parte azul do endereço acima e procure saber quem é o fabricante desta placa no site do IEEE. No final do post veremos se você acertou.

Se você usa Windows e quer saber qual seu MAC percorra o seguinte caminho: Iniciar > Executar > digite cmd > digite ipconfig /all. No retorno do comando ipconfig /all procure por endereço físico, ele é o endereço MAC.

A segunda parte do endereço é composta pelos 24 bits restantes e é definida pelo fabricante de acordo com os seus critérios. Normalmente uma numeração serial (em série) é adotada.

E onde está gravado este endereço?

O endereço MAC é definido pelo fabricante no processo de fabricação e fica armazenado fisicamente num chip de memória ROM, daí vem o jargão técnico “endereço físico”, já que o endereço MAC não é atribuído via software e sim via gravação em ROM.

Teoricamente este endereço não pode ser modificado, entretanto, através de ferramentas do próprio driver da placa de rede(Windows) e do próprio sistema operacional (Linux) podemos fazer a modificação momentânea a nível de aplicação no MAC da placa de rede. Nunca uma modificação definitiva na ROM.

E aí, pra que serve o MAC?

Imaginemos um cenário onde existem 5 estações, um switch e 1 servidor. Ignorem o roteador e a nuvem.alt

Temos 5 estações e cada estação possui apenas uma placa de rede. Quantos endereços MACs diferentes eu tenho nesta LAN? Temos 5 endereços. Se cada estação tivesse 2 placas de rede teríamos ao todo 10 endereços, entendeu?

Pois bem, quando ocorre uma comunicação na mesma rede o MAC supera o IP em importância pois é através dele que ocorre toda a comunicação a nível de LAN Ethernet. Analisemos este estudo de caso.

Estamos usando a “estação 01” do cenário acima e queremos um arquivo que está no servidor. Considere os dados do servidor e da estação 01:

Estação 01:

Endereço IP: 192.168.0.200

Endereço MAC: 00-1F-1A-5B-01-82

Servidor:

Endereço IP: 192.168.0.1

Endereço MAC: 00-1F-1A-41-00-C2

Nas comunicações que ocorrem em redes locais Ethernet o endereço IP não é diretamente usado na comunicação, ele serve apenas para se descobrir o MAC Address, que é de fato o endereço que importa nas comunicações locais. Essa descoberta é feita através de um protocolo de rede chamado Address Resolution Protocol (ARP).

Quer testar o ARP? Vá até o prompt de comando e dê um ping em qualquer computador ou roteador da sua casa. Depois de ter dado o ping, ainda no prompt, digite “arp –a” e veja a a tabela que relaciona IPs com MACs. Esta tabela é construída pelo ARP automaticamente.

Entendido como funciona o ARP vejamos como ocorre a comunicação entre a estação 01 e o servidor.

1º Passo: O usuário da estação 01 vai no menu iniciar, executar e digita: \192.168.0.1 que é o IP do servidor. Este comando serve para visualizar o conteúdo compartilhado no servidor.

Assim que é dado o comando, o protocolo ARP da estação 01 envia um pacote para todos os computadores da rede perguntando quem é o dono do IP 192.168.0.1.

Neste pacote enviado pela estação 01 existirão o IP de origem do pacote (que é o ip da estação) e o IP de destino (que é o do servidor). Haverá também um MAC de origem e um MAC de destino que é representado por FF-FF-FF-FF-FF-FF. Esta sequência de FF indica que o pacote foi enviado para todos os computadores da rede.

Quem for o dono do IP 192.168.0.1 deverá enviar uma resposta para a estação 01 dizendo qual o seu endereço MAC. Como o servidor é o dono deste IP, ele enviará seu MAC para a estação 01. No pacote de resposta enviado do servidor para a estação já não haverá mais IP de origem e destino, pois o MAC de destino (da estação 01) já é conhecido já que ele veio na requisição ARP enviada pela estação 01 a todos os computadores, lembra? Então o servidor enviará um pacote diretamente para estação 01. Agora tanto o servidor quanto a estação já conhecem seus respectivos endereços MACs. Da que estes dois computadores precisarem se comunicar eles já saberão a qual MAC direcionar seus pacotes.

Enquanto ocorreu toda essa negociação através do ARP, o switch já montou sua tabela indicando em que portas estão conectados aqueles MACs. Para ter uma explicação básica de como o switch funciona, leia este post. Em breve faremos um post mais elaborado sobre o assunto.

Agora sim, depois de descobrir o MAC do servidor, a estação 01 fato vai poder acessar o compartilhamento. A diferença agora é que ele não precisará mais sair em busca de MACs pois ele já sabe, através do ARP, para qual MAC deve ser enviada a requisição.

Com um post deste tamanho podemos concluir que:

  • O endereço MAC é o endereço mais importante na comunicação local;
  • O MAC Address é um endereço verdadeiramente exclusivo;
  • Podemos descobrir o fabricante de uma placa de rede através do seu MAC;
  • O ARP é um protocolo que tem uma função parecida com o DNS;

Espero que este post tenha sido esclarecedor para vocês que o leram. E se você foi até o site do IEEE pra descobrir o fabricante daquela placa de rede, a resposta é Gigabyte.

Ah! Se você não nos segue perdeu a “gincana” que fizemos sobre esse assunto no nosso twitter. Lançamos a seguinte pergunta no nosso twitter:

“Alguém sabe me definir o que é um endereço MAC?”

As respostas foram as mais variadas possíveis, entretanto, ninguém conseguiu definir precisamente o que era o MAC Address em 140 caracteres. Depois de construirmos a idéia do que poderia ser endereço MAC, lançamos mais uma pergunta:

Agora me respondam… Quem é mais importante numa rede local? O MAC ou o IP?

Sem meio termo, 5 marmanjos apostaram que o IP era disparado o protocolo de endereçamento mais importante das redes locais. Do outro lado, estava @ClaudiaMariiana, sozinha, cabisbaixa, mas firme na sua opinião de que o MAC teria mais importância que o IP.

Poizé, a Claudia faturou nossa gincana e deixou pra trás os marmanjos que apostaram no IP. Não temos prêmio para dar, mas temos o nosso Follow Her pra ela :D

Parabenizamos também os nossos followers que responderam as perguntas e participaram desta minigincana. Foram eles:

@_Y_URI @JosephAraujo @Peedro_Munhoz @DougGreg @MaurodeFreitas

Obrigado também a @jaquepeque que com a sua frase “eu não vou dar minha opinião, vou só esperar para ver os resultados” ficou comendo pelas beiradas :P

E você que ainda não segue, siga-nos!

Comentários (16)

Daqui a alguns anos quem vai chegar ao fim são os endereços MAC. Temos 3 pares de números hexadecimais, que cada um representa 256 combinações possíveis. Como são 3 pares, então temos 256^3 = 167.772.216 fabricantes.
De forma análoga, também temos 167.772.216 para cada fabricante, logo temos um total de singelas 2.814.750.706.630.656 MACs.

Pensando bem, isso não vai acabar tão cedo…

Se você considerar que o número de dispositivos mobiles cresce de forma assustadora, pensando bem, talvez não esteja tão longe… exceto para número de fabricantes rsrs

Outra coisa, quem usa Windows pode utilizar o comando “getmac” para obter a lista de MAC’s da máquina.

WTF?
Perfeito!
Boa explicação, mas a pergunta ficou um pouco ambígua na gincana heheh
Nós sabemos a importancia do MAC na rede, mas o usúario não neh heheh
Vo aproveitar o post e indicar um ótimo Guia de Consulta Rápida que pode te acompanhar e cabe numa caixa de ferramentas, TCP/IP da Novatec. Um livro com todas informações que precisamos ao deparar com uma rede e bater aquele branco e/ou dúvida em o que fazer.
Link: http://www.novatec.com.br/guias/tcpip/
Eu não fico sem o meu porque por mais que entenda sobre redes vai se deparar sempre com uma situação inusitada em que precisará de um guia como esse heheh
Achei interessante você ter citado sobre as tabelas após o reconhecimento do MAC, acho que não tem ainda mas seria interessante, à partir desse assunto de endereço MAC, um post sobre roteadores, tabelas de roteamento, endereçamento e cia, não? rs
Vlw!
Valeu mesmo pela indicação do Guia TCP/IP, vou procurar ele nas livrarias daqui pra dar uma olhada.

Quanto à sua sugestão de post, tenho medo de assustar os leitores mais leigos do blog abordando este tipo de assunto.

Conto com a sua ajuda pra dar um foco diferente a essas questões de infra.

Abração!

Quando contruimos o conceito de endereço MAC, eu citei que achava que tinha algo haver com o modelo OSI, e você disse que tinha algo haver. Qual a relação?
Muiito boom o post, ADOREI *-*
MAC é o endereço físico utilizado pelo MAC (Media Access Control – controle de acesso ao meio) da camada de Enlace do Modelo OSI – camada 2.
Não preciso de dizer mais nada, não é?
Descobri o que era quando fui usar internet via rádio, maldito MAC, tinha que mandar o número para lá e depois de até 24 horas liberavam o acesso para ele, mas a placa estava ruim, dai tive que trocar a placa, testar com a placa de um cara, mas ele não poderia esperar tanto, enfim, só confusão por culpa do MAC.

É importantissimo para a provedora do serviço porque assim ela saberia me identificar e saberia se estou ou não conectado, quando baixei no mês, o que baixei…, mas irrita, principalmente quem tem que aprender em alguns minutos algo sobre isso.

Mas valeu pelo post, bem explicativos, não sabia da identificação do fabricante pelo número.

Grande Jomarumu, muitos provedores de internet à rádio e a cabo fazem isto. É comum.
Poisé, perdi a gincana =\
Alegria de pobre dura pouco =\

Parabens pelo post, ficou otimo…

[...] This post was mentioned on Twitter by Sandro Markley, Jaque, I/O Tecnologia, Micael Martins, I/O Tecnologia and others. I/O Tecnologia said: Entenda de uma vez por todas o que é o endereço MAC: Como a grande maioria das pessoas que leem este blog deve sa… http://bit.ly/cn9g6s [...]
Pra quem usa um rotiador e divide a internet com vizinhos. Em uma função do rotiador, vc pode analizar os endereços mac’s que estão logados nessa rede e bloquear o acesso de um determinado mac, bloquear justamente daquele vizinho que não gosta de pagar em dia a mensalidade da internet! RSRS…
por isso que não consegui comfigurar uma rede pelo bluetooth do celular ao inves do ip apareceu o endereço mac agora sei resolver o problema valeu a dica
[...] Entenda de uma vez por todas o que é o endereço MAC. [...]
Para ativar o serviço de localização do wifi tenho que usar o indereço MAC do PC Ou do roteador?

Deixe um comentário