Атрибут FragmentSize

Атрибут FragmentSize управляет функциональностью фрагментирования IKE-пакетов. Этот атрибут рекомендуется использовать в случае массового пересоздания SA.

Синтаксис

FragmentSize = ЦЕЛОЕ32

Значение

Целое число из диапазона 0..65535.

Значение – максимальный размер результирующего IP-пакета[5] в байтах.

Значение 0 – отключает функциональность фрагментирования IKE-пакетов. Партнёр о поддержке фрагментирования IKE-пакетов не оповещается, отсылаемые IKE-пакеты не фрагментируются, принимаемые фрагменты не собираются.

Ненулевое заданное значение может корректироваться в большую сторону таким образом, чтобы максимально возможный ISAKMP-пакет длиной 64Kb мог быть разбит на 255 фрагментов[6].

Значение по умолчанию

576

Фрагментирование IKE-пакетов необходимо в тех случаях, когда в процессе доставки длинные UDP-пакеты либо не пропускаются промежуточным узлом, либо некорректно фрагментируется на ip-уровне. Проблема актуальна для IKE-пакетов с потенциально длинным содержимым: сертификаты, идентификаторы, открытые ключи и инициализационные данные.

IKE-пакеты, отсылаемые непосредственно после их формирования, всегда отсылаются нефрагментированными.

Если от партнёра не получен ответ, и принимается решение о перепосылке (ретрансмиссии) пакета, то проверяется:

  1. Активировано ли IKE-фрагментирование на локальном устройстве;
  2. Активировано ли IKE-фрагментирование на стороне партнёра. (Примечание: первый пакет сессии не может быть фрагментирован, поскольку нет сведений, активировано ли IKE-фрагментирование на стороне ответчика);
  3. Превышает ли размер перепосылаемого пакета значение, вычисленное из заданной величины FragmentSize с учётом всех возможных дополнительных заголовков.

В случае выполнения всех условий перепосылаемый IKE-пакет разбивается на блоки. Максимально возможное количество блоков не превышает 255 фрагментов. Минимально возможная результирующая длина фрагмента с UDP-заголовком – 304 байта.

Если условия не выполнены, то ретрансмиссия отсылается без фрагментирования.