Razão para um endereço MAC e um IP

25

Se o meu computador possui um endereço IP, por que ele precisa de um endereço MAC?

user1369975
fonte
2
Para fornecer a melhor resposta, você pode expandir sua pergunta para incluir por que você acha que não precisaria de um endereço MAC se o seu computador tiver um endereço IP?
Brett Lykins
1
Eu recomendaria pegar um bom livro básico sobre Networking e lê-lo; valerá a pena. Ele vai responder a esta pergunta e muitos mais: amazon.com/Computer-Networking-Top-Down-Approach-Edition/dp/...
Manoj Pandey
4
Isso pode parecer irritante, mas é a maneira mais simples de reduzir a confusão. Por que você colocou uma NIC Ethernet no seu computador? Responda a essa pergunta e ela responde à pergunta sobre a necessidade de um endereço mac.
9788 Mike Pennington
4
@Reprovo, o único lugar em que os comentários / respostas realmente fazem essa afirmação é quando o OP responde à resposta de Teun Vink com o desejo de evitar modelos de rede nas respostas. Se você não sabe o porquê e como dos modelos de rede, realmente não entende sua rede e "fazer o trabalho" será muito mais doloroso ou criará problemas adicionais. Existem muitas coisas que você realmente não precisa saber como profissional de rede (por exemplo, como os bits são colocados no fio, etc.), mas os modelos de rede não são algo que eles podem evitar, pelo menos, um entendimento básico.
YLearn
2
@ user1369975, acho que você está perdendo o objetivo. Não estamos dizendo que a pergunta é inválida, nem que as pessoas não precisam aprender. No entanto, este é um site para engenheiros / profissionais de rede e não é razoável solicitar uma resposta aqui, ignorando os fundamentos básicos da rede. Se você deseja uma resposta não direcionada a outros profissionais da rede, solicite-a em um dos outros sites, como SuperUser .
YLearn

Respostas:

13

sem entrar no modelo OSI, na camada TCP, etc .:

No tempo, as redes foram criadas: alguns computadores se comunicavam para compartilhar algo. Para fazer isso, eles precisam saber quem estava falando e com quem estava sendo conversado. Então, em vez de dar um nome a cada computador, demos um ID a eles. Este ID é chamado endereço MAC, deve identificar exclusivamente cada computador.

(ok, identifique cada placa de rede, mas, naquela época, você poderia pensar em um endereço MAC para cada computador).

Não havia uma especificação única sobre como os computadores conversariam entre si: muitos protocolos apareceram: TCP / IP, IPX / SPX e assim por diante. Cada protocolo especificaria as coisas como julgadas aceitáveis. Por exemplo, o IPX / SPX endereçaria cada computador usando o endereço MAC e mais algumas informações.

Mas o protocolo TCP / IP foi projetado um pouco diferente: eles decidiram que ter um endereço virtual de 4 bytes (0.0.0.0 a 255.255.255.255) era suficiente e era ainda mais fácil de gerenciar: não importa se Se todas as suas placas de rede tiverem um endereço MAC semelhante ou não, agruparemos nosso computador para que todos os endereços TCP / IP iniciados com 10.0.xx façam parte do grupo de engenharia e os 10.1.xx sejam as impressoras e. ..

Portanto, se um endereço TCP / IP precisar se comunicar com outro, basta usar o endereço TCP / IP. Mas os dispositivos de rede precisam saber para qual placa de rede essa mensagem está indo; portanto, de alguma forma, convertem o endereço TCP / IP para o endereço MAC.

Por que não simplesmente eliminar o MAC e usar apenas TCP / IP?

algumas razões:

  • fácil agrupar endereços TCP / IP,
  • todos os dispositivos são criados para cuidar do endereço MAC, naquele requisito de baixo nível, e precisariam ser alterados
  • apesar de ser a grande maioria (acho :-P), alguns outros protocolos ainda estão em uso e contam com o endereço MAC
woliveirajr
fonte
25

Os endereços MAC e endereços IP 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 (especialmente o roteador / gateway para o restante da rede / internet), pois cada camada está usando camadas subjacentes. Na página mencionada anteriormente, você pode encontrar alguns diagramas interessantes que explicam o conjunto de protocolos em detalhes.

Teun Vink
fonte
, muito obrigado pela sua resposta, mas seria melhor se alguém pudesse dar uma resposta, sem entrar nas especificações da camada OSI ou da camada TCP
#
11
Se isso é muito difícil, esse realmente não é o site para você. Você poderia argumentar que essa pergunta é fora de tópico, pois é considerada um conhecimento comum para os engenheiros de rede.
Teun Vink
11
@ user1369975, os modelos mencionados são as estruturas de como as redes são projetadas para operar (hardware e software). Sem esse entendimento básico, não haveria resposta significativa para sua pergunta. Isso seria semelhante a perguntar (sobre um cidadão dos EUA) "se eles têm um nome por que precisam de um número de previdência social" sem permitir a menção do governo na resposta.
YLearn
5
Pense em um endereço MAC como uma descrição de uma casa na sua rua. Para seus vizinhos, todos entenderão "A casa verde" ou "Casa do Sr. Johnsons" ou "O duplex na esquina" - são comparáveis ​​a um endereço MAC, descritivo apenas localmente. Um endereço IP é publicamente roteável, por isso seria como usar os endereços completos: 123 Main St, Somewhere, CA 92069. Então eu acho que o IP para MAC seria como o carteiro chegando na rua e gritando "QUEM ESTÁ NO 123 PRINCIPAL? !?!? " e o Sr. Johnson ouvindo-o e dizendo "Aqui, a casa verde!" Eu acho? Analogia horrível.
David Houde 26/09
3
Isso explica por que é necessário, dada a arquitetura atual. Mas por que a arquitetura foi projetada dessa maneira em primeiro lugar? Eu poderia facilmente imaginar um mundo onde só existem endereços IP locais e endereços WAN. É tecnicamente possível.
Olá Mundo
17

Quando você entender que a comunicação IP para IP é realmente apenas uma série de comunicações MAC para MAC ocorrendo a cada salto do roteador, você verá por que ambas são necessárias.

O cabeçalho IP de um pacote que deixa sua estação de trabalho destinada a um IP em uma sub-rede diferente manterá o IP de origem e o IP de destino, esquecendo o NAT no momento. [Posteriormente, discutirei o que acontece quando o destino está na mesma sub-rede.] O cabeçalho Ethernet contém o MAC de origem e o MAC de destino do gateway padrão. Não há conhecimento do MAC de destino final da sua perspectiva. O primeiro roteador reescreverá o MAC de origem para si mesmo e o MAC de destino para o próximo salto do roteador, e assim por diante, até que o pacote chegue ao último roteador conectado diretamente à sub-rede de destino.

Para tentar uma ilustração simples, considere os cabeçalhos L2 / L3 quando um pacote se move do IP de origem (sIP) para um IP de destino (dIP) e os MACs de origem e destino são reescritos ao longo do caminho - fs = first-source e ld = last-destination e r1-r3 são roteadores:

fsMAC-r1MAC / sIP-dIP 
r1MAC-r2MAC / sIP-dIP
r2MAC-r3MAC / sIP-dIP
r3MAC-ldMAC / sIP-dIP

Quaisquer switches L2 envolvidos não modificarão os endereços MAC.

Agora, para a comunicação com outro IP na sua sub-rede, é necessária a comunicação MAC direta, mas para obter esse endereço MAC é necessário o protocolo ARP que usa uma transmissão na sub-rede para encontrá-la. A propósito, é assim que sua estação de trabalho obtém o endereço MAC do gateway padrão que deve existir na mesma sub-rede.

generalnetworkerror
fonte
3
Então, para resumir, MACé o que leva a mensagem de um salto para outro, enquanto o IP acompanha a origem e o destino originais. Isso parece análogo a uma agência postal, onde eu dirijo minha carta para a vovó em Phoenix, mas o carteiro que a pega na caixa de correio só se preocupa em trazê-lo para os correios, e os correios só se preocupam em trazê-lo para a triagem. centro etc ...
CodyBugstein
3
Minha pergunta, porém, é: por que ter um protocolo separado para MAC? Por que não determinar o próximo endereço IP a ser acessado e armazenar os IPs de origem / destino atuais ao lado dos IPs de origem / destino originais?
CodyBugstein
@Imray: O primeiro problema com a eliminação do protocolo MAC requer uma reformulação / reescrita dos padrões Ethernet e TCP / IP. Segundo, o IP não é o único protocolo em L3 que usa endereços MAC em L2 para se comunicar. Terceiro, os endereços MAC normalmente estão vinculados aos endereços de hardware (gravados) nas NICs, enquanto o IP no nível superior pode ser um tanto arbitrário quanto à flexibilidade. Quarto, os MACs são relevantes apenas localmente, enquanto os IPs são globalmente relevantes (sem considerar as alterações mais recentes nos endereços NAT e privados que não faziam parte do design original).
generalnetworkerror
14

Não há nada que o impeça de projetar redes que possuam apenas um endereço IP para L2 e L3. O 'switch ethernet' aprenderia o endereço SIP dos pacotes recebidos e inundaria ou encaminharia para o endereço DIP.

No entanto, essa rede só suporta IP, quando a próxima geração do IPvX chegar, ela não funcionará, pois o 'switch ethernet' não suporta esse protocolo. Você também não pode executar vários outros protocolos, como IPX e AppleTalk, ou algum novo protocolo que esteja desenvolvendo e testando em sua casa.

As camadas de abstração aumentam a velocidade de desenvolvimento e incentivam a inovação, pois você não precisa reconstruir toda a casa para mudar uma janela.

Agora você pode ter executado os mesmos comutadores Ethernet e migrado sua rede entre IPX para IPv4 para IPv6, sem tocar na sua LAN.

ytti
fonte
Não há nada fisicamente você parar de projetar esta rede, além desses componentes, que existem somente em sua imaginação: a) um switch ethernet que endereços IP de origem aprende B) uma ethernet NIC sem um endereço mac
Mike Pennington
3

O endereço IP e o endereço MAC servem a propósitos diferentes (mas cruciais):

O endereço MAC obtém um quadro de uma NIC para a seguinte. O endereço IP obtém um pacote de um computador para o servidor

Portanto, considerando o seguinte:

Source Computer  <--->  RouterA  <--->  RouterB  <--->  Destination Server

O que direciona o pacote para a "origem" para o "destino" é o endereço IP. Mas o que leva o pacote do computador de origem para o roteador A e, em seguida, do roteador A para o roteador B e depois do roteador B para o destino são os endereços MAC.

Você pode ver o relacionamento nesta ilustração:

Viagem de pacote - como os pacotes se movem pela Internet - pracnet.net/pt

Eddie
fonte
Obviamente, é muito comum que os links de roteador a roteador usem um protocolo que não possua endereços MAC.
Ron Maupin
@RonMaupin Sim. Claro. Mas ... como isso é relevante, dada a pergunta feita especificamente sobre endereços MAC =)?
Eddie
Parece que sua resposta implica que haverá um endereço MAC atribuído a cada salto, o que pode ser enganoso. Também funciona se o seu diagrama mostrar endereços MAC apenas no primeiro e no último salto. É um pouco incompleto, e foi por isso que fiz o comentário.
Ron Maupin
1

O protocolo IP fornece a base para suportar a noção de sub - redes e roteamento . Isso significa que o IP não assume que seu destino está na mesma rede - caso contrário, seu tráfego precisa ser encaminhado por meio de um dispositivo intermediário, como um roteador. O IP possui campos TTL / Hop Limit e outros que suportam isso.

A Ethernet assume que o MAC de destino está diretamente acessível quando os dados são enviados para fora de sua interface. A Ethernet foi originalmente projetada quando a maneira mais comum de conectar computadores em uma rede era através de uma topologia de barramento físico. Embora quase todo o tráfego Ethernet com fio seja comutado agora, logicamente ainda funciona como uma topologia de barramento. Portanto, a suposição subjacente à Ethernet é que o nó com o MAC de destino está fisicamente na mesma rede. Não existe tal suposição com IP.

Eu acho que você pode "invadir" a Ethernet para fazer sub-redes e roteamento, mas você também pode criar um protocolo que não se baseie nos detalhes e suposições de baixo nível da Ethernet, e é por isso que temos IP.

LawrenceC
fonte
0

Para ser o mais simples possível:

Um endereço Mac é o endereço físico ou virtual da sua placa de rede ou interface de rede. Do ponto de vista de uma rede, é o endereço físico da placa de rede do computador. É usado para trazer informações para esse computador na Camada 2 do modelo OSI.

O endereço IP é necessário na camada 3. Você precisa se comunicar com computadores em diferentes sub-redes e dispositivos.O endereço IP verifica "onde" o dispositivo está localizado em uma rede.

Os endereços IP e os endereços Mac são usados ​​em conjunto. O Protocolo de resolução de endereços é usado para vincular os dois, resolvendo endereços IP para endereços Mac dentro da camada de link em uma única rede.

Você também pode verificar aqui uma explicação mais aprofundada.

HAL
fonte
1
Mantendo as coisas simples: se você tem um nome, identifica-se na localidade. Você precisa ter um SSN, para mantê-lo identificado no global nível
pulsarjune
-2

O endereço MAC representa o hardware que ele montou, é constante e os sistemas diferentes em nossa rede, feitos por diferentes fornecedores, têm uma variedade muito diferente de endereços Mac, de modo que eles são difíceis de organizar como uma rede.mas usando endereços IP, podemos arrumar os dispositivos em nossa rede. rede em um intervalo que é endereços simultâneo. também não podemos enviar nossos endereços MAC para redes externas

Sunnychen
fonte
-2

Para começar, essa é uma pergunta muito boa, que aborda os fundamentos básicos da rede. O ponto principal da sua pergunta é que realmente não precisamos de um endereço MAC para obter conectividade. Teoricamente, uma rede poderia ser construída implementando endereços IP sozinha! No entanto, algumas dificuldades práticas podem surgir ao usar esse esquema. Se você deseja atribuir manualmente um endereço IP a cada dispositivo de rede, evite as principais armadilhas. No entanto, se você precisar atribuir endereços IP automaticamente, como quando há muitos nós de rede para administrar manualmente, não há como garantir que cada nó seja alocado exatamente a um único endereço IP ou a um número predeterminado deles, porque você não pode diferenciar um do outro, a menos que a entidade de distribuição de endereços possa identificar de maneira única e inequívoca o dispositivo solicitante, por exemplo pelo seu endereço MAC, que é considerado único para qualquer dispositivo em uma LAN. Esse dispositivo não identificável pode solicitar repetidamente endereços IP adicionais e, eventualmente, causar estragos na viabilidade da rede. Voltando ao tópico, tudo o que você precisa para estabelecer uma rede somente IP é permitir que a Camada de Link de Dados do adaptador de interface de rede passe por qualquer quadro de dados que ele receba, diretamente para a Camada de Rede, independentemente de qualquer tipo de endereço comparável de MAC, onde possa ser filtrado de acordo com o endereço IP de destino, em vez de ser filtrado na camada de dados. Apenas para ilustrar o conceito, suponha que uma rede seja estabelecida interconectando portas UART RS-232: os dispositivos UART não possuem endereços MAC ou qualquer outro identificador exclusivo, mas você pode construir uma rede local usando UARTs e endereços IP sozinho, fornecendo a instalação dos drivers UART adequados. Espero que esta passagem tenha lhe dado algumas idéias sobre o assunto.

Turing
fonte