Статус документа
В этом документе содержится спецификация протокола, предложенного сообществу Internet. Документ служит приглашением к дискуссии в целях развития и совершенствования протокола.Текущее состояние стандартизации протокола вы можете узнать из документа «Internet Official Protocol Standards» (STD 1). Документ может распространяться без ограничений.
Тезисы
Этот документ определяет часть базы MIB (Management Information Base — база данных управления) для использования с протоколами сетевого управления в сообществе Internet. В частности, документ определяет объекты управления для протокола BGP (Border Gateway Protocol — протокол граничного шлюза) версии 4 и предыдущих версий.
Предтечей этого документа является RFC 1269 «Definitions of Managed Objects for the Border Gateway Protocol (Version 3)», который был обновлен для поддержки BGP-4 в RFC 1657. В документе исправлены ошибки, внесенные при конвертировании модуля MIB для использования с языком SMIv2. В документе также даются обновленные ссылки на современные документы SNMP.
В этом документе описаны развернутые на практике реализации данного модуля MIB в историческом контексте для прояснения некоторых элементов и отмечены ошибки, в результате которых модуль MIB давал неполное представление протокола BGP. В настоящее время продолжается работа по замене модуля MIB с учетом современного состояния протокола BGP и его расширений.
Этот документ отменяет действие RFC 1269 и RFC 1657.
1. Введение
Этот документ определяет часть базы MIB для использования с протоколами сетевого управления в сообществе Internet. В частности, документ определяет объекты управления для протокола BGP версии 4 и предыдущих версий [BGP4, BGP4APP].
Этот документ отменяет действие RFC 1269 и RFC 1657.
2. Стандартная схема сетевого управления Internet
Подробный обзор современной стандартной схемы сетевого управления Internet (Internet-Standard Management Framework) содержится в главе 7 документа RFC 3410 [RFC3410].
Доступ к объектам управления осуществляется через виртуальное информационное хранилище, называемое базой данных управления (Management Information Base) или MIB. Для доступа к объектам MIB обычно используется простой протокол SNMP (Simple Network Management Protocol — простой протокол сетевого управления).
Объекты MIB определяются с использованием механизмов, заданных в структуре SMI (Structure of Management Information — структура данных управления). Данный документ описывает модуль MIB, соответствующий спецификации SMIv2, которая описана в документах STD 58 — RFC 2578 [RFC2578], RFC 2579 [RFC2579] и RFC 2580 [RFC2580].
3. Обзор
Эти объекты используются для контроля и управления реализациями протокола BGP-4.
За исключением небольшого числа скалярных объектов системного уровня модуль MIB поделен на три таблицы: таблица партнеров (BGP Peer Table), таблица полученных атрибутов пути (BGP Received Path Attribute Table) и таблица принятых атрибутов BGP-4 (BGP-4 Received Path Attribute Table). Таблица партнеров содержит сведения о состоянии и текущей активности соединений с партнерами BGP. Таблица полученных атрибутов пути содержит атрибуты пути, принятые от всех партнеров, использующих протокол BGP версии 3 или ниже. Таблица BGP-4 Received Path Attribute содержит атрибуты пути, полученные от всех партнеров BGP-4. Атрибуты, используемые в действительности для определения маршрутов, являются подмножеством таблиц принятых атрибутов после применения к этим таблицам правил локальной политки маршрутизации.
4. Определения
BGP4-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, IpAddress, Integer32, Counter32, Gauge32, mib-2 FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF; bgp MODULE-IDENTITY LAST-UPDATED "200601110000Z" ORGANIZATION "IETF IDR Working Group" CONTACT-INFO "E-mail: [email protected] Jeffrey Haas, Susan Hares (Editors) NextHop Technologies 825 Victors Way Suite 100 Ann Arbor, MI 48108-2738 Tel: +1 734 222-1600 Fax: +1 734 222-1602 E-mail: [email protected] [email protected] " DESCRIPTION "Модуль MIB для протокола BGP-4. Copyright (C) The Internet Society (2006). Данная версия модуля MIB является частью RFC 4273; полная нформация содержится в самом RFC. REVISION "200601110000Z" DESCRIPTION "Отличия от RFC 1657: 1) Исправлены определения уведомлений, чтобы сделать их эквивалентными первоначальным определениям RFC 1269. 2) Добавлена информация о соответствии. 3) Обновлена информация для значений bgpPeerNegotiatedVersion, bgp4PathAttrLocalPref, bgp4PathAttrCalcLocalPref, bgp4PathAttrMultiExitDisc, bgp4PathAttrASPathSegement. 4) Добавлены дополнительные комментарии там, где это требовалось 5) Места, где объекты не полностью отражают протокол, помечены, как Known Issues (известные проблемы). 6) Обновлено описание (DESCRIPTION) объекта bgp4PathAttrAtomicAggregate object. 7) Для перечисленных ниже объектов изменены описания с целью удаления текста, предлагающего (с использованием уровня следует) инициализировать счетчики нулевыми значениями при переходе в состояние Established: bgpPeerInUpdates, bgpPeerOutUpdates, bgpPeerInTotalMessages, bgpPeerOutTotalMessages Исполняющие удаленные требования реализации сохраняют совместимость с новыми требованиями. Приложениям не следует предполагать, что отсчет всегда начинается с нуля. Опубликовано как RFC 4273." REVISION "199405050000Z" DESCRIPTION "Преобразовано в соответствии с SMIv2 и опубликовано как RFC 1657." REVISION "199110261839Z" DESCRIPTION "Первоначальный вариант, опубликованный как RFC 1269." ::= { mib-2 15 } bgpVersion OBJECT-TYPE SYNTAX OCTET STRING (SIZE (1..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "Вектор номеров поддерживаемых версий протокола BGP. Для каждого партнера согласуется значение номера версии из этого вектора. Версии идентифицируются строкой битов, содержащейся в данном объекте. Первый октет содержит биты от 0 до 7, второй — от 8 до 15 и т. д.. Старший бит помещается в младшую позицию октета и наоборот (например, старший бит первого октета является битом 0). Если бит i присутствует и имеет значение 1, это говорит о том, что поддерживается версия BGP с номером (i+1)." REFERENCE "RFC 4271, Section 4.2." ::= { bgp 1 } bgpLocalAs OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "Номер локальной автономной системы." REFERENCE "RFC 4271, Section 4.2, 'My Autonomous System'." ::= { bgp 2 } -- Таблица BGP Peer. Эта таблица содержит для каждого -- партнера BGP запись с информацией об этом партнере. bgpPeerTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpPeerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Таблица BGP Peer. Эта таблица содержит для каждого партнера BGP запись с информацией о соединении с данным партнером." ::= { bgp 3 } bgpPeerEntry OBJECT-TYPE SYNTAX BgpPeerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Запись, содержащая информацию о соединении с партнером." INDEX { bgpPeerRemoteAddr } ::= { bgpPeerTable 1 } BgpPeerEntry ::= SEQUENCE { bgpPeerIdentifier IpAddress, bgpPeerState INTEGER, bgpPeerAdminStatus INTEGER, bgpPeerNegotiatedVersion Integer32, bgpPeerLocalAddr IpAddress, bgpPeerLocalPort Integer32, bgpPeerRemoteAddr IpAddress, bgpPeerRemotePort Integer32, bgpPeerRemoteAs Integer32, bgpPeerInUpdates Counter32, bgpPeerOutUpdates Counter32, bgpPeerInTotalMessages Counter32, bgpPeerOutTotalMessages Counter32, bgpPeerLastError OCTET STRING, bgpPeerFsmEstablishedTransitions Counter32, bgpPeerFsmEstablishedTime Gauge32, bgpPeerConnectRetryInterval Integer32, bgpPeerHoldTime Integer32, bgpPeerKeepAlive Integer32, bgpPeerHoldTimeConfigured Integer32, bgpPeerKeepAliveConfigured Integer32, bgpPeerMinASOriginationInterval Integer32, bgpPeerMinRouteAdvertisementInterval Integer32, bgpPeerInUpdateElapsedTime Gauge32 } bgpPeerIdentifier OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "Идентификатор BGP для партнера, с которым связана запись. Это поле должно иметь значение 0.0.0.0, если значение bgpPeerState не равно openconfirm или established." REFERENCE "RFC 4271, Section 4.2, 'BGP Identifier'." ::= { bgpPeerEntry 1 } bgpPeerState OBJECT-TYPE SYNTAX INTEGER { idle(1), connect(2), active(3), opensent(4), openconfirm(5), established(6) } MAX-ACCESS read-only STATUS current DESCRIPTION "Состояние соединения с партнером BGP." REFERENCE "RFC 4271, Section 8.2.2." ::= { bgpPeerEntry 2 } bgpPeerAdminStatus OBJECT-TYPE SYNTAX INTEGER { stop(1), start(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "Желаемое состояние соединения BGP. Переход из состояния stop в состояние start будет приводить к генерации события BGP Manual Start Event. Переход из состояния start в состояние stop будет вызывать генерацию события BGP Manual Stop Event. Этот параметр может использоваться для перезапуска соединений BGP. Следует с осторожностью относиться к предоставлению возможности записи для этого параметра без соответствующей аутентификации." REFERENCE "RFC 4271, Section 8.1.2." ::= { bgpPeerEntry 3 } bgpPeerNegotiatedVersion OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "Согласованная партнерами версия протокола BGP. Это поле должно иметь нулевое значение (0) пока переменная bgpPeerState не имеет значения openconfirm или established. Отметим, что это поле может иметь значение в диапазоне от 0 до 255." REFERENCE "RFC 4271, Section 4.2. RFC 4271, Section 7." ::= { bgpPeerEntry 4 } bgpPeerLocalAddr OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "Локальный адрес IP для этого соединения BGP." ::= { bgpPeerEntry 5 } bgpPeerLocalPort OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "Локальный номер порта TCP для этого соединения BGP." ::= { bgpPeerEntry 6 } bgpPeerRemoteAddr OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "Удаленный адрес IP для этого соединения BGP." ::= { bgpPeerEntry 7 } bgpPeerRemotePort OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "Удаленный номер порта TCP для этого соединения BGP. Отметим, что объекты bgpPeerLocalAddr, bgpPeerLocalPort, bgpPeerRemoteAddr и bgpPeerRemotePort обеспечивают соответствующие ссылки на стандартную таблицу MIB соединения TCP." ::= { bgpPeerEntry 8 } bgpPeerRemoteAs OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "Номер удаленной AS, полученный в сообщении BGP OPEN." REFERENCE "RFC 4271, Section 4.2." ::= { bgpPeerEntry 9 } ...
... bgpPeerInUpdates OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Число сообщений BGP UPDATE, полученных через данное соединение." REFERENCE "RFC 4271, Section 4.3." ::= { bgpPeerEntry 10 } bgpPeerOutUpdates OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Число сообщений BGP UPDATE, переданных через это соединение." REFERENCE "RFC 4271, Section 4.3." ::= { bgpPeerEntry 11 } bgpPeerInTotalMessages OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Общее число сообщений, полученных от удаленного партнера через данное соединение." REFERENCE "RFC 4271, Section 4." ::= { bgpPeerEntry 12 } bgpPeerOutTotalMessages OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Общее число сообщений, переданных удаленному партнеру через это соединение." REFERENCE "RFC 4271, Section 4." ::= { bgpPeerEntry 13 } bgpPeerLastError OBJECT-TYPE SYNTAX OCTET STRING (SIZE (2)) MAX-ACCESS read-only STATUS current DESCRIPTION "Код и субкод последней ошибки для данного соединения. При отсутствии ошибок переменная имеет нулевое значение. При наличии ошибок первый байт этого 2-байтового поля типа OCTET STRING содержит код ошибки, а второй байт - субкод." REFERENCE "RFC 4271, Section 4.5." ::= { bgpPeerEntry 14 } bgpPeerFsmEstablishedTransitions OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Общее число переходов BGP FSM в состояние Established для данного партнера." REFERENCE "RFC 4271, Section 8." ::= { bgpPeerEntry 15 } bgpPeerFsmEstablishedTime OBJECT-TYPE SYNTAX Gauge32 UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "Этот таймер показывает продолжительность (в секундах) нахождения данного партнера в состоянии established или продолжительность последнего состояния established. Переменная устанавливается в 0 при организации нового соединения или загрузке маршрутизатора." REFERENCE "RFC 4271, Section 8." ::= { bgpPeerEntry 16 } bgpPeerConnectRetryInterval OBJECT-TYPE SYNTAX Integer32 (1..65535) UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "Временной интервал (в секундах) для таймера ConnectRetry. Рекомендуемое значение - 120 секунд." REFERENCE "RFC 4271, Section 8.2.2. This is the value used to initialize the 'ConnectRetryTimer'." ::= { bgpPeerEntry 17 } bgpPeerHoldTime OBJECT-TYPE SYNTAX Integer32 ( 0 | 3..65535 ) UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "Временной интервал (в секундах) согласованный с партнером для таймера удержания (Hold Timer). Значение этой переменной устанавливается данным узлом BGP путем выбора меньшего из двух значений - bgpPeerHoldTimeConfigured и Hold Time из принятого от партнера сообщения OPEN. Если эта переменная отличается от нуля, ее значение должно быть не меньше 3 секунд. Если значение Hold Timer не согласовано с партнером, эта переменная должна иметь нулевое значение (0). Если bgpPeerHoldTimeConfigured object = 0, данная переменная также должна иметь значение 0." REFERENCE "RFC 4271, Section 4.2." ::= { bgpPeerEntry 18 } bgpPeerKeepAlive OBJECT-TYPE SYNTAX Integer32 ( 0 | 1..21845 ) UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "Временной интервал (в секундах) для таймера KeepAlive, согласованный с партнером. Значение этого объекта рассчитывается узлом BGP так, чтобы его отношение к bgpPeerHoldTime совпадало с отношением bgpPeerKeepAliveConfigured к значению bgpPeerHoldTimeConfigured. Если значение таймера KeepAlive не согласовано с партнером, этот объект должен иметь значение (0). Если bgpPeerKeepAliveConfigured = 0, данный объект также должен иметь значение 0." REFERENCE "RFC 4271, Section 4.4." ::= { bgpPeerEntry 19 } bgpPeerHoldTimeConfigured OBJECT-TYPE SYNTAX Integer32 ( 0 | 3..65535 ) UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "Временной интервал (в секундах) для Hold Time, указанный для данного узла BGP в его соединении с данным партнером. Это значение передается в сообщении OPEN, передаваемом партнеру данным узлом BGP, и сравнивается со значением поля Hold Time в полученном от партнера сообщении OPEN при выборе значение Hold Time (bgpPeerHoldTime) для данного соединения с партнером. Если это поле имеет отличное от 0 значение, оно должно быть не менее 3 секунд. Значение 0 говорит о том, что время удержания (Hold Time) не согласовано с данным партнером. Рекомендуемое значение — 90 секунд." REFERENCE "RFC 4271, Section 4.2. RFC 4271, Section 10." ::= { bgpPeerEntry 20 } bgpPeerKeepAliveConfigured OBJECT-TYPE SYNTAX Integer32 ( 0 | 1..21845 ) UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "Временной интервал (в секундах) для таймера KeepAlive, указанный для данного узла BGP в его соединении с данным партнером. Значение этого объекта будет определять только частоту передачи сообщений KEEPALIVE относительно значения, заданного bgpPeerHoldTimeConfigured; реальный интервал передачи сообщений KEEPALIVE указывается в переменной bgpPeerKeepAlive. Разумным значением для этого таймера является треть (1/3) от значения bgpPeerHoldTimeConfigured. Если данный объект имеет нулевое значение (0), периодической передачи партнеру сообщений KEEPALIVE после организации соединения BGP не происходит. Рекомендуемоезначение - 30 секунд." REFERENCE "RFC 4271, Section 4.4. RFC 4271, Section 10." ::= { bgpPeerEntry 21 } bgpPeerMinASOriginationInterval OBJECT-TYPE SYNTAX Integer32 (1..65535) UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "Временной интервал (в секундах) для таймера MinASOriginationInterval. Рекомендуемое значение - 15 секунд." REFERENCE "RFC 4271, Section 9.2.1.2. RFC 4271, Section 10." ::= { bgpPeerEntry 22 } bgpPeerMinRouteAdvertisementInterval OBJECT-TYPE SYNTAX Integer32 (1..65535) UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "Временной интервал (в секундах) для таймера MinRouteAdvertisementInterval. Рекомендуемое значение - 30 секунд для соединений EBGP и 5 секунд для соединений IBGP." REFERENCE "RFC 4271, Section 9.2.1.1. RFC 4271, Section 10." ::= { bgpPeerEntry 23 } bgpPeerInUpdateElapsedTime OBJECT-TYPE SYNTAX Gauge32 UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "Время (в секундах) прошедшее с момента получения от партнера последнего сообщения BGP UPDATE. При каждом увеличиении переменной bgpPeerInUpdates для этого объекта устанавливается нулевое значение (0)." REFERENCE "RFC 4271, Section 4.3. RFC 4271, Section 8.2.2, Established state." ::= { bgpPeerEntry 24 } bgpIdentifier OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "Значение идентификатора BGP для локальной системы." REFERENCE "RFC 4271, Section 4.2." ::= { bgp 4 } -- Таблица принятых атрибутов пути (BGP Received Path -- Attribute Table). Эта таблица содержит по одной -- записи для каждого пути в сеть (с атрибутами пути), -- полученного от всех партнеров, использующих BGP -- версии 3 или ниже. Данная таблица утратила силу -- и будет заменяется bgp4PathAttrTable. bgpRcvdPathAttrTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpPathAttrEntry MAX-ACCESS not-accessible STATUS obsolete DESCRIPTION "Таблица BGP Received Path Attribute содержит информацию о путях в сети адресатов, полученную от партнеров BGP версии 3 или ниже." ::= { bgp 5 } bgpPathAttrEntry OBJECT-TYPE SYNTAX BgpPathAttrEntry MAX-ACCESS not-accessible STATUS obsolete DESCRIPTION "Информация о пути в сеть." INDEX { bgpPathAttrDestNetwork, bgpPathAttrPeer } ::= { bgpRcvdPathAttrTable 1 } BgpPathAttrEntry ::= SEQUENCE { bgpPathAttrPeer IpAddress, bgpPathAttrDestNetwork IpAddress, bgpPathAttrOrigin INTEGER, bgpPathAttrASPath OCTET STRING, bgpPathAttrNextHop IpAddress, bgpPathAttrInterASMetric Integer32 } bgpPathAttrPeer OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS obsolete DESCRIPTION "IP-адрес партнера, от которого получена информация о пути." ::= { bgpPathAttrEntry 1 } bgpPathAttrDestNetwork OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS obsolete DESCRIPTION "The address of the destination network." REFERENCE "RFC 1267, Section 4.3." ::= { bgpPathAttrEntry 2 } ...
... bgpPathAttrOrigin OBJECT-TYPE SYNTAX INTEGER { igp(1),-- сети являются внутренними egp(2),-- информация о сетях получена -- от протокола EGP incomplete(3) -- информация о сетях -- получена из иных источников } MAX-ACCESS read-only STATUS obsolete DESCRIPTION "Первичный источник информации о пути." REFERENCE "RFC 1267, Section 4.3. RFC 1267, Section 5." ::= { bgpPathAttrEntry 3 } bgpPathAttrASPath OBJECT-TYPE SYNTAX OCTET STRING (SIZE (2..255)) MAX-ACCESS read-only STATUS obsolete DESCRIPTION "Набор AS, через которые проходит путь в сеть. Этот объект возможно лучше представлять как SEQUENCE OF INTEGER. Однако для совместимости с SMI он представляется как OCTET STRING. Каждая AS представляется парой октетов, как показано ниже: first-byte-of-pair = ASNumber / 256; second-byte-of-pair = ASNumber & 255;" REFERENCE "RFC 1267, Section 4.3. RFC 1267, Section 5." ::= { bgpPathAttrEntry 4 } bgpPathAttrNextHop OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS obsolete DESCRIPTION "Адрес граничного маршрутизатора, который следует использовать для сети адресата." REFERENCE "RFC 1267, Section 4.3. RFC 1267, Section 5." ::= { bgpPathAttrEntry 5 } bgpPathAttrInterASMetric OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS obsolete DESCRIPTION "Необязательная внутренняя метрика AS. Если данный атрибут не задан для маршрута, этот объект имеет значение 0." REFERENCE "RFC 1267, Section 4.3. RFC 1267, Section 5." ::= { bgpPathAttrEntry 6 } -- Таблица BGP-4 Received Path Attribute, содержащая по -- одной записи для каждого пути в сеть (с атрибутами этого -- пути), полученная от всех партнеров, использующих BGP-4. bgp4PathAttrTable OBJECT-TYPE SYNTAX SEQUENCE OF Bgp4PathAttrEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Таблица BGP-4 Received Path Attribute содержит информацию о путях в сети адресатов, полученную от всех партнеров BGP4." ::= { bgp 6 } bgp4PathAttrEntry OBJECT-TYPE SYNTAX Bgp4PathAttrEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Информация о пути в сеть." INDEX { bgp4PathAttrIpAddrPrefix, bgp4PathAttrIpAddrPrefixLen, bgp4PathAttrPeer } ::= { bgp4PathAttrTable 1 } Bgp4PathAttrEntry ::= SEQUENCE { bgp4PathAttrPeer IpAddress, bgp4PathAttrIpAddrPrefixLen Integer32, bgp4PathAttrIpAddrPrefix IpAddress, bgp4PathAttrOrigin INTEGER, bgp4PathAttrASPathSegment OCTET STRING, bgp4PathAttrNextHop IpAddress, bgp4PathAttrMultiExitDisc Integer32, bgp4PathAttrLocalPref Integer32, bgp4PathAttrAtomicAggregate INTEGER, bgp4PathAttrAggregatorAS Integer32, bgp4PathAttrAggregatorAddr IpAddress, bgp4PathAttrCalcLocalPref Integer32, bgp4PathAttrBest INTEGER, bgp4PathAttrUnknown OCTET STRING } bgp4PathAttrPeer OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "IP-адрес партнера, от которого получена информация." ::= { bgp4PathAttrEntry 1 } bgp4PathAttrIpAddrPrefixLen OBJECT-TYPE SYNTAX Integer32 (0..32) MAX-ACCESS read-only STATUS current DESCRIPTION "Размер (в битах) адресного префикса в поле Network Layer Reachability Information." ::= { bgp4PathAttrEntry 2 } bgp4PathAttrIpAddrPrefix OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "Префикс IP из поля Network Layer Reachability Information. Этот объект представляет собой IP-адрес, содержащий префикс, размер которого задан переменной bgp4PathAttrIpAddrPrefixLen. Все биты за пределами bgp4PathAttrIpAddrPrefixLen имеют нулевые значения." REFERENCE "RFC 4271, Section 4.3." ::= { bgp4PathAttrEntry 3 } bgp4PathAttrOrigin OBJECT-TYPE SYNTAX INTEGER { igp(1),-- сети являются внутренними egp(2),-- информация о сетях получена от -- протокола EGP incomplete(3) -- информация о сетях -- получена из других источников } MAX-ACCESS read-only STATUS current DESCRIPTION "Исходный источник информации о пути." REFERENCE "RFC 4271, Section 4.3. RFC 4271, Section 5.1.1." ::= { bgp4PathAttrEntry 4 } bgp4PathAttrASPathSegment OBJECT-TYPE SYNTAX OCTET STRING (SIZE (2..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "Последовательность сегментов AS, каждый из которых представляется тройкой <тип, размер, значение>. Тип задается 1-октетным полем, которое может иметь два значения: 1 AS_SET: неупорядоченный набор AS, через которые проходит маршрут из сообщения UPDATE 2 AS_SEQUENCE: неупорядоченный набор AS, через которые проходит маршрут из сообщения UPDATE Длина представляет собой 1-октетное поле, показывающее число AS в поле значения (value). Поле value (значение) содержит один или множество номеров AS. Каждая AS представляется строкой из 2 октетов: first-byte-of-pair = ASNumber / 256; second-byte-of-pair = ASNumber & 255; Известные проблемы: o при использовании BGP Confederations поле типа может принимать значение 3 или 4. o Значение AS Path может иметь размер более 255 октетов, что может приводить к потере данным объектом части информации из AS Path." REFERENCE "RFC 4271, Section 4.3. RFC 4271, Section 5.1.2." ::= { bgp4PathAttrEntry 5 } bgp4PathAttrNextHop OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "Адрес граничного маршрутизатора, который следует использовать для сети адресата. Этот адрес содержится в поле NEXT_HOP сообщения UPDATE." REFERENCE "RFC 4271, Section 4.3. RFC 4271, Section 5.1.3." ::= { bgp4PathAttrEntry 6 } bgp4PathAttrMultiExitDisc OBJECT-TYPE SYNTAX Integer32 (-1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "Эта метрика используется для выбора между несколькими точками выхода в смежную автономную систему. Значение -1 говорит об отсутствии данного атрибута. Известные проблемы: o Спецификация BGP-4 использует 32-битовое целое число без знака, следовательно данный объект не может представлять весь диапазон." REFERENCE "RFC 4271, Section 4.3. RFC 4271, Section 5.1.4." ::= { bgp4PathAttrEntry 7 } bgp4PathAttrLocalPref OBJECT-TYPE SYNTAX Integer32 (-1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "Установленный исходным узлом BGP4 уровень предпочтения для анонсируемого маршрута. Значение -1 говорит об отсутствии данного атрибута. Известные проблемы: o - Спецификация BGP-4 использует 32-битовое целое число без знака, следовательно данный объект не может представлять весь диапазон." REFERENCE "RFC 4271, Section 4.3. RFC 4271, Section 5.1.5." ::= { bgp4PathAttrEntry 8 } bgp4PathAttrAtomicAggregate OBJECT-TYPE SYNTAX INTEGER { lessSpecificRouteNotSelected(1), -- Написание скорректировано по отношению к RFC 1657 lessSpecificRouteSelected(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "Если ATOMIC_AGGREGATE присутствует в атрибутах пути, данный объект должен иметь значение lessSpecificRouteNotSelected. Если атрибут ATOMIC_AGGREGATE отсутствует в пути, данный объект должен иметь значение lessSpecificRouteSelected. Отметим, что атрибут ATOMIC_AGGREGATE в настоящее время используется в основном с информационной целью." REFERENCE "RFC 4271, Sections 5.1.6 and 9.1.4." ::= { bgp4PathAttrEntry 9 } ...
... bgp4PathAttrAggregatorAS OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "Номер AS последнего узла BGP4, выполнявшего агрегирование маршрута. Нулевое значение (0) указывает на отсутствие атрибута. Отметим, что распространение AS=0 запрещено для Internet." REFERENCE "RFC 4271, Section 5.1.7. RFC 4271, Section 9.2.2.2." ::= { bgp4PathAttrEntry 10 } bgp4PathAttrAggregatorAddr OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "IP-адрес последнего узла BGP4, выполнявшего агрегирование маршрута. Нулевое значение (0.0.0.0) указывает на отсутствие атрибута." REFERENCE "RFC 4271, Section 5.1.7. RFC 4271, Section 9.2.2.2." ::= { bgp4PathAttrEntry 11 } bgp4PathAttrCalcLocalPref OBJECT-TYPE SYNTAX Integer32 (-1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "Уровень предпочтения, рассчитанный принимающим узлом BGP4 для анонсируемого маршрута. Значение -1 говорит об отсутствии данного атрибута. Известные проблемы: o Спецификация BGP-4 использует 32-битовое целое число без знака, следовательно данный объект не может представлять весь диапазон." REFERENCE "RFC 4271, Section 9.1.1." ::= { bgp4PathAttrEntry 12 } bgp4PathAttrBest OBJECT-TYPE SYNTAX INTEGER { false(1),-- маршрут не выбран в качестве лучшего true(2) -- маршрут выбран в качестве лучшего } MAX-ACCESS read-only STATUS current DESCRIPTION "Состояние выбора данного маршрута в качестве лучшего маршрута BGP4 для данного адресата." REFERENCE "RFC 4271, Section 9.1.2." ::= { bgp4PathAttrEntry 13 } bgp4PathAttrUnknown OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "Один или множество атрибутов пути, которые данный узел BGP4 не смог распознать Атрибуты пути записываются в сообщения UPDATE в формате <тип, размер, значение>. Нулевой размер указывает на отсутствие атрибута. Октеты за пределами указанного размера не сохраняются в данном объекте. Известные проблемы: o атрибуты, понятные данному узлу, но не представленные в этом модуле MIB, становятся недоступными для агента" REFERENCE "RFC 4271, Section 5." ::= { bgp4PathAttrEntry 14 } -- Прерывания (Traps). -- Отметим, что в RFC 1657, переменной bgpTraps некорректно -- присвоено значение { bgp 7 } и каждое из прерываний, -- имеющих bgpPeerRemoteAddr некорректно удаляется из OBJECTS. -- Приведенное ниже определение восстанавливает семантику -- прерывания, определенную в RFC 1269. bgpNotification OBJECT IDENTIFIER ::= { bgp 0 } bgpEstablishedNotification NOTIFICATION-TYPE OBJECTS { bgpPeerRemoteAddr, bgpPeerLastError, bgpPeerState } STATUS current DESCRIPTION "Событие bgpEstablishedNotification генерируется при переходе BGP FSM в состояние Established. Данное сообщение NOTIFICATION заменяет собой прежнее уведомление bgpEstablished." ::= { bgpNotification 1 } bgpBackwardTransNotification NOTIFICATION-TYPE OBJECTS { bgpPeerRemoteAddr, bgpPeerLastError, bgpPeerState } STATUS current DESCRIPTION "Событие bgpBackwardTransNotification генерируется при переходе BGP FSM в состояние с меньшим номером. Данное сообщение NOTIFICATION заменяет собой прежнее уведомление bgpBackwardsTransition." ::= { bgpNotification 2 } -- { bgp 7 } запрещено к использованию. Не выделяйте -- новые объекты или уведомления для этой ветви. bgpTraps OBJECT IDENTIFIER ::= { bgp 7 } -- Использование запрещено. bgpEstablished NOTIFICATION-TYPE OBJECTS { bgpPeerLastError, bgpPeerState } STATUS deprecated DESCRIPTION "Событие bgpEstablished генерируется при переходе BGP FSM в состояние Established. Данное сообщение NOTIFICATION заменено уведомленим bgpEstablishedNotification." ::= { bgpTraps 1 } bgpBackwardTransition NOTIFICATION-TYPE OBJECTS { bgpPeerLastError, bgpPeerState } STATUS deprecated DESCRIPTION "Событие bgpBackwardTransition генерируется при переходе BGP FSM в состояние с меньшим номером. Данное сообщение NOTIFICATION заменено уведомленим bgpBackwardTransNotification." ::= { bgpTraps 2 } -- Информация о соответствии. bgp4MIBConformance OBJECT IDENTIFIER ::= { bgp 8 } bgp4MIBCompliances OBJECT IDENTIFIER ::= { bgp4MIBConformance 1 } bgp4MIBGroups OBJECT IDENTIFIER ::= { bgp4MIBConformance 2 } -- Заявление о соответствии. bgp4MIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Заявление о соответствии для объектов, которые реализованы в BGP4 MIB." MODULE -- Данный модуль. MANDATORY-GROUPS { bgp4MIBGlobalsGroup, bgp4MIBPeerGroup, bgp4MIBPathAttrGroup } GROUP bgp4MIBNotificationGroup DESCRIPTION "Реализация BGP Notifications является необязательной в данном модуле MIB." ::= { bgp4MIBCompliances 1 } bgp4MIBDeprecatedCompliances MODULE-COMPLIANCE STATUS deprecated DESCRIPTION "Заявление о соответствии для запрещенных к использованию объектов в данном модуле BGP4 MIB." MODULE -- данный модуль GROUP bgp4MIBTrapGroup DESCRIPTION "Группа, содержащая объекты TRAP, которые были некорректно конвертированы из SMIv1 в RFC 1657. Корректная сементика восстановлена для объектов в bgp4MIBNotificationGroup" ::= { bgp4MIBCompliances 2 } bgp4MIBObsoleteCompliances MODULE-COMPLIANCE STATUS obsolete DESCRIPTION "The compliance statement documenting obsolete objects in the BGP4 mib." MODULE -- данный модуль GROUP bgpRcvdPathAttrGroup DESCRIPTION "Группа, содержащая объекты, которые относятся к BGP-3 и более ранним версиям." ::= { bgp4MIBCompliances 3 } -- Объекты соответствия bgp4MIBGlobalsGroup OBJECT-GROUP OBJECTS { bgpVersion, bgpLocalAs, bgpIdentifier } STATUS current DESCRIPTION "Набор объектов, обеспечивающих информацию об общем (глобальном) состоянии BGP." ::= { bgp4MIBGroups 1 } bgp4MIBPeerGroup OBJECT-GROUP OBJECTS { bgpPeerIdentifier, bgpPeerState, bgpPeerAdminStatus, bgpPeerNegotiatedVersion, bgpPeerLocalAddr, bgpPeerLocalPort, bgpPeerRemoteAddr, bgpPeerRemotePort, bgpPeerRemoteAs, bgpPeerInUpdates, bgpPeerOutUpdates, bgpPeerInTotalMessages, bgpPeerOutTotalMessages, bgpPeerLastError, bgpPeerFsmEstablishedTransitions, bgpPeerFsmEstablishedTime, bgpPeerConnectRetryInterval, bgpPeerHoldTime, bgpPeerKeepAlive, bgpPeerHoldTimeConfigured, bgpPeerKeepAliveConfigured, bgpPeerMinASOriginationInterval, bgpPeerMinRouteAdvertisementInterval, bgpPeerInUpdateElapsedTime } STATUS current DESCRIPTION "Набор объектов для управления партнерами BGP." ::= { bgp4MIBGroups 2 } bgpRcvdPathAttrGroup OBJECT-GROUP OBJECTS { bgpPathAttrPeer, bgpPathAttrDestNetwork, bgpPathAttrOrigin, bgpPathAttrASPath, bgpPathAttrNextHop, bgpPathAttrInterASMetric } STATUS obsolete DESCRIPTION "Набор объектов для управления элементами BGP-3 и более ранних версий. Подобно BGP-3, эта группа соответствия утратила силу." ::= { bgp4MIBGroups 3 } bgp4MIBPathAttrGroup OBJECT-GROUP OBJECTS { bgp4PathAttrPeer, bgp4PathAttrIpAddrPrefixLen, bgp4PathAttrIpAddrPrefix, bgp4PathAttrOrigin, bgp4PathAttrASPathSegment, bgp4PathAttrNextHop, bgp4PathAttrMultiExitDisc, bgp4PathAttrLocalPref, bgp4PathAttrAtomicAggregate, bgp4PathAttrAggregatorAS, bgp4PathAttrAggregatorAddr, bgp4PathAttrCalcLocalPref, bgp4PathAttrBest, bgp4PathAttrUnknown } STATUS current DESCRIPTION "Набор объектов для управления элементами пути BGP." ::= { bgp4MIBGroups 4 } bgp4MIBTrapGroup NOTIFICATION-GROUP NOTIFICATIONS { bgpEstablished, bgpBackwardTransition } STATUS deprecated DESCRIPTION "Набор уведомлений для сигнализации об изменении партнерских отношений BGP. Заменено bgp4MIBNotificationGroup." ::= { bgp4MIBGroups 5 } bgp4MIBNotificationGroup NOTIFICATION-GROUP NOTIFICATIONS { bgpEstablishedNotification, bgpBackwardTransNotification } STATUS current DESCRIPTION "Набор уведомлений для сигнализации об изменении партнерских отношений BGP. Заменяет собой bgp4MIBTrapGroup." ::= { bgp4MIBGroups 6 } END
5. Вопросы безопасности
Данный модуль MIB относится к системам, обеспечивающим междоменную маршрутизацию. В силу этого неправомерные манипуляции с объектами, представленными в этом модуле MIB, могут приводить к возникновению отказов в обслуживании для множества пользователей.
В данном модуле MIB определено несколько объектов, которые имеют в пункте MAX-ACCESS значения read-write и/или readcreate. Такие объекты следует рассматривать как чувствительные или уязвимые в большинстве сетевых сред. Поддержка операции SET в незащищенных средах без соответствующей защиты может приводить к негативным последствиям для работы сети. К таким объектам относятся:
bgpPeerAdminStatus
Неправомерное изменение значения bgpPeerAdminStatus со start на stop может приводить к существенным нарушениям связности для значительных областей Internet, доступ к которым осуществляется через соответствующие узлы BGP.
bgpPeerConnectRetryInterval
Неправомерное изменение этого объекта может приводить к продолжительному разрыву соединений, когда они могли бы быть восстановленными за короткое время.
bgpPeerHoldTimeConfigured, bgpPeerKeepAliveConfigured
Некорректная настройка этих объектов может сделать сессии BGP недолговечными и менее устойчивыми к атакам на отказ служб междоменной маршртуизации.
bgpPeerMinASOriginationInterval, bgpPeerMinRouteAdvertisementInterval
Некорректная настройка этих значений может оказывать неблагоприятное воздействие на глобальное (в масштабах Internet) схождение маршрутов, анонсируемых данным узлом BGP. Это может приводить к возникновению долгоживущих маршрутных петель и «черных дыр» для областей Internet, использующих эти маршруты.
Множество объектов данного модуля MIB содержит достаточно важную информацию о работе сети. Например, адреса локального и удаленного узлов BGP могут быть важными с точки зрения ISP, желающих сохранить в тайне адреса интерфейсов своих маршрутизаторов в целях предотвращения использования этих адресов для DoS-атак или подмены.
Следовательно, для большинства сетевых сред важное значение имеет контроль доступа для чтения таких объектов и возможно даже требуется шифрование значений при передаче объектов через сеть по протоколу SNMP.
Версии протокола SNMP до SNMPv3 не обеспечивают должного уровня безопасности. Даже если сеть как таковая защищена (например, с помощью IPsec), это не обеспечивает контроля за внутрисетевым доступом и операциями GET/SET (read/change/create/delete) по отношению к объектам данного модуля MIB.
Разработчикам рекомендуется рассмотреть использование средств защиты, обеспечиваемых моделью управления SNMPv3 (см. параграф 8 в [RFC3410]8), включая полную поддержку криптографических механизмов SNMPv3 (для аутентификации и сохранения тайны).
Более того, развертывание SNMP версий до SNMPv3 не рекомендуется. Взамен рекомендуется развертывать системы SNMPv3 и включать криптографические механизмы защиты. В этом случае заказчик/оператор может установить соответствующие права для SNMP-доступа к объектам данного модуля MIB, включая операции GET или SET (change/create/delete).
6. Благодарности
Благодарим за работу всех членов группы Inter-Domain Routing WG и персонально хотим отметить:
- Yakov Rekhter, Juniper Networks
- Rob Coltun, Redback
- Guy Almes, Internet2
- Jeff Honig, BSDi
- Marshall T. Rose, Dover Beach Consulting, Inc.
- Dennis Ferguson, Juniper Networks
- Matt Mathis, PSC
- John Krawczyk, Bay Networks
- Curtis Villamizar, Avici
- Dave LeRoy, Pencom Systems
- Paul Traina, Juniper Networks
- Andrew Partan, MFN
- Robert Snyder, Cisco Systems
- Dimitry Haskin, Nortel
- Peder Chr Norgaard, Telebit Communications A/S
- Joel Halpern, CTO Longitude Systems, Inc.
- Nick Thille, RedBack Networks
- Bert Wijnen, Lucent
- Shane Wright, NextHop Technologies
- Mike McFadden, Riverstone Networks, Inc.
- Jon Saperia, JDS Consulting, Inc.
- Wayne Tackabury, Gold Wire Technology, Inc.
- Bill Fenner, AT&T Research
- RJ Atkinson, Extreme Networks
- Dan Romascanu, Avaya
- Mathew Richardson, NextHop Technologies
Основой для данного документа является RFC 1269 «Definitions of Managed Objects for the Border Gateway Protocol (Version 3)», который написали Steve Willis и John Burruss, а обновления к этому документу, которые сделал John Chu для поддержки BGP-4 в RFC 1657. редакторы хотят отметить превосходную работу авторов этих исходных документов.
7. Нормативные документы
[BGP4] | Y. Rekhter, T. Li, S. Hares, «Протокол BGP-4», RFC 4271, Январь 2006 |
[BGP4APP] | Y. Rekhter, P. Gross, «Application of the Border Gateway Protocol in the Internet», RFC 1772, Март 1995. |
[RFC2578] | K. McCloghrie, D. Perkins, J. Schoenwaelder, «Structure of Management Information Version 2 (SMIv2)», STD 58, RFC 2578, Апрель 1999. |
[RFC2579] | K. McCloghrie, D. Perkins, J. Schoenwaelder, «Textual Conventions for SMIv2», STD 58, RFC 2579, Апрель 1999. |
[RFC2580] | K. McCloghrie, D. Perkins, J. Schoenwaelder, «Conformance Statements for SMIv2», STD 58, RFC 2580, Апрель 1999. |
[RFC3410] | J. Case, R. Mundy, D. Partain, B. Stewart, «Introduction and Applicability Statements for Internet-Standard Management Framework», RFC 3410, Декабрь 2002. |
Адреса редакторов
Jeffrey Haas
NextHop Technologies
825 Victor's Way, Suite 100
Ann Arbor, MI 48103
Phone: +1 734 222-1600
Fax: +1 734 222-1602
EMail: moc.pohtxen@saahj
Susan Hares
NextHop Technologies
825 Victor's Way, Suite 100
Ann Arbor, MI 48103
Phone: +1 734 222-1600
Fax: +1 734 222-1602
EMail: moc.pohtxen@hks