Mirando la entrada de Ethernet en Wikipedia, no puedo entender cómo se indica cuánto dura la trama de Ethernet. El campo de encabezado EtherType / Length aparentemente puede indicar un tipo de trama o una longitud explícita, y supongo que en el caso de un tipo de trama, tiene que hacer alguna otra lógica para averiguar cuánto dura el paquete. Por ejemplo, si el campo EtherType es 0x0800, eso indica una carga útil IPv4, por lo que la NIC receptora tendría que examinar los primeros 32 bits de la carga útil para encontrar la longitud del paquete IP y, por lo tanto, calcular la longitud total de la trama de Ethernet y sepa cuándo buscar la suma de comprobación de fin de trama y la brecha entre tramas.
¿Suena esto correcto? También miré la especificación IEEE 802.3 para Ethernet (parte 1, de todos modos) que parece corroborar esto, pero es bastante opaca.