bgp yes | no | on | off [{ preference preference ; defaultmetric metric ; traceoptions trace_options ; group type external peeras as_number I internal peeras as_number I igp peeras as_number proto proto I routing peeras as_number proto proto interface interface_list | test peeras as_number { allow { address mask mask | masklen number all host address } ; peer address [metricout metric] [localas as_number] [nogendefault] [gateway address] [preference preference] [preference2 preference] [lcladdr address] [holdtime time] [version number] [passive] [sendbuffer number] [recvbuffer number] [indelay time] [outdelay time] [keep all | none] [showwarnings] [noaggregatorid] [keepalivesalways] [v3asloopokay] [nov4asloop] [logupdown] [ttl ttJ] [traceoptions trace options] ; > : }] ;
Данный оператор включает или отключает BGP. По умолчанию BGP отключен. Значение preference по умолчанию равно 170. По умолчанию BGP не объявляет метрику. В отличие от метрики RIP, метрика BGP не играет особой роли в выборе оптимального маршрута. Метрика BGP - это просто произвольное 16-разрядное значение, которое может использоваться в качестве одного из критериев при выборе маршрута. Для указания метрики, объявляемой BGP с маршрутами, можно использовать оператор defaultmetric. Параметры трассировки могут определяться как для всех, так и для отдельных систем, использующих BGP. BGP поддерживает большинство стандартных параметров трассировки, а также следующий:
packets - Отслеживает все пакеты BGP. Отслеживает пакеты BGP OPEN, BGP UP- DATE, BGP KEEPALIVE.
BGP-системы должны состоять в одной группе. Оператор group объявляет группу, определяет, какие системы входят в эту группу, а также указывает тип группы. Операторов группы может быть несколько, однако сочетание типа и номера автономной системы в каждом из них должно быть уникальным. Существует пять типов групп:
group type external peeras as_number - Указывает, что BGP следует работать в качестве классического протокола внешних шлюзов. Системы, перечисленные в данной группе, образуют внешнюю автономную систему. На все входящие и исходящие маршруты распространяется действие всех правил маршрутизации.
group type internal peeras as_number - Указывает, что BGP используется для распространения маршрутов в пользу внутренней группы, не работающей с традиционным протоколом внутренних шлюзов. Маршруты, полученные от внешних BGP-систем, повторно объявляются в этой группе с исходной метрикой.
group type igp peeras as_number proto proto - Указывает, что BGP используется для распространения атрибутов пути в пользу внутренней группы, работающей с протоколом внутренних шлюзов. BGP объявляет АС-путь, исходный пункт, а также транзитные необязательные атрибуты в случае, если атрибуты пути получены из меток IGP.
proto - это имя протокола внутренних шлюзов, например proto ospf. group type routing peeras as_number proto proto interface interface_list Указывает, что BGP используется в пределах системы для доставки внешних маршрутов, тогда как протокол внутренних шлюзов используется для доставки только внутренних маршрутов. Обычно маршруты, полученные BGP от внешних автономных систем, записываются в таблицу маршрутизации, откуда их читает и распространяет по локальной автономной системе внутренний протокол. Для групп этого типа BGP распространяет внешние маршруты самостоятельно, а внутренний протокол ограничивается распространением только внутренних маршрутов локальной автономной системы, proto - имя внутреннего протокола.
group type test peeras as_number - Указывает, что в группу входят тестовые системы. Вся информация маршрутизации, которой обмениваются тестовые системы, удаляется. Предложение g roup содержит уточнения ре е г. В группу может входить любое число уточнений peer. Системы явным образом обозначаются посредством оператора peer либо неявно - посредством оператора allow.
allow - Любая система с адресом из указанного диапазона входит в группу. Ключевое слово all обозначает все возможные адреса. Ключевое слово host предваряет адрес отдельного узла. Диапазоны адресов определяются парами адресов и масок. Маска сети определяется ключевым словом mask и маской в десятичной записи через точку либо ключевым словом masklen и десятичным числом, обозначающим длину префикса. Все параметры для указанных равных систем должны быть определены в предложении group.
peer address - Система с указанным адресом входит в группу. Уточнение BGP peer допускает следующие параметры в предложении group, влияющие на все системы группы:
metricout metric - Определяет основную метрику для маршрутов, передаваемых данной системе. Имеет приоритет больший, чем метрика по умолчанию, метрика группы, а также любая метрика, определенная правилом экспортирования. localas as_number - Определяет номер автономной системы для локальной системы (asn). По умолчанию используется номер asn, определенный в операторе autonomoussystem.
nogendefault - Запрещает gated генерировать маршрут по умолчанию, когда BGP общается с данной системой, даже если в операторе инструкции options фигурирует параметр gendefault.
gateway address - Обозначает следующий транзитный шлюз, через который маршрутизируются пакеты для данной системы. Используйте только в случае, если сосед находится не в той же сети, что и локальная система. Необходимость в данном параметре возникает редко.
preference preference - Определяет значение приоритета, используемое для маршрутов, полученных от данной системы, что позволяет gated отдавать предпочтение маршрутам, полученным от определенной системы либо группы систем.
preference2 preference - Определяет «второе» значение приоритета. В случае одинаковых значений приоритета для выбора будет использоваться второе значение. По умолчанию - 0.
lcladdr address - Определяет адрес локального интерфейса, используемого для сообщения с соседней системой.
holdtime time - Определяет число секунд ожидания системой сообщения keepalive, обновления или уведомления о закрытии соединения. Значение передается этой системе в поле Hold Time сообщения BGP Open. Значение должно равняться 0 (keepalive-сообщвния не посылаются) или быть не меньше 3.
version version - Указывает версию протокола BGP, которую следует использовать с дан- ной системой. По умолчанию согласование версии происходит при создании соединения. В настоящее время поддерживаются версии 2, 3 и 4.
passive - Указывает, что gated должен ожидать получения сообщения OPEN от данной системы. По умолчанию gated периодически посылает сообщения OPEN, пока не получит ответ от системы.
sendbuffer buffer_size и recvbuffer buffer_size - Определяют размеры буферов отправки и получения. По умолчанию - 65 535 байт, и это максимальный размер. Данные параметры не используются в нормально работающих системах.
indelay time и outdelay time - Осуществляет «демпфирование маршрута», indelay предписывает принимать только маршруты, стабильные в течение time секунд, outdelay определяет, сколько секунд маршрут должен храниться в базе данных маршрутизации gated, прежде чем будет экспортирован данной системе. Значение по умолчанию для обоих параметров - 0, то есть демпфирование маршрута не действует. Используйте этот механизм только в случае, если изменения маршрутов происходят настолько быстро, что это приводит к нестабильности таблицы маршрутизации.
keep all - Предписывает системе сохранять маршруты, полученные от данной системы, даже если АС-пути маршрутов содержат номер локальной автономной системы. Обычно маршруты, содержащие номер локальной АС, удаляются, поскольку могут создавать петли маршрутизации.
showwarnings - Предписывает системе генерировать предупреждения в случае событий, которые обычно «молча игнорируются» (скажем, получение дубликатов маршрута).
noaggregatorid - Устанавливает routerid в атрибуте aggregator в значение 0. По умолчанию это значение является идентификатором маршрутизатора. Используйте данный параметр, чтобы запретить маршрутизатору создание объединенных маршрутов с АС-путями, отличными от созданных другими маршрутизаторами автономной системы.
keepalivesalways - Предписывает системе посылать сообщение keepalive, даже если его с успехом можно заменить обновлением. Используется для обеспечения взаимодействия с некоторыми маршрутизаторами. v3asloopokay - Разрешает распространение маршрута с петлей в АС-пути (номер АС фигурирует в пути более одного раза) для внешних систем версии 3.
nov4asloop - Запрещает распространение маршрута с петлей в АС-пути для внешних систем версии 4. Позволяет избежать передачи таких маршрутов системам, ошибочно передающим их соседям версии 3.
logupdown - Регистрирует вход и выход BGP-системы из состояния ESTABLISHED.
ttl ttl - Определяет IP TTL (время жизни IP-пакета) для локальных соседей. По умолчанию имеет значение 1. Используйте данный параметр, если локальный сосед удаляет пакеты с ttl, равным 1. Не все ядра Unix позволяют указывать TTL для ТСР-соединений. Параметры трассировки BGP мы уже рассматривали ранее.