draft-ietf-grow-mrt-add-paths-03.txt | rfc8050.txt | |||
---|---|---|---|---|
Global Routing Operations C. Petrie | Internet Engineering Task Force (IETF) C. Petrie | |||
Internet-Draft RIPE NCC | Request for Comments: 8050 RIPE NCC | |||
Intended status: Standards Track T. King | Category: Standards Track T. King | |||
Expires: July 18, 2017 DE-CIX | ISSN: 2070-1721 DE-CIX | |||
January 14, 2017 | May 2017 | |||
Multi-Threaded Routing Toolkit (MRT) Routing Information Export Format | Multi-Threaded Routing Toolkit (MRT) Routing Information Export Format | |||
with BGP Additional Paths Extensions | with BGP Additional Path Extensions | |||
draft-ietf-grow-mrt-add-paths-03 | ||||
Abstract | Abstract | |||
This document updates the Multi-threaded Routing Toolkit (MRT) export | This document extends the Multi-threaded Routing Toolkit (MRT) export | |||
format for Border Gateway Protocol (BGP) routing information by | format for Border Gateway Protocol (BGP) routing information by | |||
extending it to support the Advertisement of Multiple Paths in BGP | supporting the advertisement of multiple paths in BGP extensions. | |||
extensions. | ||||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
provisions of BCP 78 and BCP 79. | ||||
Internet-Drafts are working documents of the Internet Engineering | ||||
Task Force (IETF). Note that other groups may also distribute | ||||
working documents as Internet-Drafts. The list of current Internet- | ||||
Drafts is at http://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on July 18, 2017. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
http://www.rfc-editor.org/info/rfc8050. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2017 IETF Trust and the persons identified as the | Copyright (c) 2017 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
skipping to change at page 2, line 13 ¶ | skipping to change at page 2, line 11 ¶ | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
2. Rationale . . . . . . . . . . . . . . . . . . . . . . . . . . 2 | 2. Rationale . . . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
3. MRT Subtypes for Types BGP4MP/BGP4MP_ET . . . . . . . . . . . 3 | 3. MRT Subtypes for Types BGP4MP/BGP4MP_ET . . . . . . . . . . . 3 | |||
4. MRT Subtypes for Type TABLE_DUMP_V2 . . . . . . . . . . . . . 3 | 4. MRT Subtypes for Type TABLE_DUMP_V2 . . . . . . . . . . . . . 3 | |||
4.1. AFI/SAFI specific RIB Subtypes . . . . . . . . . . . . . 3 | 4.1. AFI/SAFI-Specific RIB Subtypes . . . . . . . . . . . . . 4 | |||
4.2. RIB_GENERIC_ADDPATH Subtype . . . . . . . . . . . . . . . 4 | 4.2. RIB_GENERIC_ADDPATH Subtype . . . . . . . . . . . . . . . 4 | |||
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 | |||
5.1. BGP4MP/BGP4MP_ET Subtype codes: . . . . . . . . . . . . . 4 | 5.1. BGP4MP/BGP4MP_ET Subtype Codes . . . . . . . . . . . . . 5 | |||
5.2. TABLE_DUMP_V2 Subtype codes: . . . . . . . . . . . . . . 5 | 5.2. TABLE_DUMP_V2 Subtype Codes . . . . . . . . . . . . . . . 5 | |||
6. Security Considerations . . . . . . . . . . . . . . . . . . . 5 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 5 | |||
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 7. Normative References . . . . . . . . . . . . . . . . . . . . 6 | |||
7.1. Normative References . . . . . . . . . . . . . . . . . . 5 | ||||
7.2. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 6 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
1. Introduction | 1. Introduction | |||
The MRT record format [RFC6396] was developed to provide researchers | The MRT record format [RFC6396] was developed to provide researchers | |||
and engineers a means to encapsulate, export, and archive routing | and engineers a means to encapsulate, export, and archive routing | |||
protocol transactions and routing information base snapshots. | protocol transactions and RIB snapshots. | |||
The Advertisement of Multiple Paths in BGP [RFC7911] defines a BGP | The Advertisement of Multiple Paths in BGP [RFC7911] defines a BGP | |||
extension to allow the advertisement of multiple paths for the same | extension to allow the advertisement of multiple paths for the same | |||
address prefix without the new paths implicitly replacing any | address prefix without the new paths implicitly replacing any | |||
previous ones. | previous ones. | |||
This document contains an optional extension to the MRT format | This document contains an optional extension to the MRT format | |||
[RFC6396] and introduces additional definitions of MRT subtype fields | [RFC6396] and introduces additional definitions of MRT subtype fields | |||
to permit representation of multiple path advertisements [RFC7911]. | to permit representation of multiple path advertisements [RFC7911]. | |||
2. Rationale | 2. Rationale | |||
MRT parsers are usually stateless. In order to parse BGP messages | MRT parsers are usually stateless. In order to parse BGP messages | |||
which contain data structures that depend on the capabilities | that contain data structures that depend on the capabilities | |||
negotiated during the BGP session setup, the so-called MRT subtypes | negotiated during the BGP session setup, the MRT subtypes are | |||
are utilized. The Advertisement of Multiple Path [RFC7911] extension | utilized. The Advertisement of Multiple Paths [RFC7911] extension | |||
for BGP alters the encoding of the BGP NLRI format for withdraws and | for BGP alters the encoding of the BGP Network Layer Reachability | |||
announcements. Therefore new BGP4MP/BGP4MP_ET subtypes as defined in | Information (NLRI) format for withdraws and announcements. | |||
[RFC6396] are required to signal to a MRT parser how to parse the | Therefore, new BGP4MP/BGP4MP_ET subtypes as defined in [RFC6396] are | |||
NLRI. | required to signal to an MRT parser how to parse the NLRI. | |||
In section 4.3 [RFC6396] of the MRT specification RIB subtypes are | In Section 4.3 of the MRT specification [RFC6396], RIB subtypes are | |||
specified. Prefix length and prefix fields are encoded in the same | specified. Prefix length and prefix fields are encoded in the same | |||
manner as the BGP NLRI encoding. In order to support path identifier | manner as the BGP NLRI encoding. In order to support Path Identifier | |||
information as defined in [RFC7911] new subtypes need to be added. | information as defined in [RFC7911], new subtypes need to be added. | |||
The following two sections define the required subtypes. | The following two sections define the required subtypes. | |||
3. MRT Subtypes for Types BGP4MP/BGP4MP_ET | 3. MRT Subtypes for Types BGP4MP/BGP4MP_ET | |||
This document defines the following new Subtypes: | This document defines the following new subtypes: | |||
o BGP4MP_MESSAGE_ADDPATH | o BGP4MP_MESSAGE_ADDPATH | |||
o BGP4MP_MESSAGE_AS4_ADDPATH | o BGP4MP_MESSAGE_AS4_ADDPATH | |||
o BGP4MP_MESSAGE_LOCAL_ADDPATH | o BGP4MP_MESSAGE_LOCAL_ADDPATH | |||
o BGP4MP_MESSAGE_AS4_LOCAL_ADDPATH | o BGP4MP_MESSAGE_AS4_LOCAL_ADDPATH | |||
The fields of these message types are identical to the equivalent | The fields of these message types are identical to the equivalent | |||
non-additional-path versions specified in section 4.4 [RFC6396]. | non-additional-path versions specified in Section 4.4 of [RFC6396]. | |||
These enhancements continues to encapsulate the entire BGP message in | These enhancements continue to encapsulate the entire BGP message in | |||
the BGP message field. | the BGP message field. | |||
4. MRT Subtypes for Type TABLE_DUMP_V2 | 4. MRT Subtypes for Type TABLE_DUMP_V2 | |||
This document defines the following new Subtypes: | This document defines the following new subtypes: | |||
o RIB_IPV4_UNICAST_ADDPATH | o RIB_IPV4_UNICAST_ADDPATH | |||
o RIB_IPV4_MULTICAST_ADDPATH | o RIB_IPV4_MULTICAST_ADDPATH | |||
o RIB_IPV6_UNICAST_ADDPATH | o RIB_IPV6_UNICAST_ADDPATH | |||
o RIB_IPV6_MULTICAST_ADDPATH | o RIB_IPV6_MULTICAST_ADDPATH | |||
o RIB_GENERIC_ADDPATH | o RIB_GENERIC_ADDPATH | |||
The fields of these message types are identical to the equivalent | The fields of these message types are identical to the equivalent | |||
non-additional-path versions specified in section 4.3 [RFC6396]. | non-additional-path versions specified in Section 4.3 of [RFC6396]. | |||
However, for the specific case of the 4 AFI/SAFI specific RIB | However, for the case of the 4 AFI/SAFI-specific RIB subtypes, the | |||
subtypes, the existing RIB Entries field is re-defined as detailed in | existing RIB Entries field is redefined as detailed in the sections | |||
the sections below. | below. | |||
4.1. AFI/SAFI specific RIB Subtypes | 4.1. AFI/SAFI-Specific RIB Subtypes | |||
In order to preserve the record compaction achieved by using the most | In order to preserve the record compaction achieved by using the most | |||
common subtypes, and allowing multiple RIB Entries to be stored in a | common subtypes and allow multiple RIB Entries to be stored in a | |||
single TABLE_DUMP_V2 record, the existing RIB Entries field is | single TABLE_DUMP_V2 record, the existing RIB Entries field is | |||
redefined for use within the new AFI/SAFI specific RIB Subtypes | redefined for use within the new AFI/SAFI-specific RIB subtypes | |||
defined by this document as follows: | defined by this document as follows: | |||
0 1 2 3 | 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 | 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Peer Index | | | Peer Index | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Originated Time | | | Originated Time | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Path Identifier | | | Path Identifier | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Attribute Length | | | Attribute Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| BGP Attributes... (variable) | | BGP Attributes... (variable) | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 1: RIB Entries for AFI/SAFI-specific RIB Subtypes with | Figure 1: RIB Entries for AFI/SAFI-Specific RIB Subtypes with | |||
additional-paths support | Support for Additional Paths | |||
This adds a field to the RIB Entries record, to store the path | This adds a field to the RIB Entries record to store the Path | |||
identifier, when used with the RIB_IPV4_UNICAST_ADDPATH, | Identifier when used with the RIB_IPV4_UNICAST_ADDPATH, | |||
RIB_IPV4_MULTICAST_ADDPATH, RIB_IPV6_UNICAST_ADDPATH and | RIB_IPV4_MULTICAST_ADDPATH, RIB_IPV6_UNICAST_ADDPATH, and | |||
RIB_IPV6_MULTICAST_ADDPATH subtypes. | RIB_IPV6_MULTICAST_ADDPATH subtypes. | |||
4.2. RIB_GENERIC_ADDPATH Subtype | 4.2. RIB_GENERIC_ADDPATH Subtype | |||
The fields of this subtype are identical to the equivalent non- | The fields of this subtype are identical to the equivalent non- | |||
additional-path versions specified in section 4.3.3 [RFC6396]. These | additional-path versions specified in Section 4.3.3 of [RFC6396]. | |||
fields continue to encapsulate the raw and additional-path enabled | These fields continue to encapsulate the raw and additional-path- | |||
AFI/SAFI/NLRI in the record, and the raw attributes in the RIB | enabled AFI/SAFI/NLRI in the record, and the raw attributes in the | |||
Entries. | RIB Entries. | |||
For clarity, the RIB Entries in this subtype are not redefined. | For clarity, the RIB Entries in this subtype are not redefined. | |||
5. IANA Considerations | 5. IANA Considerations | |||
This document requests that IANA assign the following subtype codes | IANA has assigned the subtype codes defined below in the "Multi- | |||
to the MRT name space [1]: | threaded Routing Toolkit (MRT)" registry | |||
<https://www.iana.org/assignments/mrt>. | ||||
5.1. BGP4MP/BGP4MP_ET Subtype codes: | 5.1. BGP4MP/BGP4MP_ET Subtype Codes | |||
BGP4MP_MESSAGE_ADDPATH = 8 (Section 3) | The following have been registered in the "BGP4MP Subtype Codes" and | |||
"BGP4MP_ET Subtype Codes" registries: | ||||
BGP4MP_MESSAGE_AS4_ADDPATH = 9 (Section 3) | 8 BGP4MP_MESSAGE_ADDPATH (RFC 8050) | |||
BGP4MP_MESSAGE_LOCAL_ADDPATH = 10 (Section 3) | 9 BGP4MP_MESSAGE_AS4_ADDPATH (RFC 8050) | |||
BGP4MP_MESSAGE_AS4_LOCAL_ADDPATH = 11 (Section 3) | ||||
The values provided above are suggested as they are used in | 10 BGP4MP_MESSAGE_LOCAL_ADDPATH (RFC 8050) | |||
implementations. | ||||
5.2. TABLE_DUMP_V2 Subtype codes: | 11 BGP4MP_MESSAGE_AS4_LOCAL_ADDPATH (RFC 8050) | |||
RIB_IPV4_UNICAST_ADDPATH = 8 (Section 4.1) | 5.2. TABLE_DUMP_V2 Subtype Codes | |||
RIB_IPV4_MULTICAST_ADDPATH = 9 (Section 4.1) | The following have been registered in the "TABLE_DUMP_V2 Subtype | |||
Codes" registry: | ||||
RIB_IPV6_UNICAST_ADDPATH = 10 (Section 4.1) | 8 RIB_IPV4_UNICAST_ADDPATH (RFC 8050) | |||
RIB_IPV6_MULTICAST_ADDPATH = 11 (Section 4.1) | 9 RIB_IPV4_MULTICAST_ADDPATH (RFC 8050) | |||
RIB_GENERIC_ADDPATH = 12 (Section 4.2) | 10 RIB_IPV6_UNICAST_ADDPATH (RFC 8050) | |||
The values provided above are suggested as they are used in | 11 RIB_IPV6_MULTICAST_ADDPATH (RFC 8050) | |||
implementations. | ||||
12 RIB_GENERIC_ADDPATH (RFC 8050) | ||||
6. Security Considerations | 6. Security Considerations | |||
It is not believed that this document adds any additional security | It is not believed that this document adds any additional security | |||
considerations. | considerations. However, the security considerations of [RFC6396] | |||
are equally applicable to this document, because this document | ||||
However, the security considerations of [RFC6396] are equally | permits the export of more detailed routing data. | |||
applicable to this document, and this document permits the export of | ||||
more detailed routing data. | ||||
An organization that uses the MRT format to store their BGP routing | An organization that uses the MRT format to store their BGP routing | |||
information should be aware that supporting these extensions permits | information should be aware that supporting these extensions permits | |||
more detailed network path information to be stored, and should | more detailed network path information to be stored and should | |||
consider the implications of this within their environment. | consider the implications of this within their environment. | |||
An organization that peers with public BGP collectors, and enables | An organization that peers with public BGP collectors and enables the | |||
the additional-paths capability on a peering session, should be aware | capability for additional paths on a peering session should be aware | |||
that it is exporting not only its best paths, but potentially other | that it is exporting not only its best paths, but potentially other | |||
paths within its networks. The BGP peer should consider any and all | paths within its networks. The BGP peer should consider any and all | |||
implications of exposing this additional data. | implications of exposing this additional data. | |||
7. References | 7. Normative References | |||
7.1. Normative References | ||||
[RFC6396] Blunk, L., Karir, M., and C. Labovitz, "Multi-Threaded | [RFC6396] Blunk, L., Karir, M., and C. Labovitz, "Multi-Threaded | |||
Routing Toolkit (MRT) Routing Information Export Format", | Routing Toolkit (MRT) Routing Information Export Format", | |||
RFC 6396, DOI 10.17487/RFC6396, October 2011, | RFC 6396, DOI 10.17487/RFC6396, October 2011, | |||
<http://www.rfc-editor.org/info/rfc6396>. | <http://www.rfc-editor.org/info/rfc6396>. | |||
[RFC7911] Walton, D., Retana, A., Chen, E., and J. Scudder, | [RFC7911] Walton, D., Retana, A., Chen, E., and J. Scudder, | |||
"Advertisement of Multiple Paths in BGP", RFC 7911, | "Advertisement of Multiple Paths in BGP", RFC 7911, | |||
DOI 10.17487/RFC7911, July 2016, | DOI 10.17487/RFC7911, July 2016, | |||
<http://www.rfc-editor.org/info/rfc7911>. | <http://www.rfc-editor.org/info/rfc7911>. | |||
7.2. URIs | ||||
[1] https://www.iana.org/assignments/mrt/mrt.xhtml | ||||
Authors' Addresses | Authors' Addresses | |||
Colin Petrie | Colin Petrie | |||
RIPE NCC | RIPE NCC | |||
Stationsplein 11 | Stationsplein 11 | |||
Amsterdam 1012 AB | Amsterdam 1012 AB | |||
NL | The Netherlands | |||
Email: cpetrie@ripe.net | Email: cpetrie@ripe.net | |||
Thomas King | Thomas King | |||
DE-CIX Management GmbH | DE-CIX Management GmbH | |||
Lichtstrasse 43i | Lichtstrasse 43i | |||
Cologne 50825 | Cologne 50825 | |||
Germany | Germany | |||
Email: thomas.king@de-cix.net | Email: thomas.king@de-cix.net | |||
End of changes. 43 change blocks. | ||||
93 lines changed or deleted | 80 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |