Позасмугові дані () — у комп'ютерних мережах це дані, які передаються потоком, концептуально незалежним від основного внутрішньосмугового () потоку даних.

Механізм позасмугових даних має надаватися як невід'ємна властивість каналу передавання даних і протоколу зв'язку, а не вимагати створення окремого каналу та кінцевих точок зв'язку. Термін «позасмугові дані», імовірно, походить від позасмугової сигналізації (), яка використовується в телекомунікаційній галузі.

Приклади Протокол SATA використовує позасмугові дані.

TCP TCP реалізує позасмугові дані за допомогою «покажчика терміновості» (), який позначає певні дані в переданому потоці як позасмугові. На жаль, давні розбіжності між RFC 793 and RFC 1122 обмежують зручність використання цієї функції протоколу TCP; проте вона все ще активно використовується деякими прикладними протоколами, зокрема Telnet. TCP дозволяє передавати лише один байт позасмугових даних.

Іншим прикладом використання позасмугових даних є протокол FTP. Припустимо, клієнт ініціював передавання великого файлу на сервер і в певний момент вирішив скасувати передавання. Файл може містити будь-які послідовності байтів, а додатковий заголовок у кожному пакеті прикладного рівня знижував би продуктивність. Тому передається спеціально позначений пакет TCP, після чого передавання даних припиняється.

Сокети Для надсилання (send) та приймання (recv) позасмугових даних у сокетах Берклі в бітовій масці прапорців має бути вказаний прапорець MSG_OOB. Системний виклик poll дозволяє відстежувати появу позасмугових даних за допомогою прапорця POLLPRI. Також ці дані можна отримувати в асинхронному режимі за допомогою сигналу SIGURG. Для цього необхідно встановити прапорець F_SETOWN для файлового дескриптора сокета за допомогою системного виклику fcntl.

Примітки