cisco — Решение проблем, связанных с фрагментацией IP, а также с MTU, MSS и PMTUD, при помощи протоколов GRE и IPSEC

Таким образом получается один фрагмент размером 1500 байт и один фрагмент размером 72 байта. Одноранговый маршрутизатор туннеля IPsec получает эти фрагменты, удаляет дополнительный заголовок IP и собирает из IP- фрагментов исходный пакет IPsec. Далее протокол IPSec осуществляет расшифровку пакета. 4. Затем маршрутизатор пересылает оригинальный 1500-байтный пакет на узел 2. 5. Сценарий 8 Этот сценарий имеет сходство со сценарием 6 за двумя исключениями: в этом сценарии установлен бит DF и на пути между двумя одноранговыми узлами туннеля IPSec имеется канал, MTU которого меньше MTU других каналов.

В данном сценарии описывается, каким образом одноранговый маршрутизатор IPSec выполняет обе роли PMTUD (описание см. в разделе Маршрутизатор как PMTUD- участник в конечной точке туннеля. В этом сценарии описывается, каким образом значение PMTU уменьшается по причине необходимости фрагментации. Напомним, что при шифровании пакета IPsec копирует бит DF из внутреннего заголовка IP во внешний заголовок. Значение media-MTU и значение PMTU хранятся в ассоциации защиты IPsec (Security Association). Media-MTU основано на MTU исходящего интерфейса маршрутизатора, а PMTU основан на минимальном MTU, который имеется на пути между одноранговыми узлами IPsec.

Напомним, что IPsec инкапсулирует и шифрует пакет перед его фрагментацией. Маршрутизатор получает пакет размером 1500 байт и отбрасывает его, потому что при добавлении служебных данных IPsec размер пакета становится больше значения PMTU (1500 байт). 1. 2. Маршрутизатор посылает ICMP-сообщения узлу 1 о том, что MTU следующего перехода составляет 1442 (1500 - 58 = 1442). 58 байт – это максимальный объем служебных данных, добавляемых IPsec при использовании IPsec ESP и ESPauth. В действительности объем служебных данных IPsec может быть на 7 байт меньше указанной выше величины.

Узел 1 записывает эту информацию в своей таблице маршрутизации (обычно в качестве маршрута узла до адреса назначения, т.е. узла 2). 3. Узел 1 уменьшает свое значение PMTU для узла 2 до 1442 байтов, поэтому узел 1 при повторной передаче данных на узел 2 будет отправлять пакеты меньшего размера (1442 байта). Маршрутизатор получает пакет размером 1442 байт, а протокол IPsec добавит 52 байта шифровальных служебных данных. Таким образом, размер конечного пакета составляет 1496 байт. Поскольку в заголовке этого пакета установлен бит DF, он будет отброшен срединным маршрутизатором, который подключен к каналу с MTU равным 1400 байт.

Этот срединный маршрутизатор отправляет источнику IPsec-пакета (первый маршрутизатор) ICMP-сообщение, в котором указано, что MTU следующего сетевого сегмента составляет 1400 байт. Это значение записано в IPsec SA PMTU. 4. 5. При следующей передаче узлом 1 пакета величиной 1442 байт (он не получил подтверждения на этот пакет) IPsec отбросит этот пакет. Маршрутизатор снова отбросит этот пакет, поскольку после добавления служебных данных IPsec размер этого пакета превысит величину PMTU (1400 байт). Маршрутизатор посылает узлу 1 ICMP-сообщение, в котором указано, что в настоящий момент MTU следующего сегмента составляет 1342 байта (1400 - 58 = 1342). Узел 1 снова сохранит эту информацию. 6.

При повторной отправке данных узел 1 будет использовать пакет меньшего размера (1342 байта). Данный пакет не потребует фрагментации и без помех пройдет через туннель IPsec к узлу 2. 7.