¿Cómo sabe Ethernet cuánto dura una trama?

17

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.

lado de tierra
fuente

Respuestas:

21

La subcapa de codificación física es responsable de delimitar las tramas y enviarlas a la capa MAC.

En Gigabit Ethernet, por ejemplo, el esquema de codificación 8B / 10B utiliza un grupo de códigos de 10 bits para codificar un byte de 8 bits. Los dos bits adicionales indican si un byte es información o datos de control. La información de control puede ser Configuration, Start_of_packet, End_of_packet, IDLE, Carrier_extend, Error_propagation.

Así es como una NIC sabe dónde comienza y termina un marco. Esto también significa que la longitud del marco no se conoce antes de que se haya descodificado completamente, de forma análoga a una cadena terminada en NULL en C.

Hroi Sigurdsson
fuente
1
Esto se especifica en IEEE Std 802.3-2015 (Sección Tres), 36.2.4.2 y 36.2.4.15 (entre otros lugares en esta cosa ilegible que llaman estándar;).
stefanct
1

El artículo que realmente desea responder a su pregunta es http://en.wikipedia.org/wiki/Ethernet_II_framing ; que dice:

A medida que este estándar desarrollado por la industria pasó por un proceso formal de estandarización IEEE, el campo EtherType se cambió a un campo de longitud (datos) en el nuevo estándar 802.3. (Los paquetes Ethernet originales definen su longitud con el marco que lo rodea, en lugar de un recuento de longitud explícito). Dado que el destinatario del paquete aún necesita saber cómo interpretar el paquete, el estándar requería un encabezado IEEE 802.2 para seguir la longitud y especificar El tipo de paquete.

womble
fuente
Supongo que no tengo claro qué significa "Los paquetes Ethernet originales definen su longitud con el marco que lo rodea". Los bits de preámbulo / comienzo del marco son bastante claros, pero ¿cómo sabe el cliente que se ha alcanzado el final del marco? ¿Cómo distingue entre el CRC y la brecha entre tramas? ¿Es el ruido eléctrico aleatorio IFG, fácilmente distinguible de la señal real?
dirtside
El final de la trama en "Ethernet clásico" se señala mediante una codificación ilegal.
Vatine
@womble, el artículo que vinculó es bueno, pero la parte que citó es muy engañosa fuera de contexto. La mayoría de las tramas en una red Ethernet hoy en día no usan un campo de longitud explícito.
Peter Green
-3

Lógicamente, solo hay tres opciones:

  1. Usando un tamaño de marco estático como en.
  2. Especificando el tamaño del cuadro en su encabezado, o en cualquier otro lugar, o incluso limitándolo con algunas banderas.
  3. Sin envío de fotogramas

Uno de estos funciona en Ethernet porque no hay otras opciones disponibles actualmente para las redes modernas;) 1er y 3er son incorrectos para Ethernet, ¡así que está en lo correcto!

Kolypto
fuente
-3

Tomó un tiempo resolver esto una vez antes, y nuevamente ahora. No hay mucha información disponible, lo cual es sorprendente ya que es una pregunta tan obvia. Finalmente me decidí por la solución de que se usan los campos de longitud en los encabezados de paquetes. Ver el siguiente enlace

http://www3.rad.com/networks/infrastructure/lans/etherform.htm#_ieee


fuente