stringtranslate.com

Marco de Ethernet

Paquete Ethernet. El SFD (delimitador de trama inicial) marca el final del preámbulo del paquete. Le sigue inmediatamente la trama Ethernet, que comienza con la dirección MAC de destino. [1]

En redes informáticas , una trama Ethernet es una unidad de datos del protocolo de 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 trama inicial (SFD), que forman parte del paquete Ethernet en la capa física . Cada trama Ethernet comienza con un encabezado Ethernet, que contiene las direcciones MAC de destino y origen como sus dos primeros campos. La sección central de la trama son datos de carga útil que incluyen cualquier encabezado de otros protocolos (por ejemplo, Protocolo de Internet ) transportados en la trama. La trama termina con una secuencia de verificación de trama (FCS), que es una verificación de redundancia cíclica de 32 bits que se utiliza 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 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 siguiente tabla muestra el paquete Ethernet completo y la trama dentro, tal como se transmite, para un tamaño de carga útil de hasta una 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 802.1Q opcional consume espacio adicional en el marco. Los tamaños de campo para esta opción se muestran entre corchetes en la tabla anterior. IEEE 802.1ad (Q-in-Q) permite múltiples etiquetas en cada marco. Esta opción no se ilustra aquí.

Paquete Ethernet – capa física

Preámbulo y delimitador de marco inicial

Un paquete Ethernet comienza con un preámbulo de siete octetos (56 bits) y un delimitador de trama inicial (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. El preámbulo va seguido del SFD, que termina con un 1 en lugar de un 0, para romper el patrón de bits del preámbulo y señalar el inicio de la trama real. [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 , GMII , RGMII , SGMII , XGMII ). La representación del preámbulo y de la SFD depende del ancho del bus:

El SFD es seguido inmediatamente por la dirección MAC de destino , que es el primer campo en una trama Ethernet.

Marco – capa de enlace de datos

El encabezado presenta las direcciones MAC de destino y de origen (cada una de seis octetos de longitud), el campo EtherType y, opcionalmente, una etiqueta IEEE 802.1Q o IEEE 802.1ad .

El campo EtherType tiene una longitud de dos octetos y se puede utilizar para dos propósitos diferentes. Los valores de 1500 o menos significan que se utiliza para indicar el tamaño de la carga útil en octetos, mientras que los valores de 1536 o más 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 IEEE 802.1ad , si está presente, es un campo de cuatro octetos que indica la pertenencia a la LAN virtual (VLAN) y la prioridad IEEE 802.1p . Los dos primeros octetos de la etiqueta se denominan identificador de identificación de protocolo de etiqueta (TPID) y funcionan como 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 un requisito de transmisión mínima de trama de 64 octetos (bytes). [e] Si se tienen en cuenta el encabezado y el FCS, la carga útil mínima es de 42 octetos cuando hay una etiqueta 802.1Q [f] y de 46 octetos cuando no hay ninguna. Cuando la carga útil real es menor que el mínimo, se agregan octetos de relleno en consecuencia. Los estándares IEEE especifican una carga útil máxima de 1500 octetos. Las tramas jumbo no estándar permiten cargas útiles más grandes en redes diseñadas para admitirlas.

Secuencia de comprobación de cuadros

La secuencia de verificación de trama (FCS) es una comprobación de redundancia cíclica (CRC) de cuatro octetos que permite la detección de datos corruptos dentro de toda la trama tal como se recibe en el lado del receptor. Según el estándar, el valor FCS se calcula como una función de los campos de la trama MAC protegida: dirección de origen y destino, campo de longitud/tipo, datos del cliente MAC y relleno (es decir, todos los campos excepto el FCS).

Según el estándar, este cálculo se realiza utilizando el algoritmo CRC-32 de desplazamiento a la izquierda ( polinomio = 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 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á primero tanto los datos como el bit menos significativo del CRC, lo que dará como resultado transmisiones idénticas.

El estándar establece que el receptor debe calcular un nuevo FCS a medida que recibe los datos y luego comparar el FCS recibido con el 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 en búfer octetos de datos, el receptor normalmente utiliza 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 utilizar 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 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 marco – capa física

El final de una trama se indica generalmente mediante el símbolo de fin de flujo de datos en la capa física o mediante 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 mediante la pérdida de la portadora. Las capas físicas posteriores utilizan un símbolo o secuencia de fin de datos o fin de flujo explícito 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 que se transmita una trama. [6] [7]

Brecha entre paquetes: capa física

El intervalo 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 octetos) de estado de línea inactiva antes de transmitir el siguiente paquete.

Tipos

Existen varios tipos de tramas Ethernet:

Los distintos tipos de trama tienen distintos formatos y valores MTU , pero pueden coexistir en el mismo medio físico. La diferenciación entre los tipos de trama es posible según la tabla de la derecha.

Además, los cuatro tipos de tramas Ethernet pueden contener 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 la trama máxima 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 son el valor 0x8100 del identificador de protocolo de etiqueta (TPID). Este se encuentra en el mismo lugar que el campo EtherType/Length en tramas sin etiquetar, por lo que un valor EtherType de 0x8100 significa 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 la identificación de VLAN). La etiqueta Q va seguida del resto de la trama, utilizando uno de los tipos descritos anteriormente.

Ethernet II

El entramado Ethernet II (también conocido como DIX Ethernet , llamado así por DEC , Intel y Xerox , los principales participantes en su diseño [8] ), define el campo EtherType de dos octetos en un marco Ethernet , precedido por las direcciones MAC de destino y origen, que identifica un protocolo de capa superior encapsulado por los datos del marco. En particular, un valor EtherType de 0x0800 indica que el marco contiene un datagrama IPv4 , 0x0806 indica un datagrama ARP y 0x86DD indica un datagrama IPv6 . Consulte EtherType § Valores para obtener más información.

El formato de trama Ethernet más común, tipo II

A medida que este estándar desarrollado por la industria pasó por un proceso de estandarización formal del IEEE , el campo EtherType se cambió a un campo de longitud (de datos) en el nuevo estándar 802.3. [h] Dado que el destinatario aún necesita saber cómo interpretar la trama, el estándar requirió un encabezado IEEE 802.2 para seguir la longitud y especificar el tipo. Muchos años después, el estándar 802.3x-1997 y versiones posteriores del estándar 802.3 aprobaron formalmente ambos tipos de tramado. El tramado Ethernet II es el 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 tramas Ethernet II y otras que utilizan la versión original de tramas 802.3 se utilicen en el mismo segmento Ethernet, los valores de EtherType deben ser mayores o iguales a 1536 (0x0600). Ese 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, exclusivos, 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.

IEEE 802.3 sin procesar de Novell

El formato de trama 802.3 "sin procesar" de Novell se basaba en el trabajo inicial de 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 utilizaron ningún encabezado LLC, sino que iniciaron el paquete IPX directamente después del campo de longitud. Esto no se ajusta al estándar IEEE 802.3, pero como IPX siempre tiene FF como los dos primeros octetos (mientras que en IEEE 802.2 LLC ese patrón es teóricamente posible pero extremadamente improbable), en la práctica esto suele coexistir en el cable con otras implementaciones de Ethernet, con la notable excepción de algunas formas tempranas de DECnet que se confundieron con esto.

Novell NetWare utilizó este tipo de trama de forma predeterminada hasta mediados de los noventa y, como NetWare estaba muy extendido en aquel momento, mientras que IP no, en algún momento la mayor parte del tráfico Ethernet del mundo se realizó sobre 802.3 "sin procesar" que transportaba IPX. Desde NetWare 4.10, NetWare utiliza por defecto IEEE 802.2 con LLC (NetWare Frame Type Ethernet_802.2) cuando se 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 conexión como sin conexión.

Actualmente, la encapsulación IEEE 802.2 LLC no se utiliza ampliamente en redes comunes, con la excepción de grandes instalaciones corporativas 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 utiliza en FDDI, Token Ring, IEEE 802.11 (con la excepción de la banda de 5,9 GHz , donde utiliza EtherType) [13] y otras LAN IEEE 802. IPv6 también se puede transmitir a través de Ethernet utilizando IEEE 802.2 LLC SAP/SNAP, pero, de nuevo, eso casi nunca se utiliza.

IEEE 802.2 SNAP

Al examinar el encabezado LLC 802.2, es posible determinar si va seguido de un encabezado SNAP. El encabezado 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 se configuran con el valor 0xAA, el encabezado LLC va seguido de un encabezado SNAP. El encabezado SNAP permite utilizar valores EtherType con todos los protocolos IEEE 802, además de admitir espacios de identificación de protocolo privados.

En IEEE 802.3x-1997, se modificó el estándar IEEE Ethernet para permitir explícitamente el uso del campo de 16 bits después de las direcciones MAC para usarse como campo de longitud o campo de tipo.

El conjunto de protocolos AppleTalk v2 en Ethernet (" EtherTalk ") utiliza encapsulación IEEE 802.2 LLC + SNAP.

Máximo rendimiento

Podemos calcular la sobrecarga del protocolo para Ethernet como un porcentaje (tamaño del paquete incluido 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 máximo del paquete es de 1500 octetos de carga útil + 8 octetos de preámbulo + 14 octetos de encabezado + 4 octetos de final + 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. El rendimiento máximo para Ethernet 100BASE-TX es, en consecuencia, 97,53 Mbit/s sin 802.1Q y 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. Solo considera el uso del canal sin tener en cuenta la naturaleza de los datos transmitidos, ya sea carga útil o sobrecarga. En la capa física, el canal de enlace y el equipo no conocen la diferencia 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 acuses de recibo. El tiempo empleado en transmitir datos incluye datos y acuses de recibo.

Marcos pequeños

Una trama runt es una trama Ethernet que tiene una longitud menor que la mínima de 64 octetos de IEEE 802.3. Las tramas runt suelen deberse a colisiones ; otras posibles causas son una tarjeta de red que funciona mal , un desbordamiento del búfer , una falta de coincidencia de dúplex o problemas de software. [14]

Notas

  1. ^ La secuencia de verificación de trama (FCS) utiliza un orden de bits diferente. [3]
  2. ^ Los patrones de bits en el preámbulo y el delimitador de inicio de trama se escriben como cadenas de bits, con el primer bit transmitido a la izquierda ( no como valores de octetos, que en Ethernet se transmiten primero con los bits menos significativos). Esta notación coincide con la utilizada en el estándar IEEE 802.3.
  3. ^ La carga útil puede ser de 42 octetos si hay una etiqueta 802.1Q. El mínimo es de 46 octetos sin ella.
  4. ^ El software de rastreo de paquetes no muestra el preámbulo y el delimitador de trama inicial porque estos bits son eliminados en la capa 1 de OSI por el controlador de interfaz de red (NIC) antes de pasarlos a la capa 2 de OSI , que es donde los rastreadores de paquetes recopilan sus datos. Hay rastreadores de capa 2 que pueden capturar y mostrar el preámbulo y el delimitador de trama inicial, pero son costosos y se utilizan principalmente para detectar problemas relacionados con la conectividad física.
  5. ^ El tamaño mínimo de la carga útil está determinado por el tiempo de ranura de 512 bits utilizado para la detección de colisiones en la arquitectura LAN Ethernet.
  6. ^ Los mínimos de 42 y 46 octetos son válidos cuando está presente 802.1Q. [4]
  7. ^ Se utilizó una trama Ethernet versión 1 para los primeros prototipos de Ethernet y contaba con direcciones MAC de 8 bits y nunca se implementó comercialmente.
  8. ^ Los marcos Ethernet originales definen su longitud con el marco que los rodea, en lugar de con un recuento de longitud explícito.

Referencias

  1. ^ abcde 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.
  2. ^ ab "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.
  3. ^ 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 primero con el octeto de orden superior. Dentro de cada octeto, los bits se transmiten primero con el bit menos significativo. [...] Cada octeto de la trama MAC, con excepción del FCS, se transmite primero con el bit menos significativo.
  4. ^ "Anexo G". Estándar IEEE para redes de área local y metropolitana: puentes de control de acceso al medio (MAC) y redes de área local con puentes virtuales . doi :10.1109/IEEESTD.2011.6009146. ISBN 978-0-7381-6708-4.
  5. ^ "Especificación de rutinas CRC V4.5.0 R4.1 Rev 3" (PDF) . AUTOSAR . pág. 24. Archivado desde el original (PDF) el 11 de junio de 2020 . Consultado el 30 de enero de 2020 .
  6. ^ Charles E. Spurgeon (febrero de 2000). Ethernet: la guía definitiva . O'Reilly. pp. 41, 47. ISBN 9780596552824. Recuperado el 30 de junio de 2014 .
  7. ^ "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.
  8. ^ Drew Heywood; Zubair Ahmad (2001). Servicios de red de Windows 2000 de Drew Heywood . Sams. pág. 53. ISBN 978-0-672-31741-5.
  9. ^ Comité de estándares LAN MAN de la IEEE Computer Society (20 de marzo de 1997). IEEE Std 802.3x-1997 y IEEE Std 802.3y-1997 . The Institute of Electrical and Electronics Engineers, Inc., págs. 28–31.
  10. ^ "3.2.6 Campo de 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.
  11. ^ Don Provan (17 de septiembre de 1993). "Ethernet Framing". Grupo de noticias : comp.sys.novell. Usenet:  [email protected].(Versión en formato HTML archivada el 18 de abril de 2015 en Wayback Machine ) — una serie clásica de publicaciones de Usenet de Don Provan de Novell que han llegado a numerosas preguntas frecuentes y se consideran ampliamente la respuesta definitiva al uso del tipo de marco de Novell.
  12. ^ 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.
  13. ^ Computer Society, IEEE (2016). IEEE Std 802.11-2016: Parte 11: Control de acceso al medio de LAN inalámbrica IEEE (MAC) y especificaciones de capa física (PHY) . Nueva York, NY: IEEE. pág. 249.
  14. ^ "Solución de problemas de Ethernet". Cisco Systems . Consultado el 13 de agosto de 2016 .

Lectura adicional