В компьютерных сетях внеполосные данные — это данные, передаваемые через поток, который независим от основного внутриполосного потока данных. Механизм внеполосных данных обеспечивает концептуально независимый канал, который позволяет хранить любые данные, отправленные через этот механизм, отдельно от внутриполосных данных. Механизм внеполосных данных должен быть предоставлен как неотъемлемая характеристика канала данных и протокола передачи, а не требовать установки отдельного канала и конечных точек. [1] Термин «внеполосные данные», вероятно, происходит от внеполосной сигнализации , используемой в телекоммуникационной отрасли. [2]
Рассмотрим сетевое приложение, которое туннелирует данные из удаленного источника данных в удаленный пункт назначения. Туннелируемые данные могут состоять из любых битовых шаблонов. Отправляющий конец туннеля может иногда иметь условия, о которых ему необходимо уведомить принимающий конец. Однако он не может просто вставить сообщение принимающему концу, потому что тот конец не сможет отличить сообщение от данных, отправленных источником данных. Используя механизм внеполосной передачи, отправляющий конец может отправить сообщение принимающему концу внеполосной передачи. Получающий конец будет уведомлен каким-то образом о прибытии внеполосных данных, и он может прочитать внеполосные данные и узнать, что это сообщение, предназначенное для него с отправляющего конца, независимо от данных из источника данных.
Можно реализовать передачу данных вне диапазона с использованием физически отдельного канала, но чаще всего данные вне диапазона являются функцией, предоставляемой протоколом передачи, использующим тот же канал, что и обычные данные. Типичный протокол может разделить данные для передачи на блоки, причем каждый блок имеет слово заголовка, которое идентифицирует тип отправляемых данных, и количество байтов данных или слов для отправки в блоке. Заголовок будет идентифицировать данные как находящиеся внутри диапазона или вне диапазона, вместе с другой информацией об идентификации и маршрутизации. На приемном конце протокол просматривает заголовок и направляет данные в обычную конечную точку приема, если она находится внутри диапазона, и в отдельный механизм, если она находится вне диапазона. В зависимости от реализации может быть какой-то механизм для уведомления или прерывания принимающего приложения при поступлении данных вне диапазона.
Наиболее часто используемый протокол, содержащий механизм внеполосных данных, — это протокол управления передачей Интернета . Он реализует внеполосные данные с помощью «указатель срочности», который отмечает определенные данные в передаваемом потоке данных как внеполосные. К сожалению, давно существующее несоответствие между RFC 793 и RFC 1122 ограничивает возможность использования этой функции TCP; [3] тем не менее, он активно используется некоторыми стандартными прикладными протоколами, в частности протоколом Telnet . [4]
На компьютерах Unix, внеполосные данные могут быть прочитаны с помощью системного вызова recv(). Процесс или группа процессов могут быть настроены на получение сигналов SIGURG , когда внеполосные данные доступны для чтения на сокете , с помощью команды F_SETOWN системного вызова fcntl(). Это форма асинхронного ввода-вывода .
Протокол Serial Advanced Technology Attachment (SATA), обычно используемый для подключения дисководов к компьютерам, реализует протокол передачи данных по внеполосному каналу. [5]
Консультативный комитет по системам космических данных "Протокол космических данных" реализует механизм внеполосной связи через флаг "команда". При установке, полученные данные должны интерпретироваться и обрабатываться приемником канала передачи данных, а не быть телеметрической/телекомандной информацией, которая должна быть передана получателю. [6]
Некоторые источники определяют «внеполосные данные» как включающие характеристику, что внеполосные данные должны иметь приоритет перед поставленными в очередь внутриполосными данными. [7] Это подкрепляется TCP (RFC 793), ссылающимся на механизм внеполосных данных как на «срочные данные». Однако приоритезация не является ни существенной, ни обязательно желательной характеристикой внеполосных данных; более того, реализации TCP сильно различаются в том, как они обрабатывают срочность внеполосных данных. [1]
Delimiter
включая внутриполосные и внеполосные данные, рассматриваемые на уровне символического представления.