In
computer networking
A computer network is a set of computers sharing resources located on or provided by network nodes. The computers use common communication protocols over digital interconnections to communicate with each other. These interconnections are ma ...
, out-of-band data is the data transferred through a stream that is independent from the main ''in-band'' data stream. An out-of-band data mechanism provides a conceptually independent channel, which allows any data sent via that mechanism to be kept separate from in-band data. The out-of-band data mechanism should be provided as an inherent characteristic of the data channel and transmission protocol, rather than requiring a separate channel and endpoints to be established.
The term "out-of-band data" probably derives from
out-of-band signaling
In telecommunication, signaling is the use of signals for controlling communications. This may constitute an information exchange concerning the establishment and control of a telecommunication circuit and the management of the network.
Classif ...
, as used in the
telecommunications
Telecommunication is the transmission of information by various types of technologies over wire, radio, optical, or other electromagnetic systems. It has its origin in the desire of humans for communication over a distance greater than that fe ...
industry.
Example case
Consider a networking application that
tunnels
A tunnel is an underground passageway, dug through surrounding soil, earth or rock, and enclosed except for the entrance and exit, commonly at each end. A Pipeline transport, pipeline is not a tunnel, though some recent tunnels have used ...
data from a remote data source to a remote destination. The data being tunneled may consist of any bit patterns. The sending end of the tunnel may at times have conditions that it needs to notify the receiving end about. However, it cannot simply insert a message to the receiving end because that end will not be able to distinguish the message from data sent by the data source. By using an out-of-band mechanism, the sending end can send the message to the receiving end out of band. The receiving end will be notified in some fashion of the arrival of out-of-band data, and it can read the out of band data and know that this is a message intended for it from the sending end, independent of the data from the data source.
Implementations
It is possible to implement out-of-band data transmission using a physically separate channel, but most commonly out-of-band data is a feature provided by a transmission protocol using the same channel as normal data. A typical protocol might divide the data to be transmitted into blocks, with each block having a header word that identifies the type of data being sent, and a count of the data bytes or words to be sent in the block. The header will identify the data as being in-band or out-of-band, along with other identification and routing information. At the receiving end, the protocol looks at the header and routes the data to the normal reception endpoint if it is in-band, and to a separate mechanism if it is out-of-band. Depending on the implementation, there may be some mechanism for notifying or interrupting the receiving application when out-of-band data has arrived.
The most commonly used protocol containing an out-of-band data mechanism is the Internet's
Transmission Control Protocol
The Transmission Control Protocol (TCP) is one of the main protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, the entire suite is commonly ...
. It implements out-of-band data using an "urgent pointer," which marks certain data in the transmitted data stream as out-of-band. Unfortunately, a long-existing discrepancy betwee
RFC 793an
limits the usability of this feature of TCP; nonetheless, it is heavily used by certain standard application protocols, notably the
Telnet
Telnet is an application protocol used on the Internet or local area network to provide a bidirectional interactive text-oriented communication facility using a virtual terminal connection. User data is interspersed in-band with Telnet control i ...
protocol.
On Unix-like computers, out-of-band data can be read with the recv() system call. A process or process group can be configured to receive SIGURG
signal
In signal processing, a signal is a function that conveys information about a phenomenon. Any quantity that can vary over space or time can be used as a signal to share messages between observers. The '' IEEE Transactions on Signal Processing' ...
s when out-of-band data is available for reading on a
socket
Socket may refer to:
Mechanics
* Socket wrench, a type of wrench that uses separate, removable sockets to fit different sizes of nuts and bolts
* Socket head screw, a screw (or bolt) with a cylindrical head containing a socket into which the hexag ...
, by using the F_SETOWN command of the fcntl() system call. This is a form of
asynchronous I/O
In computer science, asynchronous I/O (also non-sequential I/O) is a form of input/output processing that permits other processing to continue before the transmission has finished. A name used for asynchronous I/O in the Windows API is overlappe ...
.
The
Serial Advanced Technology Attachment
SATA (Serial AT Attachment) is a computer bus interface that connects host bus adapters to mass storage devices such as hard disk drives, optical drives, and solid-state drives. Serial ATA succeeded the earlier Parallel ATA (PATA) standard to ...
(SATA) protocol commonly used to connect
disk drive
Disk storage (also sometimes called drive storage) is a general category of storage mechanisms where data is recorded by various electronic, magnetic, optical, or mechanical changes to a surface layer of one or more rotating disks. A disk drive is ...
s to computers implements an out-of-band data protocol.
The
Consultative Committee for Space Data Systems
The Consultative Committee for Space Data Systems (CCSDS) was founded in 1982 for governmental and quasi-governmental space agencies to discuss and develop standards for space data and information systems. Currently composed of "eleven member agenc ...
' Space Data Link Protocol implements an out-of-band mechanism via the "command" flag. When set, the received data is to be interpreted and acted on by the data link receiver, rather than being telemetry/telecommand information to be passed to the destination.
Issues
Some sources define "out-of-band data" as including the characteristic that out-of-band data should be prioritized ahead of queued in-band data.
This is reinforced by TCP's (RFC 793) referring to the out-of-band data mechanism as "urgent data." However, prioritization is neither an essential nor a necessarily desirable characteristic of out-of-band data; moreover, TCP implementations vary greatly on how they treat the urgency of out-of-band data.
See also
*
Delimiter involving in-band and out-of-band data viewed on the level of symbolic representation.
*
Out-of-band management
In systems management, out-of-band management involves the use of management interfaces (or serial ports) for managing networking equipment. Out-of-band (''OOB'') management is a networking term which refers to accessing and managing network infras ...
involving the use of a dedicated management channel for device maintenance.
*
DOCSIS Set-top Gateway
DOCSIS Set-top Gateway (or DSG) is a specification describing how out-of-band data is delivered to a cable set-top box. Cable set-top boxes need a reliable source of out of band data for information such as program guides, channel lineups, and up ...
(or DSG), a specification describing how out-of-band data is delivered to a cable set-top box
References
{{Reflist, 40em
Computer networking