
En redes informáticas , una trama Ethernet es una unidad de datos del protocolo de la capa de enlace de datos y utiliza los mecanismos de transporte de la capa física Ethernet subyacente . En otras palabras, una unidad de datos en un enlace Ethernet transporta una trama Ethernet como su carga útil. [ 2 ]
Una trama Ethernet está precedida por un preámbulo y un delimitador de inicio de trama (SFD), que forman parte del paquete Ethernet en la capa física . Cada trama Ethernet comienza con una cabecera Ethernet, que contiene las direcciones MAC de origen y destino como sus dos primeros campos. La sección central de la trama contiene los datos de carga útil, incluidas las cabeceras de otros protocolos (por ejemplo, el Protocolo de Internet ) que se transportan en la trama. La trama finaliza con una secuencia de verificación de trama (FCS), que es una comprobación de redundancia cíclica de 32 bits utilizada para detectar cualquier corrupción de datos durante la transmisión.
Estructura
Un paquete de datos en el cable y la trama como su carga útil consisten en datos binarios. Ethernet transmite los datos con el octeto (byte) más significativo primero; sin embargo, dentro de cada octeto, el bit menos significativo se transmite primero. [ a ]
La estructura interna de una trama Ethernet se especifica en IEEE 802.3. [ 2 ] La tabla siguiente muestra el paquete Ethernet completo y la trama en su interior, tal como se transmite, para un tamaño de carga útil de hasta la MTU de 1500 octetos. [ b ] Algunas implementaciones de Gigabit Ethernet y otras variantes de Ethernet de mayor velocidad admiten tramas más grandes, conocidas como tramas jumbo .
La etiqueta opcional 802.1Q consume espacio adicional en la trama. Los tamaños de campo para esta opción se muestran entre corchetes en la tabla anterior. IEEE 802.1ad (Q-in-Q) permite incluir varias etiquetas en cada trama. Esta opción no se ilustra aquí.
Paquete Ethernet – capa física
Preámbulo y delimitador de marco de inicio
Un paquete Ethernet comienza con un preámbulo de siete octetos (56 bits) y un delimitador de inicio de trama (SFD) de un octeto (8 bits) . [ d ] Los valores de los bits del preámbulo alternan entre 1 y 0, lo que permite a los receptores sincronizar su reloj a nivel de bits con el transmisor. Al preámbulo le sigue el SFD, que termina con un 1 en lugar de un 0, para romper el patrón de bits del preámbulo e indicar el inicio de la trama propiamente dicha. [ 1 ] : sección 4.2.5
Se requiere un circuito transceptor de capa física (PHY, por sus siglas en inglés) para conectar la MAC de Ethernet al medio físico. La conexión entre una PHY y una MAC es independiente del medio físico y utiliza un bus de la familia de interfaces independientes del medio (MII, por sus siglas en inglés) ( GMII , RGMII , SGMII , XGMII , etc.). El preámbulo y la representación SFD dependen del ancho del bus.
El SFD va seguido inmediatamente de la dirección MAC de destino , que es el primer campo de una trama Ethernet.
Trama: capa de enlace de datos
Encabezamiento
El encabezado incluye las direcciones MAC de destino y origen (cada una de seis octetos de longitud), el campo EtherType y, opcionalmente, una etiqueta IEEE 802.1Q o una etiqueta IEEE 802.1ad .
El campo EtherType tiene dos octetos de longitud y puede utilizarse para dos propósitos distintos. Los valores de 1500 o inferiores indican el tamaño de la carga útil en octetos, mientras que los valores de 1536 o superiores indican que se utiliza como EtherType para especificar el protocolo encapsulado en la carga útil de la trama. Cuando se utiliza como EtherType, la longitud de la trama viene determinada por la ubicación del espacio entre paquetes y la secuencia de comprobación de trama (FCS) válida.
La etiqueta IEEE 802.1Q o IEEE 802.1ad , si está presente, es un campo de cuatro octetos que indica la pertenencia a una red de área local virtual (VLAN) y la prioridad IEEE 802.1p . Los dos primeros octetos de la etiqueta se denominan Identificador de Protocolo de Etiqueta (TPID) y también funcionan como el campo EtherType, lo que indica que la trama está etiquetada como 802.1Q o 802.1ad. 802.1Q utiliza un TPID de 0x8100. 802.1ad utiliza un TPID de 0x88a8.
Carga útil
La carga útil es un campo de longitud variable. Su tamaño mínimo está determinado por el requisito de una transmisión de trama mínima de 64 octetos (bytes). [ e ] Teniendo en cuenta la cabecera y la FCS, la carga útil mínima es de 42 octetos cuando hay una etiqueta 802.1Q presente [ f ] y de 46 octetos cuando está ausente. Cuando la carga útil real es menor que la mínima, se añaden octetos de relleno según corresponda. Los estándares IEEE especifican una carga útil máxima de 1500 octetos. Las tramas jumbo no estándar permiten cargas útiles mayores en redes diseñadas para soportarlas.
secuencia de comprobación de fotogramas
La secuencia de verificación de trama (FCS) es una verificación de redundancia cíclica (CRC) de cuatro octetos que permite detectar datos corruptos en toda la trama recibida por el receptor. Según el estándar, el valor de FCS se calcula en función de los campos protegidos de la trama MAC: dirección de origen y destino, campo de longitud/tipo, datos de carga útil y relleno (es decir, todos los campos excepto la FCS).
Según el estándar, este cálculo se realiza utilizando el algoritmo CRC-32 de desplazamiento a la izquierda ( polinomio = 0x04C11DB7, CRC inicial = 0xFFFFFFFF, CRC se complementa posteriormente, valor de verificación = 0x38FB2284). El estándar establece que los datos se transmiten primero con el bit menos significativo (bit 0), mientras que el FCS se transmite primero con el bit más significativo (bit 31). [ 1 ] : sección 3.2.9 Una alternativa es calcular un CRC utilizando el CRC-32 de desplazamiento a la derecha (polinomio = 0xEDB88320, CRC inicial = 0xFFFFFFFF, CRC se complementa posteriormente, valor de verificación = 0x2144DF1C), lo que dará como resultado un CRC que es una inversión de bits del FCS, y transmitir tanto los datos como el bit menos significativo del CRC primero, lo que resulta en transmisiones idénticas.
El estándar establece que el receptor debe calcular una nueva FCS al recibir los datos y luego comparar la FCS recibida con la FCS que ha calculado. Una alternativa es calcular un CRC tanto en los datos recibidos como en la FCS, lo que dará como resultado un valor de verificación fijo distinto de cero . (El resultado es distinto de cero porque el CRC se complementa posteriormente durante su generación). Dado que los datos se reciben con el bit menos significativo primero, y para evitar tener que almacenar en búfer octetos de datos, el receptor suele utilizar el CRC-32 con desplazamiento a la derecha. Esto hace que el valor de verificación (a veces llamado comprobación mágica ) sea 0x2144DF1C. [ 5 ]
Sin embargo, la implementación de hardware de un CRC con desplazamiento lógico a la derecha puede usar un registro de desplazamiento de retroalimentación lineal con desplazamiento a la izquierda como base para calcular el CRC, invirtiendo los bits y dando como resultado un valor de verificación de 0x38FB2284. Dado que el complemento del CRC puede realizarse después del cálculo y durante la transmisión, lo que queda en el registro de hardware es un resultado no complementado, por lo que el residuo para una implementación con desplazamiento a la derecha sería el complemento de 0x2144DF1C = 0xDEBB20E3, y para una implementación con desplazamiento a la izquierda, el complemento de 0x38FB2284 = 0xC704DD7B.
Fin del fotograma – capa física
El final de una trama (EOF) se indica generalmente mediante el símbolo de fin de flujo de datos en la capa física o por la pérdida de la señal portadora; un ejemplo es 10BASE-T , donde la estación receptora detecta el final de una trama transmitida por la pérdida de la portadora. Las capas físicas más modernas utilizan un símbolo o secuencia explícita de fin de datos o fin de flujo para evitar ambigüedades, especialmente cuando la portadora se envía continuamente entre tramas; un ejemplo es Gigabit Ethernet con su esquema de codificación 8b/10b que utiliza símbolos especiales que se transmiten antes y después de la transmisión de una trama. [ 6 ] [ 7 ]
Espacio entre paquetes: capa física
El intervalo entre paquetes (IPG, por sus siglas en inglés) es el tiempo de inactividad entre paquetes. Después de enviar un paquete, los transmisores deben transmitir un mínimo de 96 bits (12 octetos) de estado de línea inactivo antes de transmitir el siguiente paquete.
Tipos
Existen varios tipos de tramas Ethernet:
- La trama Ethernet II, o Ethernet Versión 2, [ g ] o trama DIX es el tipo más común en uso hoy en día, ya que a menudo es utilizado directamente por el Protocolo de Internet.
- Novell raw IEEE 802.3 variación no estándar
- Trama de control de enlace lógico (LLC) IEEE 802.2
- Trama del protocolo de acceso a subred (SNAP) IEEE 802.2
Los distintos tipos de trama tienen formatos y valores MTU diferentes , pero pueden coexistir en el mismo medio físico. La diferenciación entre los tipos de trama se puede realizar consultando la tabla de la derecha.
Además, los cuatro tipos de tramas Ethernet pueden incluir opcionalmente una etiqueta IEEE 802.1Q para identificar a qué VLAN pertenecen y su prioridad ( calidad de servicio ). Esta encapsulación está definida en la especificación IEEE 802.3ac y aumenta el tamaño máximo de la trama en 4 octetos.
La etiqueta IEEE 802.1Q, si está presente, se coloca entre la dirección de origen y los campos EtherType o Length. Los dos primeros octetos de la etiqueta corresponden al identificador de protocolo de etiqueta (TPID) con valor 0x8100. Este valor se ubica en la misma posición que el campo EtherType/Length en tramas sin etiquetar, por lo que un valor EtherType de 0x8100 indica que la trama está etiquetada, y el verdadero EtherType/Length se encuentra después de la etiqueta Q. El TPID va seguido de dos octetos que contienen la información de control de etiqueta (TCI) (la prioridad IEEE 802.1p ( calidad de servicio ) y el ID de VLAN). La etiqueta Q va seguida del resto de la trama, utilizando uno de los tipos descritos anteriormente.
Ethernet II
El enmarcado Ethernet II (también conocido como Ethernet DIX , en honor a DEC , Intel y Xerox , los principales participantes en su diseño [ 8 ] ) define el campo EtherType de dos octetos en una trama Ethernet , precedido por las direcciones MAC de origen y destino, que identifica un protocolo de capa superior encapsulado por los datos de la trama. En particular, un valor EtherType de 0x0800 indica que la trama contiene un datagrama IPv4 , 0x0806 indica un datagrama ARP y 0x86DD indica un datagrama IPv6 . Consulte la sección Valores de EtherType para obtener más información.

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. [ h ] Dado que el receptor aún necesita saber cómo interpretar la trama, el estándar requería un encabezado IEEE 802.2 después de la longitud y especificar el tipo. Muchos años más tarde, el estándar 802.3x-1997, y versiones posteriores del estándar 802.3, aprobaron formalmente ambos tipos de trama. La trama Ethernet II es la más común en las redes de área local Ethernet, debido a su simplicidad y menor sobrecarga.
Para permitir que algunas tramas que utilizan el formato Ethernet II y otras que utilizan la versión original del formato 802.3 se utilicen en el mismo segmento Ethernet, los valores de EtherType deben ser mayores o iguales a 1536 (0x0600). Este valor se eligió porque la longitud máxima del campo de carga útil de una trama Ethernet 802.3 es de 1500 octetos (0x05DC). Por lo tanto, si el valor del campo es mayor o igual a 1536, la trama debe ser una trama Ethernet II, siendo ese campo un campo de tipo. [ 9 ] Si es menor o igual a 1500, debe ser una trama IEEE 802.3, siendo ese campo un campo de longitud. Los valores entre 1500 y 1536, excluyendo ambos, no están definidos. [ 10 ] Esta convención permite que el software determine si una trama es una trama Ethernet II o una trama IEEE 802.3, lo que permite la coexistencia de ambos estándares en el mismo medio físico.
Novell sin procesar IEEE 802.3
El formato de trama 802.3 sin procesar de Novell se basaba en los primeros trabajos del estándar IEEE 802.3. Novell lo utilizó como punto de partida para crear la primera implementación de su propio protocolo de red IPX sobre Ethernet. No utilizaban ninguna cabecera LLC, sino que iniciaban el paquete IPX directamente después del campo de longitud. Esto no se ajusta al estándar IEEE 802.3, pero dado que IPX siempre tiene FF como los dos primeros octetos (mientras que en el estándar IEEE 802.2 LLC ese patrón es teóricamente posible, pero extremadamente improbable), en la práctica suele coexistir en la red con otras implementaciones de Ethernet, con la notable excepción de algunas versiones iniciales de DECnet que se vieron afectadas por esto.
Novell NetWare utilizó este tipo de trama por defecto hasta mediados de los noventa, y dado que NetWare estaba entonces muy extendido, mientras que IP no lo estaba, en algún momento la mayor parte del tráfico Ethernet mundial se ejecutó sobre 802.3 sin procesar transportando IPX. Desde NetWare 4.10, NetWare utiliza por defecto IEEE 802.2 con LLC (NetWare Frame Type Ethernet_802.2) cuando utiliza IPX. [ 11 ]
IEEE 802.2 LLC
Algunos protocolos, como los diseñados para la pila OSI , operan directamente sobre la encapsulación IEEE 802.2 LLC, que proporciona servicios de red tanto orientados a la conexión como sin conexión.
Actualmente, la encapsulación IEEE 802.2 LLC no se utiliza de forma generalizada en las redes comunes, con la excepción de las grandes instalaciones corporativas de NetWare que aún no han migrado a NetWare sobre IP . En el pasado, muchas redes corporativas utilizaban IEEE 802.2 para admitir puentes de traducción transparentes entre redes Ethernet y Token Ring o FDDI .
Existe un estándar de Internet para encapsular el tráfico IPv4 en tramas IEEE 802.2 LLC SAP/SNAP. [ 12 ] Casi nunca se implementa en Ethernet, aunque se usa en FDDI, Token Ring, IEEE 802.11 (con la excepción de la banda de 5,9 GHz , donde usa EtherType) [ 13 ] y otras LAN IEEE 802. IPv6 también se puede transmitir a través de Ethernet usando IEEE 802.2 LLC SAP/SNAP, pero, de nuevo, eso casi nunca se usa.
IEEE 802.2 SNAP
Al examinar la cabecera LLC del estándar 802.2, es posible determinar si le sigue una cabecera SNAP. La cabecera LLC incluye dos campos de dirección de ocho bits, denominados puntos de acceso al servicio (SAP) en la terminología OSI; cuando tanto el SAP de origen como el de destino tienen el valor 0xAA, la cabecera LLC va seguida de una cabecera SNAP. La cabecera SNAP permite utilizar valores EtherType con todos los protocolos IEEE 802, además de admitir espacios de ID de protocolo privados.
En la norma IEEE 802.3x-1997, el estándar Ethernet de la IEEE se modificó para permitir explícitamente el uso del campo de 16 bits que sigue a las direcciones MAC como campo de longitud o como campo de tipo.
El conjunto de protocolos AppleTalk v2 sobre Ethernet (" EtherTalk ") utiliza la encapsulación IEEE 802.2 LLC + SNAP.
Rendimiento máximo
Podemos calcular la sobrecarga del protocolo Ethernet como un porcentaje (tamaño del paquete incluyendo IPG).
Podemos calcular la eficiencia del protocolo para Ethernet.
La máxima eficiencia se logra con el mayor tamaño de carga útil permitido y es:
Para tramas sin etiquetar, dado que el tamaño del paquete es un máximo de 1500 octetos de carga útil + 8 octetos de preámbulo + 14 octetos de encabezado + 4 octetos de cola + espacio mínimo entre paquetes correspondiente a 12 octetos = 1538 octetos. La eficiencia máxima es:
cuando se utiliza el etiquetado VLAN 802.1Q.
El rendimiento se puede calcular a partir de la eficiencia.
- ,
donde la tasa de bits neta de la capa física (la tasa de bits del cable) depende del estándar de la capa física de Ethernet y puede ser de 10 Mbit/s , 100 Mbit/s , 1 Gbit/s o 10 Gbit/s . Por consiguiente, el rendimiento máximo para Ethernet 100BASE-TX es de 97,53 Mbit/s sin 802.1Q y de 97,28 Mbit/s con 802.1Q.
La utilización del canal es un concepto que a menudo se confunde con la eficiencia del protocolo. Considera únicamente el uso del canal, sin tener en cuenta la naturaleza de los datos transmitidos , ya sean datos de carga útil o de sobrecarga. En la capa física, el canal de enlace y el equipo no distinguen entre tramas de datos y de control. Podemos calcular la utilización del canal :
El tiempo total considera el tiempo de ida y vuelta a lo largo del canal, el tiempo de procesamiento en los hosts y el tiempo de transmisión de datos y confirmaciones. El tiempo empleado en la transmisión de datos incluye tanto los datos como las confirmaciones.
Marcos Runt
Una trama truncada es una trama Ethernet que tiene una longitud inferior a la mínima de 64 octetos establecida por la norma IEEE 802.3. Las tramas truncadas suelen deberse a colisiones ; otras posibles causas son una tarjeta de red defectuosa , un desbordamiento de búfer , una discrepancia en el modo dúplex o problemas de software. [ 14 ]
Notas
- ↑ La secuencia de verificación de trama (FCS) utiliza un orden de bits diferente. [ 3 ]
- ↑ Los patrones de bits en el preámbulo y el delimitador de inicio de trama se escriben como cadenas de bits, transmitiéndose el primer bit a la izquierda ( no como valores de octeto, que en Ethernet transmiten primero el/los bit(s) menos significativo(s)). Esta notación coincide con la utilizada en el estándar IEEE 802.3.
- ↑ La carga útil puede ser de 42 octetos si hay una etiqueta 802.1Q presente. El mínimo es de 46 octetos sin ella.
- ↑ El software de análisis de paquetes no muestra el preámbulo ni el delimitador de inicio de tramaporque estos bits se eliminan en la capa 1 del modelo OSI mediante el controlador de interfaz de red (NIC) antes de pasarse a la capa 2 del modelo OSI , donde los analizadores de paquetes recopilan sus datos. Existen analizadores de capa 2 que pueden capturar y mostrar el preámbulo y el delimitador de inicio de trama, pero son costosos y se utilizan principalmente para detectar problemas relacionados con la conectividad física.
- ↑ El tamaño mínimo de la carga útil viene determinado por el tiempo de ranura de 512 bits utilizado para la detección de colisiones en la arquitectura de la LAN Ethernet.
- ↑ Tanto los mínimos de 42 como de 46 octetos son válidos cuando está presente 802.1Q. [ 4 ]
- ↑ Para los primeros prototipos de Ethernet se utilizó una trama Ethernet de versión 1, que contaba con direcciones MAC de 8 bits y nunca se implementó comercialmente.
- ↑ Las tramas Ethernet originales definen su longitud con el encuadre que las rodea, en lugar de con un recuento de longitud explícito.
Referencias
- 1 2 3 4 5 802.3-2018 – Estándar IEEE para Ethernet . IEEE . 14 de junio de 2018. doi : 10.1109/IEEESTD.2018.8457469 . ISBN 978-1-5044-5090-4.
- 1 2 "3.1.1 Formato de paquete". 802.3-2018 – Estándar IEEE para Ethernet . IEEE . 14 de junio de 2018. doi : 10.1109/IEEESTD.2018.8457469 . ISBN 978-1-5044-5090-4.
- ↑ 802.3-2018 – Estándar IEEE para Ethernet . IEEE . 14 de junio de 2018. Sección 3.3 y anexo 31A. doi : 10.1109/IEEESTD.2018.8457469 . ISBN 978-1-5044-5090-4Los códigos de operación se transmiten comenzando por el octeto de orden superior .
Dentro de cada octeto, los bits se transmiten comenzando por el bit menos significativo. [...] Cada octeto de la trama MAC, con la excepción del FCS, se transmite comenzando por el bit menos significativo.
- ↑ "Anexo G". Norma IEEE para redes de área local y metropolitana: puentes de control de acceso al medio (MAC) y redes de área local virtuales con puente . doi : 10.1109/IEEESTD.2011.6009146 . ISBN 978-0-7381-6708-4.
- ↑ "Especificación de rutinas CRC V4.5.0 R4.1 Rev 3" (PDF) . AUTOSAR . pág. 24. Archivado del original (PDF) el 11 de junio de 2020. Consultado el 30 de enero de 2020 .
- ↑ Charles E. Spurgeon (febrero de 2000). Ethernet: La guía definitiva . O'Reilly. págs. 41 , 47. ISBN 9780596552824Consultado el 30 de junio de 2014 .
- ↑ "40.1.3.1 Subcapa de codificación física (PCS)". 802.3-2018 – Estándar IEEE para Ethernet . IEEE . 14 de junio de 2018. doi : 10.1109/IEEESTD.2018.8457469 . ISBN 978-1-5044-5090-4.
- ↑ Drew Heywood; Zubair Ahmad (2001). Servicios de red de Windows 2000 de Drew Heywood . Sams. pág. 53. ISBN 978-0-672-31741-5.
- ↑ Comité de Estándares LAN MAN de la IEEE Computer Society (20 de marzo de 1997). IEEE Std 802.3x-1997 e IEEE Std 802.3y-1997 . The Institute of Electrical and Electronics Engineers, Inc. págs. 28–31 .
- ↑ "3.2.6 Campo Longitud/Tipo". 802.3-2018 – Estándar IEEE para Ethernet . 14 de junio de 2018. doi : 10.1109/IEEESTD.2018.8457469 . ISBN 978-1-5044-5090-4.
- ↑ Don Provan (17 de septiembre de 1993). "Ethernet Framing" . Grupo de noticias : comp.sys.novell . Usenet: 1993Sep17.190654.13335@novell.com . ( Versión en formato HTML archivada el 18 de abril de 2015 en Wayback Machine ) — una serie clásica de publicaciones en Usenet de Don Provan de Novell que han llegado a numerosas preguntas frecuentes y son ampliamente consideradas la respuesta definitiva sobre el uso del tipo de marco de Novell.
- ↑ Un estándar para la transmisión de datagramas IP sobre redes IEEE 802. Grupo de trabajo de redes del IETF. Febrero de 1988. doi : 10.17487/RFC1042 . RFC 1042 .
- ↑ Computer Society, IEEE (2016). IEEE Std 802.11-2016: Parte 11: Especificaciones de la capa física (PHY) y de control de acceso al medio (MAC) de la red LAN inalámbrica . Nueva York, NY: IEEE. pág. 249.
- ↑ "Solución de problemas de Ethernet" . Cisco Systems . Consultado el 13 de agosto de 2016 .
Lecturas adicionales
- Vídeo que explica cómo construir una trama Ethernet.
- Explicación de la longitud mínima de trama en Ethernet
- Ethernet