Home Описания ОС и сети GRE (протокол)

Новому Абоненту


GRE (протокол)

GRE (англ. Generic Routing Encapsulation — общая инкапсуляция маршрутов) — протокол туннелирования сетевых пакетов, разработанный фирмой Cisco. Его основное назначение — инкапсуляция пакетов сетевого уровня сетевой модели OSI в IP пакеты.

 

Пример применения

 

* Используется в сочетании с PPTP для создания виртуальных частных сетей.

* Применяется в технологии WDS для координации действий точек доступа и контроллера WDS.

* Используется в технологиях мобильного IP

 

 

Пример стека протоколов использующих GRE

 

Код:

RADIUS

UDP

IPv6 (2)

GRE

IPv4 (1)

Ethernet

 

 

Проблема DF-бита

 

В связи с служебным заголовком размер передаваемых данных внутри IP пакета через GRE-туннель уменьшается при сохранении общего размера пакета. В IP-пакете предусмотрено наличие бита DF (do not fragment), запрещающего разделение пакета на несколько при передаче через среду с меньшим размером MTU. В этом случае пакет с размером полезной области данных (англ. payload), превышающим MTU IP пакета в GRE-туннеле, отбрасывается, что приводит к потерям пакетов при существенной нагрузке (проходят пакеты малого размера, такие как SYN пакеты TCP, ICMP сообщения (ping), но теряются пакеты с данными в TCP потоке (т. е. соединение рвётся)). Для решения этой проблемы рекомендуется использовать path-mtu-discovery (определение TCP MSS, т. е. максимального размера IP-пакетов на всём пути) при передаче данных через GRE-туннель, чтобы избежать избыточной фрагментации или потери больших пакетов.