draft-ietf-grow-bmp-adj-rib-out-06.txt | draft-ietf-grow-bmp-adj-rib-out-07.txt | |||
---|---|---|---|---|
Global Routing Operations T. Evens | Global Routing Operations T. Evens | |||
Internet-Draft S. Bayraktar | Internet-Draft S. Bayraktar | |||
Updates: 7854 (if approved) Cisco Systems | Updates: 7854 (if approved) Cisco Systems | |||
Intended status: Standards Track P. Lucente | Intended status: Standards Track P. Lucente | |||
Expires: December 25, 2019 NTT Communications | Expires: February 6, 2020 NTT Communications | |||
P. Mi | P. Mi | |||
Tencent | Tencent | |||
S. Zhuang | S. Zhuang | |||
Huawei | Huawei | |||
June 23, 2019 | August 5, 2019 | |||
Support for Adj-RIB-Out in BGP Monitoring Protocol (BMP) | Support for Adj-RIB-Out in BGP Monitoring Protocol (BMP) | |||
draft-ietf-grow-bmp-adj-rib-out-06 | draft-ietf-grow-bmp-adj-rib-out-07 | |||
Abstract | Abstract | |||
The BGP Monitoring Protocol (BMP) defines access to only the Adj-RIB- | The BGP Monitoring Protocol (BMP) defines access to only the Adj-RIB- | |||
In Routing Information Bases (RIBs). This document updates the BGP | In Routing Information Bases (RIBs). This document updates the BGP | |||
Monitoring Protocol (BMP) RFC 7854 by adding access to the Adj-RIB- | Monitoring Protocol (BMP) RFC 7854 by adding access to the Adj-RIB- | |||
Out RIBs. It adds a new flag to the peer header to distinguish Adj- | Out RIBs. It adds a new flag to the peer header to distinguish Adj- | |||
RIB-In and Adj-RIB-Out. | RIB-In and Adj-RIB-Out. | |||
Status of This Memo | Status of This Memo | |||
skipping to change at page 1, line 40 ¶ | skipping to change at page 1, line 40 ¶ | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on December 25, 2019. | This Internet-Draft will expire on February 6, 2020. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2019 IETF Trust and the persons identified as the | Copyright (c) 2019 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 | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://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 29 ¶ | skipping to change at page 2, line 29 ¶ | |||
5.2. Pre-Policy . . . . . . . . . . . . . . . . . . . . . . . 5 | 5.2. Pre-Policy . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
6. BMP Messages . . . . . . . . . . . . . . . . . . . . . . . . 5 | 6. BMP Messages . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
6.1. Route Monitoring and Route Mirroring . . . . . . . . . . 5 | 6.1. Route Monitoring and Route Mirroring . . . . . . . . . . 5 | |||
6.2. Statistics Report . . . . . . . . . . . . . . . . . . . . 5 | 6.2. Statistics Report . . . . . . . . . . . . . . . . . . . . 5 | |||
6.3. Peer Down and Up Notifications . . . . . . . . . . . . . 6 | 6.3. Peer Down and Up Notifications . . . . . . . . . . . . . 6 | |||
6.3.1. Peer Up Information . . . . . . . . . . . . . . . . . 6 | 6.3.1. Peer Up Information . . . . . . . . . . . . . . . . . 6 | |||
7. Other Considerations . . . . . . . . . . . . . . . . . . . . 6 | 7. Other Considerations . . . . . . . . . . . . . . . . . . . . 6 | |||
7.1. Peer and Update Groups . . . . . . . . . . . . . . . . . 7 | 7.1. Peer and Update Groups . . . . . . . . . . . . . . . . . 7 | |||
8. Security Considerations . . . . . . . . . . . . . . . . . . . 7 | 8. Security Considerations . . . . . . . . . . . . . . . . . . . 7 | |||
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | |||
9.1. BMP Peer Flags . . . . . . . . . . . . . . . . . . . . . 7 | 9.1. BMP Peer Flags . . . . . . . . . . . . . . . . . . . . . 8 | |||
9.2. BMP Statistics Types . . . . . . . . . . . . . . . . . . 8 | 9.2. BMP Statistics Types . . . . . . . . . . . . . . . . . . 8 | |||
9.3. Peer Up Information TLV . . . . . . . . . . . . . . . . . 8 | 9.3. Peer Up Information TLV . . . . . . . . . . . . . . . . . 8 | |||
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
10.1. Normative References . . . . . . . . . . . . . . . . . . 8 | 10.1. Normative References . . . . . . . . . . . . . . . . . . 9 | |||
10.2. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 10.2. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 9 | Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
1. Introduction | 1. Introduction | |||
BGP Monitoring Protocol (BMP) defines monitoring of the received | BGP Monitoring Protocol (BMP) defines monitoring of the received | |||
(e.g., Adj-RIB-In) Routing Information Bases (RIBs) per peer. The | (e.g., Adj-RIB-In) Routing Information Bases (RIBs) per peer. The | |||
Adj-RIB-In pre-policy conveys to a BMP receiver all RIB data before | Adj-RIB-In pre-policy conveys to a BMP receiver all RIB data before | |||
any policy has been applied. The Adj-RIB-In post-policy conveys to a | any policy has been applied. The Adj-RIB-In post-policy conveys to a | |||
BMP receiver all RIB data after policy filters and/or modifications | BMP receiver all RIB data after policy filters and/or modifications | |||
have been applied. An example of pre-policy verses post-policy is | have been applied. An example of pre-policy versus post-policy is | |||
when an inbound policy applies attribute modification or filters. | when an inbound policy applies attribute modification or filters. | |||
Pre-policy would contain information prior to the inbound policy | Pre-policy would contain information prior to the inbound policy | |||
changes or filters of data. Post policy would convey the changed | changes or filters of data. Post policy would convey the changed | |||
data or would not contain the filtered data. | data or would not contain the filtered data. | |||
Monitoring the received updates that the router received before any | Monitoring the received updates that the router received before any | |||
policy has been applied is the primary level of monitoring for most | policy has been applied is the primary level of monitoring for most | |||
use-cases. Inbound policy validation and auditing is the primary | use-cases. Inbound policy validation and auditing is the primary | |||
use-case for enabling post-policy monitoring. | use-case for enabling post-policy monitoring. | |||
skipping to change at page 3, line 24 ¶ | skipping to change at page 3, line 24 ¶ | |||
Being able to only monitor the Adj-RIB-In puts a restriction on what | Being able to only monitor the Adj-RIB-In puts a restriction on what | |||
data is available to BMP receivers via BMP senders (e.g., routers). | data is available to BMP receivers via BMP senders (e.g., routers). | |||
This is an issue when the receiving end of the BGP peer is not | This is an issue when the receiving end of the BGP peer is not | |||
enabled for BMP or when it is not accessible for administrative | enabled for BMP or when it is not accessible for administrative | |||
reasons. For example, a service provider advertises prefixes to a | reasons. For example, a service provider advertises prefixes to a | |||
customer, but the service provider cannot see what it advertises via | customer, but the service provider cannot see what it advertises via | |||
BMP. Asking the customer to enable BMP and monitoring of the Adj- | BMP. Asking the customer to enable BMP and monitoring of the Adj- | |||
RIB-In is not feasible. | RIB-In is not feasible. | |||
BGP Monitoring Protocol (BMP) RFC 7854 [RFC7854] only defines Adj- | BGP Monitoring Protocol (BMP) RFC 7854 [RFC7854] only defines Adj- | |||
RIB-In being sent to BMP receivers. This document updates section | RIB-In being sent to BMP receivers. This document updates the per- | |||
4.2 [RFC7854] per-peer header by adding a new flag to distinguish | peer header in section 4.2 of [RFC7854] by adding a new flag to | |||
Adj-RIB-In verses Adj-RIB-Out. BMP senders use the new flag to send | distinguish Adj-RIB-In versus Adj-RIB-Out. BMP senders use the new | |||
either Adj-RIB-In or Adj-RIB-Out. | flag to send either Adj-RIB-In or Adj-RIB-Out. | |||
Adding Adj-RIB-Out provides the ability for a BMP sender to send to | Adding Adj-RIB-Out provides the ability for a BMP sender to send to | |||
BMP receivers what it advertises to BGP peers, which can be used for | BMP receivers what it advertises to BGP peers, which can be used for | |||
outbound policy validation and to monitor routes that were | outbound policy validation and to monitor routes that were | |||
advertised. | advertised. | |||
2. Terminology | 2. Terminology | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
skipping to change at page 4, line 6 ¶ | skipping to change at page 4, line 6 ¶ | |||
o Adj-RIB-Out: As defined in [RFC4271], "The Adj-RIBs-Out contains | o Adj-RIB-Out: As defined in [RFC4271], "The Adj-RIBs-Out contains | |||
the routes for advertisement to specific peers by means of the | the routes for advertisement to specific peers by means of the | |||
local speaker's UPDATE messages." | local speaker's UPDATE messages." | |||
o Pre-Policy Adj-RIB-Out: The result before applying the outbound | o Pre-Policy Adj-RIB-Out: The result before applying the outbound | |||
policy to an Adj-RIB-Out. This normally would match what is in the | policy to an Adj-RIB-Out. This normally would match what is in the | |||
local RIB. | local RIB. | |||
o Post-Policy Adj-RIB-Out: The result of applying outbound policy to | o Post-Policy Adj-RIB-Out: The result of applying outbound policy to | |||
an Adj-RIB-Out. This MUST be what is actually sent to the peer. | an Adj-RIB-Out. This MUST convey to the BMP receiver what is | |||
actually transmitted to the peer. | ||||
4. Per-Peer Header | 4. Per-Peer Header | |||
The per-peer header has the same structure and flags as defined in | The per-peer header has the same structure and flags as defined in | |||
section 4.2 [RFC7854] with the following O flag addition: | section 4.2 of [RFC7854] with the following O flag addition: | |||
0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
|V|L|A|O| Resv | | |V|L|A|O| Resv | | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
o The O flag indicates Adj-RIB-In if set to 0 and Adj-RIB-Out if set | o The O flag indicates Adj-RIB-In if set to 0 and Adj-RIB-Out if set | |||
to 1. | to 1. | |||
The existing flags are defined in section 4.2 [RFC7854] and the | The existing flags are defined in section 4.2 of [RFC7854] and the | |||
remaining bits are reserved for future use. They SHOULD be | remaining bits are reserved for future use. They MUST be transmitted | |||
transmitted as 0 and their values MUST be ignored on receipt. | as 0 and their values MUST be ignored on receipt. | |||
The following fields in the Per-Peer Header are redefined: | When the O flag is set to 1, the following fields in the Per-Peer | |||
Header are redefined: | ||||
o Peer Address: The remote IP address associated with the TCP | o Peer Address: The remote IP address associated with the TCP | |||
session over which the encapsulated PDU is sent. | session over which the encapsulated PDU is sent. | |||
o Peer AS: The Autonomous System number of the peer from which the | o Peer AS: The Autonomous System number of the peer to which the | |||
encapsulated PDU was sent. | encapsulated PDU is sent. | |||
o Peer BGP ID: The BGP Identifier of the peer from which the | o Peer BGP ID: The BGP Identifier of the peer to which the | |||
encapsulated PDU was sent. | encapsulated PDU is sent. | |||
o Timestamp: The time when the encapsulated routes were advertised | o Timestamp: The time when the encapsulated routes were advertised | |||
(one may also think of this as the time when they were installed | (one may also think of this as the time when they were installed | |||
in the Adj-RIB-Out), expressed in seconds and microseconds since | in the Adj-RIB-Out), expressed in seconds and microseconds since | |||
midnight (zero hour), January 1, 1970 (UTC). If zero, the time is | midnight (zero hour), January 1, 1970 (UTC). If zero, the time is | |||
unavailable. Precision of the timestamp is implementation- | unavailable. Precision of the timestamp is implementation- | |||
dependent. | dependent. | |||
5. Adj-RIB-Out | 5. Adj-RIB-Out | |||
5.1. Post-Policy | 5.1. Post-Policy | |||
The primary use-case in monitoring Adj-RIB-Out is to monitor the | The primary use-case in monitoring Adj-RIB-Out is to monitor the | |||
updates transmitted to a BGP peer after outbound policy has been | updates transmitted to a BGP peer after outbound policy has been | |||
applied. These updates reflect the result after modifications and | applied. These updates reflect the result after modifications and | |||
filters have been applied (e.g., Adj-RIB-Out Post-Policy). Some | filters have been applied (e.g., Adj-RIB-Out Post-Policy). Some | |||
attributes are set when the BGP message is transmitted, such as next- | attributes are set when the BGP message is transmitted, such as next- | |||
hop. Adj-RIB-Out Post-Policy MUST convey what is actually | hop. Adj-RIB-Out Post-Policy MUST convey to the BMP receiver what is | |||
transmitted to the peer, next-hop and any attributes set during | actually transmitted to the peer. | |||
transmission should also be set and transmitted to the BMP receiver. | ||||
The L flag MUST be set to 1 to indicate post-policy. | The L flag MUST be set to 1 to indicate post-policy. | |||
5.2. Pre-Policy | 5.2. Pre-Policy | |||
Similarly to Adj-RIB-In policy validation, pre-policy Adj-RIB-Out can | Similarly to Adj-RIB-In policy validation, pre-policy Adj-RIB-Out can | |||
be used to validate and audit outbound policies. For example, a | be used to validate and audit outbound policies. For example, a | |||
comparison between pre-policy and post-policy can be used to validate | comparison between pre-policy and post-policy can be used to validate | |||
the outbound policy. | the outbound policy. | |||
Depending on BGP peering session type (IBGP, IBGP route reflector | Depending on BGP peering session type (IBGP, IBGP route reflector | |||
client, EBGP, BGP confederations, Route Server Client) the candidate | client, EBGP, BGP confederations, Route Server Client) the candidate | |||
routes that make up the Pre-Policy Adj-RIB-Out do not contain all | routes that make up the Pre-Policy Adj-RIB-Out do not contain all | |||
local-rib routes. Pre-Policy Adj-RIB-Out conveys only routes that | local-rib routes. Pre-Policy Adj-RIB-Out conveys only routes that | |||
are available based on the peering type. Post-Policy represents the | are available based on the peering type. Post-Policy represents the | |||
filtered/changed routes from the available routes. | filtered/changed routes from the available routes. | |||
Some attributes are set only during transmission of the BGP message, | Some attributes are set only during transmission of the BGP message, | |||
i.e., Post-Policy. It is common that next-hop may be null, loopback, | i.e., Post-Policy. It is common that next-hop may be null, loopback, | |||
or similar during this phase. All mandatory attributes, such as | or similar during pre-policy phase. All mandatory attributes, such | |||
next-hop, MUST be either ZERO or have an empty length if they are | as next-hop, MUST be either ZERO or have an empty length if they are | |||
unknown at the Pre-Policy phase completion. The BMP receiver will | unknown at the Pre-Policy phase completion. The BMP receiver will | |||
treat zero or empty mandatory attributes as self-originated. | treat zero or empty mandatory attributes as self-originated. | |||
The L flag MUST be set to 0 to indicate pre-policy. | The L flag MUST be set to 0 to indicate pre-policy. | |||
6. BMP Messages | 6. BMP Messages | |||
Many BMP messages have a per-peer header but some are not applicable | Many BMP messages have a per-peer header but some are not applicable | |||
to Adj-RIB-In or Adj-RIB-Out monitoring, such as peer up and down | to Adj-RIB-In or Adj-RIB-Out monitoring, such as peer up and down | |||
notifications. Unless otherwise defined, the O flag should be set to | notifications. Unless otherwise defined, the O flag should be set to | |||
skipping to change at page 6, line 27 ¶ | skipping to change at page 6, line 29 ¶ | |||
Policy. The value is structured as: 2-byte Address Family | Policy. The value is structured as: 2-byte Address Family | |||
Identifier (AFI), 1-byte Subsequent Address Family Identifier | Identifier (AFI), 1-byte Subsequent Address Family Identifier | |||
(SAFI), followed by a 64-bit Gauge. | (SAFI), followed by a 64-bit Gauge. | |||
6.3. Peer Down and Up Notifications | 6.3. Peer Down and Up Notifications | |||
Peer Up and Down notifications convey BGP peering session state to | Peer Up and Down notifications convey BGP peering session state to | |||
BMP receivers. The state is independent of whether or not route | BMP receivers. The state is independent of whether or not route | |||
monitoring or route mirroring messages will be sent for Adj-RIB-In, | monitoring or route mirroring messages will be sent for Adj-RIB-In, | |||
Adj-RIB-Out, or both. BMP receiver implementations SHOULD ignore the | Adj-RIB-Out, or both. BMP receiver implementations SHOULD ignore the | |||
O flag in Peer Up and Down notifications. BMP receiver | O flag in Peer Up and Down notifications. | |||
implementations MUST use the per-peer header O flag in route | ||||
monitoring and mirroring messages to identify if the message is for | ||||
Adj-RIB-In or Adj-RIB-Out. | ||||
6.3.1. Peer Up Information | 6.3.1. Peer Up Information | |||
The following Peer Up message Information TLV type is added: | The following Peer Up message Information TLV type is added: | |||
o Type = 4: Admin Label. The Information field contains a free-form | o Type = 4: Admin Label. The Information field contains a free-form | |||
UTF-8 string whose length is given by the Information Length | UTF-8 string whose byte length is given by the Information Length | |||
field. The value is administratively assigned. There is no | field. The value is administratively assigned. There is no | |||
requirement to terminate the string with null or any other | requirement to terminate the string with null or any other | |||
character. | character. | |||
Multiple admin labels can be included in the Peer Up notification. | Multiple admin labels can be included in the Peer Up notification. | |||
When multiple admin labels are included the BMP receiver MUST | When multiple admin labels are included the BMP receiver MUST | |||
preserve their order. | preserve their order. | |||
The TLV is optional. | The TLV is optional. | |||
skipping to change at page 7, line 38 ¶ | skipping to change at page 7, line 38 ¶ | |||
label informational TLV (Section 6.3.1) is added to the Peer Up | label informational TLV (Section 6.3.1) is added to the Peer Up | |||
message. These labels have administrative scope relevance. For | message. These labels have administrative scope relevance. For | |||
example, labels "type=wholesale" and "region=west" could be used to | example, labels "type=wholesale" and "region=west" could be used to | |||
monitor expected policies. | monitor expected policies. | |||
Configuration and assignment of labels to peers is BGP implementation | Configuration and assignment of labels to peers is BGP implementation | |||
specific. | specific. | |||
8. Security Considerations | 8. Security Considerations | |||
It is not believed that this document adds any additional security | The same considerations as in section 11 of [RFC7854] apply to this | |||
considerations. | document. Implementations of this protocol SHOULD require to | |||
establish sessions with authorized and trusted monitoring devices. | ||||
It is also believed that this document does not add any additional | ||||
security considerations. | ||||
9. IANA Considerations | 9. IANA Considerations | |||
This document requests that IANA assign the following new parameters | This document requests that IANA assign the following new parameters | |||
to the BMP parameters name space [1]. | to the BMP parameters name space [1]. | |||
9.1. BMP Peer Flags | 9.1. BMP Peer Flags | |||
This document defines the following per-peer header flags | This document defines the following per-peer header flags | |||
(Section 4): | (Section 4): | |||
skipping to change at page 8, line 35 ¶ | skipping to change at page 8, line 40 ¶ | |||
Policy. The value is structured as: 2-byte Address Family | Policy. The value is structured as: 2-byte Address Family | |||
Identifier (AFI), 1-byte Subsequent Address Family Identifier | Identifier (AFI), 1-byte Subsequent Address Family Identifier | |||
(SAFI), followed by a 64-bit Gauge. | (SAFI), followed by a 64-bit Gauge. | |||
9.3. Peer Up Information TLV | 9.3. Peer Up Information TLV | |||
This document defines the following BMP Peer Up Information TLV types | This document defines the following BMP Peer Up Information TLV types | |||
(Section 6.3.1): | (Section 6.3.1): | |||
o Type = 4: Admin Label. The Information field contains a free-form | o Type = 4: Admin Label. The Information field contains a free-form | |||
UTF-8 string whose length is given by the Information Length | UTF-8 string whose byte length is given by the Information Length | |||
field. The value is administratively given by the Information | field. The value is administratively assigned. There is no | |||
Length field. The value is administratively assigned. There is | requirement to terminate the string with null or any other | |||
no requirement to terminate the string with null or any other | ||||
character. | character. | |||
Multiple admin labels can be included in the Peer Up notification. | ||||
When multiple admin labels are included the BMP receiver MUST | ||||
preserve their order. | ||||
The TLV is optional. | ||||
10. References | 10. References | |||
10.1. Normative References | 10.1. Normative References | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A | [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A | |||
End of changes. 21 change blocks. | ||||
38 lines changed or deleted | 44 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |