Enviar paquetes Ethernet bajo unidifusión

Enviar paquetes Ethernet bajo unidifusión

Estoy intentando crear este tipo de trama Ethernet:

Dirección de destino (primeros bits cero) + Dirección de origen +Dirección IP de origen +Dirección IP de destino +Datos

Pero no sé si es necesario éter tipo IpV4 08 00 o algo así.

Quiero comunicarme de par a par bajo el protocolo Ethernet, por lo que quiero usar una trama de paquetes de unidifusión, pero ¿cómo puedo usarlo? ¿Cómo puedo preparar la trama Ethernet en unidifusión? Busqué en Google pero no encontré nada útil. ¿Cómo puedo continuar? Tengo un conmutador stm32 lwip y ethernet para ese propósito.

¿Cómo puedo crear paquetes Ethernet punto a punto de unidifusión? Por favor, ayúdenme.

Respuesta1

El marco habitual para Ethernet es:

dest-MAC source-MAC type/length source-ip dest-ip data ...

(Si el campo tipo/longitud es 1536 o más, se ingresa como un código de tipo Ethernet; de lo contrario, es la longitud del marco).

Si no utiliza el campo ethertype para especificar un tipo, puede interpretarse como un campo de longitud (si es inferior a 1536).

Probablemente sea factible, con dos dispositivos en el mismo conmutador o conectados directamente por cable, poder comunicarse sin utilizar el campo ethertype correctamente (ya sea como ethertype o como longitud). Pero si asumo que desea comunicarse en la capa 3 o superior (por lo tanto, incluye direcciones IP en su marco), es posible que encuentre enrutadores que fragmenten/trunquen/rechacen paquetes donde puso el inicio de la dirección IP de origen donde espera la longitud del marco/tipo que será.

Puede ver los campos de marco correctos en la página de Wikipedia para "trama de ethernet".

información relacionada