Протокол туннелирования Cisco
Generic Routing Encapsulation ( GRE ) — это протокол туннелирования , разработанный Cisco Systems , который может инкапсулировать широкий спектр протоколов сетевого уровня внутри виртуальных каналов «точка-точка» или каналов «точка-многоточка» в сети Интернет-протокола . [2]
Пример использования
Пример стека протоколов
Основываясь на принципах многоуровневого уровня протоколов в OSI, инкапсуляция протоколов, а не GRE, нарушает порядок уровней. Его можно рассматривать как разделитель между двумя различными стеками протоколов, один из которых выступает в качестве носителя для другого.
Протоколы доставки
Пакеты GRE, которые инкапсулированы непосредственно в IP , используют IP-протокол типа 47 в поле «Протокол » заголовка IPv4 [3] или в поле «Следующий заголовок » заголовка IPv6 . [4]
По соображениям производительности GRE также можно инкапсулировать в пакеты UDP. [5] Повышение пропускной способности может быть достигнуто за счет использования многопутевой маршрутизации с равной стоимостью .
Заголовок пакета
Расширенный заголовок пакета GRE (RFC 2890)
Расширенная версия заголовка пакета GRE [6] представлена ниже:
- С (1 бит)
- Бит контрольной суммы . Установите значение 1, если контрольная сумма присутствует.
- К (1 бит)
- Ключевой бит. Установите значение 1, если ключ присутствует.
- С (1 бит)
- Бит порядкового номера. Установите значение 1, если присутствует порядковый номер.
- Зарезервировано 0 (9 бит)
- Зарезервированные биты; установить на 0.
- Версия (3 бита)
- Номер версии GRE; установить на 0.
- Тип протокола (16 бит)
- Указывает тип протокола эфира инкапсулированной полезной нагрузки. (Для IPv4 это будет шестнадцатеричное число 0800.)
- Контрольная сумма (16 бит)
- Присутствует, если установлен бит C ; содержит контрольную сумму для заголовка GRE и полезных данных.
- Зарезервировано 1 (16 бит)
- Присутствует, если установлен бит C ; установлено на 0.
- Ключ (32 бита)
- Присутствует, если установлен бит K ; содержит значение ключа, специфичное для приложения.
- Порядковый номер (32 бита)
- Присутствует, если установлен бит S ; содержит порядковый номер пакета GRE.
Стандартный заголовок пакета GRE (RFC 2784)
Стандартная структура заголовка пакета GRE [7] представлена на схеме ниже.
- С (1 бит)
- Бит контрольной суммы . Установите значение 1, если контрольная сумма присутствует.
- Зарезервировано 0 (12 бит)
- Зарезервированные биты; установить на 0.
- Версия (3 бита)
- Номер версии GRE; установить на 0.
- Тип протокола (16 бит)
- Указывает тип протокола эфира инкапсулированной полезной нагрузки. (Для IPv4 это будет шестнадцатеричное число 0x0800; для IPv6 это будет 0x86DD. [4] ).
- Контрольная сумма (16 бит)
- Присутствует, если установлен бит C ; содержит контрольную сумму для заголовка GRE и полезных данных.
- Зарезервировано 1 (16 бит)
- Присутствует, если установлен бит C ; его содержимое установлено в 0.
Исходный заголовок пакета GRE (RFC 1701)
Новая структура заменила первоначальную: [1]
Исходный GRE RFC определил дополнительные поля в заголовке пакета, которые в текущем стандарте устарели:
- С (1 бит)
- Бит контрольной суммы . Установите значение 1, если контрольная сумма присутствует.
- Р (1 бит)
- Бит маршрутизации. Установите значение 1, если присутствует информация о маршрутизации и смещении.
- К (1 бит)
- Ключевой бит. Установите значение 1, если ключ присутствует.
- С (1 бит)
- Бит порядкового номера. Установите значение 1, если присутствует порядковый номер.
- с (1 бит)
- Бит строгого исходного маршрута.
- Повторяться (3 бита)
- Биты управления рекурсией .
- Флаги (5 бит)
- Зарезервировано для будущего использования, установлено в 0.
- Версия (3 бита)
- Установите на 0.
- Тип протокола (16 бит)
- Указывает тип протокола эфира инкапсулированной полезной нагрузки.
- Контрольная сумма (16 бит)
- Присутствует, если установлен бит C ; содержит контрольную сумму для заголовка GRE и полезных данных.
- Смещение (16 бит)
- Присутствует, если установлен бит R или бит C ; содержит достоверную информацию, только если установлен бит R. Поле смещения, указывающее смещение в поле «Маршрутизация» относительно записи активного исходного маршрута.
- Ключ (32 бита)
- Присутствует, если установлен бит K ; содержит значение ключа, специфичное для приложения.
- Порядковый номер (32 бита)
- Присутствует, если установлен бит S ; содержит порядковый номер пакета GRE.
- Маршрутизация (переменная)
- Присутствует, если установлен бит R ; содержит список записей исходного маршрута, поэтому имеет переменную длину.
Заголовок пакета PPTP GRE
Протокол туннелирования «точка-точка» (PPTP) [8] использует вариант структуры заголовка пакета GRE, представленный ниже. PPTP создает туннель GRE, через который передаются пакеты GRE PPTP.
- С (1 бит)
- Бит контрольной суммы . Для пакетов PPTP GRE это значение равно 0.
- Р (1 бит)
- Бит маршрутизации. Для пакетов PPTP GRE это значение равно 0.
- К (1 бит)
- Ключевой бит. Для пакетов PPTP GRE это значение равно 1. (Все пакеты PPTP GRE содержат ключ.)
- С (1 бит)
- Бит порядкового номера. Установите значение 1, если указан порядковый номер, указывающий пакет данных PPTP GRE.
- с (1 бит)
- Бит строгого исходного маршрута. Для пакетов PPTP GRE это значение равно 0.
- Повторяться (3 бита)
- Биты управления рекурсией . Для пакетов PPTP GRE они установлены на 0.
- А (1 бит)
- Номер подтверждения присутствует. Установите значение 1, если указан номер подтверждения, указывающий на пакет подтверждения PPTP GRE.
- Флаги (4 бита)
- Флаговые биты. Для пакетов PPTP GRE они установлены на 0.
- Версия (3 бита)
- Номер версии GRE. Для пакетов PPTP GRE это значение равно 1.
- Тип протокола (16 бит)
- Для пакетов PPTP GRE установлено шестнадцатеричное значение 880B.
- Длина ключевой полезной нагрузки (16 бит)
- Содержит размер полезных данных, не включая заголовок GRE.
- Ключевой идентификатор вызова (16 бит)
- Содержит идентификатор вызова узла для сеанса, которому принадлежит пакет.
- Порядковый номер (32 бита)
- Присутствует, если установлен бит S; содержит порядковый номер полезной нагрузки GRE.
- Номер подтверждения (32 бита)
- Присутствует, если установлен бит A; содержит порядковый номер самого высокого пакета полезной нагрузки GRE, полученного отправителем.
Стандарты
- RFC 1701: Универсальная инкапсуляция маршрутизации (GRE) (информационный)
- RFC 1702: Общая инкапсуляция маршрутизации в сетях IPv4 (информационный)
- RFC 2637: Протокол туннелирования «точка-точка» (информационный)
- RFC 2784: Универсальная инкапсуляция маршрутизации (GRE) (предлагаемый стандарт, обновленный RFC 2890)
- RFC 2890: Расширения ключа и порядкового номера для GRE (предлагаемый стандарт)
- RFC 8086: инкапсуляция GRE-in-UDP (предлагаемый стандарт)
Смотрите также
Рекомендации
- ^ аб С. Хэнкс; Т. Ли; Д. Фариначчи; П. Трайна (октябрь 1994 г.). Общая инкапсуляция маршрутизации (GRE). Сетевая рабочая группа. дои : 10.17487/RFC1701 . РФК 1701. Информационный.
- ^ США 7801021B1, Николаос Триантафиллис; Роберт Дж. Ордеманн и Саймон Д. Барбер, «Общие подтверждения активности туннеля инкапсуляции маршрутизации», выпущено 21 сентября 2010 г., передано Cisco Technology Inc.
- ^ С. Хэнкс; Т. Ли; Д. Фариначчи; П. Трайна (октябрь 1994 г.). Общая инкапсуляция маршрутизации в сетях IPv4. Сетевая рабочая группа. дои : 10.17487/RFC1702 . РФК 1702. Информационный.
- ^ аб К. Пиньятаро; Р. Боника; С. Кришнан (октябрь 2015 г.). Поддержка IPv6 для универсальной инкапсуляции маршрутизации (GRE). Целевая группа инженеров Интернета (IETF). дои : 10.17487/RFC7676 . ISSN 2070-1721. РФК 7676. Предлагаемый стандарт.
- ^ Э. Крэбб; Э. Крэббет; Т. Герберт (март 2017 г.). Л. Йонг (ред.). Инкапсуляция GRE-в-UDP. Целевая группа инженеров Интернета (IETF). дои : 10.17487/RFC8086 . ISSN 2070-1721. РФК 8086. Предлагаемый стандарт.
- ^ Г. Доммети (сентябрь 2000 г.). Расширения ключа и порядкового номера для GRE. Сетевая рабочая группа. дои : 10.17487/RFC2890 . РФК 2890. Предлагаемый стандарт.
- ^ Д. Фариначчи; Т. Ли; С. Хэнкс; Д. Мейер; П. Трайна (март 2000 г.). Универсальная инкапсуляция маршрутизации (GRE). Сетевая рабочая группа. дои : 10.17487/RFC2784 . РФК 2784. Предлагаемый стандарт. Обновлено RFC 2890.
- ^ К. Хамзе; Г. Палл; В. Вертайн; Дж. Тааруд; В. Литтл; Г. Цорн (июль 1999 г.). Протокол туннелирования «точка-точка» (PPTP). Сетевая рабочая группа. дои : 10.17487/RFC2637 . РФК 2637. Информационный.
Внешние ссылки
Викискладе есть медиафайлы, связанные с инкапсуляцией универсальной маршрутизации.
- Общая инкапсуляция маршрутизации, домашняя страница подпротокола в Cisco
- Общая инкапсуляция маршрутизации. Архивировано 29 декабря 2018 г. на Wayback Machine , запись в Cisco DocWiki (ранее известная как «Справочник по технологиям межсетевого взаимодействия»).