GRE — это протокол туннелирования, разработанный компанией Cisco, который позволяет инкапсулировать пакеты протоколов различного типа внутри IP-туннелей и создавать виртуальный канал «точка-точка» до маршрутизаторов Cisco в удалённых точках поверх IP-сети. Туннелирование IP с помощью GRE позволять расширять сеть через однопротокольную магистральную среду. Это обеспечивается путем соединения между собой различных многопротокольных подсетей в однопротокольной магистральной среде.
Протокол GRE обладает следующими характеристиками:
- Спецификации GRE определены в стандарте IETF (RFC 2784).
- Во внешнем заголовке IP в поле протокола используется значение 47, указывающее на то, что за ним будет следовать заголовок GRE.
- При инкапсуляции GRE для поддержки инкапсуляции любого протокола 3 уровня модели OSI в заголовке GRE используется поле «типа протокола» (protocol type). Типы протоколов определены в стандарте RFC 1700 как «EtherTypes».
- Сам протокол GRE является протоколом без отслеживания состояния (stateless) и по умолчанию не содержит механизмов управления потоком.
- Для защиты полезной нагрузки в протоколе GRE отсутствуют какие-либо стойкие механизмы безопасности.
- Заголовок GRE вместе с заголовком IP туннелирования, указанным на рисунке, создаёт, по крайней мере, 24 байта дополнительной служебной информации для туннелированных пакетов.