Por que os roteadores não podem usar endereços MAC em vez de endereços IP privados / locais?

5

Eu entendo a razão pela qual os endereços IP públicos são necessários para que, se tivéssemos apenas MAC para mover dados entre um host e outro, toda a Internet seria uma rede massivamente plana. Mas qual é a necessidade de endereços IP privados? Por que os roteadores simplesmente não podem se conectar a clientes locais usando seu endereço MAC?

    
por Drazen Bjelovuk 12.01.2012 / 05:36

8 respostas

7

A resposta é que seus aplicativos de software e sistema operacional são projetados para comunicação usando TCP / IP , não diretamente com o endereçamento MAC Ethernet.

Portanto, independentemente de o computador / nó remoto com o qual você deseja se comunicar esteja em sua rede local ou em alguma outra rede do outro lado do mundo, esse link lógico é estabelecido com o TCP / IP. Dessa forma, os aplicativos definem o endereço IP de destino no pacote IP, preenchem-no com dados (que são realmente compactados em um segmento TCP / UDP) e o enviam sem ter que se preocupar como as camadas subjacentes lidam com a transmissão real .

É a pilha de rede do sistema operacional que determina se o endereço IP é local ou remoto:

  1. Se a rede local, procurar por endereço MAC correspondente a esse endereço IP e enviar o pacote IP direto, que está em um quadro Ethernet.
  2. Se for uma rede remota, procure o endereço MAC do roteador do gateway padrão para enviar o pacote IP, também dentro de um quadro Ethernet. O roteador recupera o pacote IP do quadro, analisa o endereço e determina o próximo nó (e seu endereço MAC) para transmiti-lo e envia essa direção em outro quadro Ethernet.

Nota: é totalmente possível que pacotes IP sejam entregues em outro protocolo de enlace de dados diferente de Ethernet (adivinhe, seu modem dial-up ou DSL não está conectado ao seu ISP via Ethernet cabo). E os aplicativos não devem se preocupar, desde que o endereço IP de destino esteja acessível. Também é totalmente possível envolver outros dados do protocolo de rede (que não seja um pacote IP) em um quadro Ethernet para transmissão.

    
por 12.01.2012 / 07:37
2

Por fim, todos os pacotes são entregues em um endereço MAC. Quando um pacote IP chega ao seu roteador e a tabela NAT mostra que ele é destinado ao seu endereço privado 192.168.1.10, o roteador fará uma pesquisa para ver qual é o endereço MAC de 192.168.1.10 e enviará o pacote para esse endereço. Endereço MAC.

No entanto, um endereço MAC é um endereço de camada 2 e, por definição, apenas permite a comunicação entre itens na rede local. Portanto, a questão de "por que endereços privados, em vez de endereços MAC", pressupõe que todas as redes não públicas são simples redes planas simples.

Quase não existem redes corporativas privadas que consistem em uma única LAN, e muitos ambientes domésticos possuem várias redes. Para fazer o roteamento entre essas redes, você precisa de um protocolo de camada 3, como IP.

Assim, uma forma diferente de formular sua pergunta seria "Por que os fabricantes de roteadores e os desenvolvedores de SO não criam uma rede local apenas de camada 2 nos casos específicos em que a camada 3 não é absolutamente necessária?". E a resposta a essa pergunta é que não valeria a pena criar uma solução de nicho para um cenário em que a solução geral existente já funcionasse perfeitamente. Não haveria nenhum benefício.

    
por 12.01.2012 / 05:58
1

Se o MAC fosse usado para roteamento, sua tabela de roteamento conteria rotas para cada nó na rede, porque os endereços MAC são diferentes para cada fabricante.

IP é como uma plataforma padrão para dispositivos de rede de diferentes fabricantes se comunicarem. E com o uso de IP, você pode resumir uma rota para vários dispositivos em uma rede, economizando largura de banda e recursos. O modelo OSI fornece mais informações sobre como as redes funcionam.

Sem esse padrão, acredito que a rede em si não seria desenvolvida como é hoje.

    
por 20.11.2013 / 12:06
0

Uma razão é porque os endereços MAC não são realmente "roteáveis". IP é, por isso é mais fácil manter IPs para endereços internos e externos. Além disso, você não acessa outros computadores com base apenas no endereço MAC, você usa IP. O roteador decide então se é destinado para interno ou externo

    
por 12.01.2012 / 05:48
0

A comunicação de rede é dividida em várias camadas. A figura aqui mostra o modelo OSI. Cada camada tem um propósito próprio. Da parte inferior do diagrama

i. Camada física: essa camada é o meio real que conecta os dispositivos, pode ser um cabo cat5, fibra ótica, etc.

ii) Camada de enlace de dados: essa camada cuida do endereçamento físico e da comutação de pacotes, soma de verificação, etc.

iii) Camada de Rede: Esta camada cuida do endereçamento lógico e roteamento de pacotes.

e assim por diante

Isso ajuda a separar várias funções da pilha de rede. para que as camadas não dependam de outras camadas.

Agora vamos à sua pergunta.

O endereço MAC está na camada de enlace de dados, cuja função é o endereçamento físico. A função de camadas de rede é fornecer um endereço lógico para um nó de comunicação. Portanto, quando você está se comunicando entre dois dispositivos, eles precisam ser endereçados pelo endereço de rede. Além disso, eles podem nem ter a mesma camada de enlace de dados, ou seja, um dos nós pode nem ter um endereço MAC.

    
por 12.01.2012 / 08:04
0

Observe também que os endereços MAC não são usados em todos os tipos de mídia de rede.

Por exemplo, os protocolos usados em conexões ponto-a-ponto, como T1 (PPP, HDLC), não.

    
por 22.03.2013 / 08:10
0

Para IoT, o uso de endereços IP geralmente é mais um problema do que uma ajuda. Primeiro, um segmento tem apenas 253 endereços IP disponíveis. Isso foi bom quando uma casa típica tinha 2 ou 3 computadores. Mas agora ele pode ter 50 ou 60 dispositivos, e quando você incluir telefones, tablets, laptops, caixas de mídia de streaming etc.

Quando a IoT recebe tração, e aqui quero dizer, para aplicações reais como alarmes, controle de temperatura, etc., não falando de geladeiras, você poderia facilmente ter várias centenas. Isso significaria pontes de segmento e um novo nível de complexidade para uma LAN doméstica.

Além disso, se os dispositivos de IoT puderem se comunicar por endereço MAC e nunca tiverem um endereço IP, eles serão invisíveis para o mundo externo, como foi apontado, o "I" em IP significa "Inter". Isso significa que eles não precisam de uma camada de segurança, autenticação, ARP / RARP, etc. Simplificando e tornando os dispositivos IoT mais acessíveis. É provável que algumas partes de uma infra-estrutura da IoT, como o painel de alarme de um sistema de segurança residencial, precisem obter um endereço IP para poder se comunicar com o mundo externo. Mas apenas esse componente seria sobrecarregado com o IP, segurança, dhcp, etc.

Então, talvez a resposta seja ter um "Nível 0" e um "Nível 1" de dispositivos IoT com nível 0 suportando apenas a comunicação por endereço MAC, e o Nível 1 sendo um dispositivo IP completo?

Também devemos nos afastar do endereço MAC de 48 bits para o endereço MAC de 64 bits e, talvez, expandi-lo para 12 ~ 18 bytes. Os 8 bytes mais baixos seriam o endereço MAC de 64 bits e os bytes superiores seriam um sistema decimal de Dewey da função e das capacidades do dispositivo. Isso permitiria que as redes fossem auto-organizadas, de forma que expandir, digamos, um sistema de alarme ou adicionar exibição de vídeo, seria transparente (hesita-se em dizer Plug'nPlay, devido ao trauma associado) ao usuário.

O maior impedimento para isso é que os switches usam endereços MAC, mas ficam realmente animados se o dispositivo não tiver um endereço IP. Mas esta é uma oportunidade para os fornecedores de rede nos venderem uma nova geração de switches que suportam dispositivos Nível 0,: -).

    
por 16.04.2015 / 19:14
0

Os roteadores resolvem o ip para o mac em cada etapa, porque precisamos de um endereço MAC, não importa o que enviar pacotes. Mas se começarmos a enviar dados usando o endereço mac do destino, teremos que pesquisar toda a rede. Endereços Ip localizam logicamente máquinas em uma rede. Imagine um cenário em que estamos em uma sub-rede 'B' e desejamos nos comunicar com uma máquina na sub-rede 'A'. Com o endereçamento lógico, um grupo de máquinas em uma sub-rede 'A' e 'B' tem endereços IP em seqüências. Isso pode não ser verdade com endereços mac, as máquinas em 'A' ou 'B' podem ter endereços mac variados sem relação entre eles. O Ip nos ajuda a decidir qual caminho seguir do host até o destino e nos diz onde o destino está.

Espero que isso ajude.

    
por 12.11.2016 / 16:50