¿Por qué se usan paquetes de 46 bytes en Ethernet?

El motivo de las cargas útiles de 46 bytes:

La trama mínima de Ethernet se basa en el tiempo de ranura de Ethernet, que es de 512 bits de longitud (64 bytes) para 10M Ethernet. Después de restar 18 bytes para el encabezado Ethernet y CRC, obtienes 46 bytes de carga útil.

Se especificó el tiempo de la ranura de Ethernet para que CSMA / CD funcione correctamente. Hay que asegurarse de que el tamaño mínimo del marco no exceda la longitud más larga posible del cable; si lo hiciera, la detección de colisión determinista sería imposible. Después de la detección de colisión en la longitud máxima del cable, necesita la señal de detección de colisión para regresar al remitente. Esto termina siendo el tiempo de ida y vuelta a través de la longitud máxima del cable. Técnicamente, el máximo se calculó tan bajo como 450 bit veces (consulte la Tabla 7-1 en la especificación Original Ethernet V1); sin embargo, se usaron 512 bits como el tiempo de ranura oficial de ethernet.

1500 cargas de bytes:

Ya hemos discutido la razón de las MTU de 1500 bytes; por favor refiérase a esa pregunta para detalles.

Nota: el comentario de ytti sobre la limitación FCS de Ethernet no es la razón por la que se eligieron 1500 bytes. Se eligió debido a problemas con la interpretación del campo Longitud en tramas 802.3 en cap frente al campo Tipo en tramas Ethernet II.

46 bytes es el tamaño de la carga útil, el tamaño mínimo del paquete Ethernet es de 64 bytes. 46 bytes para datos y 18 bytes de encabezado (src Mac + dst Mac + type + crc, 6 + 6 + 2 +4 = 18 bytes).

Entonces, para obtener un marco mínimo de 64 bytes, los datos mínimos deben ser de 46 bytes. Si los datos son menores que eso, se requiere relleno.

La longitud mínima se debe a la limitación impuesta por csma / cd. Inicialmente, Ethernet se desarrolló como un medio compartido, medio dúplex y se utilizó csma / cd para detectar colisiones. Ahora, para detectar la colisión, en función de la longitud máxima del cable Ethernet, el tamaño mínimo del paquete llegó a 64 bytes.