GRE (протокол)

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

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

Туннелирование подразумевает три протокола:

Пример работы GRE туннеля. Между двумя маршрутизаторами A и B находится несколько маршрутизаторов, туннель позволяет обеспечить связь между сегментами сети 192.168.1.0/24 и 192.168.3.0/24 так, как если бы маршрутизаторы A и B были соединены прямым линком

Содержание

[править] Пример применения

[править] Пример стека протоколов, использующих 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-туннель, чтобы избежать избыточной фрагментации или потери больших пакетов. [1][2]

[править] Примечания

  1. О решении проблемы DF-бита и MTU на оборудовании cisco: [1]
  2. О проблеме фрагментации пакетов в GRE- и IPSEC-туннелях: [2]

[править] Ссылки

  • RFC 1701 — Generic Routing Encapsulation (GRE), октябрь 1994
  • RFC 1702 — Generic Routing Encapsulation over IPv4 networks, октябрь 1994
  • RFC 2784 — Generic Routing Encapsulation (GRE), июль 2000
  • RFC 2890 — Key and Sequence Number Extensions to GRE, сентябрь 2000
Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Участие
Печать/экспорт
Инструменты
На других языках