En redes informáticas, una trama Ethernet es una unidad de datos de protocolo de capa de enlace de datos y utiliza los mecanismos de transporte de capa física de Ethernet subyacentes. En otras palabras, una unidad de datos en un enlace Ethernet transporta una trama Ethernet como su carga útil.
Una trama Ethernet está precedida por un preámbulo y un delimitador de trama de inicio (SFD), que forman parte del paquete de Ethernet en la capa física. Cada trama Ethernet comienza con un encabezado que contiene las direcciones MAC de origen y destino como sus dos primeros campos. La sección central de la trama son los datos de carga útil, incluidos los encabezados de otros protocolos (por ejemplo, el Protocolo de Internet) incluidos en la trama. La trama finaliza con una secuencia de verificación de trama (FCS), que es una verificación de redundancia cíclica de 32 bits utilizada para detectar cualquier corrupción de datos en tránsito.
Estructura Un paquete de datos en el cable y la trama como su carga útil consisten en datos binarios. Ethernet transmite datos con el byte más significativo primero; dentro de cada byte, sin embargo, el bit menos significativo se transmite primero.
La estructura interna de una trama Ethernet se especifica en la norma IEEE 802.3. La siguiente tabla muestra el paquete Ethernet completo y la trama interna, tal como se transmite, para el tamaño de la carga útil hasta la MTU de 1500 bytes. Algunas implementaciones de Gigabit Ethernet y otras variantes de mayor velocidad de Ethernet admiten tramas más grandes, conocidas como tramas jumbo. +802.3 paquete de Ethernet y estructura de marcoCapaPreámbuloDelimitador del inicio de la tramaMAC DestinoMAC Fuente802.1Q etiqueta (opcional)Ethertype (Ethernet II) o longitud (IEEE 802.3)Carga útilSecuencia de control de trama (CRC de 32 bits)Interpacket Vacío7 bytes1 byte6 bytes6 bytes(4 bytes)2 bytes46-1500 bytes4 bytes12 bytesCapa 2 marco de EthernetCapa 1 paquete de Ethernet & IPG← 12 bytes → La etiqueta 802.1Q opcional consume espacio adicional en la trama. Los tamaños de campo para esta opción se muestran entre paréntesis en la tabla anterior. IEEE 802.1ad (Q-in-Q) permite múltiples etiquetas en cada cuadro. Esta opción no se ilustra aquí.
Paquete Ethernet – capa física
Preámbulo y delimitador de cuadro de inicio vínculo=//upload.wikimedia.org/wikipedia/commons/thumb/4/42/Ethernet_frame.svg/570px-Ethernet_frame.svg.png|derecha|miniaturadeimagen| Una trama Ethernet dentro de un paquete Ethernet, con SFD marcando el final del preámbulo del paquete e indicando el comienzo de la trama. Un paquete Ethernet comienza con un preámbulo de siete bytes y un delimitador de trama de inicio (SFD) de un bytes.
El preámbulo consta de un patrón de 56 bits (siete bytes) de alternancia de 1 y 0 bits, que permite que los dispositivos de la red sincronicen fácilmente los relojes de sus receptores, proporcionando sincronización a nivel de bits. Le sigue el SFD para proporcionar sincronización a nivel de byte y marcar una nueva trama entrante. Para las variantes de Ethernet que transmiten bits en serie en lugar de símbolos más grandes, el patrón de bits en el cable (no codificado) para el preámbulo junto con la parte SFD de la trama es 10101010 10101010 10101010 10101010 10101010 10101010 10101010 10101011; Los bits se transmiten en orden, de izquierda a derecha.
El SFD es el valor de ocho bits (un byte) que marca el final del preámbulo, que es el primer campo de un paquete de Ethernet e indica el comienzo de la trama de Ethernet. El SFD está diseñado para romper el patrón de bits del preámbulo y señalar el inicio de la trama real. El SFD es seguido inmediatamente por la dirección MAC de destino, que es el primer campo en una trama de Ethernet. El SFD es la secuencia binaria 10101011 (0xD5, decimal 213 en el orden del primer bit LSB de Ethernet).
Se requiere un circuito transceptor de capa física (PHY para abreviar) para conectar la MAC Ethernet al medio físico. La conexión entre PHY y MAC es independiente del medio físico y utiliza un bus de la familia de interfaces independientes de medios (MII, GMII, RGMII, SGMII, XGMII). Los chips transceptores Fast Ethernet utilizan el bus MII, que es un bus ancho de cuatro bits (un nibble), por lo que el preámbulo se representa con 14 instancias de 0x5 y el SFD es 0x5 0xD.
Trama: capa de enlace de datos
Encabezado El encabezado incluye direcciones MAC de origen y destino (cada una de seis bytes de longitud), el campo EtherType y, opcionalmente, una etiqueta IEEE 802.1Q o una etiqueta IEEE 802.1ad.
El campo EtherType tiene una longitud de dos bytes y se puede utilizar para dos propósitos diferentes. Los valores de 1500 y por debajo significan que se utiliza para indicar el tamaño de la carga útil en bytes, mientras que los valores de 1536 y superiores indican que se utiliza como EtherType, para indicar qué protocolo está encapsulado en la carga útil de la trama. Cuando se utiliza como EtherType, la longitud de la trama está determinada por la ubicación del espacio entre paquetes y la secuencia de verificación de trama válida (FCS).
La etiqueta IEEE 802.1Q o la etiqueta IEEE 802.1ad, si está presente, es un campo de cuatro bytes que indica la pertenencia a la LAN virtual (VLAN) y la prioridad IEEE 802.1p. Los dos primeros bytes de la etiqueta se denominan el entificador de ID de protocolo de etiqueta (TPID) y se duplican como el campo EtherType, lo que indica que la trama está etiquetada con 802.1Q o 802.1ad. 802.1Q usa un TPID de 0x8100. 802.1ad usa un TPID de 0x88a8.
Carga útil La carga útil es un campo de longitud variable. Su tamaño mínimo se rige por el requisito de una transmisión de trama mínima de 64 bytes (bytes). Teniendo en cuenta el encabezado y FCS, la carga útil mínima es de 42 bytes cuando una etiqueta 802.1Q está presente y 46 bytes cuando está ausente. Cuando la carga útil real es menor que el mínimo, los bytes de relleno se agregan en consecuencia. Los estándares IEEE especifican una carga útil máxima de 1500 bytes. Las tramas gigantes no estándar permiten cargas útiles más grandes en redes creadas para admitirlas.
Secuencia de verificación de tramas La secuencia de verificación de tramas (FCS) es una verificación de redundancia cíclica (CRC) de cuatro bytes que permite la detección de datos erróneos dentro de la trama completa tal como se reciben en el lado del receptor. De acuerdo con el estándar, el valor de FCS se calcula en función de los campos de trama MAC protegidos: dirección de origen y destino, campo de longitud/tipo, datos de cliente MAC y relleno (es decir, todos los campos excepto FCS).
Según el estándar, este cálculo se realiza mediante el algoritmo de desplazamiento a la izquierda CRC32 BZIP2 (poli = 0x4C11DB7, 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 FCS se transmite primero con el bit más significativo (bit 31). Una alternativa es calcular un CRC utilizando el desplazamiento a la derecha CRC32 (poli = 0xEDB88320, CRC inicial = 0xFFFFFFFF, CRC se complementa posteriormente, verifique el valor = 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 de CRC primero, lo que da como resultado transmisiones idénticas.
El estándar establece que el receptor debe calcular una nueva FCS a medida que se reciben los datos y luego comparar la FCS recibida con la FCS que el receptor ha calculado. Una alternativa es calcular un CRC tanto en los datos recibidos como en el 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 la generación del CRC). Dado que los datos se reciben primero con el bit menos significativo, y para evitar tener que almacenar bytes de datos en el búfer, el receptor suele utilizar el desplazamiento a la derecha CRC32. Esto hace que el valor de "verificar" (a veces llamado "verificación mágica") sea 0x2144DF1C.
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 la complementación del CRC se puede realizar 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 de desplazamiento a la derecha sería el complemento de 0x2144DF1C = 0xDEBB20E3, y para un desplazamiento a la izquierda implementación, el complemento de 0x38FB2284 = 0xC704DD7B.
Fin de la trama: capa física El final de una trama suele estar indicado por 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 pérdida de la portadora. Las capas físicas posteriores utilizan un fin de datos explícito o un símbolo o secuencia de fin de flujo para evitar la ambigüedad, 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 transmitir una trama.
Brecha entre paquetes – capa física La brecha entre paquetes (IPG) es el tiempo de inactividad entre paquetes. Después de enviar un paquete, los transmisores deben transmitir un mínimo de 96 bits (12 bytes) de estado de línea inactiva antes de transmitir el siguiente paquete.
Tipos +Diferenciación de tramas Ethernet Tipo de trama Ethertype o longitud La carga útil comienza dos bytes EthernetII ≥ 1536 Ningún Novell sin procesar IEEE 802.3 ≤ 1500 0xFFFF IEEE 802.2 LLC ≤ 1500 Otro IEEE 802.2 SNAP ≤ 1500 0xAAAA Existen varios tipos de tramas Ethernet:
El marco Ethernet II, o Ethernet versión 2, o marco DIX es el tipo más común en uso hoy en día, ya que a menudo lo usa directamente el Protocolo de Internet. Trama de variación no estándar IEEE 802.3 sin procesar de Novell Trama de control de enlace lógico (LLC) IEEE 802.2 Trama del protocolo de acceso a subred (SNAP) IEEE 802.2
Los diferentes tipos de tramas tienen diferentes formatos y valores de MTU, pero pueden coexistir en el mismo medio físico. La diferenciación entre los tipos de tramas es posible según la tabla de la derecha.
Además, los cuatro tipos de tramas de Ethernet pueden contener opcionalmente una etiqueta IEEE 802.1Q para identificar a qué VLAN pertenece y su prioridad (calidad de servicio). Este encapsulado se define en la especificación IEEE 802.3ac y aumenta la trama máxima en 4 bytes.
La etiqueta IEEE 802.1Q, si está presente, se coloca entre la Dirección de origen y los campos EtherType o Longitud. Los dos primeros bytes de la etiqueta son el valor del identificador de protocolo de etiqueta (TPID) de 0x8100. Está ubicado en el mismo lugar que el campo EtherType/Length en tramas sin etiquetar, por lo que un valor de EtherType de 0x8100 significa que el marco está etiquetado y el verdadero EtherType/Length se encuentra después de la etiqueta Q. El TPID va seguido de dos bytes que contienen la información de control de etiquetas (TCI) (la prioridad IEEE 802.1p (calidad de servicio) y la identificación de VLAN). La etiqueta Q es seguida por el resto del marco, utilizando uno de los tipos descritos anteriormente.
Ethernet II