4.2.3. Резерв
Значение резервного поля должно быть нулевым. Но это поле может использоваться в будущем и делать предположения о его значении не следует.
4.2.4. Флаги
- ECN-E (Explicit Congestion Notification — явное уведомление о перегрузке)
- 1 устанавливается как эхо бита CE в заголовке IP. Это значение будет устанавливаться в нескольких последовательных заголовках (пока не будет подтвержден с помощью CWR). При использовании ECN nonce в этом флаге будет передаваться бит суммы nonce (NS). Как обычно, прозрачность резервного бита важна для работы схемы компрессии в будущем. С точки зрения соотношения эффективность/сжатие бит NS не будет использоваться (всегда 0) или будет произвольно изменяться. Сумма nonce представляет собой 1-битовое значение суммы кодов ECT, как описано в [19].
- CWR (Congestion Window Reduced — окно насыщения уменьшено)
- 1 устанавливается для обозначения уменьшения размера окна насыщения в ответ на ECN. Это значение в общем случае устанавливается для отдельного пакета. Флаг устанавливается однократно в ответ на потерю пакета. Таким образом, вероятность установки этого флага пропорциональна степени насыщения сети, но очевидно меньше вероятности установки флага CE.
- ECE (Echo Congestion Experience — сигнал о возникновении перегрузки в сети)
При получении в заголовке IP сигнала о перегрузке в сети, в ответ возвращается эхо-сигнал (бит ECE) в сегментах, передаваемых получателем до приема подтверждения о получении сигнала в виде установленного бита CWR. Очевидно, что в периоды насыщения и/или при большом значении RTT этот флаг часто будет иметь значение 1.
При организации соединения (пакеты SYN и SYN/ACK) бит ECN имеет специальное значение:
- Флаги CWR и ECN-E устанавливаются в пакетах SYN для индикации желания использовать ECN.
- Флаг CWR устанавливается в пакетах SYN-ACK для подтверждения использования ECN. (различие в битовых последовательностях для согласования сделано для того, чтобы можно было работать со старыми стеками, не понимающими расширение).
- URG (Urgent Flag — флаг срочности)
- 1 указывает на срочность данных (маловероятно использование этого флага с какими-либо флагами, кроме ACK).
- ACK (Acknowledgement — подтверждение)
- 1 во всех случаях, кроме стартового пакета SYN.
- PSH (Push Function Field — выталкивание данных)
- В общем случае произвольно меняется между 0 и 1. Однако одно из значений может встречаться чаще другого В основном определяется используемым стеком протоколов).
- RST (Reset Connection — сброс соединения)
- 1 устанавливается для сброса соединения (маловероятно использование этого флага с какими-либо флагами, кроме ACK).
- SYN (Synchronize Sequence Number — синхронизация порядковых номеров)
- 1 устанавливается для пакетов SYN/SYN-ACK на этапе организации соединения.
- FIN (End of Data: FINished — завершение передачи данных)
- 1 показывает отсутствие данных для передачи (маловероятно использование этого флага с какими-либо флагами, кроме ACK).