| < draft-ietf-bier-te-arch-07.txt | draft-ietf-bier-te-arch-08.txt > | |||
|---|---|---|---|---|
| Network Working Group T. Eckert, Ed. | Network Working Group T. Eckert, Ed. | |||
| Internet-Draft Futurewei | Internet-Draft Futurewei | |||
| Intended status: Standards Track G. Cauchie | Intended status: Standards Track G. Cauchie | |||
| Expires: September 10, 2020 Bouygues Telecom | Expires: January 14, 2021 Bouygues Telecom | |||
| M. Menth | M. Menth | |||
| University of Tuebingen | University of Tuebingen | |||
| March 9, 2020 | July 13, 2020 | |||
| Tree Engineering for Bit Index Explicit Replication (BIER-TE) | Tree Engineering for Bit Index Explicit Replication (BIER-TE) | |||
| draft-ietf-bier-te-arch-07 | draft-ietf-bier-te-arch-08 | |||
| Abstract | Abstract | |||
| This memo introduces per-packet stateless strict and loose path | This memo introduces per-packet stateless strict and loose path | |||
| steered replication and forwarding for Bit Index Explicit Replication | steered replication and forwarding for Bit Index Explicit Replication | |||
| packets (RFC8279). This is called BIER Tree Engineering (BIER-TE). | packets (RFC8279). This is called BIER Tree Engineering (BIER-TE). | |||
| BIER-TE can be used as a path steering mechanism in future Traffic | BIER-TE can be used as a path steering mechanism in future Traffic | |||
| Engineering solutions for BIER (BIER-TE). | Engineering solutions for BIER (BIER-TE). | |||
| BIER-TE leverages RFC8279 and extends it with a new semantic for bits | BIER-TE leverages RFC8279 and extends it with a new semantic for bits | |||
| skipping to change at page 2, line 48 ¶ | skipping to change at page 2, line 48 ¶ | |||
| 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 September 10, 2020. | This Internet-Draft will expire on January 14, 2021. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2020 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 3, line 37 ¶ | skipping to change at page 3, line 37 ¶ | |||
| 2. Components . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 2. Components . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 2.1. The Multicast Flow Overlay . . . . . . . . . . . . . . . 10 | 2.1. The Multicast Flow Overlay . . . . . . . . . . . . . . . 10 | |||
| 2.2. The BIER-TE Controller . . . . . . . . . . . . . . . . . 10 | 2.2. The BIER-TE Controller . . . . . . . . . . . . . . . . . 10 | |||
| 2.2.1. Assignment of BitPositions to adjacencies of the | 2.2.1. Assignment of BitPositions to adjacencies of the | |||
| network topology . . . . . . . . . . . . . . . . . . 11 | network topology . . . . . . . . . . . . . . . . . . 11 | |||
| 2.2.2. Changes in the network topology . . . . . . . . . . . 11 | 2.2.2. Changes in the network topology . . . . . . . . . . . 11 | |||
| 2.2.3. Set up per-multicast flow BIER-TE state . . . . . . . 11 | 2.2.3. Set up per-multicast flow BIER-TE state . . . . . . . 11 | |||
| 2.2.4. Link/Node Failures and Recovery . . . . . . . . . . . 12 | 2.2.4. Link/Node Failures and Recovery . . . . . . . . . . . 12 | |||
| 2.3. The BIER-TE Forwarding Layer . . . . . . . . . . . . . . 12 | 2.3. The BIER-TE Forwarding Layer . . . . . . . . . . . . . . 12 | |||
| 2.4. The Routing Underlay . . . . . . . . . . . . . . . . . . 12 | 2.4. The Routing Underlay . . . . . . . . . . . . . . . . . . 12 | |||
| 3. BIER-TE Forwarding . . . . . . . . . . . . . . . . . . . . . 12 | 2.5. Traffic Engineering Considerations . . . . . . . . . . . 12 | |||
| 3.1. The Bit Index Forwarding Table (BIFT) . . . . . . . . . . 12 | 3. BIER-TE Forwarding . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 3.1. The Bit Index Forwarding Table (BIFT) . . . . . . . . . . 13 | ||||
| 3.2. Adjacency Types . . . . . . . . . . . . . . . . . . . . . 14 | 3.2. Adjacency Types . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 3.2.1. Forward Connected . . . . . . . . . . . . . . . . . . 14 | 3.2.1. Forward Connected . . . . . . . . . . . . . . . . . . 15 | |||
| 3.2.2. Forward Routed . . . . . . . . . . . . . . . . . . . 14 | 3.2.2. Forward Routed . . . . . . . . . . . . . . . . . . . 15 | |||
| 3.2.3. ECMP . . . . . . . . . . . . . . . . . . . . . . . . 14 | 3.2.3. ECMP . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 3.2.4. Local Decap . . . . . . . . . . . . . . . . . . . . . 15 | 3.2.4. Local Decap . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 3.3. Encapsulation considerations . . . . . . . . . . . . . . 15 | 3.3. Encapsulation considerations . . . . . . . . . . . . . . 16 | |||
| 3.4. Basic BIER-TE Forwarding Example . . . . . . . . . . . . 15 | 3.4. Basic BIER-TE Forwarding Example . . . . . . . . . . . . 16 | |||
| 3.5. Forwarding comparison with BIER . . . . . . . . . . . . . 18 | 3.5. Forwarding comparison with BIER . . . . . . . . . . . . . 19 | |||
| 3.6. Requirements . . . . . . . . . . . . . . . . . . . . . . 18 | 3.6. Requirements . . . . . . . . . . . . . . . . . . . . . . 19 | |||
| 4. BIER-TE Controller BitPosition Assignments . . . . . . . . . 19 | 4. BIER-TE Controller BitPosition Assignments . . . . . . . . . 20 | |||
| 4.1. P2P Links . . . . . . . . . . . . . . . . . . . . . . . . 19 | 4.1. P2P Links . . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
| 4.2. BFER . . . . . . . . . . . . . . . . . . . . . . . . . . 19 | 4.2. BFER . . . . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
| 4.3. Leaf BFERs . . . . . . . . . . . . . . . . . . . . . . . 19 | 4.3. Leaf BFERs . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
| 4.4. LANs . . . . . . . . . . . . . . . . . . . . . . . . . . 20 | 4.4. LANs . . . . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
| 4.5. Hub and Spoke . . . . . . . . . . . . . . . . . . . . . . 21 | 4.5. Hub and Spoke . . . . . . . . . . . . . . . . . . . . . . 22 | |||
| 4.6. Rings . . . . . . . . . . . . . . . . . . . . . . . . . . 21 | 4.6. Rings . . . . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
| 4.7. Equal Cost MultiPath (ECMP) . . . . . . . . . . . . . . . 22 | 4.7. Equal Cost MultiPath (ECMP) . . . . . . . . . . . . . . . 23 | |||
| 4.8. Routed adjacencies . . . . . . . . . . . . . . . . . . . 25 | 4.8. Routed adjacencies . . . . . . . . . . . . . . . . . . . 26 | |||
| 4.8.1. Reducing BitPositions . . . . . . . . . . . . . . . . 25 | 4.8.1. Reducing BitPositions . . . . . . . . . . . . . . . . 26 | |||
| 4.8.2. Supporting nodes without BIER-TE . . . . . . . . . . 25 | 4.8.2. Supporting nodes without BIER-TE . . . . . . . . . . 26 | |||
| 4.9. Reuse of BitPositions (without DNR) . . . . . . . . . . . 25 | 4.9. Reuse of BitPositions (without DNR) . . . . . . . . . . . 26 | |||
| 4.10. Summary of BP optimizations . . . . . . . . . . . . . . . 27 | 4.10. Summary of BP optimizations . . . . . . . . . . . . . . . 28 | |||
| 5. Avoiding loops and duplicates . . . . . . . . . . . . . . . . 28 | 5. Avoiding loops and duplicates . . . . . . . . . . . . . . . . 29 | |||
| 5.1. Loops . . . . . . . . . . . . . . . . . . . . . . . . . . 28 | 5.1. Loops . . . . . . . . . . . . . . . . . . . . . . . . . . 29 | |||
| 5.2. Duplicates . . . . . . . . . . . . . . . . . . . . . . . 28 | 5.2. Duplicates . . . . . . . . . . . . . . . . . . . . . . . 29 | |||
| 6. BIER-TE Forwarding Pseudocode . . . . . . . . . . . . . . . . 28 | 6. BIER-TE Forwarding Pseudocode . . . . . . . . . . . . . . . . 29 | |||
| 7. Managing SI, subdomains and BFR-ids . . . . . . . . . . . . . 31 | 7. Managing SI, subdomains and BFR-ids . . . . . . . . . . . . . 32 | |||
| 7.1. Why SI and sub-domains . . . . . . . . . . . . . . . . . 32 | 7.1. Why SI and sub-domains . . . . . . . . . . . . . . . . . 33 | |||
| 7.2. Bit assignment comparison BIER and BIER-TE . . . . . . . 33 | 7.2. Bit assignment comparison BIER and BIER-TE . . . . . . . 34 | |||
| 7.3. Using BFR-id with BIER-TE . . . . . . . . . . . . . . . . 33 | 7.3. Using BFR-id with BIER-TE . . . . . . . . . . . . . . . . 34 | |||
| 7.4. Assigning BFR-ids for BIER-TE . . . . . . . . . . . . . . 34 | 7.4. Assigning BFR-ids for BIER-TE . . . . . . . . . . . . . . 35 | |||
| 7.5. Example bit allocations . . . . . . . . . . . . . . . . . 35 | 7.5. Example bit allocations . . . . . . . . . . . . . . . . . 36 | |||
| 7.5.1. With BIER . . . . . . . . . . . . . . . . . . . . . . 35 | 7.5.1. With BIER . . . . . . . . . . . . . . . . . . . . . . 36 | |||
| 7.5.2. With BIER-TE . . . . . . . . . . . . . . . . . . . . 36 | 7.5.2. With BIER-TE . . . . . . . . . . . . . . . . . . . . 37 | |||
| 7.6. Summary . . . . . . . . . . . . . . . . . . . . . . . . . 37 | 7.6. Summary . . . . . . . . . . . . . . . . . . . . . . . . . 38 | |||
| 8. BIER-TE and Segment Routing . . . . . . . . . . . . . . . . . 37 | 8. BIER-TE and Segment Routing . . . . . . . . . . . . . . . . . 38 | |||
| 9. Security Considerations . . . . . . . . . . . . . . . . . . . 38 | 9. Security Considerations . . . . . . . . . . . . . . . . . . . 39 | |||
| 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 39 | 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 40 | |||
| 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 39 | 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 40 | |||
| 12. Change log [RFC Editor: Please remove] . . . . . . . . . . . 39 | 12. Change log [RFC Editor: Please remove] . . . . . . . . . . . 40 | |||
| 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 44 | 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 45 | |||
| 13.1. Normative References . . . . . . . . . . . . . . . . . . 44 | 13.1. Normative References . . . . . . . . . . . . . . . . . . 45 | |||
| 13.2. Informative References . . . . . . . . . . . . . . . . . 44 | 13.2. Informative References . . . . . . . . . . . . . . . . . 45 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 45 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 46 | |||
| 1. Introduction | 1. Introduction | |||
| BIER-TE shares architecture, terminology and packet formats with BIER | BIER-TE shares architecture, terminology and packet formats with BIER | |||
| as described in [RFC8279] and [RFC8296]. This document describes | as described in [RFC8279] and [RFC8296]. This document describes | |||
| BIER-TE in the expectation that the reader is familiar with these two | BIER-TE in the expectation that the reader is familiar with these two | |||
| documents. | documents. | |||
| In BIER-TE, BitPositions (BP) indicate adjacencies. The BIFT of each | In BIER-TE, BitPositions (BP) indicate adjacencies. The BIFT of each | |||
| BFR is only populated with BP that are adjacent to the BFR in the | BFR is only populated with BP that are adjacent to the BFR in the | |||
| skipping to change at page 12, line 44 ¶ | skipping to change at page 12, line 44 ¶ | |||
| underlay. BIER-TE forwarding uses the Routing underlay for | underlay. BIER-TE forwarding uses the Routing underlay for | |||
| forward_routed adjacencies which copy BIER-TE packets to not- | forward_routed adjacencies which copy BIER-TE packets to not- | |||
| directly-connected BFRs (see below for adjacency definitions). | directly-connected BFRs (see below for adjacency definitions). | |||
| If the BFR intends to support FRR for BIER-TE, then the BIER-TE | If the BFR intends to support FRR for BIER-TE, then the BIER-TE | |||
| forwarding plane needs to receive fast adjacency up/down | forwarding plane needs to receive fast adjacency up/down | |||
| notifications: Link up/down or neighbor up/down, e.g. from BFD. | notifications: Link up/down or neighbor up/down, e.g. from BFD. | |||
| Providing these notifications is considered to be part of the routing | Providing these notifications is considered to be part of the routing | |||
| underlay in this document. | underlay in this document. | |||
| 2.5. Traffic Engineering Considerations | ||||
| Traffic Engineering ([I-D.dt-teas-rfc3272bis]) provides performance | ||||
| optimization of operational IP networks while utilizing network | ||||
| resources economically and reliably. The key elements needed to | ||||
| effect TE are policy, path steering and resource management. These | ||||
| elements require support at the control/controller level and within | ||||
| the forwarding plane. | ||||
| Policy decisions are made within the BIER-TE control plane, i.e., | ||||
| within BIER-TE Controllers. Controllers use policy when composing | ||||
| BitStrings (BFR flow state) and BFR BIFT state. The mapping of user/ | ||||
| IP traffic to specific BitStrings/BIER-TE flows is made based on | ||||
| policy. The specifics details of BIER-TE policies and how a | ||||
| controller uses such are out of scope of this document. | ||||
| Path steering is supported via the definition of a BitString. | ||||
| BitStrings used in BIER-TE are composed based on policy and resource | ||||
| management considerations. When composing BIER-TE BitStrings, a | ||||
| Controller MUST take into account the resources available at each BFR | ||||
| and for each BP when it is providing congestion loss free services | ||||
| such as for Rate Controlled Service Disciplines (RCSD). Resource | ||||
| availability could be provided for example via routing protocol | ||||
| information, but may also be obtained via a BIER-TE control protocol. | ||||
| The resource usage of the BIER-TE traffic admitted by the BIER-TE | ||||
| controller can be solely tracked on the BIER-TE Controller based on | ||||
| local accounting as long as no forward_routed adjacencies are used | ||||
| (see below for definition of forward_routed adjacencies). When | ||||
| forward_routed adjacencies are used, the paths selected by the | ||||
| underlying routing protocol need to be tracked as well. | ||||
| Resource management has implications on the forwarding plane beyond | ||||
| the BIER-TE defined steering of packets. This includes allocation of | ||||
| buffers to guarantee the worst case requirements of admitted RCSD | ||||
| trafic and potential policing and/or rate-shaping mechanisms, | ||||
| typically done via various forms of queuing. This level of resource | ||||
| control, while optional, is important in networks that wish to | ||||
| support congestion management policies to control or regulate the | ||||
| offered traffic to deliver different levels of service and alleviate | ||||
| congestion problems, or those networks that wish to control latencies | ||||
| experienced by specific traffic flows. | ||||
| 3. BIER-TE Forwarding | 3. BIER-TE Forwarding | |||
| 3.1. The Bit Index Forwarding Table (BIFT) | 3.1. The Bit Index Forwarding Table (BIFT) | |||
| The Bit Index Forwarding Table (BIFT) exists in every BFR. For every | The Bit Index Forwarding Table (BIFT) exists in every BFR. For every | |||
| subdomain in use, it is a table indexed by SI:BitPosition and is | subdomain in use, it is a table indexed by SI:BitPosition and is | |||
| populated by the BIER-TE control plane. Each index can be empty or | populated by the BIER-TE control plane. Each index can be empty or | |||
| contain a list of one or more adjacencies. | contain a list of one or more adjacencies. | |||
| BIER-TE can support multiple subdomains like BIER. Each one with a | BIER-TE can support multiple subdomains like BIER. Each one with a | |||
| skipping to change at page 39, line 19 ¶ | skipping to change at page 40, line 19 ¶ | |||
| 11. Acknowledgements | 11. Acknowledgements | |||
| The authors would like to thank Greg Shepherd, Ijsbrand Wijnands, | The authors would like to thank Greg Shepherd, Ijsbrand Wijnands, | |||
| Neale Ranns, Dirk Trossen, Sandy Zheng, Lou Berger and Jeffrey Zhang | Neale Ranns, Dirk Trossen, Sandy Zheng, Lou Berger and Jeffrey Zhang | |||
| for their reviews and suggestions. | for their reviews and suggestions. | |||
| 12. Change log [RFC Editor: Please remove] | 12. Change log [RFC Editor: Please remove] | |||
| draft-ietf-bier-te-arch: | draft-ietf-bier-te-arch: | |||
| 08: Incorporated (with hopefully acceptable fixes) for Lou | ||||
| suggested section 2.5, TE considerations. | ||||
| Fixes are primarily to the point to a) emphasize that BIER-TE does | ||||
| not depend on the routing underlay unless forward_routed | ||||
| adjacencies are used, and b) that the allocation and tracking of | ||||
| resources does not explicitly have to be tied to BPs, because they | ||||
| are just steering labels. Instead, it would ideally come from | ||||
| per-hop resource management that can be maintained only via local | ||||
| accounting in the controller. | ||||
| 07: Further reworking text for Lou. | 07: Further reworking text for Lou. | |||
| Renamed BIER-PE to BIER-TE standing for "Tree Engineering" after | Renamed BIER-PE to BIER-TE standing for "Tree Engineering" after | |||
| votes from BIER WG. | votes from BIER WG. | |||
| Removed section 1.1 (introduced by version 06) because not | Removed section 1.1 (introduced by version 06) because not | |||
| considered necessary in this doc by Lou (for framework doc). | considered necessary in this doc by Lou (for framework doc). | |||
| Added [RFC editor pls. remove] Section to explain name change to | Added [RFC editor pls. remove] Section to explain name change to | |||
| future reviewers. | future reviewers. | |||
| skipping to change at page 44, line 34 ¶ | skipping to change at page 45, line 44 ¶ | |||
| <https://www.rfc-editor.org/info/rfc8279>. | <https://www.rfc-editor.org/info/rfc8279>. | |||
| [RFC8296] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., | [RFC8296] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., | |||
| Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation | Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation | |||
| for Bit Index Explicit Replication (BIER) in MPLS and Non- | for Bit Index Explicit Replication (BIER) in MPLS and Non- | |||
| MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January | MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January | |||
| 2018, <https://www.rfc-editor.org/info/rfc8296>. | 2018, <https://www.rfc-editor.org/info/rfc8296>. | |||
| 13.2. Informative References | 13.2. Informative References | |||
| [I-D.dt-teas-rfc3272bis] | ||||
| Farrel, A., "Overview and Principles of Internet Traffic | ||||
| Engineering", draft-dt-teas-rfc3272bis-11 (work in | ||||
| progress), May 2020. | ||||
| [I-D.ietf-bier-multicast-http-response] | [I-D.ietf-bier-multicast-http-response] | |||
| Trossen, D., Rahman, A., Wang, C., and T. Eckert, | Trossen, D., Rahman, A., Wang, C., and T. Eckert, | |||
| "Applicability of BIER Multicast Overlay for Adaptive | "Applicability of BIER Multicast Overlay for Adaptive | |||
| Streaming Services", draft-ietf-bier-multicast-http- | Streaming Services", draft-ietf-bier-multicast-http- | |||
| response-03 (work in progress), February 2020. | response-03 (work in progress), February 2020. | |||
| [I-D.ietf-roll-ccast] | [I-D.ietf-roll-ccast] | |||
| Bergmann, O., Bormann, C., Gerdes, S., and H. Chen, | Bergmann, O., Bormann, C., Gerdes, S., and H. Chen, | |||
| "Constrained-Cast: Source-Routed Multicast for RPL", | "Constrained-Cast: Source-Routed Multicast for RPL", | |||
| draft-ietf-roll-ccast-01 (work in progress), October 2017. | draft-ietf-roll-ccast-01 (work in progress), October 2017. | |||
| [I-D.qiang-detnet-large-scale-detnet] | ||||
| Qiang, L., Geng, X., Liu, B., Eckert, T., Geng, L., and G. | ||||
| Li, "Large-Scale Deterministic IP Network", draft-qiang- | ||||
| detnet-large-scale-detnet-05 (work in progress), September | ||||
| 2019. | ||||
| [ICC] Reed, M., Al-Naday, M., Thomos, N., Trossen, D., | [ICC] Reed, M., Al-Naday, M., Thomos, N., Trossen, D., | |||
| Petropoulos, G., and S. Spirou, "Stateless multicast | Petropoulos, G., and S. Spirou, "Stateless multicast | |||
| switching in software defined networks", IEEE | switching in software defined networks", IEEE | |||
| International Conference on Communications (ICC), Kuala | International Conference on Communications (ICC), Kuala | |||
| Lumpur, Malaysia, 2016, May 2016, | Lumpur, Malaysia, 2016, May 2016, | |||
| <https://ieeexplore.ieee.org/document/7511036>. | <https://ieeexplore.ieee.org/document/7511036>. | |||
| [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, | |||
| End of changes. 10 change blocks. | ||||
| 49 lines changed or deleted | 114 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||