Internet Engineering Task Force (IETF) J. Heitz, Ed. Request for Comments: 8092 Cisco Category: Standards Track J. Snijders, Ed. ISSN: 2070-1721 NTT K. Patel Arrcus I. Bagdonas Equinix N. Hilliard INEX February 2017
Атрибут BGP Large Communities
BGP Large Communities Attribute
Аннотация
Этот документ описывает атрибут BGP Large Communities, расширяющий протокол BGP-4. Атрибут обеспечивает механизм передачи «непрозрачной» (opaque) информации внутри разных пространств имен с целью управления маршрутизацией. Атрибут подходит для всех номеров автономных систем (ASN1), включая 4-октетные ASN.
Статус документа
Этот документ является проектом стандарта (Internet Standards Track).
Документ является результатом работы IETF2 и представляет собой согласованное мнение сообщества IETF. Документ был вынесен на публичное рассмотрение и одобрен для публикации IESG3. Дополнительная информация о документах Internet Standard представлена в разделе 2 документа RFC 7841.
Информация о текущем статусе этого документа, обнаруженных ошибках и способах обратной связи может быть найдена по ссылке http://www.rfc-editor.org/info/rfc8092.
Авторские права
Авторские права (Copyright (c) 2017) принадлежат IETF Trust и лицам, указанным в качестве авторов документа. Все права защищены.
К документу применимы права и ограничения, указанные в BCP 78 и IETF Trust Legal Provisions и относящиеся к документам IETF (http://trustee.ietf.org/license-info), на момент публикации данного документа. Прочтите упомянутые документы внимательно. Фрагменты программного кода, включённые в этот документ, распространяются в соответствии с упрощённой лицензией BSD, как указано в параграфе 4.e документа IETF Trust Legal Provisions, без каких-либо гарантий (как указано в Simplified BSD License).
1. Введение
Реализации BGP [RFC4271] обычно поддерживают язык правил маршрутизации для управления распространением маршрутной информации. Сетевые операторы привязывают группы BGP (community) к маршрутам для связывания с маршрутом определенных свойств. Эти свойства могут включать информацию типа местоположения источника маршрута, спецификации действий правил маршрутизации, которые будут или были применены, и относятся ко всем маршрутам в сообщении BGP Update, включающем атрибут Communities. Поскольку атрибут BGP communities является необязательным переходным атрибутом BGP, группы BGP могут действовать или иным образом применяться в политике маршрутизации других автономных систем (AS) в сети Internet.
BGP Communities является атрибутом переменного размера, содержащим одно или множество четырехоктетных значений, каждое из которых указывает группу [RFC1997]. Общепринятое использование отдельных значения атрибута этого типа включает их разделение 32-битового значения на два 16-битовых слова. Старшее из этих слов трактуется, как номер автономной системы (ASN), а значение младшего определяется локальной политикой оператора AS, указанной старшим словом.
В результате принятия 4-октетных номеров AS [RFC6793] атрибут BGP Communities уже не может использовать описанное выше представление, поскольку 2-октетное слово не позволяет указать 4-октетный ASN. Атрибут BGP Extended Communities [RFC4360] также не подходит для этого. Шестиоктетный размер атрибута Extended Community вступает в противоречие с общепринятой практикой представления 4-октетных ASN в субполях Global Administrator и Local Administrator.
Для решения описанной проблемы данный документ определяет атрибут BGP Large Communities, представляемый в виде неупорядоченного списка из одного или множества 12-октетных значений, каждое из которых включает 4-октетное поле Global Administrator и два 4-октетных поля для определяемых оператором значений, каждое из которых может быть использовано для обозначения свойств или действий, имеющих смысл для оператора AS, присваивающего значения.
2. Уровни требований
Ключевые слова необходимо (MUST), недопустимо (MUST NOT), требуется (REQUIRED), нужно (SHALL), не нужно (SHALL NOT), следует (SHOULD), не следует (SHOULD NOT), рекомендуется (RECOMMENDED), возможно (MAY), необязательно (OPTIONAL) в данном документе должны интерпретироваться в соответствии с [RFC2119].
3. Атрибут BGP Large Communities
Этот документ определяет атрибут BGP Large Communities, как необязательный, переходный атрибут пути с переменным размером. Все маршруты с атрибутом BGP Large Communities относятся к группам (communities), указанным в атрибуте.
Каждое значение BGP Large Community представляется 12 октетами, как показано на рисунке.
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Global Administrator | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Local Data Part 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Local Data Part 2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Global Administrator
4-октетный идентификатор пространства имен.
Local Data Part 1
4-октетное значение, определенное оператором.
Local Data Part 2
4-октетное значение, определенное оператором.
Поле Global Administrator предназначено для того, чтобы в разных AS можно было определять BGP Large Communities без возникновения конфликтов. В этом поле следует указывать номер автономной системы (ASN), в которой компоненты Local Data Part будут интерпретироваться в соответствии с определением владельца ASN. Использование резервных значений ASN (0 [RFC7607], 65535 и 4294967295 [RFC7300]) в этом поле не рекомендуется.
Порядок размещения 12-октетных значений Large Community Attribute в атрибуте Large Communities не имеет значения и узел BGP может передавать их в любом порядке.
Дубликаты значений BGP Large Community передавать недопустимо. Принимающий узел должен отбрасывать без уведомления избыточные значения BGP Large Community из атрибута BGP Large Communities.
4. Агрегирование
При агрегировании маршрутов результату следует присваивать атрибут BGP Large Communities, который содержит атрибуты BGP Large Communities из всех агрегированных маршрутов.
5. Каноническое представление
Каноническим представлением атрибута BGP Large Communities являются три целых числа без знака в десятичном формате, указываемые в порядке Global Administrator, Local Data 1, Local Data 2. Использование нулей в начале целочисленных значений недопустимо; нулевое значение поля должно представляться одним символом 0. Числа отделяются одно от другого двоеточием — например, 64496:4294967295:2, 64496:0:0.
Атрибут BGP Large Communities следует задавать в каноническом представлении.
6. Обработка ошибок
Обработка ошибок для атрибута BGP Large Communities показана ниже.
-
Атрибут BGP Large Communities нужно считать некорректно сформированным, если размер значения BGP Large Communities Attribute в октетах не кратен 12.
-
Атрибут BGP Large Communities не нужно считать некорректно сформированным по причине наличия в нем дубликатов значение Large Community.
-
Сообщения BGP UPDATE с некорректно сформированным атрибутом BGP Large Communities нужно обрабатывать с использованием модели «трактовать, как отзыв» (treat-as-withdraw), описанной в разделе 2 [RFC7606].
В атрибуте BGP Large Communities поле Global Administrator может содержать любое значение и атрибут BGP Large Communities недопустимо считать некорректно сформированным, если поле Global Administrator содержит невыделенное, нераспределенное или резервное значение ASN.
7. Вопросы безопасности
Этот документ не оказывает влияния на вопросы безопасности, связанные с любым другим механизмом BGP Communities. В частности, AS, полагающаяся на атрибут BGP Large Communities передаваемый в BGP, должна доверять всем другим AS в пути, поскольку любая промежуточная AS на пути может добавить, удалить или изменить атрибут BGP Large Communities. Рассмотрение механизмов такого доверия выходит за рамки этого документа.
BGP Large Communities не обеспечивает защиты целостности содержащихся в атрибуте значений. Операторам следует принимать во внимание узлы BGP могут менять значения BGP Large Community Attribute в сообщениях BGP Update. Защита целостности промежуточной обработки атрибутов BGP Large Community в соответствии с выраженной политикой маршрутизации BGP относится к сфере общей защиты BGP и не рассматривается здесь.
Администраторам сетей следует принимать во внимание рекомендации раздела 11 в «BGP Operations and Security» [RFC7454].
8. Согласование с IANA
Агентство IANA выделило значение 32 (LARGE_COMMUNITY) в субреестре BGP Path Attributes реестра Border Gateway Protocol (BGP) Parameters.
9. Литература
9.1. Нормативные документы
[RFC2119] Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels”, BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <http://www.rfc-editor.org/info/rfc2119>.
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., “A Border Gateway Protocol 4 (BGP-4)”, RFC 4271, DOI 10.17487/RFC4271, January 2006, <http://www.rfc-editor.org/info/rfc4271>.
[RFC7606] Chen, E., Ed., Scudder, J., Ed., Mohapatra, P., and K. Patel, “Revised Error Handling for BGP UPDATE Messages”, RFC 7606, DOI 10.17487/RFC7606, August 2015, <http://www.rfc-editor.org/info/rfc7606>.
9.2. Дополнительная литература
[RFC1997] Chandra, R., Traina, P., and T. Li, “BGP Communities Attribute”, RFC 1997, DOI 10.17487/RFC1997, August 1996, <http://www.rfc-editor.org/info/rfc1997>.
[RFC4360] Sangli, S., Tappan, D., and Y. Rekhter, “BGP Extended Communities Attribute”, RFC 4360, DOI 10.17487/RFC4360, February 2006, <http://www.rfc-editor.org/info/rfc4360>.
[RFC6793] Vohra, Q. and E. Chen, “BGP Support for Four-Octet Autonomous System (AS) Number Space”, RFC 6793, DOI 10.17487/RFC6793, December 2012, <http://www.rfc-editor.org/info/rfc6793>.
[RFC7300] Haas, J. and J. Mitchell, “Reservation of Last Autonomous System (AS) Numbers”, BCP 6, RFC 7300, DOI 10.17487/RFC7300, July 2014, <http://www.rfc-editor.org/info/rfc7300>.
[RFC7454] Durand, J., Pepelnjak, I., and G. Doering, “BGP Operations and Security”, BCP 194, RFC 7454, DOI 10.17487/RFC7454, February 2015, <http://www.rfc-editor.org/info/rfc7454>.
[RFC7607] Kumari, W., Bush, R., Schiller, H., and K. Patel, “Codification of AS 0 Processing”, RFC 7607, DOI 10.17487/RFC7607, August 2015, <http://www.rfc-editor.org/info/rfc7607>.
Благодарности
Авторы выражают свою признательность Ruediger Volk, Russ White, Acee Lindem, Shyam Sethuram, Jared Mauch, Joel M. Halpern, Jeffrey Haas, Gunter van de Velde, Marco Marzetti, Eduardo Ascenco Reis, Mark Schouten, Paul Hoogsteder, Martijn Schmidt, Greg Hankins, Bertrand Duvivier, Barry O’Donovan, Grzegorz Janoszka, Linda Dunbar, Marco Davids, Gaurab Raj Upadhaya, Jeff Tantsura, Teun Vink, Adam Davenport, Theodore Baschak, Pier Carlo Chiodi, Nabeel Cocker, Ian Dickinson, Jan Baggen, Duncan Lockwood, David Farmer, Randy Bush, Wim Henderickx, Stefan Plug, Kay Rechthien, Rob Shakir, Warren Kumari, Gert Doering, Thomas King, Mikael Abrahamsson, Wesley Steehouwer, Sander Steffann, Brad Dreisbach, Martin Millnert, Christopher Morrow, Jay Borkenhagen, Arnold Nipper, Joe Provo, Niels Bakker, Bill Fenner, Tom Daly, Ben Maddison, Alexander Azimov, Brian Dickson, Peter van Dijk, Julian Seifert, Tom Petch, Tom Scholl, Arjen Zonneveld, Remco van Mook, Adam Chappell, Jussi Peltola, Kristian Larsson, Markus Hauschild, Richard Steenbergen, David Freedman, Richard Hartmann, Geoff Huston, Mach Chen и Alvaro Retana за поддержку, рецензирование и комментарии.
Участники работы
Ниже перечислены люди, внесшие существенный вклад в содержимое этого документа.
John Heasley
NTT Communications
Email: heas@shrubbery.net
Adam Simpson
Nokia
Email: adam.1.simpson@nokia.com
Адреса авторов
Jakob Heitz (редактор)
Cisco
170 West Tasman Drive
San Jose, CA 95054
United States of America
Email: jheitz@cisco.com
Job Snijders (редактор)
NTT Communications
Theodorus Majofskistraat 100
Amsterdam 1065 SZ
The Netherlands
Email: job@ntt.net
Keyur Patel
Arrcus, Inc.
Email: keyur@arrcus.com
Ignas Bagdonas
Equinix
80 Cheapside
London EC2V 6EE
United Kingdom
Email: ibagdona.ietf@gmail.com
Nick Hilliard
INEX
4027 Kingswood Road
Dublin 24
Ireland
Email: nick@inex.ie
Перевод на русский язык
Николай Малых
1Autonomous System Number.
2Internet Engineering Task Force.
3Internet Engineering Steering Group.