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

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

5. Поведение получателя (прием и передача)

Получатель ECN-nonce поддерживает сумму значений nonce, вычисляемую по мере доставки пакетов, и возвращает текущее значение суммы nonce в каждом подтверждении. В остальном поведение получателя не отличается от [RFC3168]. Возврат суммы nonce не требуется, но рекомендуется, поскольку отправителям разрешено прекращать передачу поддерживающих ECN пакетов получателям, которые не поддерживают ECN-nonce.

По мере того, как пакеты удаляются из очереди доставленных с нарушением порядка пакетов для подтверждения, значения nonce восстанавливаются из заголовков IP. Полученное из заголовка значение nonce прибавляется к текущему значению суммы nonce как подтверждение порядкового номера для недавнего пакета.

В случае маркировки пакетов одно или множество значений nonce будет неизвестно получателю. В этом случае отсутствующие значения nonce игнорируются при расчете суммы (или в расчет включается нулевое значение nonce) и устанавливается флаг ECNEcho для индикации насыщения отправителю.

Возврат суммы nonce, соответствующей данному подтверждению, прост. Сумма передается в фиде однобитового флага NS в заголовке TCP. Этот бит размещается рядом с битами CWR и ECN-Echo, занимая битовую позицию 7 в байте 13 заголовка TCP, как показано на рисунке 3.

  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|               |           | N | C | E | U | A | P | R | S | F |
| Header Length | Reserved  | S | W | C | R | C | S | S | Y | I |
|               |           |   | R | E | G | K | H | T | N | N |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
Рисунок 3: Новое определение байтов 13 и 14 заголовка TCP

Начальное значение суммы nonce равно 1 и это значение включается в пакеты SYN/ACK и ACK трехэтапного согласования TCP. Это позволяет удаленной точке определить факт поддержки nonce, но не является согласованием и получателю SYN/ACK не требуется проверять наличие флага NS для принятия решения об установке NS в последующем пакете ACK.

Страница 5 из 13

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