Por que usar IP se já temos um endereço MAC?

17

Estou me preparando para os exames ICND1 e comecei recentemente a aprender sobre diferentes dispositivos da Cisco. Acabei de saber como o pacote é gerado para ser transmitido através de uma rede ou fora dela.

Por exemplo, quando o pacote é gerado, ele adiciona o endereço IP de origem, o endereço IP de destino, o endereço Mac de origem, o endereço mac de destino e outros dados.

Como o Switch é um dispositivo de camada 2 e usa endereços MAC para interagir com outros hosts da rede, por que usamos endereços IP em nossas redes locais?

E se alguém não precisar se conectar a nenhum host ou rede fora de sua própria rede, por que ele ainda precisa ter um endereço IP, se o endereço MAC não é suficiente?

Sufiyan Ghori
fonte
Esta pergunta aparece de tempos em tempos. uma ótima resposta aqui: serverfault.com/questions/410626/…
logoff
Aqui está outro link sobre um tópico semelhante que tem algumas informações mais úteis - superuser.com/questions/830857/…
Karthik Balaguru
im surpreendido como você não encontrar este: ip e mac explicado por cbt nuggets
allwynmasc

Respostas:

21

Como o Switch é um dispositivo de camada 2 e usa endereços MAC para interagir com outros hosts da rede, por que usamos endereços IP em nossas redes locais?

Bem, vamos começar com o tráfego que você está enviando.

Se você usa um protocolo estritamente camada 2 dentro de sua própria LAN sem HTTP , SSL, NFS , CIFS , iSCSI , H.323 , SIP , DNS , ICMP , bancos de dados ou websockets, em seguida, a sua proposta funciona muito bem. De fato, o FCoE não depende de uma camada IP ... então, se é isso que você quer, nocauteie :-)

O problema é que você acabou de prejudicar 95% da utilidade da maioria das redes removendo esses serviços baseados em IP. Existem redes para compartilhar informações; todos os sistemas operacionais do planeta compartilham informações vinculando serviços e encapsulando dentro de IP. Essa informação geralmente também está dentro do TCP.

  • Pergunta retórica : Um grupo de pessoas determinadas poderia implementar serviços TCP e UDP diretamente sobre a Ethernet em todos os principais sistemas operacionais?
  • Resposta Pedante : Sim, mas isso é um desperdício colossal de tempo e recursos para ganhos insignificantes. Vamos começar com o básico ... não há serviço de nomes DNS para endereços MAC Ethernet. Isso significa que, a menos que você o construa, como resolveria os URLs sem endereços IP? Duvido que alguém realmente queira digitar http://00c0.9b4a.fb2c/apenas para evitar 20 bytes extras em cada pacote. Este é apenas um exemplo do trabalho necessário.

E se alguém não precisar se conectar a nenhum host ou rede fora de sua própria rede, por que ele ainda precisa ter um endereço IP, se o endereço MAC não é suficiente?

Tecnicamente sim. No mundo real ... é uma rede muito chata sem IP.

Mike Pennington
fonte
8

(não isso de novo)

Camada 2 vs. Camada 3

O IP funciona na camada 3. É transportado pela Ethernet (camada 2), que usa MACs para identificar nós. Use uma camada 2 diferente (por exemplo, ATM) e você não terá MACs. (Ou use uma camada 3 diferente, digamos IPX, e você não terá IP.)

Ricky Beam
fonte
1
Parece uma resposta circular. "Por que usar IP se já temos MAC? Porque você precisa de IP para usar IP." É verdade que a pergunta inicial está implorando a pergunta "O que a Camada 3 faz por nós que a Camada 2 não pode?" ou alguma coisa.
Smithers
Não, é como perguntar "por que dirigir um carro quando tenho TV"? São coisas completamente diferentes. Ethernet (L2) usa MACs. IP (L3) usa endereços IP. O IP pode ser transportado pela Ethernet, mas essa é apenas uma de uma longa lista das que os L2 podem usar.
Ricky Beam
0

Sem IP, você teria tráfego de difusão em todo o mundo para cada endereço MAC desconhecido / com idade avançada no sistema (unicast desconhecido).

Além disso, o IP ajuda a planejar logicamente sua rede de maneira eficiente (por exemplo: usando o resumo de endereços IP) para que os roteadores possam utilizar menos memória para rotear tabelas e encaminhar informações.

sergey
fonte
-3

basta assumir que temos 2 dispositivos conectados e cada um tem uma placa de rede. agora, se houvesse apenas um serviço (não exatamente serviço, algo como um software osm, ...) em cada dispositivo, você está certo, não precisa fazer IP, mas considere que existem muitos serviços em cada dispositivo e esses serviços devem se comunicar uns com os outros sem nenhum conflito. portanto, além do endereço mac para identificar o dispositivo, precisamos de outra coisa (chamamos de IP) para cada serviço.

Todos
fonte
1
Para diferenciar serviços diferentes em um dispositivo, portas TCP ou UDP são usadas.
Gerben