stringtranslate.com

Внеполосные данные

В компьютерных сетях внеполосные данные — это данные, передаваемые через поток, независимый от основного внутриполосного потока данных. Механизм внеполосных данных обеспечивает концептуально независимый канал, который позволяет хранить любые данные, отправленные через этот механизм, отдельно от внутриполосных данных. Механизм внеполосной передачи данных должен быть предусмотрен как неотъемлемая характеристика канала данных и протокола передачи, а не требовать установления отдельного канала и конечных точек. [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]

Смотрите также

Рекомендации

  1. ^ аб Лен (20 октября 2011 г.). «Внешние данные, срочный режим TCP и перекрывающийся ввод-вывод». Serverframework.com . Проверено 21 февраля 2014 г.
  2. ^ «Глава 11: Системы сигнализации». Университет Джорджа Мейсона . Проверено 21 февраля 2014 г.
  3. ^ О реализации срочного механизма TCP. сек. 2.2. Идентификатор Draft-ietf-tcpm-urgent-data-01.
  4. ^ СПЕЦИФИКАЦИЯ ПРОТОКОЛА TELNET. дои : 10.17487/RFC0854 . РФК 854.
  5. ^ Корпорация Альтера. «Примечания по применению AN-635-1.0 для реализации протоколов SATA и SAS в устройствах Altera» (PDF) . Архивировано из оригинала (PDF) 4 марта 2016 года . Проверено 21 февраля 2014 г.
  6. ^ «Протокол космической передачи данных TC» (PDF) . CCSDS 232.0-B-1 . Консультативный комитет по системам космических данных . Проверено 21 февраля 2014 г.
  7. ^ Стивенс, В. Ричард; Раго, Стивен А. (2005). «16,7». Расширенное программирование в среде Unix: второе издание. Аддисон-Уэсли Профессионал. п. 960. ИСБН 0201433079. Проверено 21 февраля 2014 г.