Кратко

  • Acceptance/refusal в RFC 1221 сообщал, как локальный получатель распорядился нумерованным сообщением на линии Host–WPS.
  • Принятие означало, что сообщение поступило с этой линии и не было здесь отклонено. Спецификация прямо исключала сквозное подтверждение и гарантию доставки хосту назначения.
  • A/R можно было отключить для всего интерфейса или для отдельного сообщения с номером ноль. Поэтому отсутствие ответа само по себе не доказывало ни потерю, ни доставку.

Квитанцию выдавал первый узел

RFC 1221 — опубликованная в апреле 1991 года вторая версия Host Access Protocol, подготовленная W. Edmond. Карточка RFC Editor относит документ к Informational и указывает, что он обновляет большую, но не всю часть RFC 907. IETF Datatracker помещает его в поток Legacy и отмечает отсутствие формального статуса в процессе стандартизации IETF.

При этом документ описывает реализованный протокол. HAP работал в TWBNET, а также в подключённых маршрутизаторах и хостах; его предыстория восходила к спутниковым WBNET и SATNET. Это свидетельство исторического внедрения, но не перечень установок, не журнал конкретной передачи и не доказательство того, что каждый узел использовал все функции второй версии.

HAP находился ниже IP и других сетевых протоколов, но выше механизма линии между хостом и локальным WPS. Он был полнодуплексным и ненадёжным. Если на линии доступа требовалась безошибочная упорядоченная передача, её должен был обеспечить нижний уровень. Датаграммы оставались независимыми, неупорядоченными и без гарантии доставки. Stream мог резервировать полосу, однако резерв ресурса не являлся квитанцией о конкретном сообщении от приложения назначения.

A/R отвечал на меньший вопрос. При включённом механизме каждое направление линии использовало восьмибитные номера сообщений. Получатель возвращал принятие, когда забирал указанное сообщение с линии доступа и не отклонял его. При невозможности принять он мог сообщить отказ и причину, чтобы отправитель решил, повторять ли попытку.

RFC 1221 назвал A/R внешним проявлением внутреннего управления потоком и перегрузкой у получателя. Значит, автор записи — локальный хост или WPS, а предмет — его локальное решение. Далее спецификация недвусмысленно ограничила вывод: принятие от WPS не было сквозным подтверждением, не гарантировало доставку хостам назначения и даже не обещало, что сеть позднее не отбросит сообщение намеренно. Основной задачей было управление буферами хоста.

Номер не становился глобальной идентичностью

Номера росли по модулю 256, пропускали ноль, а в каждом направлении разрешалось не более 127 ожидающих сообщений. Датаграммы и сообщения stream делили одну последовательность. Так ограничивалось окно локального контроля потока, но не создавался идентификатор, который однозначно прошёл бы через все WPS до удалённой операции.

Кроме того, ответ мог сворачивать несколько событий. Явное принятие N подразумевало принятие некоторых более ранних ожидающих сообщений. Отказы с одной причиной могли охватывать группу. Разные элементы A/R агрегировались или передавались вместе с обратными данными. Отдельное слово A/R без направления, окна и предыдущих ответов не восстанавливало полный журнал.

Ноль выборочно отключал A/R для одного сообщения. Весь интерфейс тоже мог работать в режиме pure-discard. Для критической обратной связи существовал Unnumbered Response, но он не превращался в доказательство доставки каждого сообщения. Молчание могло быть настроенным поведением, а не наблюдением потери. Приписывать ему успех столь же необоснованно.

GOPRI был советом на текущий момент

GOPRI сообщал минимальный приоритет, который WPS сейчас принимает. При своевременных обновлениях отправитель мог не создавать заведомо отклоняемый трафик. Но совет не резервировал буфер, межузловой канал или способность удалённого WPS принять следующую передачу.

Коды отказа различали перегрузку исходного WPS, перегрузку WPS назначения, неработающий хост, недостаточный приоритет, неверный адрес или stream ID. Эти причины меняли тактику ожидания и исправления. Они не делали локального получателя свидетелем всех последующих действий сети.

Контрольная сумма заголовка, уровень надёжности и флаг ошибки тоже имели ограниченную область. Они проверяли управляющие слова, выбирали защиту передачи или переносили наблюдение об ошибке. Понимание данных приложением и полезный результат оставались отдельными фактами.

Возврат линии не возвращал прежние ресурсы

RFC 1221 отделял состояние доступа от ресурсов stream и group. После перезапуска WPS представление хоста о выделениях могло расходиться с состоянием коммутатора; документ советовал запросить, что сохранилось. Возобновившийся обмен показывал работоспособность линии, но не продолжение прежнего права на ресурс.

Историческая ценность механизма — в такой точности. Локальное принятие было полезным завершением локального учёта буфера. Оно не становилось слабее от того, что не говорило за адресата. Наоборот, ложь возникла бы при попытке заменить ограниченное «принято здесь» на бездоказательное «доставлено туда».

Источники