Кратко
- URG и указатель срочности не создают отдельный канал: срочная информация остаётся в обычном пространстве последовательностей TCP.
- RFC 793 содержал две несовместимые трактовки границы. RFC 1122 выбрал «последний срочный байт», а RFC 6093 затем согласовал стандарт с распространённой практикой «байта после срочных данных».
- RFC 9293 сохраняет современное правило и обязательную поддержку механизма, но не превращает его в полосу приоритета и не рекомендует новым приложениям зависеть от механизма срочных данных.
Когда установлен URG, 16-битный указатель срочности трактуется как положительное смещение от номера последовательности сегмента. Он относится к тому же пространству последовательностей, что и обычные данные. Получатель находится в срочном режиме, пока отмеченная точка опережает RCV.NXT, и возвращается в обычный режим, когда приём достигает её. Байты поэтому остаются внутри потока. Если сокетный API по умолчанию показывает один байт как «внеполосный», это поведение API, а не второй транспортный сервис.
Изначальное противоречие было небольшим, но существенным. Описание заголовка в RFC 793 указывало на байт после срочных данных, тогда как обработка SEND задавала SND.UP равным SND.NXT-1, то есть последнему срочному байту. RFC 1122 выбрал трактовку последнего байта и потребовал поддерживать срочную последовательность любой длины и асинхронно уведомлять приложение. Однако RFC 6093 установил, что рассмотренные широко распространённые реализации следовали трактовке следующего байта. Поэтому документ обновил RFC 793, RFC 1011 и RFC 1122 в соответствии с этой практикой. RFC 9293 сохраняет её как современное обязательное правило.
Изменение указателя, пока получатель уже находится в срочном режиме, может не вызвать нового уведомления приложения. Число срочных вызовов отправителя поэтому не обязано совпадать с числом уведомлений получателя. RFC 6093 также описал некоторые промежуточные устройства, которые очищали URG и обнуляли указатель, но не утверждал, что так делают все. Источники не устанавливают современную долю использования, текущие настройки ОС или частоту атак.
Источники
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров
