Network Working Group S. Sangli
Request for Comments: 4360 D. Tappan
Category: Standards Track Cisco Systems
Y. Rekhter
Juniper Networks
February 2006
Атрибут BGP Extended Communities
BGP Extended Communities Attribute
Статус документа
В этом документе содержится спецификация протокола, предложенного сообществу Internet. Документ служит приглашением к дискуссии в целях развития и совершенствования протокола. Текущее состояние стандартизации протокола вы можете узнать из документа Internet Official Protocol Standards (STD 1). Документ может распространяться без ограничений.
Авторские права
Copyright (C) The Internet Society (2006).
Аннотация
В этом документе описан атрибут Extended Communities1 протокола BGP-4. Данный атрибут обеспечивает механизм установки меток для информации, передаваемой в BGP-4. Эти метки могут использоваться для контроля за распространением информации и других приложений.
1. Введение
Атрибут Extended Communities обеспечивает механизм включения меток для информации, передаваемой протоколом BGP-4 [BGP-4]. Новый атрибут обеспечивает две новых возможности по сравнению с прежним атрибутом BGP Community [RFC1997]:
- расширенный диапазон, обеспечивающий возможность выделения групп для широкого спектра задач без опасения перекрытия групп;
- добавление поля Type (тип) обеспечивает структурирование пространства групп.
Добавление структуры делает возможным построение основанных на правилах приложений, для которых используются группы. Например, кто-либо может отфильтровывать все группы определенного типа или разрешать только определенные значения для того или иного типа групп. Обеспечивается также возможность указать передается ли определенная группа через границу автономной системы (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-октетным значением, формат которого показан на рисунке.
- поле Type – 1 или 2 октета;
- поле 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type high | Type low(*) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Value |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Поле Type
Вводятся два класса поля типа (Type) – обычный (Regular) и расширенный (Extended) тип.
Размер поля Type для типа Regular составляет 1 октет, а для типа Extended – 2 октета.
Значение старшего октета поля Type определяет имеет расширенная группа тип Regular или Extended. Класс типа (Regular или Extended) не кодируется в структуре самого типа. Класс типа задается в документе, который определяет данный тип, и в реестре IANA.
Формат старшего октета поля Type показан на рисунке.
0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|I|T| |
+-+-+-+-+-+-+-+-+
I – флаг IANA
0 – тип выделяется IANA с использованием правила First Come First Serve2.
1 – часть пространства этого поля Type представляет собой тип, распределяемый IANA на основе правил Standard Action3 или Early IANA Allocation4. Остальное пространство данного поля Type оставлено для экспериментального использования.
T – бит транзитивности (Transitive)
0 – группа передается между AS;
1 – группа не передается между AS.
Оставшиеся 6 битов показывают структуру группы.
Поле Value
Кодирование значений поля Value определяется типом группы, заданным в поле Type.
Две расширенных группы трактуются как одинаковые только при полном совпадении всех 8 октетов.
Два элемента пары <Type, Value> следует перечислять для задания любого значения группы. Оставшиеся октеты интерпретируются в зависимости от значения поля Type.
3. Определенные типы BGP Extended Community
В этой главе определено несколько расширенных типов и форматы поля Value для этих типов. Введенные здесь типы обеспечивают “шаблоны”, каждый из которых идентифицируется старшим октетом поля Type, а младший октет этого поля (sub-type) используется для индикации конкретного типа расширенной группы.
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 состоит из двух субполей:
Global Administrator (глобальный администратор) – 2 октета
Это субполе содержит номер автономной системы, выделенный IANA.
Local Administrator (локальный администратор) – 4 октета
Организация, указанная номером AS в субполе Global Administrator, может кодировать в этом субполе любую информацию. Формат и значение данного субполя следует задавать при определении субтипа группы.
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 состоит из двух субполей:
Global Administrator (глобальный администратор) – 4 октета
Это субполе содержит индивидуальный (unicast) адрес Ipv4, выделенный одним из регистраторов Internet.
Local Administrator (локальный администратор) – 2 октета
Организация, которой выделен адрес Ipv4, указанный в поле Global Administrator, может кодировать в этом субполе любую информацию. Формат и значение данного субполя следует задавать при определении субтипа группы.
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 или 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, недопустимо выделять в качестве значений старшего октета расширенных (extended0 полей 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 |
First Come First Served |
|
Обычные, переходные |
0x90 – 0xbf |
0x00 – 0x3f5 |
Обычные, непереходные |
0xd0 – 0xff |
0x40 – 0x7f |
Расширенные, переходные |
0x9000 – 0xbfff |
0x0000 – 0x3fff |
Расширенные, непереходные |
0xd000 – 0xffff |
0x4000 – 0x7fff |
При распределении выделяется имя и значение.
Значения поля Type из диапазонов 0x80 – 0x8f и 0xc0 – 0xcf для обычного типа и диапазонов 0x8000 – 0x8fff и 0xc000 – 0xcfff – для расширенного, предназначены для экспериментального использования, как определено в RFC 3692.
Этот документ определяет класс расширенных групп, называемых двухоктетными расширенными группами уровня AS (AS specific extended community), для которых IANA поддерживает реестр Two-octet AS Specific Extended Community6. Все группы этого класса относятся к расширенному типу. Выделение значений для этого класса будет происходить согласно правилу “First Come First Served”7, определенному в [RFC2434]. Значения Type для переходных групп этого класса относятся к диапазону 0x0000 – 0x00ff, а для непереходных – к диапазону 0x4000 – 0x40ff. При распределении выделяется имя и значение.
В данном документе выделяются два значения для двухоктетных расширенных групп уровня AS, показанные в таблице.
Имя | Значение поля Type |
---|---|
two-octet AS specific Route Target | 0x0002 |
two-octet AS specific Route Origin | 0x0003 |
Данный документ определяет класс расширенных групп, называемых IPv4 address specific extended8, для которых IANA поддерживает реестр “IPv4 Address Specific Extended Community”9. Все группы этого класса относятся к расширенному типу. Выделение значений для этого класса будет происходить согласно правилу “First Come First Served”, определенному в [RFC2434]. Значения Type для переходных групп этого класса относятся к диапазону 0x0100 – 0x01ff, а для непереходных – к диапазону 0x4100 – 0x41ff. При распределении выделяется имя и значение.
В таблице показаны значения, выделенные данным документом для класса двухоктетных расширенных групп, связанных с адресом IPv4.
Имя | Значение поля Type |
---|---|
IPv4 address specific Route Target | 0x0102 |
IPv4 address specific Route Origin | 0x0103 |
Данный документ определяет расширенные группы, названные Opaque Extended Community, для которых IANA поддерживает реестр “Opaque Extended Community”5. Все группы этого класса относятся к расширенному типу. Выделение значений для этого класса будет происходить согласно правилу “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. Нормативные документы
[BGP-4] Rekhter, Y. and T. Li, “A Border Gateway Protocol 4 (BGP-4)”, RFC 4271, January 2006.
[RFC1997] Chandra, R., Traina, P., and T. Li, “BGP Communities Attribute”, RFC 1997, August 1996.
[RFC2119] Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels”, BCP 14, RFC 2119, March 1997.
[RFC2434] Narten, T. and H. Alvestrand, “Guidelines for Writing an IANA Considerations Section in RFCs”, BCP 26, RFC 2434, October 1998.
[RFC4020] Kompella, K. and A. Zinin, “Early IANA Allocation of Standards Track Code Points”, BCP 100, RFC 4020, February 2005.
11. Дополнительная литература
[RFC4364] Rosen, E. and Y. Rekhter, “BGP/MPLS IP Virtual Private Networks (VPNs)”, RFC 4364, February 2006.
Адреса авторов
Srihari R. Sangli
Cisco Systems, Inc.
EMail: rsrihari@cisco.com
Dan Tappan
Cisco Systems, Inc.
250 Apollo Drive
Chelmsford, MA 01824
EMail: tappan@cisco.com
Yakov Rekhter
Juniper Networks, Inc.
1194 N. Mathilda Ave
Sunnyvale, CA 94089
EMail: yakov@juniper.net
Перевод на русский язык
Николай Малых
Полное заявление авторских прав
Copyright (C) The Internet Society (2006).
К этому документу применимы права, лицензии и ограничения, указанные в BCP 78, и, за исключением указанного там, авторы сохраняют свои права.
Этот документ и содержащаяся в нем информация представлены “как есть” и автор, организация, которую он/она представляет или которая выступает спонсором (если таковой имеется), Internet Society и IETF отказываются от каких-либо гарантий (явных или подразумеваемых), включая (но не ограничиваясь) любые гарантии того, что использование представленной здесь информации не будет нарушать чьих-либо прав, и любые предполагаемые гарантии коммерческого использования или применимости для тех или иных задач.
Интеллектуальная собственность
IETF не принимает какой-либо позиции в отношении действительности или объема каких-либо прав интеллектуальной собственности (Intellectual Property Rights или IPR) или иных прав, которые, как может быть заявлено, относятся к реализации или использованию описанной в этом документе технологии, или степени, в которой любая лицензия, по которой права могут или не могут быть доступны, не заявляется также применение каких-либо усилий для определения таких прав. Сведения о процедурах IETF в отношении прав в документах RFC можно найти в BCP 78 и BCP 79.
Копии раскрытия IPR, предоставленные секретариату IETF, и любые гарантии доступности лицензий, а также результаты попыток получить общую лицензию или право на использование таких прав собственности разработчиками или пользователями этой спецификации, можно получить из сетевого репозитория IETF IPR по ссылке http://www.ietf.org/ipr.
IETF предлагает любой заинтересованной стороне обратить внимание на авторские права, патенты или использование патентов, а также иные права собственности, которые могут потребоваться для реализации этого стандарта. Информацию следует направлять в IETF по адресу ietf-ipr@ietf.org.
Подтверждение
Финансирование функций RFC Editor обеспечено IETF Administrative Support Activity (IASA).
1Расширенные группы
2Распределение в порядке очередности поступления запросов.
3Требуется стандартизация.
4Предварительное распределение до стандартизации.
5В оригинале ошибочно указан диапазон 0x00 – x3f. Прим. перев.
6Этот реестр доступен по ссылке http://www.iana.org/assignments/bgp-extended-communities. Прим. перев.
7Распределение в порядке очередности поступления запросов.
8Двухоктетная расширенная группа, связанная с адресом IPv4
9Этот реестр доступен по ссылке http://www.iana.org/assignments/bgp-extended-communities. Прим. перев.