Две схемы могут быть обе верными и выглядеть по-разному, потому что могут описывать разные пакеты. Сообщение согласования и пакет данных приложения не имеют одинаковой раскладки даже в пределах одной сессии, и транспортный режим с туннельным тоже. Сравнение рисунков без указания, какой пакет и какой режим представляет каждый, порождает спор о заголовках, которые никогда не должны были совпадать. Четыре метки решают это до начала сравнения.

Запишите реализацию и режим, канал, внешний транспорт и переносимую полезную нагрузку рядом с каждым рисунком.

Транспортный и туннельный режимы сдвигают заголовок по-разному

В транспортном режиме ESP находится после заголовка IP и перед переносимым протоколом, поэтому исходный заголовок IP остаётся вне защиты. В туннельном режиме новый внешний заголовок IP адресует двух партнёров IPsec, а защищённый внутренний пакет сохраняет собственный заголовок IP. Оба определены в RFC 4303, и оба верны для своего режима. Упрощённый набросок, опускающий трейлер и поля целостности, годится для размещения и бесполезен для подсчёта байтов.

Транспорт не означает именно TCP или UDP. Переносимый протокол следующего уровня может быть любым, а схема, приравнивающая транспортный режим к одному протоколу, тихо добавила допущение.

Управляющие сообщения — не сообщения данных

L2TP разделяет два типа сообщений: сообщения данных, переносящие кадры PPP, и управляющие сообщения, которые устанавливают, поддерживают и разбирают туннель и его вызовы. Управляющий канал надёжен, тогда как потерянные сообщения данных L2TP просто не передаёт повторно. Поэтому рисунок с PPP может описывать полезную нагрузку, которую несёт сообщение данных, а не заголовок, который должна включать каждая защищённая сессия. Объединение L2TP с защитой добавляет выбранный порядок безопасности сверху и не делает все сообщения одинаковыми.

Если схема утверждает, что оба типа сообщений выглядят одинаково, она описывает другой протокол или другой охват.

Сравнивайте эквивалентные точки захвата

Захват на внешнем интерфейсе показывает заголовки защиты и транспорта; внутренний захват, сделанный после декапсуляции, показывает переносимый пакет. Ни один не ошибочен, а сравнение одного с другим заставляет заголовки казаться отсутствующими или продублированными. Инкапсуляция UDP, как она определена для прохождения NAT, добавляет ещё один внешний слой, которого не будет на схеме с нативным ESP. Оба рисунка могут быть допустимыми описаниями разных транспортных схем.

Указывайте точку захвата вместе со схемой и сравнивайте эквивалентные сообщения в эквивалентных режимах. Отсутствующий заголовок — доказательство неисправности только тогда, когда оба рисунка заявляют одну и ту же точку и один и тот же тип пакета.

Держите метки вместе с рисунком

Схема без меток быстро устаревает, потому что следующий читатель добавляет собственные допущения. Добавьте четыре метки, отметьте границу защиты и укажите, для размещения или для расчёта размера сделан рисунок. Если для расчёта, используйте полную спецификацию, а не набросок. Цена меток — минута; цена спора, который они предотвращают, — полдня.

Когда два документа расходятся, сначала сравните их метки. Расхождение на уровне режима или канала полностью объясняет разницу, и никакой заголовок на самом деле не отсутствует.

Запишите, какой пакет, какой режим и какую точку захвата показывает рисунок. Эта запись — вторая половина схемы.

Похожие статьи