RFC: 3540
Оригинал: Robust Explicit Congestion Notification (ECN) Signaling with Nonces
Категория: Экспериментальный
Дата публикации:
Авторы: , ,
Перевод: Николай Малых

RFC 3540, Страница 3 из 13

После того, как в сети возникло насыщение и пакеты были помечены или потеряны, требуется ресинхронизация сумм nonce между отправителем и получателем. При маркировке пакетов значения nonce сбрасываются и сумма nonce на приемной стороне не будет совпадать с суммой на стороне отправителя. После потери значений nonce различие в суммах у отправителя и получателя будет сохраняться до следующей потери. Это означает, что можно ресинхронизировать отправителя и получателя после перегрузки путем установки на передающей стороне значения суммы, принятой от получателя. Поскольку индикацию перегрузки не требуется делать чаще, чем один раз за период кругового обхода (round trip), отправитель прекращает проверку суммы при получении сигнала CWR и устанавливает для своей суммы nonce значение, принятое от получателя с подтверждением новых данных. Преимуществом такого подхода является то, что получатель явно не вовлечен в процесс ресинхронизации. Иллюстрация процесса показана на рисунке 2. Отметим, что сумма nonce, возвращенная в ACK 12 (NS=0) отличается от суммы в предыдущем примере (NS=1) и сохраняет отличие для ACK 16 на рисунке 2.

Отправитель              Получатель

                       исходная сумаа = 1
-- 1:4 ECT(0)       -> NS = 1 + 0(1:4) = 1(:4)
<- ACK 4, NS=1      --
-- 4:8 ECT(1) -> CE -> NS = 1(:4) + ?(4:8) = 1(:8)
<- ACK 8, ECE NS=1  --
-- 8:12 ECT(1), CWR -> NS = 1(:8) + 1(8:12) = 0(:12)
<- ACK 12, NS=0     --
-- 12:16 ECT(1)     -> NS = 0(:12) + 1(12:16) = 1(:16)
<- ACK 16, NS=1     --


Рисунок 2: Расчет NS на приемной стороне при маркировке
пакета (4:8). Получатель может рассчитать некорректное
значение суммы в результате утери nonce при маркировке пакета.

Нам нужно еще согласовать значения nonce, передаваемые в пакетах и подтверждающие диапазон принятых байтов. Байтовые границы для подтверждений не обязательно соответствуют границам при передаче, а при повторе пакеты могут передаваться с иными границами. Первый вопрос об установке nonce при подтверждении части сегмента рассматривается в параграфе 6.1. Второй вопрос о значении nonce, передаваемом при повторе мелкого сегмента в большом имеет простой ответ — ECN отключается при повторе, поэтому nonce не передается. Поскольку повторы передачи связаны с фактами насыщения, проверка nonce отключается, пока не будет подтверждения CWR и насыщение не закончится.

В следующих параграфах подробно рассматривается поведение отправителей, маршрутизаторов и получателей, начиная с передачи данных отправителем. Далее рассматривается сигнальный цикл ECN и в заключение описан процесс обработки подтверждения отправителем.

2007 - 2017 © Русские переводы RFC, IETF, ISOC.