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

Данный сценарий иллюстрирует фрагментацию GRE. Напомним, что при использовании GRE фрагментация выполняется перед инкапсуляцией, после чего к пакету данных применяется PMTUD, при этом бит DF не копируется при инкапсуляции IP-пакета в GRE. В этом сценарии бит DF сброшен. MTU IP интерфейса туннелирования GRE по умолчанию на 24 байта меньше, чем MTU IP физического интерфейса, таким образом MTU IP интерфейса GRE равняется 1476. Отправитель посылает пакет размером 1500 байт (20 байт заголовок IP + 1480 байт полезные данные TCP). 1.

Поскольку значение MTU для туннеля GRE равно 1476, пакет с размером 1500 байт разбивается на два IP-фрагмента размером 1476 и 44 байта с учетом дополнительных 24 байт заголовка GRE. 2. К каждому IP-фрагменту добавляются 24 байта заголовка GRE. Получаются два фрагмента: 1500 байт (1476 + 24 = 1500) и 68 байт (44 + 24). 3. Пакеты GRE + IP, содержащие два IP-фрагмента, направляются на одноранговый маршрутизатор туннеля GRE. 4. Этот маршрутизатор удаляет заголовки GRE из этих двух пакетов. 5. Затем он пересылает два пакета получающему узлу. 6. Данный узел собирает из этих IP-фрагментов исходную IP-датаграмму. 7.

Сценарий 6 Данный сценарий схож со сценарием 5, но в этот раз устанавливается бит DF. В сценарии 6 маршрутизатор при помощи команды tunnel path-mtu-discovery настроен на применение PMTUD к туннельным пакетам GRE + IP, а бит DF копируется из исходного заголовка IP в IP-заголовок GRE. Если для пакета GRE + IP маршрутизатор получит ICMP-сообщение об ошибке, тогда он уменьшит значение MTU для IP на интерфейсе туннеля GRE. Снова напомним, что по умолчанию значение MTU IP туннеля GRE на 24 байта меньше чем значение MTU физического интерфейса, поэтому в данном случае MTU IP для GRE составляет 1476 байт. Также отметим, что в состав туннеля GRE входит канал, размер MTU которого равен 1400.