¿Por qué Ethernet tiene un tamaño de trama mínimo especificado?


12

Creo que el mínimo es de 64 bytes. ¿Por qué es necesario ese mínimo?

Respuestas:


16

Al hacer una lectura rápida, parece que está relacionado con la parte de Detección de colisión de CSMA / CD. Si los marcos fueran demasiado pequeños en los viejos medios de transmisión, entonces algunas colisiones serían indetectables. Continuando con mi tema de las analogías de automóviles hoy, es por la misma razón que no permitimos bicicletas en carreteras de alta velocidad, simplemente no es seguro para ellos.


3
+1, no sabía eso de las bicicletas ...
Kyle Brandt

66
La detección de colisiones +1 es la razón. 64 bytes son 0.04ms a velocidades de 10Mb ethernet. Cualquier colisión más pequeña pasaría desapercibida (en 1982).
sysadmin1138

Si te entiendo, ¿el motivo del mínimo de 64 bytes es dar tiempo suficiente para que otras estaciones lo noten?
CodyBugstein

1
¿Puedes explicar por qué las colisiones serían indetectables?
problemofficer

1
Estoy seguro de que una colisión de bicicletas en una carretera de alta velocidad sería detectable. Y de todos modos, se permiten bicicletas en las autopistas interestatales en la mayoría de los estados del oeste de los EE. UU., Por lo que no estoy seguro de cuán apropiada sea la analogía. :)
Michael Hampton

4

Además de la respuesta de mfinni (absolutamente correcta), establecer un tamaño de trama mínimo le permite pasar múltiples ciclos de recepción para verificar las sumas de verificación de sus tramas. En Ye Olde Days, uno puede imaginar fácilmente un chip que procesa un bit por ciclo, pero toma muchos ciclos para calcular una suma de verificación en una ruta dedicada que corre paralela a la ruta de recepción. Recibir muchos mensajes cortos podría provocar que esta lógica de suma de comprobación se viera confusa al tener múltiples operaciones simultáneas activadas en ella. Descartar cualquier cosa por debajo de un cierto umbral de tamaño le permite evitar este problema de una manera simple.


Creo que esta respuesta es incorrecta; tiene que ver con el retraso de propagación en el medio y la detección de colisión.
Andrew Wagner

@ AndrewWagner, como ya dije en mi respuesta, la respuesta de mfinni anterior, que trata sobre la detección de colisiones, es correcta. Mi punto era que este "capricho" de la especificación también permite a los diseñadores de hardware tomar algunos atajos propios.
BMDan

2

Ethernet está diseñado para funcionar en un medio compartido (¡el éter!). Los remitentes son capaces de detectar cuando la señal con la que conducen el éter es diferente de la que está en el éter.

Desafortunadamente, todos los medios tienen un retraso de propagación (desafortunadamente, incluso la luz viaja a una velocidad finita).

Supongamos que envía un marco muy corto. Para detectar si el receptor transmite correctamente al mismo tiempo que estaba recibiendo su trama, debe esperar a que llegue la señal que le envían, por lo que debe esperar / escuchar el doble del retraso de propagación del medio antes de saber si hubo Una colisión en el extremo receptor.

Ahora, en lugar de solo escuchar (enviar silencio) durante ese tiempo, también podría seguir adelante y enviar información útil durante ese tiempo.

Por lo tanto, el estándar establece el tamaño mínimo de trama para que sea la cantidad de datos que puede enviar en DOS VECES el peor retraso de propagación en el medio compartido.

Entonces, si no está satisfecho porque los marcos grandes se sienten "no optimizados" para su pequeño mensaje, piense en ese espacio adicional en el paquete como una oportunidad para encontrar algo más para enviar, cuando de lo contrario tendría que enviar ceros de todos modos.

Por supuesto, hay muchas otras formas de lidiar con colisiones y retrasos de propagación en un estándar de red local, pero entonces no sería ethernet, y creo que todos podemos estar de acuerdo en que ethernet es bastante dulce.


Pregunta: ¿Entiendo por qué necesita un mínimo o de 2 x PDdónde provienen los 64 bytes? ¿No debería depender de la longitud / tipo del cable? 64 bytes parece arbitrario
CodyBugstein

Se trata de la antigua relación entre eficiencia y complejidad. Podría construir algún sistema para medir automáticamente la red y seleccionar un tamaño de paquete mínimo apropiado, pero agregaría una complejidad no trivial para una ganancia relativamente pequeña.
Peter Green

0

Para que CSMA / CD funcione correctamente, desea una detección de colisión constante.

Si el receptor ve una colisión y el remitente no, entonces el paquete se perdería. De manera similar, si el remitente ve una colisión pero el receptor no, usted recibirá un paquete duplicado después de que el remitente retransmita. Tampoco es deseable.

Dado que los datos viajan a una velocidad finita, se requería un tamaño de paquete mínimo para garantizar que si ocurriera una colisión, ocurriera en todas partes. Cuanto más grande sea el tamaño mínimo de paquete, más grande y / o más rápido podrá hacer la red antes de que CSMA / CD se descomponga.

En cuanto a por qué 64 bytes, no estoy seguro, pero espero que sea solo un número redondo que "parecía correcto en ese momento", dadas las velocidades a las que operaban, el tamaño esperado de las redes Ethernet y el tamaño esperado de paquetes de nivel superior.


0

La longitud mínima del paquete de 64 bytes no es un número arbitrario. En una capa física 10Base5 (coaxial "Fat Ethernet", una de las capas físicas especificadas originalmente, que tiene los cables más largos permitidos) da como resultado una longitud mínima de paquete, en microsegundos, que es el doble del tiempo de ida y vuelta de la longitud máxima cable, que es de 2500 metros, que consta de cinco segmentos de 500 metros con cuatro repetidores. Esto es para asegurar que los paquetes transmitidos desde lados opuestos del cable colisionen completamente en cada punto del cable, para una detección de colisión confiable en todos los nodos.

Trivialidades:

  • Es el doble de la cantidad mínima para una sobrecarga de seguridad
  • La detección de colisión en el cable coaxial puede realizarse mediante un comparador de voltaje analógico (ya que los paquetes colisionados dan como resultado el doble del voltaje de señal normal)
  • La velocidad de la electricidad en el cable de cobre es de aproximadamente 200000 kilómetros por segundo.
  • Cada bit en 10Base5 Ethernet tiene 20 metros de largo en el cable
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.