Маршрутизация на основе политик

Маршрутизация на основе политик (англ. Policy-based routing, PBR) — это техника, применяемая в сетях коммуникаций семейства протоколов англ. TCP/IP, позволяющая реализовать принятие решений о маршрутизации на основе политик, определённых администратором сети[1].

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

Необходимость определения маршрутизационных политик

В современных IP-сетях крупные организации требуют гибкости в реализации маршрутизации на основании собственных политик, выходящих за рамки возможностей, предоставляемых стандартными маршрутизирующими протоколами.

Когда определённый трафик должен направляться по конкретным маршрутам по административным соображениям, маршрутизация на основе политик предоставляет решение. Администраторы сети могут создавать политики, которые избирательно направляют отдельные пакеты по разным маршрутам.

Маршрутизация на основе политик также предоставляет механизм для маркировки пакетов с целью дифференциации типов трафика — это позволяет задавать приоритеты, комбинируя с механизмами управления очередями.

Преимущества внедрения маршрутизации на основе политик

Среди основных преимуществ внедрения маршрутизации на основе политик (PBR) можно выделить:

  • Выбор транзитного провайдера по исходному адресу: Провайдеры Интернета и другие организации могут использовать PBR для направления трафика в зависимости от источника данных на различные подключения к Интернету.
  • QoS: Можно реализовать качество обслуживания за счёт изменения значений TOS (Type of Service) или IP Precedence дифференцированно на пограничных маршрутизаторах.
  • Снижение затрат: Возможно уменьшить эксплуатационные расходы путём разграничения типов трафика, распределяя их по каналам с разной пропускной способностью и стоимостью — постоянными или коммутируемыми.
  • Балансировка нагрузки: Помимо балансировки по маршрутам одинаковой стоимости, реализуемой некоторыми динамическими протоколами маршрутизации, возможно распределять нагрузку между различными маршрутами в зависимости от характеристик трафика[1].

Перенаправление трафика с помощью PBR

Маршрутизация на основе политик предоставляет механизм выражения и реализации правил переадресации пакетов, определённых администраторами сети. Эта техника поддерживает более гибкое управление трафиком между маршрутизаторами, дополняя стандартные возможности протоколов динамической маршрутизации, таких как RIP, OSPF, EIGRP. Вместо определения маршрута только по адресу назначения, PBR позволяет администратору сети задавать и реализовывать правила маршрутизации для разрешения или блокирования маршрутов, исходя из следующих критериев[1]:

  • индивидуальный или групповой IP-адрес источника;
  • конкретное приложение;
  • используемый протокол;
  • размер пакета;
  • значение параметра QoS.

Политика маршрутизации может быть как простой — например, «в моей сети не допускается трафик от отдела кадров» — так и сложной: «трафик, исходящий с данной подсети и обладающий определёнными характеристиками, должен идти по маршруту А, остальной трафик — по маршруту B», даже если пункт назначения одинаков.

Маркировка сетевого трафика

С помощью маршрутизации на основе политик администратор сети может классифицировать трафик с использованием списков контроля доступа (ACL) для последующего задания значений IP precedence или TOS в заголовке IP-пакета, тем самым маркируя пакеты в соответствии с заданной категоризацией.

Такое распределение позволяет на границе сети идентифицировать трафик разных классов обслуживания и реализовывать требуемый QoS для каждого класса в ядре сети посредством технологий управления очередями.

Применение маршрутизации на основе политик

Данная техника применяется к входящим пакетам. Каждый пакет, поступающий на интерфейс с включённой поддержкой PBR, рассматривается для маршрутизации в соответствии с заданными правилами. Маршрутизатор применяет к этим пакетам особые фильтры — так называемые маршрутные карты (route-maps), после чего осуществляет пересылку данных на подходящий следующий узел.

Маршрутные карты

Каждая запись в маршрутной карте содержит набор совпадающих условий и действий. Условные инструкции определяют, по какому критерию определённые пакеты подпадают под действие конкретной политики. Действия же указывают, каким образом пакет должен быть перенаправлен или что с ним делать в случае выполнения условия.

Для каждого сочетания условий и действий в маршрутной карте пакет должен удовлетворять всем проверочным условиям одновременно, чтобы применялись соответствующие действия. В одной маршрутной карте допускается несколько наборов комбинаций условий и действий[1].

Условия сопоставления: точность критерия

Для задания условий обработки пакетов могут использоваться ACL — по любой комбинации исходного адреса, адреса назначения, приложения, типа протокола, либо значений TOS / IP precedence.

В качестве дополнительного критерия можно задать размер пакета, установив минимальное и максимальное значение — что позволяет, например, различать интерактивный трафик (например, голос через IP), обычно состоящий из малых пакетов.

Если пакет не удовлетворяет ни одному из определённых условий, применяется стандартная маршрутизация по адресу назначения IP без дополнительных действий.

Действия: определение маршрута

При выполнении условий сопоставления возможны следующие действия для задания маршрута переадресации:

  • Список интерфейсов, через которые допустимо отправлять пакет: если задано несколько интерфейсов, используется первый рабочий для отправки.
  • Список IP-адресов следующих маршрутизаторов: IP-адрес указывает на соседний маршрутизатор для передачи пакета дальше по маршруту; при наличии нескольких адресов выбран будет первый доступный.
  • Список IP-адресов маршрутизаторов по умолчанию: пакет передаётся на определённый соседний маршрутизатор только в том случае, если отсутствует конкретный маршрут к данному адресу.
  • IP TOS: возможна модификация байта TOS в IP-заголовке.
  • IP precedence: возможно изменение значения IP precedence в заголовке IP.

Данные команды можно комбинировать в любом сочетании.

Если ни одно из условий маршрутной карты не выполняется, пакет передаётся по стандартному алгоритму. Если нужно запретить такой сценарий, последней инструкцией в карте маршрутов можно указать переадресацию пакета на интерфейс Null0, что приведёт к его отбрасыванию.

Примечания

  1. 1 2 3 4 Policy-Based Routing (англ.). Cisco. Cisco Systems. Дата обращения: 10 июня 2024.

Литература

Категории