1.3. Generated Routes

1. Protocol-Independent Routing

1.3. Generated Routes

Generated Routes очень схожи с Aggregate Routes в том плане, что Generated Route становится активным в таблице маршрутизации, если в таблице маршрутизации присутствует и является активным хотя бы один contributing route (более специфичный маршрут) для Generated Route.

Главное отличие Generated Route от Aggregate Route состоит в том, что Generated Route получает next-hop главного (primary) Contributing Route.

1-3-1

На рисунке показан принцип работы Generated Route:

  • Tier 1 ISP отправляет префикс 10.0.0.0/16 региональному ISP
  • Региональный ISP отправит Customer’у X маршрут по-умолчанию только если префикс 10.0.0.0/16 активен в таблице маршрутизатора R1

Т.е. Generated Route генерируется маршрутизатором, когда выполняется определённое условие (условия).

Главный (primary) Contributing Route — это Contributing Route, у которого наименьший Route Preference, и который подпадает под суммарный маршрут Aggregate Route. Если таких Contributing Route несколько и у них одинаковые Route Preference, то главным (primary) Contributing Route станет маршрут с наименьшим prefix number.

Для того, чтобы маршрут стал Contributing Route для Generated Route, необходимо, чтобы этот маршрут имел валидный next-hop и этот next-hop не должен быть локальным устройством или же не должен быть Reject (т.е. next-hop’ом должен быть IP адрес или point-to-point интерфейс). Иначе, Generated Route станет «hidden» в таблице маршрутизации.

Generated Route часто называют Route of Last Resort, т.к. одним из возможных использований Generated Route является создание маршрута по-умолчанию при выполнении определённых условий, которые можно задать через Routing Policy.


Рассмотрим на практике работу Generated Route.

1-3-2

Условие задачи: R1 должен генерировать и анонсировать маршрут по-умолчанию в OSPF Area 0, если в его таблице маршрутизации присутствует маршрут в сеть 10.0.0.0/16, полученный от ISP X по BGP.

Главным (primary) Contributing Route в данном примере должен быть маршрут, полученный на R1 от ISP X, т.е. 10.0.0.0/16. Next-hop’ом для этого главного (primary) Contributing Route является IP адрес 172.30.25.1. Поэтому next-hop’ом для Generated Route будет тот же next-hop — 172.30.25.1.

Зададим условие (через Routing Policy), что главным (primary) Contributing Route в данном примере должен быть именно маршрут 10.0.0.0/16, полученный именно по BGP:

[edit policy-opnions]
user@R1# show policy-statement MATCH-CONTRIBUTING-PREFIX
term MATCH-BGP-PREFIX {
     from {
          protocol bgp;
          route-filter 10.0.0.0/16 exact;
     }
     then accept;
}
term ELSE-REJECT {
     then reject;
}

Второй политикой (Routing Policy) определим, что рассматривается только маршрут 0.0.0.0/0, и этот маршрут должен быть Generated Route’ом:

[edit policy-opnions]
user@R1# show policy-statement EXPORT-DEFAULT
term MATCH-DEFAULT {
     from {
          protocol aggregate;
          route-filter 0.0.0.0/0 exact;
     }
     then accept;
}

Следует обратить внимание, что использование «protocol aggregate» означает и Aggregate Routes и Generated Routes.

Теперь создаём на R1 Generated Route с маршрутом в сеть 0.0.0.0/0 (маршрут по-умолчанию) и применяем к этому маршруту политику MATCH-CONTRIBUTING-PREFIX, созданную ранее:

# set routing-options generate route 0.0.0.0/0 policy MATCH-CONTRIBUTING-PREFIX

Теперь в таблице маршрутизации R1 присутствует Active маршрут в сеть 0.0.0.0/0 с hext-hop’ом 172.30.25.1 (видно в выводе команды «show route 0/0 exact detail» на R1).

Далее на маршрутизаторе R1 инжектируем (через метод export) маршрут 0.0.0.0/0 в OSPF с помощью описанной выше политики EXPORT-DEFAUL:

# set protocols ospf export EXPORT-DEFAULT
# set protocols ospf area 0.0.0.0
# set protocols ospf interface ge-0/0/2.0
# set protocols ospf interface ge-0/0/3.0
# set protocols ospf interface lo0.0

Инжектированный в OSPF маршрут в 0.0.0.0/0 передаётся всем OSPF-маршрутизаторам в Area 0.


Проверка.

Видно, что маршрут в 0.0.0.0/0 установлен в таблицу маршрутизации R1, next-hop’ом является hext-hop для Primary Contributing Route (в отличие от Aggregate Route, в котором next-hop’ом является Reject), а сам Primary Contributing Route получен по BGP и является единственным Contributing Route:

1-3-3

Primary Contributing Route будет первым в списке всех Contributing Route (секция в конце вывода команды «show route 0/0 exact detail» в примере).

Ну и вывод на маршрутизаторе R2 — маршрут в 0.0.0.0/0 установлен в таблицу маршрутизации, получен он по OSPF как external-маршрут (route preference 150), а next-hop’ом в 0.0.0.0/0 является маршрутизатор R1:

1-3-4

Вот такой вот он, Generated Route.

К оглавлению

Добавить комментарий