# IEEE 802.4

IEEE 802.4 (Token Bus) es un protocolo de la subcapa MAC de Enlace de Datos que implementa una red lógica en anillo con paso de testigo sobre una red física de cable coaxial.

## Orígenes

Las redes que siguen este protocolo se han extendido rápidamente, sobre todo por su facilidad de instalación. Sin embargo, tienen un problema que representa un escollo importante en algunas aplicaciones: su carácter probabilístico en la resolución de las colisiones puede provocar retardos importantes en las transmisiones en casos extremos. Algunas aplicaciones no soportan tales retardos, sobre todo las que son críticas en el tiempo, es decir, en aplicaciones en tiempo real, como el control de procesos industriales.
Una red que no tiene el problema de colisiones podría ser una red en anillo, sin embargo, la topología física en anillo tiene desventajas importantes cuando el ámbito de la red es más amplio: es más fácil cablear un edificio con segmentos de cable longitudinales que con líneas circulares. Estas razones pusieron en marcha que la IEEE pensara en un nuevo estándar que aglutinara las ventajas físicas de una red en bus con las lógicas de una red en anillo. El resultado fue el estándar IEEE 802.4, que define una red en bus por paso de testigo. El testigo no es más que una trama de control que informa del permiso que tiene una estación para usar los recursos de la red. Ninguna estación puede transmitir mientras no recibe el testigo que la habilita para hacerlo.

## Estructura

Está físicamente constituida como un bus, semejante al de la red IEEE 802.3, aunque desde el punto de vista lógico la red se organiza como si se tratase de un anillo. Cada estación tiene un número asociado por el que es identificada unívocamente. El testigo es generado por la estación con el número mayor cuando se pone en marcha la red. El testigo se pasa a la estación siguiente en orden descendente de numeración. Esta nueva estación recoge el testigo y se reserva el derecho de emisión. Cuando ha transmitido cuanto necesitaba, o si ha expirado un tiempo determinado, debe generar otro testigo con la dirección de la inmediatamente inferior. El proceso se repite para cada estación de la red. De este modo, todas las estaciones pueden transmitir periódicamente; se trata, por tanto, de un complejo sistema de multiplexación en el tiempo.
Evidentemente, el protocolo MAC de la IEEE 802.4 debe prever el modo en que las estaciones se incorporarán al anillo lógico cuando sean encendidas o, por el contrario, la manera en que se desconectarán, sin interrumpir por ello el procedimiento lógico de paso de testigo.
En la capa física, la red IEEE 802.4 utiliza cable coaxial de 75 ohmios por el que viajarán señales moduladas, es decir, IEEE 802.4 es una red en banda ancha que modula sus señales en el nivel físico. También se permite la utilización de repetidores con objeto de alargar la longitud de la red. Las velocidades de transferencia de datos que prevé esta norma están comprendidas entre 1,5 y 10 Mbps. Hay que hacer notar que aunque la estructura física de la IEEE 802.3 y de la IEEE 802.4 es semejante desde el punto de vista topológico, las normas son totalmente incompatibles desde el punto de vista físico: ni el medio de transmisión es el mismo, ni la codificación de las señales coinciden.

### Trama

El formato de la trama se puede visualizar de la siguiente manera:
Preámbulo - DC - Control Direc. - Direc. destino - Direc. origen - Datos - CRC - DF
* Preámbulo: Este campo es semejante al preámbulo de la IEEE 802.3, que estaba heredado del protocolo HDLC. Se trata de emitir la secuencia binaria “10101010″ en un byte. Este campo es de mucha menor longitud que en la red Ethernet. La misión de este campo como en el caso de Ethernet, es la de sincronizar emisor y receptor.
* Delimitador de comienzo (DC): Consiste en la emisión de una señal distinta de “0″ o “1″; una secuencia prohibida en el código binario durante el tiempo de emisión de un byte. Cualquier estación a la escucha sabe que comienza una trama al leer del canal esta señal prohibida.
* Control de trama: Este campo codifica en un byte el tipo de trama de que se trata. Hay tramas encargadas de transmitir datos, otras de transferir el testigo a otra estación, etc.
* Dirección de destino: En este campo se codifica la dirección de la estación destinataria de la trama.
* Dirección de origen: Es un campo semejante al de dirección de destino, pero ahora es el que envía la trama.
* Campo de datos: En este campo se codifica la información del usuario. Su longitud varía entre 0 y 8.192 bytes, o entre 0 y 8.174 bytes, para tramas con direcciones de seis bytes.
* CRC: Es un campo semejante al de la IEEE 802.3, encargado del control de errores.
* Delimitador de fin (DF): Es un campo idéntico al delimitador de inicio. Su misión es señalizar el final de la trama.
Las tramas de control para el estándar IEEE 802.4 son las siguientes:
Campo de control Nombre Significado
00000000 Reclamo_Testigo Reclama testigo durante inicio anillo
00000001 Solicitud_sucesor1 Permiso para que las estaciones estén en anillo
00000010 Solicitud_sucesor2 Permiso para que las estaciones estén en anillo
00000011 Quien _ sigue Recuperación del testigo perdido
00000100 Resuelve_contienda Cuando múltiples estaciones quieren entrar en el anillo
00001000 Testigo Paso de testigo
00001100 Establece _ sucesor Mensaje de las estaciones que salen o entran en el anillo
* Datos: Q4386278