Por que os endereços Ethernet / MAC são necessários?

15

Não entendo porque os endereços MAC Ethernet são necessários. Todos os computadores não podem estar conectados à rede unificada e usar endereços IP para se comunicar?

Por exemplo, existe um mecanismo a seguir na Ethernet:

  1. O computador com IP 192.168.1.1 ( X.1 ) deseja enviar um pacote para 192.168.1.2 ( X.2 )
  2. X.1 usa o ARP para obter o MAC de X.2
  3. Para fazer isso, X.1 precisa enviar um pacote para todos os computadores na rede; apenas um responderá
  4. X.1 obtém um MAC e envia o pacote

Não seria mais simples fazer apenas um passo:

  1. X.1 envia um pacote para todos os computadores na rede; somente X.2 irá processá-lo, outros irão ignorá-lo

A pergunta complementar seria: Por que os endereços IP são necessários, se todos os dispositivos tiverem endereços MAC exclusivos?

    
por user2449761 24.10.2014 / 00:30

10 respostas

29

As diferentes camadas de rede estão lá para permitir que elas sejam trocadas por diferentes tecnologias.

As duas camadas sobre as quais você está falando são as camadas 2 e 3. A camada 2 neste cenário é Ethernet - a partir da qual os endereços MAC surgem, e a camada 3 é IP.

A Ethernet funciona apenas no nível local, entre dispositivos de rede conectados a um "datalink" de rede de difusão, enquanto o IP é um protocolo roteável e, portanto, pode ter como alvo dispositivos em redes remotas.

Os requisitos de cada um deles são diferentes. A Ethernet especifica uma família de tecnologias que permitem que os pacotes sejam enviados e recebidos entre dispositivos de rede, enquanto o IP define um protocolo que permite que pacotes de dados percorram várias redes.

Nenhum deles depende do outro, que é o que dá à rede sua flexibilidade. Por exemplo, você pode optar por se conectar ao seu serviço de Internet usando IP através de ethernet, mas em sua rede interna, você pode optar por usar IP over ... paper. Onde alguém escreve o conteúdo de cada pacote e o encaminha fisicamente para outra máquina e digita-o. Claramente, isso não seria particularmente rápido, mas ainda assim seria IP, desde que a pessoa carregasse os pedaços de papel respeitando as regras de roteamento IP.

No mundo real, existem diferentes protocolos de conexão de dados que você já está usando dois diferentes (embora seus esquemas de endereçamento sejam os mesmos): 802.3 - ethernet e 802.11 - wifi.

IP não se importa com a camada subjacente.

Da mesma forma, o IP pode ser trocado para diferentes protocolos de camada de rede (desde que isso ocorra para todos os participantes). Tal como o ATM .

Embora não haja nada que impeça diretamente a criação de um protocolo que englobe tanto a camada 2 quanto a camada 3, ela seria menos flexível e, portanto, menos atraente e, portanto, improvável de ser usada.

    
por 24.10.2014 / 00:49
8

Onde seria essa decisão de processar ou ignorar o pacote? Nenhuma resposta é realmente satisfatória:

1) No interruptor? Bem, isso significaria que os switches precisam entender cada protocolo que determina quais computadores estão interessados em quais pacotes. Isso não apenas aumentaria o custo dos switches e reduziria sua velocidade, mas tornaria muito mais difícil a alteração no protocolo IP.

2) No hardware da interface Ethernet? Bem, isso tornaria a rede muito mais lenta, já que todos os pacotes de dados precisam ir para todas as máquinas. Tecnologias como WiFi e redes de ponte com pontes mais lentas seriam impossíveis. Ter Ethernet rodando em diferentes velocidades interoperando seria impossível. Tecnologias como IPv6 ou IP multicast exigiriam alterações de hardware para serem implantadas em todas as estações finais de Ethernet.

3) Em software? Bem, isso tornaria os computadores muito mais lentos, já que eles precisam lidar com um número muito maior de interrupções na interface de rede. Todas as preocupações sobre pontes, VPN e Wi-Fi mencionadas acima também seriam questões.

Tudo isso tornaria a Ethernet inutilizável sem IP e significaria que mudanças na Ethernet seriam necessárias para fazer mudanças no IP. Yuck.

As separações de preocupações são boas.

    
por 24.10.2014 / 01:57
3

O endereço IP e os endereços MAC operam em diferentes camadas do conjunto de protocolos da Internet . Os endereços MAC são usados para identificar máquinas na mesma rede de transmissão na camada 2, enquanto os endereços IP são usados na camada 3 para identificar máquinas em diferentes redes.

Mesmo que o seu computador tenha um endereço IP, ele ainda precisa de um endereço MAC para encontrar outras máquinas na mesma rede, já que todas as camadas estão usando camadas subjacentes. Na página mencionada anteriormente, você pode encontrar alguns diagramas que explicam detalhadamente o conjunto de protocolos.

    
por 24.10.2014 / 00:47
2

O problema de congestionamento é enfrentado pela rede ethernet à medida que aumentam de tamanho. Este inturn pode sufocar a rede e introduzir atrasos. Esse é um dos fatores que trouxe o conceito de sub-rede. Mas, com sub-redes, precisamos de uma entidade adicional chamada roteador para permitir que o pacote viaje de uma máquina em uma sub-rede para uma máquina em outra sub-rede.

A distância percorrida pelo cabo ethernet é outra grande preocupação, pois pode limitar o sucesso das transmissões se ultrapassar determinado limite. Isso trouxe novas entidades adicionais na forma de hub / repetidor.

Observe que todos os mecanismos de comunicação não usam endereço MAC para comunicação. PPP & HDLC não usa endereço MAC para identificação.

Além disso, observe que algumas redes não usam ethernet. As redes Token Ring requerem uma camada de enlace de dados diferente.

Se você enviar um pacote da rede A para um dispositivo na rede B, endereçando o endereço MAC do dispositivo na rede B, ele será descartado na própria rede A. Observe que, mesmo que haja um roteador entre a rede A e a rede B, o roteador soltará o pacote conforme o roteador trabalha recebendo os pacotes endereçados ao seu endereço MAC, mas para endereços IP diferentes.

Dos cenários acima, é muito claro que, a internet não é uma rede plana devido a várias redes locais / privadas. Existem também várias entidades de rede entre source & destino.

Como a Internet não é uma rede plana, o endereço MAC não é usado para todos os tipos de comunicação e algumas redes exigem uma camada de enlace diferente da ethernet, precisamos de um endereço IP para rotear o nó desejado independentemente da localização do nó e isso é conseguido com a camada de rede.

Além disso, consulte uma discussão semelhante no link

    
por 24.10.2014 / 11:13
2

Como outros explicaram, você precisa dos protocolos da camada 2 para o controle de congestionamento em sua rede local. A camada 3 é usada para roteamento e endereçamento entre redes.

Dito isso, uma pergunta válida poderia ser: Por que as duas camadas não podem usar o mesmo esquema de endereçamento?

Primeira resposta: Como outros já mencionaram, isso permite alternar tecnologias L2 e / ou L3 e tudo ainda funciona.

Segunda resposta: Mesmo que todos concordassem em ter os protocolos da Camada 2 usando endereços IP, você ainda teria que usar dois endereços IP, um para a Camada 2 e outro para a Camada 3. Por quê? NATting Se o seu computador tiver um endereço IP público, os endereços L2 e L3 poderão ser os mesmos. No entanto, se você usar o NAT, seus endereços L2 e L3 serão diferentes.

Último comentário: Quando você diz que todos recebem a mensagem e os não-destinatários os ignoram, você está falando sobre WiFi. A Ethernet com fio não funciona mais assim. Costumava ser assim quando usamos cabos coaxiais e, mais tarde, quando usamos hubs. Os switches só enviam as mensagens / pacotes para a porta apropriada (a menos que você faça um ataque e sature suas tabelas).

    
por 24.10.2014 / 18:29
0

Os endereços MAC e os endereços IP operam em diferentes camadas de rede para diferentes fins. Livrar-se de uma das camadas pode causar problemas, criar confusão ou impedir que as coisas funcionem.

Digamos que eu tenha algum hardware antigo (digamos, um torno CNC de um milhão de dólares) que só fala IPX . Na sua rede somente IP, como alguém poderia falar com ela? Ou digamos que estou conectando um computador não configurado a uma nova rede. Na ausência de endereços MAC, como o servidor DHCP pode informar ao meu computador qual endereço IP usar?

Digamos que eu tenha um servidor com quatro conexões gigabit para um switch de backbone, agregado em uma única conexão virtual . Na sua rede somente MAC, qual é o endereço do meu servidor? Ou digamos que eu tenho um computador conectado via modem PPPoA e não tenho um endereço MAC. Como alguém pode se conectar a ele?

    
por 24.10.2014 / 23:31
0

Hmmm Eu acho que isso poderia ter sido feito para funcionar (eu realmente / fiz / entregue a atribuição de endereços MAC); no entanto, se isso tivesse sido feito, você precisaria comprar um novo hardware para o IPv6 e provavelmente não haveria sobreposição. Então, ao todo eu não gosto das conseqüências.

    
por 25.10.2014 / 01:41
0

O I em IP significa Protocolo

.

O que significa que um IP deve ser único entre todas as redes do mundo.

Os endereços IP devem ser literalmente globais. Se você enviar tráfego para 9.9.9.9, ele deve chegar aonde quer que 9.9.9.9 não seja onde o mundo 9.9.9.9 esteja fisicamente ou qual rede 9.9.9.9 esteja fisicamente.

(Isso é um pouco quebrado por causa do NAT. Quando o TCP / IP foi inventado, o NAT não fazia parte do plano original, e é um "hack" até que o IPv6 se torne mais comum onde não é necessário. existe para entender essa resposta.)

Um endereço MAC deve ser exclusivo apenas na rede local em que o host reside. Ele não foi projetado para permitir a comunicação entre qualquer coisa que não esteja na mesma rede local. Portanto, há uma limitação física assumida com endereços MAC, mas nenhuma limitação com endereços IP.

O TCP / IP baseia-se na noção de que:

  • existem redes locais onde os sistemas podem se comunicar diretamente sem um roteador envolvido
  • às vezes os computadores em uma rede querem falar com os computadores em outra e precisam de um roteador para fazer isso.

Se existisse outro mecanismo fundamental onde os dois conceitos acima não se aplicam, IP e MAC não seriam necessários como estão atualmente.

Se você está projetando um protocolo ou algo que absolutamente nunca precisa falar com máquinas fora da mesma rede local, então é uma boa idéia ficar com os endereços MAC. Acho que o protocolo ATA over Ethernet é assim, pois foi projetado para permitir o compartilhamento de unidades ATA na mesma rede e não através da Internet para fins de segurança.

    
por 25.06.2016 / 22:10
-2

Você está ficando preso pensando apenas em uma única camada OSI. O IP só funciona porque a Ethernet (e outras) existe, da mesma forma que a Ethernet existe apenas porque existem fios físicos para transportar o tráfego. Não é "IP > ou MAC" - o roteamento do tráfego requer que os endereços MAC funcionem: a tecnologia IP (bem como outras tecnologias relacionadas e não relacionadas) está no topo naquela. Você não pode simplesmente trocar um pelo outro.

    
por 25.10.2014 / 21:02
-6

IPs dinâmicos meu amigo! Em seu ambiente local (sua casa, sua faculdade, seu local de trabalho), você tem uma configuração de rede. Não está conectado diretamente à Internet (com um 'eu' maiúsculo), mas através de um roteador. Esse roteador obtém um IP dinâmico (na maioria dos casos, a menos que você tenha um IP estático) de seu ISP e atribui endereços dinâmicos (mesmos, mas acima) a todos os computadores conectados. Por que isso é feito assim? Em uma linha, para fornecer serviço para mais usuários que IPs que você possui. A coisa é, você precisa ser capaz de identificar o seu MacBook Pro (: D) entre todos os outros computadores, então você precisa de um endereço único, não um dinâmico / compartilhado. Esse é o seu mac. E é por isso que você precisa disso.

Você pode ler mais aqui

    
por 24.10.2014 / 09:26