Управляющие операторы определяют правила маршрутизации. Когда администраторы слышат слова «правила маршрутизации» и «маршрутизация, регулируемая правилами», то часто предполагают, что речь идет о внутренних механизмах протокола маршрутизации.
На деле правила маршрутизации существуют вне протокола маршрутизации - в файле настройки. Правила определяют, какие маршруты принимаются и какие маршруты распространяются. В gated данной цели служат управляющие операторы import и export. Оператор import определяет, какие маршруты принимаются и от каких источников. Оператор export определяет, какие маршруты распространяются, исходя из источника маршрутов и протокола распространения.
Операторы import и export для создания правил маршрутизации задействуют значения приоритета gated, метрики маршрутизации, фильтры маршрутизации, а также АС-пути. Значениями приоритета и метриками управляют следующие ключевые слова:
restrict - Запрещает импортировать (в случае команды import) или экспортировать (в случае команды export) маршруты. Данное ключевое слово позволяет заблокировать определенный маршрут.
preference preference - Определяет значение приоритета (preference), используемое при сравнении данного маршрута с другими. Значения приоритета используются при установке маршрутов, а не при их распространении.
metric metric - Определяет метрику, используемую при распространении маршрута. Фильтры маршрутов отбирают маршруты по адресу пункта назначения.
Среди прочего, фильтры маршрутов используются для «пришельцев», в операторах import и export. Маршрут соответствует наиболее определенному фильтру. Повторение пункта назначения, маски или модификаторов в различных фильтрах является ошибкой. Фильтры маршрутов обозначаются при помощи конструкции:
address [mask mask | masklen number] [exact | refines | between n1 and n2]
Определяет диапазон адресов при помощи адреса и маски адреса. Маска адреса определяется ключевым словом mask и маской в десятичной записи через точку либо ключевым словом masklen и численной длиной префикса. В отсутствие определения маски используется обычная маска сети.
Доступны следующие параметры:
exact - Отбор сетей, но не подсетей или узлов этих сетей.
refines - Отбор подсетей и/или узлов сетей, но не собственно сетей.
between n1 and n2 - Отбор адресов, в которых фильтру соответствуют не менее n1 и не более n2 бит.
all - Отбор всех возможных адресов.
default - Отбор только маршрута по умолчанию.
host address - Отбор узла с указанным адресом.
Фильтр маршрутов, отбирающий все адреса сети с номером 192.168.12.0, а также отдельный узел 10.104.19.12, содержит:
192.168.12.0 masklen 24 ; host 10.104.19.12 ;
Если фильтрация маршрутов в операторе import или export не задействована, действие оператора распространяется на все маршруты указанного источника. Если определены фильтры, импортируются или экспортируются только маршруты, этим фильтрам соответствующие.
Архитектура протокола пограничных шлюзов BGP поддерживает маршрутизацию, регулируемую правилами. Главная особенность BGP в том, что это протокол вектора пути. Операторы import и export позволяют использовать вектор АС-пути для проведения в жизнь правил маршрутизации. АС-путь перечисляет все автономные системы маршрута и указывает полноту пути. Каждая автономная система, через которую проходит маршрут, добавляет свой АС-номер в начало АС-пути.
«Происхождение» (origin) пути указывает его полноту. Происхождение igp указывает, что маршрут получен от протокола внутренней маршрутизации и является, вероятнее всего, полным. Происхождение едр указывает, что маршрут получен от протокола внешней маршрутизации, не поддерживающего АС-пути (например, EGP), так что путь, вероятнее всего, не является полным.
Когда информация пути определенно не является полной, используется происхождение incomplete. Любое из происхождений может быть указано в операторах import и export, а значит - использовано в правилах маршрутизации. Ключевое слово any указывает, что правило действует для всех вариантов происхождения.
АС-путь может также фигурировать в управляющих операторах в качестве регулярного выражения АС-пути.
Такие регулярные выражения позволяют фильтровать маршруты, исходя из номеров автономных систем в АС-путях, связанных с маршрутами.
Регулярное выражение АС-пути состоит из номеров автономных систем и специальных операторов. В табл. В. 1 описаны операторы АС-пути. Оператор АС-пути действует на операнд АС-пути, то есть на номер автономной системы, точку (.), обозначающую номера всех автономных систем, либо выражение, заключенное в фигурные скобки.
Таблица В.1. Операторы АС-пути
Символ | Значение |
{m,n} | He менее m и не более n повторений |
{m} | Ровно m повторений |
{m.} | m или более повторений |
* | 0 или более повторений |
+ | 1 или более повторений |
? | 0 или 1 повторение |
aspath_term\ aspath_term | АС-операнд слева или справа от символа | |
Простое регулярное выражение АС-пути может выглядеть так:
import proto bgp aspath 164+ origin any restrict ;
Оно блокирует все маршруты, в векторах путей которых присутствует одно или более вхождений номера автономной системы 164.