Универсальная инкапсуляция при маршрутизации (GRE)

Ограничения IPSec VPN уменьшают возможности передачи маршрутов между разнородными сетями site-to-site и позволяют реализовать только решения для статических маршрутов.  Универсальная инкапсуляция при маршрутизации (Generic Routing Encapsulation; GRE) представляет собой механизм инкапсуляции пакетов одного протокола в пакеты другого протокола. Данный механизм реализуется в качестве основного решения устранения ограничений IPSec VPN, поэтому его знание необходимо для понимания технологии IPSec VPN.



•Применение технологии IPSec в экономичных решениях организации обмена между частными сетями позволяет использовать сети общего доступа в качестве среды передачи между удаленными офисами. Данное решение обеспечивает безопасную передачу полезной нагрузки IP-пакетов, но не позволяет передавать пакеты протоколов маршрутизации, таких как RIP и OSPF, между двумя конечными точками туннеля. Первоначально GRE был разработан в качестве средства поддержки передачи протоколов, таких как IPX, по IP-сетям, однако со временем основная роль GRE стала заключаться в поддержке маршрутизации на основе протокола туннелирования.


•GRE можно применять в автономной системе с целью устранения ограничений, обнаруженных в протоколах IGP. Например, чтобы увеличить число транзитных узлов для RIP-маршрутов, лимит которых равен 15, все маршруты следуют правилу бесконечности. Применение GRE в таких средах позволит создать туннель, по которому можно передавать обновления маршрутной информации, что при необходимости значительно увеличит возможности маршрутизации по вектору расстояния.

•Один из главных недостатков GRE — это отсутствие механизма обеспечения безопасности пакетов, передаваемых по сети общего пользования. Трафик, передаваемый в туннеле GRE, не шифруется, так как такие функции не поддерживают механизм GRE. Комбинация IPSec с GRE позволит устанавливать туннели GRE в туннелях IPSec, что расширит функции GRE, включая обеспечение целостности и конфиденциальности передаваемой информации.


•Пакет, полученный от интерфейса, который подключен к частной сети, передается в модуль протокола частной сети для обработки. Данный модуль проверяет поле получателя в заголовке пакета частной сети, ищет исходящий интерфейс в таблице маршрутизации или таблице переадресации частной сети и определяет, как направить этот пакет. Если исходящий интерфейс является интерфейсом туннеля, модуль протокола частной сети отправляет пакет на модуль туннеля.
Получив пакет, модуль туннеля сначала инкапсулирует его в соответствии с типом транспортного протокола, при этом для текущего туннеля GRE настраиваются параметры контрольной суммы. То есть, модуль туннеля добавляет к пакету заголовок GRE. Далее добавляется IP-заголовок в соответствии с конфигурацией. Исходным адресом этого IP-заголовка является исходный адрес туннеля; адресом назначения IP-заголовка является адрес назначения туннеля, по которому пакет передается в IP-модуль. IP-модуль ищет соответствующий исходящий интерфейс в таблице маршрутизации сети общего пользования на основе адреса назначения в IP-заголовке и пересылает пакет. Затем инкапсулированный пакет передается по сети общего пользования.
Получив пакет от интерфейса, подключенного к сети общего пользования, выходной интерфейс анализирует IP-заголовок, определяет получателя пакета и обнаруживает, что в поле Protocol Type стоит значение 47, которое указывает, что используется протокол GRE.
•Выходной интерфейс передает пакет на модуль GRE для обработки. Модуль GRE удаляет IP-заголовок и заголовок GRE и по значению поля Protocol Type в заголовке GRE узнает, что транспортным протоколом является протокол, работающий в частной сети, после чего модуль GRE передает пакет этому протоколу. Сам протокол обрабатывает данный пакет так же, как и любой обычный пакет.


•Аутентификация с помощью ключа выполняется на интерфейсе туннеля. Этот механизм безопасности предотвращает ситуации неправильной идентификации и получения пакетов интерфейсом туннеля от других устройств. Если бит K в заголовке GRE установлен в значение 1, то поле «Ключ» вставляется в заголовок GRE. Как приемник, так и отправитель выполняют проверку подлинности ключа в туннеле.
Поле «Ключ» содержит 4-байтное значение, которое вставляется в заголовок GRE во время инкапсуляции пакетов. Поле «Ключ» используется для идентификации трафика в туннеле. Пакеты одного и того же потока трафика имеют одинаковое содержимое поля «Ключ». Распознавание пакетов, принадлежащих одному потоку трафика, осуществляется после декапсуляции пакетов в конце туннеля по содержимому данного поля. Процедура проверки подлинности считается пройденной только в том случае, если значения поля «Ключ», установленные на противоположных концах туннеля, идентичны, иначе пакеты отбрасываются.


•Функция обнаружения keepalive используется для выявления в любое время канала туннеля, который находится в состоянии keepalive, с целью получения информации о доступности равноправного узла туннеля. Если равноправный узел недоступен, туннель разъединяется, чтобы предотвратить возникновение «черных дыр». После включения функции keepalive локальный конец туннеля GRE периодически отправляет пакет обнаружения состояния keepalive на равноправный узел. Если такой узел доступен, локальный узел получает от него ответный пакет. Функция keepalive будет работать до тех пор, пока по крайней мере на одном конце будет настроена данная функция, при этом нет необходимости включать функцию keepalive на равноправном узле. Получив пакет обнаружения состояния keepalive, равноправный узел отправляет ответный пакет на локальный узел независимо от того, настроена ли на нем функция keepalive.
После включения функции keepalive источник туннеля GRE создает счетчик, периодически отправляет пакеты обнаружения состояния keepalive и подсчитывает количество пакетов обнаружения. После отправки очередного пакета обнаружения количество увеличивается на единицу.
Если источник получит ответный пакет до того, как значение счетчика достигнет заданного значения, источник будет считать, что равноправный узел доступен. Если источник не получит ответный пакет до того, как счетчик достигнет заданного значения, определяющего число попыток, то источник признает равноправный узел недоступным и разъединит соединение туннеля.

Этот тест был открыт Вторник, 18 Апрель 2023, 15:20

Тестирование будет окончено в Пятница, 18 Апрель 2042, 15:20

Метод оценивания: Высшая оценка