¿Por qué las direcciones ethernet / mac están en números hexadecimales e ip en decimales?


7

¿Por qué las direcciones ethernet / mac están en hexadecimal (y tienen 48 bits) y los números ip en decimales (y tienen 32 bits)? ¿Tiene eso razones históricas o prácticas?


¿Alguna respuesta te ayudó? Si es así, debe aceptar la respuesta para que la pregunta no siga apareciendo para siempre, buscando una respuesta. Alternativamente, puede proporcionar y aceptar su propia respuesta.
Ron Maupin

Respuestas:


11

Diferentes personas diseñan diferentes protocolos. Ethernet puede transportar más que IP (IPX era bastante común hace 15-20 años y también usaba hexadecimal en sus direcciones. Para ser más precisos: la parte local de una dirección IPX era la dirección MAC). IP, por otro lado, puede ejecutarse sin utilizar Ethernet como protocolo de capa 2.

De alguna manera, Ethernet (y el direccionamiento MAC) se convirtió en el protocolo de capa 2 dominante e IPv4 en el protocolo de capa 3 dominante. Con IPv6 tenemos HEX de nuevo en nuestras direcciones IP (v6).


2

Jens tiene una gran respuesta técnica (y recibió un voto positivo de mi parte), pero el otro aspecto es la legibilidad humana, porque como humanos siempre fuimos destinados a ser las "cosas" que tendrían que entender estas direcciones en una capa superior de conciencia que las máquinas No poseas. Transmitir una dirección de 48 bits en decimal sería menos eficiente que transmitir una dirección de 32 bits en decimal (en el contexto de la legibilidad humana; todo es binario a un enrutador / conmutador / lo que sea).

Por ejemplo, el espacio numérico que puede expresarse en 32 bits se presta muy bien para dividir ese espacio en fragmentos de tamaño uniforme (los fragmentos aquí son bytes u octetos ) de 8 bits cada uno, y tiene una capacidad decimal máxima " "de 255 por cada uno de esos trozos. Esto naturalmente llevaría a representar esas direcciones en el formato decimal punteado, porque nunca tendrá un octeto que tenga más de 3 dígitos decimales.

Una dirección MAC es diferente. El hexadecimal es más eficiente aquí porque puede expresar más con menos, y nuevamente está limitando el alcance de la longitud de los dígitos para compensar el espacio de direcciones más grande. Hay 6 octetos en una dirección de 48 bits, y cada dígito hexadecimal es de 4 bits; no tendrá ningún octeto en una dirección de 48 bits que sea más largo que dos dígitos hexadecimales.

aa:d3:ad:be:ef:aa

es más fácil (más eficiente) de leer, escribir e interpretar que

170:211:173:190:239:170

1
Obtiene el mismo rango de hexadecimal, y siempre es seguro representar cada octeto como 2 dígitos hexadecimales. Entonces, en lugar de 192.168.1.1, podría haber tenido C0.A8.01.01. Mucho más fácil de leer y recordar. También podría usar mnemónicos pronunciables, como tal vez el prefijo de red doméstica más popular podría haberse conocido coloquialmente como "koate". Finalmente, con hexadecimal no habría representaciones inválidas posibles, es decir, no hay hexadecimal equivalente a 256.310.001.999. ffffffff es el número máximo representable Y la dirección IP más alta. El hexadecimal es mucho más eficiente y claro que el decimal. Lástima: /
Justin Force

1
Para ser claros, me gusta tu respuesta. Pero realmente parece justificar el hecho de que deberíamos haber usado hexadecimal para las direcciones IPv4 en primer lugar. : D
Justin Force
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.