AAA

RFC 4360 — Атрибут BGP Extended Communities

Статус документа

В этом документе содержится спецификация протокола, предложенного сообществу Internet. Документ служит приглашением к дискуссии в целях развития и совершенствования протокола. Текущее состояние стандартизации протокола вы можете узнать из документа "Internet Official Protocol Standards" (STD 1). Документ может распространяться без ограничений.

Тезисы

В этом документе описан атрибут Extended Communities (Расширенные группы) протокола BGP-4. Данный атрибут обеспечивает механизм установки меток для информации, передаваемой в BGP-4. Эти метки могут использоваться для контроля за распространением информации и других приложений.

1. Введение

Атрибут Extended Communities обеспечивает механизм включения меток для информации, передаваемой протоколом BGP-4 [BGP-4]. Новый атрибут обеспечивает две новых возможности по сравнению с прежним атрибутом BGP Community [RFC1997]:

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

1.1. Уровни требований

Ключевые слова необходимо (MUST), недопустимо (MUST NOT), требуется (REQUIRED), нужно (SHALL), не следует (SHALL NOT), следует (SHOULD), не нужно (SHOULD NOT), рекомендуется (RECOMMENDED), возможно (MAY), необязательно (OPTIONAL) в данном документе интерпретируются в соответствии с RFC 2119 [RFC2119].

2. Атрибут BGP Extended Communities

Атрибут Extended Communities относится к числу транзитивных (переходных) необязательных атрибутов BGP и имеет код типа (Type Code) 16. Атрибут состоит из набора «расширенных групп». Все маршруты с атрибутом Extended Communities принадлежат группам, указанным в этом атрибуте.

Каждая группа Extended Community представляется 8-октетным значением, формат которого показан ниже.

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Type high    |  Type low(*)  |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+          Value                |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Две расширенных группы трактуются как одинаковые только при полном совпадении всех 8 октетов.

Два элемента пары <Type, Value> следует перечислять для задания любого значения группы. Оставшиеся октеты интерпретируются в зависимости от значения поля Type.

3. Определенные типы BGP Extended Community

В этой главе определено несколько расширенных типов и форматы поля Value для этих типов. Введенные здесь типы обеспечивают «шаблоны», каждый из которых идентифицируется старшим октетом поля Type, а младший октет этого поля (subtype) используется для индикации конкретного типа расширенной группы.

3.1. Двухоктетная расширенная группа уровня AS

Это расширенный тип с полем Type из двух октетов и шестиоктетным полем Value.

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0x00 or 0x40  |   Sub-Type    |    Global Administrator       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Local Administrator                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Значение старшего октета данного расширенного типа может быть 0x00 или 0x40. Младший октет поля типа используется для индикации субтипа (Sub-Type).

Поле Value состоит из двух субполей:

3.2. Двухоктетная расширенная группа, связанная с адресом IPv4

Это расширенный тип с полем Type из двух октетов и шестиоктетным полем Value.

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0x01 or 0x41  |   Sub-Type    |    Global Administrator       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Global Administrator (cont.)  |    Local Administrator        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Значение старшего октета данного расширенного типа может быть 0x01 или 0x41. Младший октет поля типа используется для индикации субтипа.

Поле Value состоит из двух субполей:

3.3. Opaque Extended Community

Это расширенный тип с полем Type из двух октетов и шестиоктетным полем Value.

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0x03 or 0x43  |   Sub-Type    |                Value          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Value (cont.)                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Значение старшего октета данного расширенного типа может быть 0x03 или 0x43. Младший октет поля типа используется для индикации субтипа.

Это базовый тип расширенной группы. Значения поля Sub-Type, которое определяет трактовку поля Value, выделяются IANA.

4. Route Target Community

Route Target Community идентифицирует один или множество маршрутизаторов, которые могут получить набор маршрутов (содержащий данный атрибут Community), переносимый BGP. Этот атрибут передается через границы AS.

Route Target Community относится к расширенному типу.

Значение старшего октета поля Type для Route Target Community может быть 0x00, 0x01 или 0x02. Значение младшего октета поля Type для этой группы — 0x02.

Когда старший октет поля Type имеет значение 0x00 или 0x02, субполе Local Administrator содержит значение из пространства, администрируемого организацией, для которой соответствующим органом был выделен номер автономной системы, указанный в поле Global Administrator.

Когда старший октет поля Type имеет значение 0x01, субполе Local Administrator содержит значение из пространства, администрируемого организацией, для которой соответствующим органом был выделен адрес IP, указанный в субполе Global Administrator.

Один из вариантов использования Route Target Community описан в [RFC4364].

5. Route Origin Community

Route Origin Community идентифицирует один или множество маршрутизаторов, которые поместили набор маршрутов (содержащий данный атрибут Community) в BGP. Этот атрибут передается через границы AS.

Route Origin Community относится к расширенному типу.

Старший октет поля Type для Route Origin Community может принимать значение 0x00, 0x01 или 0x02. Значение младшего октета поля Type для этой группы — 0x03.

Когда старший октет поля Type имеет значение 0x00 или 0x02, субполе Local Administrator содержит значение из пространства, администрируемого организацией, для которой соответствующим органом был выделен номер автономной системы, указанный в поле Global Administrator.

Когда старший октет поля Type имеет значение 0x01, субполе Local Administrator содержит значение из пространства, администрируемого организацией, для которой соответствующим органом был выделен адрес IP, указанный в субполе Global Administrator.

Один из вариантов использования Route Target Community описан в [RFC4364].

6. Работа с расширенными группами

Узел BGP может использовать атрибут Extended Communities для контроля маршрутной информации, которая воспринимается им или распространяется его партнерам.

Атрибут Extended Community недопустимо использовать для изменения процесса выбора лучшего пути BGP такими способами, которые ведут к образованию маршрутных петель.

Узел BGP, получивший маршрут без атрибута Extended Communities, может добавить такой атрибут в конце маршрута (append) при распространении этого маршрута своим партнерам.

Узел BGP, получивший маршрут с атрибутом Extended Communities, может изменить этот атрибут в соответствии с локальной политикой.

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

Если маршрут содержит нетранзитивную расширенную группу, то перед анонсированием такого маршрута через границу AS эту группу следует удалить из маршрута. Однако группу не нужно удалять при анонсировании маршрута через границу конфедерации BGP.

Маршрут может содержать одновременно атрибут BGP Communities, определенный в [RFC1997]), и атрибут Extended BGP Communities. В таких случаях атрибут BGP Communities обрабатывается в соответствии с [RFC1997], а Extended BGP Communities — в соответствии с настоящим документом.

7. Согласование с IANA

Все атрибуты BGP Extended Communities содержат поле Type. Агентство IANA создало реестр "BGP Extended Communities Type", который будет поддерживаться IANA.

Поле Type может быть обычным (regular) или расширенным (extended). Для обычного поля Type агентство IANA выделяет 8-битовое значение. а для расширенного — 16-битовое.

Значения, выделенные для обычных (regular) полей Type, недопустимо выделять в качестве значений старшего октета расширенных (extended) полей Type. Значения, выделенные для старшего октета расширенных полей Type, недопустимо выделять в качестве значений обычных полей Type.

Поле Type показывает является атрибут Extended Community переходным или непереходным. Будущие запросы на выделение значений Type должны указывать для какого атрибута (переходного или непереходного) Extended Community предназначено это значение Type.

Выделение значений будет осуществляться в соответствии с процессом Standards Action, определенным в [RFC2434], процессом Early IANA Allocation, определенным в [RFC4020] или правилом First Come First Served, которое определено в [RFC2434].

В приведенной ниже таблице указаны диапазоны для распределения значений поля Type.

ТипПравила распределения
Standard Action Early IANA AllocationFirst Come First Served
Обычные, переходные0x90 - 0xbf0x00 - 0x3f
Обычные, непереходные0xd0 - 0xff0x40 - 0x7f
Расширенные, переходные0x9000 - 0xbfff0x0000 - 0x3fff
Расширенные, непереходные0xd000 - 0xffff0x4000 - 0x7fff

При распределении выделяется имя и значение.

Значения поля Type из диапазонов 0x80 - 0x8f и 0xc0 - 0xcf для обычного типа и диапазонов 0x8000 - 0x8fff и 0xc000 - 0xcfff — для расширенного, предназначены для экспериментального использования, как определено в RFC 3692.

Этот документ определяет класс расширенных групп, называемых двухоктетными расширенными группами уровня AS (AS specific extended community), для которых IANA поддерживает реестр "Two-octet AS Specific Extended Community". Все группы этого класса относятся к расширенному типу. Выделение значений для этого класса будет происходить согласно правилу "First Come First Served", определенному в [RFC2434]. Значения Type для переходных групп этого класса относятся к диапазону 0x0000 - 0x00ff, а для непереходных — к диапазону 0x4000 - 0x40ff. При распределении выделяется имя и значение.

В данном документе выделяются два значения для двухоктетных расширенных групп уровня AS, показанные в таблице.

ИмяЗначение поля Type
two-octet AS specific Route Target0x0002
two-octet AS specific Route Origin0x0003

Данный документ определяет класс расширенных групп, называемых IPv4 address specific extended, для которых IANA поддерживает реестр "IPv4 Address Specific Extended Community". Все группы этого класса относятся к расширенному типу. Выделение значений для этого класса будет происходить согласно правилу "First Come First Served", определенному в [RFC2434]. Значения Type для переходных групп этого класса относятся к диапазону 0x0100 - 0x01ff, а для непереходных — к диапазону 0x4100 - 0x41ff. При распределении выделяется имя и значение.

В таблице показаны значения, выделенные данным документом для класса двухоктетных расширенных групп, связанных с адресом IPv4.

ИмяЗначение поля Type
IPv4 address specific Route Target0x0102
IPv4 address specific Route Origin0x0103

Данный документ определяет расширенные группы, названные Opaque Extended Communityб для которых IANA поддерживает реестр "Opaque Extended Community". Все группы этого класса относятся к расширенному типу. Выделение значений для этого класса будет происходить согласно правилу "First Come First Served", определенному в [RFC2434]. Значения Type для переходных групп этого класса относятся к диапазону 0x0300 - 0x03ff, а для непереходных — к диапазону 0x4300 - 0x43ff. При распределении выделяется имя и значение.

При запросе на выделение значений из нескольких реестров, определенных выше, может запрашиваться выделение одного значения Type из разных реестров. По возможности агентству IANA следует принимать это во внимание.

8. Вопросы безопасности

Причастность данного расширения BGP к вопросам безопасности подобна BGP Communities [RFC1997].

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

9. Благодарности

Спасибо John Hawkinson, Jeffrey Haas, Bruno Rijsman, Bill Fenner и Alex Zinin за их предложения и отклики.

10. Нормативные документы

  1. [BGP-4] Rekhter, Y. and T. Li, "A Border Gateway Protocol 4 (BGP-4)", RFC 4271, January 2006
  2. [RFC1997] Chandra, R., Traina, P., and T. Li, "BGP Communities Attribute", RFC 1997, August 1996.
  3. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
  4. [RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.
  5. [RFC4020] Kompella, K. and A. Zinin, "Early IANA Allocation of Standards Track Code Points", BCP 100, RFC 4020, February 2005.

11. Дополнительная литература

  1. [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private Networks (VPNs)", RFC 4364, February 2006.

Адреса авторов

Srihari R. Sangli
Cisco Systems, Inc.
EMail: moc.ocsic@irahirsr

Dan Tappan
Cisco Systems, Inc.
250 Apollo Drive
Chelmsford, MA 01824
EMail: moc.ocsic@nappat

Yakov Rekhter
Juniper Networks, Inc.
1194 N. Mathilda Ave
Sunnyvale, CA 94089
EMail: ten.repinuj@vokay

Перевод на русский язык

Николай Малых, moc.milib@hkylamn