¿Por qué se necesitan direcciones Ethernet / MAC?

16

No entiendo por qué se necesitan las direcciones MAC de Ethernet. ¿No pueden conectarse todas las computadoras a la red unificada y usar direcciones IP para comunicarse?

Por ejemplo, hay un siguiente mecanismo en Ethernet:

  1. La computadora con IP 192.168.1.1( X.1) quiere enviar un paquete a 192.168.1.2( X.2)
  2. X.1 usa ARP para obtener el MAC de X.2
  3. Para hacerlo, X.1necesita enviar un paquete a todas las computadoras en la red; solo uno responderá
  4. X.1 obtiene un MAC y envía el paquete

¿No sería más simple hacer solo un paso:

  1. X.1envía un paquete a todas las computadoras en la red; solo X.2lo procesará, otros lo ignorarán

La pregunta complementaria sería: ¿Por qué se necesitan direcciones IP, si todos los dispositivos tienen direcciones MAC únicas?

usuario2449761
fuente
¿Cómo saben las computadoras que deben ignorar los datos? Sin la dirección MAC, no pueden determinar cuál de la red debería procesarla ...
Bakuriu
1
podrían usar la dirección IP en lugar de la dirección MAC
user2449761
erm ... la dirección IP de la computadora <-> no es una asignación inyectiva. Reformularé mi pregunta: ¿Cómo saben las computadoras que deben ignorar los datos? Sin la dirección MAC, no pueden determinar cuál de la red debería procesarla ... ¿ ya que más de uno podría tener la misma IP ?
Bakuriu
44
no deberían tener la misma IP en la misma subred ... esto es un conflicto
user2449761
1
La pregunta complementaria es serverfault.com/q/410626/102768
OrangeDog

Respuestas:

31

Las diferentes capas de red están ahí para permitir que se intercambien por diferentes tecnologías.

Las dos capas de las que está hablando aquí son las capas 2 y 3. La capa 2 en este escenario es Ethernet, de donde surgen las direcciones MAC, y la capa 3 es IP.

Ethernet solo funciona a nivel local, entre dispositivos de red conectados a una red de transmisión "enlace de datos", mientras que IP es un protocolo enrutable y, por lo tanto, puede apuntar a dispositivos en redes remotas.

Los requisitos de cada uno de estos son diferentes. Ethernet especifica una familia de tecnologías que permiten enviar y recibir paquetes entre dispositivos de red, mientras que IP define un protocolo que permite que paquetes de datos atraviesen múltiples redes.

Ninguno de los dos depende del otro, que es lo que le da a las redes su flexibilidad. Por ejemplo, puede optar por conectarse a su servicio de Internet mediante IP a través de Ethernet, pero en su red interna, puede optar por utilizar IP sobre ... papel. Cuando alguien escribe el contenido de cada paquete y lo lleva físicamente a otra máquina y lo escribe. Claramente, esto no sería particularmente rápido, pero seguiría siendo IP siempre que la persona que lleva los pedazos de papel respete las reglas de enrutamiento IP.

En el mundo real, existen diferentes protocolos de enlace de datos que ya está utilizando dos diferentes (aunque sus esquemas de direccionamiento son los mismos): 802.3 - ethernet, y 802.11 - wifi.

A IP no le importa cuál es la capa subyacente.

Igualmente, la IP puede intercambiarse por diferentes protocolos de capa de red (siempre que ocurra para todos los participantes). Tales como cajeros automáticos .

Si bien no hay nada que impida directamente la creación de un protocolo que abarque tanto la capa 2 como la capa 3, sería menos flexible, y por lo tanto menos atractivo, y es muy poco probable que se use.

Pablo
fuente
2
Para la red interna, debería haber utilizado RFC1149 . (Una descripción menos técnica )
Scott Chamberlain
2
¿Qué, como usar banderas de señales manuales ?
Scott Chamberlain
1
@ScottChamberlain: ¡Me encanta el arte ASCII en la señal de mano marca uno!
Fred Larson
55
IPoAC es una mala elección para las comunicaciones internas; las palomas trabajan mejor al aire libre que en el interior
cpast
2
@ user2449761 personas solo han enumerado los tontos. En lugar de ethernet, puede usar bluetooth, acceso telefónico, GPRS, LTE, USB, DSL, token ring, etc.
OrangeDog
8

¿Dónde se tomaría esta decisión de procesar o ignorar el paquete? Ninguna respuesta es realmente satisfactoria:

1) En el interruptor? Bueno, eso significaría que los conmutadores tienen que entender cada protocolo que determina qué computadoras están interesadas en qué paquetes. Eso no solo aumentaría el costo de los conmutadores y reduciría su velocidad, sino que haría que los cambios en el protocolo IP fueran mucho más difíciles de implementar.

2) ¿En el hardware de la interfaz Ethernet? Bueno, esto haría que la red sea mucho más lenta ya que cada paquete de datos debe ir a cada máquina. Las tecnologías como WiFi y redes de puente con puentes más lentos serían imposibles. Tener Ethernet funcionando a diferentes velocidades interoperando sería imposible. Las tecnologías como IPv6 o multidifusión IP requerirían cambios de hardware para implementarse en todas las estaciones finales de Ethernet.

3) ¿En software? Bueno, esto haría que las computadoras sean mucho más lentas ya que tienen que lidiar con un número mucho mayor de interrupciones de la interfaz de red. Todas las preocupaciones sobre puentes, VPN y Wifi mencionadas anteriormente también serían problemas.

Todo esto dejaría a Ethernet inutilizable sin IP y significaría que se necesitarían cambios en Ethernet para hacer cambios en IP. Yuck

Las separaciones de preocupaciones son buenas.

David Schwartz
fuente
Además, puede reducir en gran medida el rendimiento general de la red. Para la opción 3, envío un archivo enorme que satura mi red de 1GBit, y de repente todos los demás en la red también obtienen ese archivo y tienen que ignorarlo, y no tienen el ancho de banda para enviar un archivo a otra persona que no es parte de la transferencia de archivos actual.
PlasmaHH
¿No describe la segunda opción cómo funciona Ethernet? Todas las interfaces obtienen los mismos paquetes, pero solo una máquina no lo ignorará (excepto estos en modo promiscuo). Los interruptores están ahí para acelerar las cosas ...
user2449761
2
@ user2449761 Todos los paquetes solo van a todas las computadoras si está utilizando hardware de red antiguo que tiene concentradores en lugar de conmutadores. Los hubs eran originalmente una opción por razones de costo; pero ahora que los interruptores son baratos, ya nadie los usa.
Dan Neely
@ Dan, de eso es de lo que estoy hablando ...
user2449761
2
La opción 1 ya está sucediendo. No está reemplazando el uso de direcciones MAC, al menos todavía no. Pero algunos equipos de conmutación pueden configurarse para usar la dirección MAC de destino o la dirección IP de destino para elegir la interfaz saliente. Es posible que en 10 o 20 años la dirección MAC solo permanezca con fines históricos, y todo el enrutamiento de los paquetes se realizará únicamente en función de la dirección IP. La parte sobre los cambios en la IP que son más difíciles de implementar no se evitó de todos modos porque los enrutadores backbone han estado enrutando en función de la dirección IP de destino en el hardware durante años.
kasperd
3

La dirección IP y las direcciones MAC operan en diferentes capas del conjunto de protocolos de Internet . Las direcciones MAC se usan para identificar máquinas dentro de la misma red de transmisión en la capa 2, mientras que las direcciones IP se usan en la capa 3 para identificar máquinas en diferentes redes.

Incluso si su computadora tiene una dirección IP, aún necesita una dirección MAC para encontrar otras máquinas en la misma red, ya que cada capa está usando capas subyacentes. En la página mencionada anteriormente, puede encontrar algunos diagramas agradables que explican el conjunto de protocolos en detalle.

vembutech
fuente
2

La red de ethernet enfrenta problemas de congestión a medida que aumentan de tamaño. Este cambio puede ahogar la red e introducir demora. Este es uno de los factores que trajo el concepto de subred. Pero, con las subredes, necesitamos una entidad adicional llamada enrutador para permitir que el paquete viaje de una máquina en una subred a una máquina en otra subred.

La distancia recorrida por el cable de Ethernet es otra preocupación importante, ya que puede limitar el éxito de las transmisiones si va más allá de cierto límite. Esto trajo nuevas entidades nuevas en forma de concentrador / repetidor.

Tenga en cuenta que todos los mecanismos de comunicación no utilizan la dirección MAC para la comunicación. PPP y HDLC no utilizan la dirección MAC para la identificación.

Además, tenga en cuenta que algunas redes no usan ethernet. Las redes Token Ring requieren una capa de enlace de datos diferente.

Si envía un paquete desde la red A a un dispositivo en la red B dirigiéndose a través de la dirección mac del dispositivo en la red B, se eliminará en la propia red A. Tenga en cuenta que incluso si hay un enrutador entre la red A y la red B, el enrutador descartará el paquete a medida que el enrutador funciona al recibir paquetes dirigidos a su dirección MAC pero para una dirección IP diferente.

De los escenarios anteriores, está muy claro que Internet no es una red plana debido a varias redes locales / privadas. También hay varias entidades de red entre origen y destino.

Como Internet no es una red plana, la dirección MAC no se usa para todos los tipos de comunicación y algunas redes requieren una capa de enlace de datos diferente a la de Ethernet, necesitamos una dirección IP para enrutarla al nodo deseado, independientemente de la ubicación del nodo y esto se logra con la capa de red.

Además, consulte una discusión similar en /programming/26290069/arp-vs-ip-why-do-we-need-both

Karthik Balaguru
fuente
Además de los "portadores de aves", las "señales de mano" y los ejemplos de "papel y lápiz" de la capa 2 alternativa, hay algunos que son extraños pero ocasionalmente útiles . IP por SMS, o por Facebook, o incluso por correo electrónico. Luego están los viejos dispositivos SLIP, PPP y PPPoE. Esos tres NO presentan el mismo tipo de cara que una conexión Ethernet o WIFI; sin embargo, todos estos atraviesan la IP y son completamente enrutables.
Ross Presser
2

Como otros han explicado, necesita protocolos de Capa 2 para el control de congestión en su red local. La capa 3 se usa para enrutamiento y direccionamiento entre redes.

Habiendo dicho eso, una pregunta válida podría ser: ¿Por qué ambas capas no pueden usar el mismo esquema de direccionamiento?

Primera respuesta: como han mencionado otros, esto le permite cambiar las tecnologías L2 y / o L3 y todo sigue funcionando.

Segunda respuesta: incluso si todos estuvieran de acuerdo en que los protocolos de la Capa 2 usen direcciones IP, entonces aún tendría que usar dos direcciones IP, una para la Capa 2 y otra para la Capa 3. ¿Por qué? NATting. Si su computadora tiene una dirección IP pública, entonces las direcciones L2 y L3 podrían ser las mismas. Sin embargo, si utiliza NATting, sus direcciones L2 y L3 serían diferentes.

Último comentario: cuando dice que todos reciben el mensaje y los no destinatarios los ignoran, está hablando de WiFi. Ethernet cableada ya no funciona así. Solía ​​ser así cuando usamos cables coaxiales y más tarde cuando usamos concentradores. Los conmutadores solo envían los mensajes / paquetes al puerto apropiado (a menos que realice un ataque contra ellos y sature sus tablas).

cabad
fuente
Estoy muy contento de que hayas agregado el último comentario. Como ha señalado: los interruptores pueden gestionar la congestión. Los conmutadores solo pueden usar el esquema de direccionamiento IP. Tampoco entiendo el argumento NATing: siempre necesitamos dos direcciones IP en ambos lados de NAT. Creo que la pregunta válida sería: ¿por qué necesitamos capas separadas de DataLink y Network en las redes modernas? Entiendo que la separación era necesaria en los años 70, cuando se usaban tokens, palomas y papeles.
user2449761
0

Las direcciones MAC y las direcciones IP operan en diferentes capas de red para diferentes propósitos. Deshacerse de una de las capas puede causar problemas, crear confusión o evitar que las cosas funcionen.

Digamos que tengo un hardware antiguo (por ejemplo, un torno CNC de un millón de dólares) que solo habla IPX . En su red de solo IP, ¿cómo le hablaría alguien? O digamos que estoy conectando una computadora no configurada a una nueva red. En ausencia de direcciones MAC, ¿cómo puede el servidor DHCP decirle a mi computadora qué dirección IP usar?

Digamos que tengo un servidor con cuatro conexiones de gigabit a un conmutador de red troncal, agregado en una sola conexión virtual. En su red solo para MAC, ¿cuál es la dirección de mi servidor? O digamos que tengo una computadora conectada a través de un módem PPPoA y no tengo una dirección MAC. ¿Cómo puede alguien conectarse a él?

marca
fuente
0

Hmmm, creo que esto podría haberse hecho funcionar (en realidad / he hecho / hecho / asignación de dirección MAC); sin embargo, si esto se hubiera hecho, habría necesitado comprar nuevo hardware para IPv6 y probablemente no habría habido superposición. Entonces, en general, no me gustan las consecuencias.

Joshua
fuente
0

El I en IP significa Protocolo de interconexión de redes.

Lo que significa que se supone que una IP es única entre TODAS las redes en todo el mundo.

Se supone que las direcciones IP son literalmente globales. Si envía tráfico a 9.9.9.9, se supone que debe llegar a donde sea 9.9.9.9, sin importar en qué parte del mundo 9.9.9.9 esté físicamente o en qué red esté físicamente 9.9.9.9.

(Esto se rompe en parte debido a NAT. Cuando se inventó TCP / IP, NAT no era parte del plan original, y es un "hack" hasta que IPv6 se vuelve más frecuente donde no es necesario. Imagina que NAT no existe para entender esta respuesta)

Se supone que una dirección MAC es única solo en la red local en la que reside el host. No está diseñado para permitir la comunicación entre cualquier cosa que no esté en la misma red local. Por lo tanto, se supone una limitación física con las direcciones MAC, pero no existe tal limitación con las direcciones IP.

TCP / IP se basa en la noción de que:

  • hay redes locales donde los sistemas pueden comunicarse entre sí directamente sin que se involucre un enrutador
  • a veces las computadoras en una red quieren hablar con las computadoras en otra y necesitan un enrutador para hacerlo.

Si existiera otro mecanismo fundamental donde los dos conceptos anteriores no se aplican, entonces IP y MAC no serían necesarios como lo son actualmente.

Si está diseñando un protocolo u otra cosa que nunca necesita hablar con máquinas fuera de la misma red local, entonces es una buena idea quedarse con las direcciones MAC. Creo que el protocolo ATA a través de Ethernet es así, ya que está diseñado para permitir compartir unidades ATA en la misma red y no a través de Internet por motivos de seguridad.

LawrenceC
fuente
0

Solo tuve pensamientos similares. Pero me di cuenta de que necesitas una capa MAC. ¡Ni siquiera para cambiar de propósito!

El problema inevitable es que tiene además del protocolo IP, incluso si hablamos de IP, hay IPv4 e IPv6. ¿Cómo sabe el dispositivo de red cuál es? por lo que necesita MAC como capa de arranque, en el campo de protocolo de la misma se encuentra la siguiente capa, que le indica qué se transporta a través de MAC.

XYZ
fuente
-2

Te estás quedando atrapado solo pensando en una sola capa OSI. IP solo funciona porque Ethernet (y otros) existe, de la misma manera que Ethernet solo existe porque hay cables físicos para transportar el tráfico. No es "IP o MAC": el enrutamiento del tráfico requiere que las direcciones MAC funcionen: la tecnología IP (así como otras tecnologías relacionadas y no relacionadas) se encuentra por encima de eso. No puedes simplemente intercambiar uno por el otro.

La ligereza corre con Mónica
fuente
-6

IP dinámicas mi amigo! En su entorno local (su casa, su universidad, su lugar de trabajo) tiene una configuración de red. No está conectado directamente a Internet (con una 'I' mayúscula) sino a través de un enrutador. Este enrutador obtiene una IP dinámica (en la mayoría de los casos, a menos que tenga una estática) de su ISP, y asigna direcciones dinámicas (mismas 'pero' que las anteriores) a todas las computadoras conectadas. ¿Por qué se hace así? En una línea, para proporcionar servicio a más usuarios que las IP que tiene. La cuestión es que debe poder identificar su MacBook Pro (: D) entre todas las otras computadoras, por lo que necesita una dirección ÚNICA, no dinámica / compartida. Esa es tu mac. Y por eso lo necesitas.

Puedes leer más aquí

tfrascaroli
fuente
2
Esa no es razón para emplear direcciones MAC.
Daniel B
1
El punto es: no todas las computadoras tienen una dirección IP única, a veces ni siquiera quieres eso, así que ese es un buen argumento para que tengan una dirección LAN separada, que es lo que es una dirección MAC.
reinierpost
1
Ellos si. Todo lo que se puede enrutar por Internet es, por definición, exclusivamente direccionable. De lo contrario, Internet no funcionaría. Hay cosas como NAT que violan este llamado principio de principio a fin. En el caso de NAT, también tiene una dirección LAN separada.
Daniel B
@DanielB Estoy bastante seguro de que eso no es cierto, pero tal vez te malinterprete. Por ejemplo: ¿puede decirme cómo abordaría de manera única esta PC en la que estoy escribiendo, que está en una red privada local, desde donde se encuentra, sin conexión previa establecida? ¿Qué tal si quisieras dirigirte a la computadora junto a esta?
SevenSidedDie
@DanielB Claro que no es la razón. Pregunta de OP: ¿No pueden conectarse todas las computadoras a la red unificada y usar direcciones IP para comunicarse? Mi respuesta proporciona información sobre esa pregunta, no una pregunta hipotética , que iría en la línea de: "¿Por qué empleamos direcciones MAC en el modelo de Ethernet?". Como él / ella está preguntando por qué no podemos simplemente usar IP, ahí está mi respuesta. Por favor, la próxima vez lea detenidamente antes de votar :)
tfrascaroli