Los datos fuera de banda son una ruta de transmisión lógicamente independiente entre un par de sockets de flujo. En las redes informáticas , los datos fuera de banda se refieren a los datos transmitidos a través de un flujo distinto al principal (dentro de banda). Esta tecnología proporciona un canal independiente desde el punto de vista del programador y permite delimitar datos. Físicamente, los datos fuera de banda se transmiten por el mismo canal que los datos normales. [1] Es probable que el término se derive de las señales fuera de banda utilizadas en la industria de las telecomunicaciones . [2]
El protocolo Serial Advanced Technology Attachment implementa datos fuera de banda. [3]
TCP implementa datos fuera de banda utilizando un "indicador de urgencia" que marca ciertos datos en el flujo transmitido como fuera de banda. Desafortunadamente, las inconsistencias de larga data entre RFC 793 y RFC 1122 limitan la usabilidad de esta característica de TCP; sin embargo, algunos protocolos de aplicación lo utilizan activamente, en particular Telnet . TCP solo permite que se transmita un byte de datos fuera de banda.
También un ejemplo del uso de datos fuera de banda es el protocolo FTP . Suponga que un cliente inició una transferencia de un archivo grande a un servidor y en algún momento decidió cancelar la transferencia. El archivo puede contener cualquier secuencia de bytes y el encabezado adicional en cada paquete de capa de aplicación reduce el rendimiento. Por lo tanto, se transmite un paquete TCP especialmente marcado y se detiene la transmisión de datos.
Para enviar ( send) y recibir ( recv) datos fuera de banda en los sockets de Berkeley , se debe especificar la máscara de bits de bandera MSG_OOB. La llamada al sistema pollle permite monitorear la ocurrencia de datos fuera de banda usando la bandera POLLPRI. Además, estos datos se pueden recibir de forma asíncrona utilizando la señal SIGURG . Para hacer esto, configure el indicador F_SETOWN en el descriptor de archivo de socket mediante una llamada al sistema fcntl.