<Anterior | Contenido | Siguiente>
La dirección MAC de cada interfaz ethernet normalmente debería ser única a nivel mundial y, técnicamente, tiene que ser única dentro de su dominio de transmisión ethernet. Para lograr esto, el fabricante generalmente asigna un bloque de direcciones MAC de un grupo administrado centralmente (por el cual se debe pagar una tarifa) y preconfigura una de estas direcciones en cada artículo vendido.
En el caso de las placas de desarrollo, a veces el fabricante quiere evitar pagar estas tarifas y, por lo tanto, no proporciona direcciones únicas a nivel mundial. En estos casos, los propios usuarios deben definir direcciones MAC para sus sistemas. Cuando no se define una dirección MAC para una interfaz Ethernet, algunos controladores de red generan una dirección MAC aleatoria que puede cambiar en cada arranque, y si esto sucede, el acceso a la red sería posible incluso cuando el usuario no haya configurado manualmente una dirección, pero
por ejemplo, la asignación de direcciones IP semiestáticas por DHCP basadas en la dirección MAC del cliente solicitante obviamente no funcionaría de manera confiable.
Para evitar conflictos con las direcciones MAC asignadas oficialmente, existe un grupo de direcciones que está reservado para las llamadas direcciones "administradas localmente". Se define por el valor de dos bits específicos en el primer byte de la dirección (el artículo "Dirección MAC" en el idioma inglés Wikipedia da una buena explicación). En la práctica, esto significa que, por ejemplo, cualquier dirección que comience con ca hexadecimal (como ca: ff: ee: 12: 34: 56) se puede utilizar como una dirección administrada localmente.
En los sistemas que utilizan U-Boot como firmware del sistema, la dirección MAC de Ethernet se coloca en la variable de entorno "ethaddr". Se puede verificar en el símbolo del sistema de U-Boot con el comando “printenv ethaddr” y se puede configurar con el comando “setenv ethaddr ca: ff: ee: 12: 34: 56”. Después de establecer el valor, el comando "saveenv" hace que la asignación sea permanente.
3.7.1.2. Problemas de reubicación de Kernel / Initrd / Device-Tree en U-Boot