Não entendo por que os endereços MAC Ethernet são necessários. Todos os computadores não podem simplesmente estar conectados à rede unificada e usar endereços IP para se comunicar?
Por exemplo, existe um mecanismo a seguir na Ethernet:
- Computador com IP
192.168.1.1
(X.1
) deseja enviar um pacote para192.168.1.2
(X.2
) X.1
usa ARP para obter o MAC deX.2
- Para fazer isso,
X.1
precisa enviar um pacote para todos os computadores na rede; apenas um responderá X.1
obtém um MAC e envia o pacote
Não seria mais simples executar apenas uma etapa:
X.1
envia um pacote para todos os computadores na rede; somenteX.2
o processará, outros o ignorarão
A pergunta complementar seria: Por que os endereços IP são necessários, se todos os dispositivos têm endereços MAC exclusivos?
networking
ethernet
ip-address
mac-address
user2449761
fonte
fonte
Respostas:
As diferentes camadas de rede existem para permitir que sejam trocadas por diferentes tecnologias.
As duas camadas de que você está falando aqui são as camadas 2 e 3. A camada 2 neste cenário é a Ethernet - da qual os endereços MAC surgem e a camada 3 é o IP.
A Ethernet funciona apenas no nível local, entre dispositivos de rede conectados a uma rede de transmissão "datalink", enquanto o IP é um protocolo roteável e, portanto, pode direcionar dispositivos em redes remotas.
Os requisitos de cada um deles são diferentes. A Ethernet especifica uma família de tecnologias que permitem o envio e o recebimento de pacotes entre dispositivos de rede, enquanto o IP define um protocolo que permite que pacotes de dados atravessem várias redes.
Nenhum deles depende do outro, e é isso que confere flexibilidade à rede. Por exemplo, você pode optar por se conectar ao seu serviço de Internet usando IP via Ethernet, mas na sua rede interna, você pode optar por usar IP sobre ... papel. Onde alguém anota o conteúdo de cada pacote e o encaminha fisicamente para outra máquina e digita. Claramente, isso não seria particularmente rápido, mas ainda assim seria o 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á usa dois diferentes (embora seus esquemas de endereçamento sejam os mesmos): 802.3 - Ethernet e 802.11 - Wi-Fi.
O IP não se importa com o que é a camada subjacente.
Da mesma forma, o IP pode ser trocado por diferentes protocolos da camada de rede (desde que isso aconteça para todos os participantes). Como ATM .
Embora não exista nada impedindo diretamente a criação de um protocolo que englobe a camada 2 e a camada 3, ele seria menos flexível e, portanto, menos atraente e improvável de ser usado.
fonte
Onde seria tomada a decisão de processar ou ignorar o pacote? Nenhuma resposta é realmente satisfatória:
1) No interruptor? Bem, isso significa que os switches precisam entender todos os protocolos que determinam quais computadores estão interessados em quais pacotes. Isso não apenas aumentaria o custo dos comutadores e reduziria sua velocidade, mas dificultaria muito as alterações no protocolo IP.
2) No hardware da interface Ethernet? Bem, isso tornaria a rede muito mais lenta, pois todos os pacotes de dados precisam ir para todas as máquinas. Tecnologias como WiFi e redes de pontes com pontes mais lentas seriam impossíveis. Ter a Ethernet funcionando em diferentes velocidades interoperando seria impossível. Tecnologias como IPv6 ou IP multicast exigiriam alterações de hardware para implantar em todas as estações finais Ethernet.
3) Em software? Bem, isso tornaria os computadores muito mais lentos, pois eles precisam lidar com um número muito maior de interrupções na interface de rede. Todas as preocupações de ponte, VPN e Wifi mencionadas acima também seriam problemas.
Tudo isso tornaria a Ethernet inutilizável sem IP e significaria que mudanças na Ethernet seriam necessárias para fazer alterações no IP. Que nojo.
Separações de preocupações são boas.
fonte
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 broadcast na camada 2, enquanto os endereços IP são usados na camada 3 para identificar máquinas em diferentes redes.
Mesmo se o seu computador tiver um endereço IP, ele ainda precisará de um endereço MAC para encontrar outras máquinas na mesma rede, pois cada camada está usando camadas subjacentes. Na página mencionada anteriormente, você encontra alguns diagramas interessantes que explicam o conjunto de protocolos em detalhes.
fonte
O problema de congestionamento é enfrentado pela rede Ethernet à medida que aumentam de tamanho. Esse retorno pode bloquear a rede e causar atraso. Este é um dos fatores que trouxeram o conceito de sub-rede. Mas, com sub-redes, precisamos de uma entidade adicional chamada roteador para permitir que pacotes viajem 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 na forma de hub / repetidor.
Observe que todos os mecanismos de comunicação não usam o endereço MAC para comunicação. O PPP e o HDLC não usam o endereço MAC para identificação.
Além disso, observe que algumas redes não usam ethernet. As redes de token ring exigem uma camada de vínculo de dados diferente.
Se você enviar um pacote da rede A para um dispositivo na rede B endereçando através do endereço mac do dispositivo na rede B, ele será descartado na própria rede A. Observe que, mesmo que exista um roteador entre a rede A e a rede B, o roteador descartará o pacote enquanto o roteador trabalha recebendo pacotes endereçados ao seu endereço mac, mas para endereços IP diferentes.
A partir 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 origem e 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 camada de enlace de dados diferente da Ethernet, precisamos do endereço IP para rotear para o nó desejado, independentemente da localização do nó. é alcançado com a camada de rede.
Consulte também uma discussão semelhante em /programming/26290069/arp-vs-ip-why-do-we-need-both
fonte
Como outros explicaram, você precisa de protocolos da camada 2 para controle de congestionamento na sua rede local. A camada 3 é usada para roteamento e endereçamento entre redes.
Dito isto, uma pergunta válida poderia ser: Por que as duas camadas não podem usar o mesmo esquema de endereçamento?
Primeira resposta: Como já mencionado, isso permite alternar as tecnologias L2 e / ou L3 e tudo ainda funciona.
Segunda resposta: Mesmo que todos concordassem em que os protocolos da camada 2 usassem endereços IP, você ainda precisaria usar dois endereços IP, um para a camada 2 e outro para a camada 3. Por que? NATting. Se o seu computador tiver um endereço IP público, os endereços L2 e L3 podem ser os mesmos. No entanto, se você usar o NATting, seus endereços L2 e L3 seriam diferentes.
Último comentário: quando você diz que todo mundo recebe a mensagem e os não-destinatários a ignoram, você está falando de 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 enviam apenas as mensagens / pacotes para a porta apropriada (a menos que você os ataque e sature suas tabelas).
fonte
Os endereços MAC e endereços IP operam em diferentes camadas de rede para diferentes fins. Se livrar de uma das camadas pode causar problemas, criar confusão ou impedir que as coisas funcionem.
Digamos que eu tenho algum hardware antigo (digamos, um torno CNC de um milhão de dólares) que fala apenas IPX . Na sua rede somente IP, como alguém falaria com isso? Ou diga 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 tenho um servidor com quatro conexões de gigabit a um switch de backbone, agregado em uma única conexão virtual. Na sua rede somente para MAC, qual é o endereço do meu servidor? Ou diga 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?
fonte
Hmmm, acho que isso poderia ter sido feito para funcionar (na verdade, já fiz / entreguei manualmente 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, no geral, não gosto das consequências.
fonte
O I no IP significa Protocolo de Internetworking .
Significa que um IP deve ser único entre TODAS as redes do mundo inteiro.
Os endereços IP devem ser literalmente globais. Se você envia tráfego para o 9.9.9.9, ele deve chegar a onde 9.9.9.9 não importa onde 9.9.9.9 no mundo esteja fisicamente ou qual rede 9.9.9.9 esteja fisicamente.
(Isso foi interrompido um pouco 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 prevalente onde não é necessário. Finja que o NAT não existe para entender esta 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, existe uma limitação física assumida nos endereços MAC, mas não existe nenhuma limitação nos endereços IP.
O TCP / IP é baseado na noção de que:
Se existisse outro mecanismo fundamental onde os dois conceitos acima não se aplicassem, o IP e o MAC não seriam necessários como são atualmente.
Se você estiver projetando um protocolo ou qualquer outra coisa que nunca precise conversar com máquinas fora da mesma rede local, é uma boa ideia ficar com os endereços MAC. Eu acho que o protocolo ATA sobre Ethernet é assim, pois foi projetado para permitir o compartilhamento de unidades ATA na mesma rede e não através da Internet por questões de segurança.
fonte
Eu apenas tive pensamentos semelhantes. Mas cheguei à conclusão de que você precisa da camada MAC. Nem mesmo para trocar!
O problema inevitável é que você possui outro que não apenas o protocolo IP, mesmo que estejamos falando sobre IP, existem IPv4 e IPv6. Como o dispositivo de rede sabe qual é? portanto, você precisa do MAC como uma camada de inicialização, no campo do protocolo, é a próxima camada, que informa o que é transportado pelo MAC.
fonte
Você está ficando paralisado pensando apenas em uma única camada OSI. O IP funciona apenas 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 de tráfego exige que os endereços MAC funcionem: a tecnologia IP (assim como outras tecnologias relacionadas e não relacionadas) fica em cima disso. Você não pode simplesmente trocar um pelo outro.
fonte
IPs dinâmicos meu amigo! No seu ambiente local (sua casa, sua faculdade, seu local de trabalho), você tem uma configuração de rede. Ele não está conectado diretamente à Internet (com um 'I' maiúsculo), mas através de um roteador. Este roteador obtém um IP dinâmico (na maioria dos casos, a menos que você tenha um estático) do seu ISP e atribui endereços dinâmicos (o mesmo 'mas' como acima) a todos os computadores conectados. Por que é feito assim? Em uma linha, para fornecer serviço a mais usuários que os IPs que você possui. O problema é que você precisa identificar o seu MacBook Pro (: D) entre todos os outros computadores; portanto, você precisa de um endereço ÚNICO, não dinâmico / compartilhado. Esse é o seu mac. E é por isso que você precisa.
Você pode ler mais aqui
fonte