Кратко
- По расчёту RFC 1185, при 1 Гбит/с критическая половина пространства номеров последовательности TCP проходила примерно за 17 секунд. Запоздалый дубликат мог явиться с номером, который снова казался действующим.
- PAWS из RFC 1323 сравнивал метку входящего сегмента с сохранённым
TS.Recent, отсекая старые дубликаты в открытом соединении. После более чем 24 дней без обмена это значение требовалось признать недействительным, чтобы связь могла возобновиться.
TCP нумерует байты по кругу. Когда цифры заканчиваются, счёт начинается заново. На медленной линии старый пакет обычно исчезает из сети прежде, чем его номер понадобится повторно. На очень быстрой линии счётчик успевает нагнать запоздалый пакет. Охранник сверяет пропуск и узнаёт номер, хотя посетитель пришёл со вчерашней смены.
RFC 1185, опубликованный в октябре 1990 года, выразил тревогу расчётом. Его таблица дала около 17 секунд для прохождения критической половины диапазона номеров при скорости 1 Гбит/с. Для сравнения документ использовал две минуты максимальной жизни сегмента TCP. Номера возвращались быстрее, чем обязательно исчезали старые сегменты. Это проектная модель скоростного пути, которая показала необходимость второго признака.
RFC 1323 от мая 1992 года ввёл опцию Timestamp. У неё было два назначения: точнее измерять время туда и обратно и защищать соединение от обернувшихся номеров последовательности через PAWS. При установленном соединении получатель хранил недавно увиденную отметку TS.Recent. Если входящий сегмент имел меньший TSval, а сохранённое значение ещё было действительным, получатель отправлял подтверждение и отбрасывал сегмент. Для оставшихся пакетов продолжали действовать обычные правила окна TCP. Старый гость мог предъявить правильный номер, но дата его выдавала.
Общие часы двум сторонам не требовались. Отправитель должен был выдавать монотонно растущие значения, а получатель сравнивал их по модульным правилам 32-битного пространства. TS.Recent участвовал и в измерении времени туда и обратно: одно состояние обслуживало две процедуры. PAWS проверял данные и подтверждения, поступавшие внутри того же открытого соединения.
Затем старел блокнот охранника. RFC 1323 допускал частоту счётчика временных меток от одного шага в секунду до одного шага в миллисекунду. На быстром краю знаковая половина 32-битного диапазона оборачивалась примерно за 24,8 дня. Представим открытое соединение без движения в течение такого срока. Часы отправителя продолжали идти. При возобновлении по-настоящему новая отметка могла выглядеть меньше старого TS.Recent у получателя. Слишком усердный фильтр отвергал бы все новые сегменты и заморозил связь.
RFC 1323 велел избавиться от просроченной записи. После более чем 24 дней простоя реализация PAWS обязана сделать TS.Recent недействительным. Когда новая отметка кажется меньше, получатель сперва проверяет, можно ли ещё доверять старой. Если срок памяти истёк, сегмент проходит проверку PAWS и может обновить опорное значение. Обычная проверка окна последовательностей никуда не исчезает. Выбросить старый список гостей — не то же самое, что снять дверь с петель.
Авторы обдумали редкие служебные сообщения для обновления отметки, но выбрали аннулирование: спецификация TCP не требовала поддерживать связь такими сообщениями. Получатель также не знает частоту часов удалённой стороны и исходит из самого быстрого случая. Двадцать четыре дня измеряют молчание, а не срок существования соединения. Активное соединение само обновляет сведения о текущем времени.
Позднейший RFC 7323 сохранил объяснение и правило сброса. Между 1990 и 1992 годами TCP столкнулся с двумя видами старости: номер на быстрой линии повторялся слишком скоро, а метка, призванная его проверить, портилась от долгой тишины. PAWS научил охранника замечать вчерашний пакет и вовремя отправлять собственный блокнот в корзину.
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров





