Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Схема:


Область применения данного функционала:

  • IP over GRE (L3 GRE)
  • Ethernet over GRE (L2 GRE)
  • MPLS over GRE ( сервисы L2VPN, L3VPN ).


Задача: 



Необходимо трафик, приходящий из устройства Office  1 зоны Site A  отправить через сеть Интернет посредством СПД провайдера (ISP) в устройство Office 2 зоны Site B. Размер передаваемого трафика неоднородный и может иметь как стандартное значение MTU, так и нестандартное (MTU > 1514 bytes). Помимо этого, трафик с нестандартным MTU может иметь выставленный DF-bit = 1, что запрещает транзитным узлам подвергать его фрагментации. Решением в данной ситуации может быть туннелирование трафика посредством GRE-туннеля с включенным в нём функцией безусловной фрагментации.


Терминология:

  • Начальный хост - хост, генерирующий IP-пакет определённого размера MTU, IP-адрес которого значится в поле  Source Address.
  • Конечный хост - хост, принимающий IP-пакет определённого размера MTU, IP-адрес которого значится в поле Destination Address
  • Транзитный интерфейс - физический интерфейс, принимающий/передающий транзитный (относительно этого устройства ) трафик и имеющий ifMTU .
  • Туннелеобразующий интерфейс - физический интерфейс, от которого строится tunnel GRE.
  • tunnel GRE - туннельный интерфейс GRE (Generic Routing Encapsulation), на котором происходит инкапсуляция/декапсуляция трафика, имеет greMTU.
  • packetMTU  - значение MTU оригинального пакета, сгенерированного начальным хостом.
  • ifMTU (interface MTU) - значение MTU физического интерфейса.
  • greMTU - значение MTU туннеля GRE.


Необходимые условия:

Для работы безусловной фрагментации необходимы соблюдать следующие условия.

  • транзитные/source интерфейсы, через которые направляется трафик в GRE туннель для его инкапсуляции, должны иметь MTU>=packetMTU, чтобы иметь возможность пропустить/сгенерировать пакет определённого размера.
  • packetMTU должен быть <= greMTU
  • внутри туннеля GRE должен быть отключен механизм PMTUd (Path MTU Discovery)
  • внутри туннеля GRE должна быть активирована опция игнорирования флага DF


Принцип работы:

Рассматриваемый далее пример справедлив для классического L3 GRE туннеля. В других случаях поведение сетевых протоколов может отличаться.

1. Пакет с packetMTU поступает из Office 1 на физический транзитный интерфейс Gi1/0/1 устройства R1 с ifMTU, с которого трафик будет отправлен на инкапсуляцию в туннель GRE. Если packetMTU > ifMTU, транзитный интерфейс отбросит данный трафик и пошлёт ICMP Type 3 (Destination Unreachable) с Code 4 (Fragmentation needed) начальному хосту, сообщая о необходимости фрагментации. Если packetMTU <= ifMTU, транзитный интерфейс принимает пакет и перенаправляет его в туннель GRE




2. Далее, в tunnel GRE: Если packetMTU > greMTU, то пакет не будет принят tunnel GRE, а транзитным интерфейсом Gi1/0/1 будет послан ICMP Type 3 (Destination Unreachable) с Code 4     (Fragmentation needed). Данное поведение связано с  текущей реализацией работы туннеля GRE на устройствах линейки ESR: туннельному интерфейсу необходимо принять весь пакет целиком, чтобы затем инкапсулировать его целиком в заголовок GRE и отправить на выход с условием игнорирования значения поля DF-bit. Если packetMTU <= greMTU, то пакет будет принят для его дальнейшей инкапсуляции и фрагментирования.





3. Туннелеобразующий интерфейс может иметь любое значение MTU и фрагментировать инкапсулированные GRE-пакеты по своему максимальному значению MTU. Он фрагментирует инкапсулированные пакеты и отправляет их в сторону ISP, где они проходят через СПД  и попадают на туннелеобразующий интерфейс R2.

4. На туннелеобразующем интерфейсе устройства R2 инкапсулированные пакеты принимаются и пересылаются на tunnel GRE.





5. Tunnel GRE собирает фрагменты пакета воедино и перенапрваляет их на исходящий из R2 транзитный интерфейс, за которым, согласно таблице маршрутизации R2, имеется Destination IP из декапсулированного пакета IP.

Решение:


Превадрительно должны быть настроено:

  • MTU на исходящем интерфейсе Office 1/2 в сторону R1/2 , удовлетворяющее условию ifMTU <= packetMTU;
  • Линковочные подсети между Office 1 и R2 и Office 2 и R2 соответственно;
  • Маршрутизация  между устройствами Office и R ( статическая или динамическая );

В данном примере функционал Firewall отключён


Включить поддержку Jumbo-фреймов с помощью команды "system jumbo-frames" (для вступления изменений в силу требуется перезагрузка устройства) на обоих пограничных устройствах.

 Настроим транзитный интерфейс gigabitethernet 1/0/1 на R1 и R2 на значение MTU, равное packetMTU. В нашем примере это значение будет 9000 bytes:

R1
configure

system jumbo-frames

interface gigabitethernet 1/0/1
    mtu 9000
    ip firewall disable
    ip address 10.10.10.1/24
exit
R2
configure

system jumbo-frames

interface gigabitethernet 1/0/1
    mtu 9000
    ip firewall disable
    ip address 10.10.20.1/24
exit


Настроим туннелеобразующий интерфейс gigabitethernet 1/0/4, ведущие к ISP. В tunnel GRE на R1 и R2 необходимо настроить greMTU, удовлетворяющее неравенству packetMTU<=greMTU. В нашем случае это значение 9000 bytes. Для работы безусловной фрагментации внутри GRE-туннеля необходимо активировать функцию игнорирования поля DF-bit, а так же отключить механизм PMTUd:

R1
interface gigabitethernet 1/0/4
  ip firewall disable
  ip address 192.0.2.2/30
exit

tunnel gre 10
  mtu 9000
  ip firewall disable
  local address 192.0.2.2
  remote address 192.0.2.6
  ip address 192.168.0.1/30
  ip path-mtu-discovery disable
  ip dont-fragment-bit ignore
  enable
exit
R2
interface gigabitethernet 1/0/4
  ip firewall disable
  ip address 192.0.2.6/30
exit

tunnel gre 10
  mtu 9000
  ip firewall disable
  local address 192.0.2.6
  remote address 192.0.2.2
  ip address 192.168.0.2/30
  ip path-mtu-discovery disable
  ip dont-fragment-bit ignore
  enable
exit


Диагностика:

Для диагностики состояния работы функцонала безусловной фрагментации следует использовать команду show tunnels configuration gre <номер туннеля>. В выводимой информации следует обратить внимание на поле  Don't fragment bit suppression - при активной функции безусловной фрагментации значение параметра должно быть Enabled:

R1# show tunnels configuration gre 10
State:                                             Enabled
Description:                                       --
Mode:                                              ip
Bridge group:                                      --
VRF:                                               --
Local address:                                     192.0.2.2
Remote address:                                    192.0.2.6
Calculates checksums for outgoing GRE packets:     No
Requires that all input GRE packets were checksum: No
key:                                               --
TTL:                                               Inherit
DSCP:                                              Inherit
MTU:                                               9000
Path MTU discovery:                                Disabled
Don't fragment bit suppression:                    Enabled
Security zone:                                     --
Multipoint mode:                                   Disabled
Keepalive:                                         
    State:                                             Disabled
    Timeout:                                           10
    Retries:                                           6
    Destination address:                               --





  • Нет меток