
Nas redes usuais, como cada host possui um endereço IP único reconhecido entre as estações da rede, por que ainda é necessário um endereço MAC?
Suponha que uma estação A queira enviar para a Estação B. A Estação A conhece o endereço IP da Estação B. Mas a Estação A ainda enviaria um ARP para solicitar o endereço MAC de B antes de enviar. E depois de ter o endereço MAC de B, A enviaria os dados com o endereço MAC de B como endereço de destino.
Por que B não pode simplesmente aceitar o pacote da mesma forma que ele responde ao ARP enviado por A? Dessa forma, a estação A não teria que enviar um ARP para solicitar o endereço MAC e isso também eliminaria a necessidade de ter um endereço MAC. Além disso, os endereços IP são únicos entre as estações da rede, por que é necessário outro endereço MAC para reconhecer as estações?
Responder1
Porque você precisa de um identificador exclusivo embutido na placa de rede para identificação da estação caso você não tenha um endereço IP. Ou como um sistema deve obter um endereço IP válido usando DHCP, quando não há identificação da estação que deseja obtê-lo?
E como o IP não é o único protocolo que você pode enviar pela Ethernet, a própria Ethernet precisa fornecer um identificador exclusivo para permitir diferentes protocolos.
Responder2
Em primeiro lugar, posso endossar a resposta de Dan; uma pesquisa adequada sobre o assunto é muito melhor do que fazer perguntas, cada uma das quais brilha apenas uma luz individual na escuridão. eu recomendariaTCP/IP ilustrado de Steven, que é a bíblia das redes; meu exemplar do Vol. 1 está praticamente quebrado na coluna devido ao uso excessivo. Mas já que você fez a pergunta e eu digitei metade da resposta quando Dan apareceu, deixe-me pressionar "Postar assim mesmo", com meu chapéu de Old Admins.
Em parte, é histórico. Os endereços MAC são da camada 2, enquanto os endereços IP são da camada 3 (veja, por exemplo,esta página da Wikipédiapara mais detalhes sobre as camadas).
Por que essa separação? Bem, quando a Ethernet foi inventada, o IP não era a única tecnologia de rede que poderia ser transportada em uma rede Ethernet. Eu mesmo, em meados dos anos 80, fiz uso extensivo do DECnet rodando em Ethernet, e ele não tinha endereços IP. Além disso, é perfeitamente possível executar IP em tecnologias de rede não Ethernet que não possuem endereços MAC; vêm à mente redes token-ring, assim como SLIP).
Se Ethernet e IP tivessem sido unidos como você sugere, nenhuma das coisas acima teria sido possível. Sim, está claro, em retrospectiva, que o IP foi a grande vitória na interligação de redes, mas isso não estava tão claro em 1981, e a dissociação das duas camadas era definitivamente a coisa certa naquela época.
Responder3
xENOn, Esta é uma pergunta que me fiz muitas vezes no passado. O fato é que é meio arbitrário, porque, como MadHatter gentilmente mencionou, existem tipos de redes IP que funcionam bem sem a necessidade de um endereço físico. Ou seja, não há necessidade teórica de um tipo de endereço extra. No entanto, o endereço MAC é útil quando os endereços IP são distribuídos automaticamente, por exemplo, por DHCP, porque o servidor DHCP precisa saber inequivocamente qual host recebeu qual IP ou que nenhum host recebe endereços IP adicionais não solicitados. Sem o endereço MAC, você precisaria definir manualmente os endereços IP para cada host, ou seja, não é muito prático quando você tem um grande número de hosts e é um pesadelo para os administradores de TI. Quando se trata de links locais Ethernet, você não tem muita escolha, pois o subsistema Ethernet reconhece apenas quadros Ethernet, ou seja, cada circuito de interface Ethernet filtra todos os quadros Ethernet que não possuem seu próprio endereço MAC ou um endereço MAC de broadcast/multicast como endereço de destino. Somente os quadros que sobrevivem a essa filtragem de front-end realmente entregam sua carga IP à camada IP. Espero que tenha ajudado um pouco a esclarecer o mistério.