Estou lendo sobre TCP / IP e outros protocolos e tecnologias relacionados. Os endereços MAC são descritos como sendo (razoavelmente :) únicos e com um grande espaço de possibilidade (várias centenas de trilhões), além de serem atribuídos a todas as interfaces de rede. Quais são as razões históricas e técnicas pelas quais os endereços IPv4 ou IPv6 são usados em vez dos endereços MAC para comunicação entre redes?
Estou perdendo algo fundamental ou é apenas uma razão boba (por exemplo, construindo sobre tecnologia legada)?
networking
mac-address
ipv4
Félix Saparelli
fonte
fonte
Respostas:
O endereço MAC pode ser único, mas não há nada de especial no número que indicaria onde ele está. O MAC
00-00-00-00-00-00
pode estar do outro lado do planeta00-00-00-00-00-01
.IP é um esquema de numeração arbitrário imposto de maneira hierárquica a um grupo de computadores para distingui-los logicamente como um grupo (é isso que é uma sub-rede). O envio de mensagens entre esses grupos é feito por tabelas de roteamento, divididas em vários níveis, para que não tenhamos que acompanhar todas as sub-redes. Por exemplo,
17.x.x.x
está dentro da rede da Apple. A partir daí, a Apple saberá onde estão localizadas cada uma das milhares de sub-redes e como acessá-las (ninguém mais precisa saber essas informações, só precisa saber que 17. tudo o que interessa à Apple).Também é muito fácil relacionar isso com outro par de sistemas. Você tem um número de identificação emitido pelo estado, por que precisaria de um endereço para correspondência se esse número de identificação já é exclusivo apenas para você? Você precisa do endereço para correspondência, pois é um sistema arbitrário que descreve para onde deve ir o destino exclusivo das comunicações.
fonte
Porque as tabelas de roteamento se tornariam impossivelmente grandes.
Os endereços IP são alocados hierarquicamente, para que um roteador possa agrupar rotas por prefixos de endereço. O número de sistemas autônomos presentes na rede agora é razoável o suficiente para caber no hardware atual.
Por outro lado, a distribuição de endereços MAC na rede é aleatória e completamente não relacionada à topologia. O agrupamento de rotas seria impossível, todo roteador precisaria acompanhar as rotas de todos os dispositivos que transmitem tráfego através dele. É isso que os comutadores da camada 2 fazem, e que não ultrapassa um certo número de hosts.
fonte
O mundo não roda exclusivamente em Ethernet (pelo menos historicamente). A camada IP é independente da camada de hardware abaixo dela.
Nós PPP não têm endereços Mac. Nem arcnet, token ring, fddi, hppi. Esses outros padrões podem não ser tão relevantes hoje em dia, mas a Ethernet pode ser substituída por outras tecnologias no futuro e seria transparente para a camada IP.
Há uma discussão mais longa sobre como continuamos inventando novos protocolos de hardware e chamando-os de ethernet, mas discordo ...
fonte
Além do roteamento hierárquico do IP, separá-los dos endereços MAC permite alterar a placa de rede ou o computador inteiro, mantendo o mesmo endereço IP (e, portanto, a topologia lógica da rede).
Essa abstração permite uma rede muito mais flexível e sustentável.
fonte
Dê uma olhada no modelo OSI : http://en.wikipedia.org/wiki/OSI_model
Isso explica por que não faz sentido fazer roteamento, um conceito de camada 3, decisões baseadas em um mecanismo físico de camada 2.
A rede moderna é dividida em várias camadas diferentes para realizar sua comunicação completa. Sua placa de rede (que é endereçada pelo endereço mac [endereço físico]) precisa ser responsável apenas pela comunicação com os colegas da rede física.
A comunicação que você tem permissão para realizar com o seu endereço MAC será limitada a outros dispositivos que residem em contato físico com a sua máquina. Na internet, por exemplo, você não está conectado fisicamente a cada máquina. É por isso que usamos o mecanismo TCP / IP (uma camada 3, endereço lógico) quando precisamos nos comunicar com uma máquina à qual não estamos fisicamente conectados.
fonte
b0fh está certo - mas também porque os endereços MAC nem sempre são únicos.
Veja, por exemplo, em cenários de virtualização. Aqui, vários hosts podem servir máquinas virtuais com os mesmos endereços MAC.
fonte
As tabelas de roteamento para endereços MAC precisariam de quase todos os dispositivos com um endereço MAC listado. O roteamento para a Internet para IP é uma única entrada 0.0.0.0/0. Para as classes de rede, elas são divididas em 10.0.0.0/8 172.16.0.0/16 e 192.168.0.0/24. Muitos deles podem ser agregados como 172.16.0.0/12 e 192.168.0.0/16, reduzindo ainda mais o tamanho da tabela de roteamento.
As rotas são pesquisadas na ordem inversa para o número de um bit em sua máscara. Isso faz o roteamento para 192.168.100.0/24 funcionar quando há uma rota para 192.168.0.0/16 e outra para 0.0.0.0/0 (rota padrão).
EDIT: Originalmente, o intervalo de IP foi dividido em várias classes; A, B e C são os mais significativos. A classe A compôs a primeira metade do intervalo de endereços, a faixa B no próximo trimestre e a faixa C nos oito próximos do intervalo. Essas classes tinham máscaras de 8, 16 e 24 bits, respectivamente. Posteriormente, o uso estrito dessas máscaras foi descartado e a alocação de endereços foi feita em vários tamanhos.
O tamanho da alocação é sempre uma potência de 2 e o endereço mais alto e mais baixo em cada alocação é reservado. Cada alocação também terá um endereço para um roteador. Geralmente, esse é o endereço não reservado mais baixo ou mais alto. A menor alocação prática é um endereço / 30.
O IPv6 usa a mesma forma de alocação, com a / 64 a menor alocação que pode aparecer na Internet. Normalmente, o ISP recebe uma alocação muito maior, o que todos os roteadores da Internet precisariam conhecer. As alocações esperadas são especificadas nos RFCs. O ISP precisaria saber como rotear sua própria sub-rede e quais endereços encaminhar para quais roteadores de interconexão. Isso é significativamente mais simples do que saber rotear cada endereço MAC.
fonte
Eu acho que o ponto principal que eles estão tentando transmitir é que os endereços MAC são determinados pelos fornecedores, portanto, não existe um esquema de endereçamento coerente que possa ser adotado em uma sub-rede local devido à enorme variedade de fabricantes que fazem interfaces.
Os endereços MAC são usados quando o endereço de destino está na sub-rede local (192.168.0.x, por exemplo). Quando o tráfego não corresponde à sub-rede local, o computador se refere à tabela de roteamento. Geralmente, a tabela de roteamento informa qualquer tráfego que não corresponda à sub-rede local (0.0.0.0) para ir para o gateway local; nesse ponto, qualquer afiliação aos endereços MAC é totalmente removida. A única maneira de os endereços MAC serem usados globalmente seria ter uma sub-rede grande e plana, o que seria totalmente impraticável.
fonte
O endereço MAC pode ser o mesmo em diferentes adaptadores Ethernet na mesma máquina. O SUN tinha um endereço MAC uniqe para cada máquina. Portanto, as placas Ethernet para computadores SUN não tinham nenhum endereço MAC exclusivo, a máquina tinha.
Portanto, quando você conectou a máquina a duas redes diferentes, ela tinha o mesmo endereço MAC nas duas redes.
fonte
Os endereços MAC são os endereços da camada de link (2n) no modelo ISO / OSI e no modelo TCP / IP . Isso significa que os endereços MAC são usados para conectar nós dentro de uma rede local (ponto a ponto). Endereços IP são os endereços da camada de rede (3º) dentro da Internet (ponta a ponta).
Ambos os endereços são usados apenas em sua camada e não devem ser usados fora dela.
fonte
O endereço MAC de um endereço IP de destino é útil apenas para entrega de pacotes em um único domínio de broadcast local.
fonte
As pessoas aqui afirmaram que o problema de usar endereços MAC em vez de endereços IPv4 é o roteamento, porque as tabelas de roteamento aumentariam - no entanto, isso pressupõe roteadores IPv4. É possível ter pequenas tabelas de roteamento e, se você estiver interessado, procure o roteamento de espaço para nome simples. Um dos trabalhos que descrevem essa técnica é este: http://www.cs.uiuc.edu/~caesar/papers/rofl.pdf
fonte
Lembro-me de que os endereços MAC são realmente endereços Ethernet. Os endereços Ethernet são divididos em duas partes: uma parte do fornecedor - que identifica o vendedor da placa Ethernet e uma parte do endereço que é atribuída pelo fornecedor. Cabe ao fornecedor torná-los únicos - ou não.
Portanto, o espaço de endereço MAC de 48 bits não é usado com eficiência nem - como mencionado várias vezes acima - hierarquicamente.
O endereço foi projetado para ter endereços exclusivos em uma rede de rede CSMA local.
Pelo menos, o melhor que me lembro.
Os endereços IP são projetados para dimensionar muito mais geralmente e para resolver um problema diferente.
fonte