| < draft-ietf-roll-routing-dispatch-02.txt | draft-ietf-roll-routing-dispatch-03.txt > | |||
|---|---|---|---|---|
| roll P. Thubert, Ed. | roll P. Thubert, Ed. | |||
| Internet-Draft Cisco | Internet-Draft Cisco | |||
| Intended status: Standards Track C. Bormann | Intended status: Standards Track C. Bormann | |||
| Expires: April 22, 2017 Uni Bremen TZI | Expires: April 28, 2017 Uni Bremen TZI | |||
| L. Toutain | L. Toutain | |||
| IMT-TELECOM Bretagne | IMT-TELECOM Bretagne | |||
| R. Cragie | R. Cragie | |||
| ARM | ARM | |||
| October 19, 2016 | October 25, 2016 | |||
| 6LoWPAN Routing Header | 6LoWPAN Routing Header | |||
| draft-ietf-roll-routing-dispatch-02 | draft-ietf-roll-routing-dispatch-03 | |||
| Abstract | Abstract | |||
| This specification introduces a new 6LoWPAN dispatch type for use in | This specification introduces a new 6LoWPAN dispatch type for use in | |||
| 6LoWPAN Route-Over topologies, that initially covers the needs of RPL | 6LoWPAN Route-Over topologies, that initially covers the needs of RPL | |||
| (RFC6550) data packets compression. Using this dispatch type, this | (RFC6550) data packets compression. Using this dispatch type, this | |||
| specification defines a method to compress RPL Option (RFC6553) | specification defines a method to compress RPL Option (RFC6553) | |||
| information and Routing Header type 3 (RFC6554), an efficient IP-in- | information and Routing Header type 3 (RFC6554), an efficient IP-in- | |||
| IP technique and is extensible for more applications. | IP technique and is extensible for more applications. | |||
| 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 http://datatracker.ietf.org/drafts/current/. | Drafts is at http://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 April 22, 2017. | This Internet-Draft will expire on April 28, 2017. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2016 IETF Trust and the persons identified as the | Copyright (c) 2016 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 1, line 89 ¶ | skipping to change at page 1, line 89 ¶ | |||
| 5.4. Compression Reference for SRH-6LoRH header entries . . . 16 | 5.4. Compression Reference for SRH-6LoRH header entries . . . 16 | |||
| 5.5. Popping Headers . . . . . . . . . . . . . . . . . . . . . 17 | 5.5. Popping Headers . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 5.6. Forwarding . . . . . . . . . . . . . . . . . . . . . . . 17 | 5.6. Forwarding . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 6. The RPL Packet Information 6LoRH . . . . . . . . . . . . . . 18 | 6. The RPL Packet Information 6LoRH . . . . . . . . . . . . . . 18 | |||
| 6.1. Compressing the RPLInstanceID . . . . . . . . . . . . . . 19 | 6.1. Compressing the RPLInstanceID . . . . . . . . . . . . . . 19 | |||
| 6.2. Compressing the SenderRank . . . . . . . . . . . . . . . 20 | 6.2. Compressing the SenderRank . . . . . . . . . . . . . . . 20 | |||
| 6.3. The Overall RPI-6LoRH encoding . . . . . . . . . . . . . 20 | 6.3. The Overall RPI-6LoRH encoding . . . . . . . . . . . . . 20 | |||
| 7. The IP-in-IP 6LoRH Header . . . . . . . . . . . . . . . . . . 23 | 7. The IP-in-IP 6LoRH Header . . . . . . . . . . . . . . . . . . 23 | |||
| 8. Management Considerations . . . . . . . . . . . . . . . . . . 24 | 8. Management Considerations . . . . . . . . . . . . . . . . . . 24 | |||
| 9. Security Considerations . . . . . . . . . . . . . . . . . . . 25 | 9. Security Considerations . . . . . . . . . . . . . . . . . . . 25 | |||
| 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 25 | 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 26 | |||
| 10.1. Reserving Space in 6LoWPAN Dispatch Page 1 . . . . . . . 25 | 10.1. Reserving Space in 6LoWPAN Dispatch Page 1 . . . . . . . 26 | |||
| 10.2. New Critical 6LoWPAN Routing Header Type Registry . . . 26 | 10.2. New Critical 6LoWPAN Routing Header Type Registry . . . 26 | |||
| 10.3. New Elective 6LoWPAN Routing Header Type Registry . . . 26 | 10.3. New Elective 6LoWPAN Routing Header Type Registry . . . 26 | |||
| 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 26 | 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 27 | |||
| 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 26 | 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 27 | |||
| 12.1. Normative References . . . . . . . . . . . . . . . . . . 26 | 12.1. Normative References . . . . . . . . . . . . . . . . . . 27 | |||
| 12.2. Informative References . . . . . . . . . . . . . . . . . 28 | 12.2. Informative References . . . . . . . . . . . . . . . . . 28 | |||
| Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 28 | Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 29 | |||
| A.1. Examples Compressing The RPI . . . . . . . . . . . . . . 28 | A.1. Examples Compressing The RPI . . . . . . . . . . . . . . 29 | |||
| A.2. Example Of Downward Packet In Non-Storing Mode . . . . . 30 | A.2. Example Of Downward Packet In Non-Storing Mode . . . . . 31 | |||
| A.3. Example of SRH-6LoRH life-cycle . . . . . . . . . . . . . 32 | A.3. Example of SRH-6LoRH life-cycle . . . . . . . . . . . . . 33 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 34 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 35 | |||
| 1. Introduction | 1. Introduction | |||
| The design of Low Power and Lossy Networks (LLNs) is generally | The design of Low Power and Lossy Networks (LLNs) is generally | |||
| focused on saving energy, a very constrained resource in most cases. | focused on saving energy, a very constrained resource in most cases. | |||
| The other constraints, such as the memory capacity and the duty | The other constraints, such as the memory capacity and the duty | |||
| cycling of the LLN devices, derive from that primary concern. Energy | cycling of the LLN devices, derive from that primary concern. Energy | |||
| is often available from primary batteries that are expected to last | is often available from primary batteries that are expected to last | |||
| for years, or is scavenged from the environment in very limited | for years, or is scavenged from the environment in very limited | |||
| quantities. Any protocol that is intended for use in LLNs must be | quantities. Any protocol that is intended for use in LLNs must be | |||
| skipping to change at page 1, line 130 ¶ | skipping to change at page 1, line 130 ¶ | |||
| bytes per frame. The need to compress IPv6 packets over IEEE | bytes per frame. The need to compress IPv6 packets over IEEE | |||
| 802.15.4 led to the "6LoWPAN Header Compression" [RFC6282] work | 802.15.4 led to the "6LoWPAN Header Compression" [RFC6282] work | |||
| (6LoWPAN_HC). | (6LoWPAN_HC). | |||
| Innovative Route-over techniques have been and are still being | Innovative Route-over techniques have been and are still being | |||
| developed for routing inside a LLN. In a general fashion, such | developed for routing inside a LLN. In a general fashion, such | |||
| techniques require additional information in the packet to provide | techniques require additional information in the packet to provide | |||
| loop prevention and to indicate information such as flow | loop prevention and to indicate information such as flow | |||
| identification, source routing information, etc. | identification, source routing information, etc. | |||
| For reasons such as security and the capability to send ICMP errors | For reasons such as security and the capability to send ICMPv6 errors | |||
| back to the source, an original packet must not be tampered with, and | (see "Internet Control Message Protocol (ICMPv6)" [RFC4443]) back to | |||
| any information that must be inserted in or removed from an IPv6 | the source, an original packet must not be tampered with, and any | |||
| packet must be placed in an extra IP-in-IP encapsulation. | information that must be inserted in or removed from an IPv6 packet | |||
| must be placed in an extra IP-in-IP encapsulation . | ||||
| This is the case when the additional routing information is inserted | This is the case when the additional routing information is inserted | |||
| by a router on the path of a packet, for instance the root of a mesh, | by a router on the path of a packet, for instance the root of a mesh, | |||
| as opposed to the source node, with the non-storing mode of the "IPv6 | as opposed to the source node, with the non-storing mode of the "IPv6 | |||
| Routing Protocol for Low-Power and Lossy Networks" [RFC6550] (RPL). | Routing Protocol for Low-Power and Lossy Networks" [RFC6550] (RPL). | |||
| This is also the case when some routing information must be removed | This is also the case when some routing information must be removed | |||
| from a packet that flows outside the LLN. | from a packet that flows outside the LLN. | |||
| "When to use RFC 6553, RFC 6554 and IPv6-in-IPv6" | "When to use RFC 6553, RFC 6554 and IPv6-in-IPv6" | |||
| skipping to change at page 1, line 565 ¶ | skipping to change at page 1, line 566 ¶ | |||
| Figure 6: The SRH-6LoRH. | Figure 6: The SRH-6LoRH. | |||
| The 6LoRH Type of a SRH-6LoRH header indicates the compression level | The 6LoRH Type of a SRH-6LoRH header indicates the compression level | |||
| used for that header. | used for that header. | |||
| The fields following the 6LoRH Type are compressed addresses | The fields following the 6LoRH Type are compressed addresses | |||
| indicating the consecutive hops, and are ordered from the first to | indicating the consecutive hops, and are ordered from the first to | |||
| the last hop. | the last hop. | |||
| All the addresses in a given SRH-6LoRH header MUST be compressed in | All the addresses in a given SRH-6LoRH header MUST be compressed in | |||
| an identical fashion, so the Length of the compressed for is the same | an identical fashion, so the Length of the compressed form is the | |||
| for all. | same for all. | |||
| In order to get different degrees of compression, multiple | In order to get different degrees of compression, multiple | |||
| consecutive SRH-6LoRH headers MUST be used. | consecutive SRH-6LoRH headers MUST be used. | |||
| Type 0 means that the address is compressed down to one byte, whereas | Type 0 means that the address is compressed down to one byte, whereas | |||
| Type 4 means that the address is provided in full in the SRH-6LoRH | Type 4 means that the address is provided in full in the SRH-6LoRH | |||
| with no compression. The complete list of Types of SRH-6LoRH and the | with no compression. The complete list of Types of SRH-6LoRH and the | |||
| corresponding compression level are provided in Figure 7: | corresponding compression level are provided in Figure 7: | |||
| +-----------+----------------------+ | +-----------+----------------------+ | |||
| skipping to change at page 1, line 1125 ¶ | skipping to change at page 1, line 1126 ¶ | |||
| fragment and for packets going upwards. | fragment and for packets going upwards. | |||
| 8. Management Considerations | 8. Management Considerations | |||
| Though it is possible to decompress a packet at any hop, this | Though it is possible to decompress a packet at any hop, this | |||
| specification is optimized to enable that a packet is forwarded in | specification is optimized to enable that a packet is forwarded in | |||
| its compressed form all the way, and it makes sense to deploy | its compressed form all the way, and it makes sense to deploy | |||
| homogeneous networks, where all nodes, or no node at all, use the | homogeneous networks, where all nodes, or no node at all, use the | |||
| compression technique detailed therein. | compression technique detailed therein. | |||
| This specification does not provide a method to discover the | This specification aims at a simple implementation running in | |||
| capability by a next-hop device to support the compression technique, | constrained nodes, so it does indeed expect an homogeneous network | |||
| or the incremental addition of 6LoWPAN Routing Header as new | and as a consequence it does not provide a method to determine the | |||
| specifications are published, considering that such extraneous code | level of support by the next hops at forwarding time. | |||
| would overburden many constrained devices. This specification does | ||||
| not require extraneous code to exchange and handle error messages for | ||||
| mismatch situations, either. | ||||
| It is thus critical to keep the network homogeneous, or at least | Should an extension to this specification provide such a method, | |||
| provide in forwarding nodes the knowledge of the support by the next | forwarding nodes could compress or uncompress the RPL artifacts | |||
| hops. This is either a deployment issue, by deploying only devices | appropriately and enable a backward compatibility between nodes that | |||
| with a same capability, or a management issue, by configuring all | support this specification and nodes that do not. | |||
| devices to either use, or not use, a certain level of this | ||||
| compression technique and its future additions. | It results that this specification does not attempt to enable such | |||
| backwards compatibility. It does not require extraneous code to | ||||
| exchange and handle error messages to correct automatically mismatch | ||||
| situations, either. | ||||
| When a packet is expected to carry a 6LoRH header but it does not, | ||||
| the node that discovers the issue is expected to send an ICMPv6 error | ||||
| message to the root, at an adapted rate limitation and with a Type 4 | ||||
| indicating a "Parameter Problem", and a Code 0 indicating an | ||||
| "erroneous header field encountered", embedding the relevant portion | ||||
| of the received packet and pointing at the offset therein where the | ||||
| 6LoRH header was expected. | ||||
| When a packet is received with a 6LoRH header that is not recognized, | ||||
| the node that discovers the issue is expected to send an ICMPv6 error | ||||
| message, to the root, at an adapted rate limitation and with a Type 4 | ||||
| indicating a "Parameter Problem", and a Code 1 indicating an | ||||
| "unrecognized Next Header type", embedding the relevant portion of | ||||
| the received packet and pointing at the offset therein where the | ||||
| 6LoRH header was expected. | ||||
| In both cases, the node SHOULD NOT place a 6LoRH header defined in | ||||
| this specification in the resulting message, and should either omit | ||||
| the RPI or place it uncompressed after the IPv6 header. | ||||
| In both cases also, an alternate management method may be preferred | ||||
| in order to notify the network administrator that there is a | ||||
| configuration error. | ||||
| Keeping the network homogeneous is either a deployment issue, by | ||||
| deploying only devices with a same capability, or a management issue, | ||||
| by configuring all devices to either use, or not use, a certain level | ||||
| of this compression technique and its future additions. | ||||
| In particular, the situation where a node receives a message with a | In particular, the situation where a node receives a message with a | |||
| Critical 6LoWPAN Routing Header that it does not understand is an | Critical 6LoWPAN Routing Header that it does not understand is an | |||
| administrative error whereby the wrong device is placed in a network, | administrative error whereby the wrong device is placed in a network, | |||
| or the device is mis-configured. | or the device is mis-configured. | |||
| When a mismatch situation is detected, it is expected that the device | When a mismatch situation is detected, it is expected that the device | |||
| raises some management alert, indicating the issue, e.g. that it has | raises some management alert, indicating the issue, e.g. that it has | |||
| to drop a packet with a Critical 6LoRH. | to drop a packet with a Critical 6LoRH. | |||
| skipping to change at page 27, line 14 ¶ | skipping to change at page 27, line 41 ¶ | |||
| [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, | |||
| <http://www.rfc-editor.org/info/rfc2119>. | <http://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 | [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 | |||
| (IPv6) Specification", RFC 2460, DOI 10.17487/RFC2460, | (IPv6) Specification", RFC 2460, DOI 10.17487/RFC2460, | |||
| December 1998, <http://www.rfc-editor.org/info/rfc2460>. | December 1998, <http://www.rfc-editor.org/info/rfc2460>. | |||
| [RFC4443] Conta, A., Deering, S., and M. Gupta, Ed., "Internet | ||||
| Control Message Protocol (ICMPv6) for the Internet | ||||
| Protocol Version 6 (IPv6) Specification", RFC 4443, | ||||
| DOI 10.17487/RFC4443, March 2006, | ||||
| <http://www.rfc-editor.org/info/rfc4443>. | ||||
| [RFC4944] Montenegro, G., Kushalnagar, N., Hui, J., and D. Culler, | [RFC4944] Montenegro, G., Kushalnagar, N., Hui, J., and D. Culler, | |||
| "Transmission of IPv6 Packets over IEEE 802.15.4 | "Transmission of IPv6 Packets over IEEE 802.15.4 | |||
| Networks", RFC 4944, DOI 10.17487/RFC4944, September 2007, | Networks", RFC 4944, DOI 10.17487/RFC4944, September 2007, | |||
| <http://www.rfc-editor.org/info/rfc4944>. | <http://www.rfc-editor.org/info/rfc4944>. | |||
| [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an | [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an | |||
| IANA Considerations Section in RFCs", BCP 26, RFC 5226, | IANA Considerations Section in RFCs", BCP 26, RFC 5226, | |||
| DOI 10.17487/RFC5226, May 2008, | DOI 10.17487/RFC5226, May 2008, | |||
| <http://www.rfc-editor.org/info/rfc5226>. | <http://www.rfc-editor.org/info/rfc5226>. | |||
| skipping to change at page 28, line 15 ¶ | skipping to change at page 28, line 49 ¶ | |||
| 12.2. Informative References | 12.2. Informative References | |||
| [I-D.ietf-6tisch-architecture] | [I-D.ietf-6tisch-architecture] | |||
| Thubert, P., "An Architecture for IPv6 over the TSCH mode | Thubert, P., "An Architecture for IPv6 over the TSCH mode | |||
| of IEEE 802.15.4", draft-ietf-6tisch-architecture-10 (work | of IEEE 802.15.4", draft-ietf-6tisch-architecture-10 (work | |||
| in progress), June 2016. | in progress), June 2016. | |||
| [I-D.ietf-roll-useofrplinfo] | [I-D.ietf-roll-useofrplinfo] | |||
| Robles, I., Richardson, M., and P. Thubert, "When to use | Robles, I., Richardson, M., and P. Thubert, "When to use | |||
| RFC 6553, 6554 and IPv6-in-IPv6", draft-ietf-roll- | RFC 6553, 6554 and IPv6-in-IPv6", draft-ietf-roll- | |||
| useofrplinfo-08 (work in progress), September 2016. | useofrplinfo-09 (work in progress), October 2016. | |||
| [I-D.thubert-6lo-forwarding-fragments] | [I-D.thubert-6lo-forwarding-fragments] | |||
| Thubert, P. and J. Hui, "LLN Fragment Forwarding and | Thubert, P. and J. Hui, "LLN Fragment Forwarding and | |||
| Recovery", draft-thubert-6lo-forwarding-fragments-02 (work | Recovery", draft-thubert-6lo-forwarding-fragments-02 (work | |||
| in progress), November 2014. | in progress), November 2014. | |||
| [RFC6775] Shelby, Z., Ed., Chakrabarti, S., Nordmark, E., and C. | [RFC6775] Shelby, Z., Ed., Chakrabarti, S., Nordmark, E., and C. | |||
| Bormann, "Neighbor Discovery Optimization for IPv6 over | Bormann, "Neighbor Discovery Optimization for IPv6 over | |||
| Low-Power Wireless Personal Area Networks (6LoWPANs)", | Low-Power Wireless Personal Area Networks (6LoWPANs)", | |||
| RFC 6775, DOI 10.17487/RFC6775, November 2012, | RFC 6775, DOI 10.17487/RFC6775, November 2012, | |||
| skipping to change at page 31, line 8 ¶ | skipping to change at page 32, line 8 ¶ | |||
| If the last hop in a SRH-6LoRH is not the final destination then it | If the last hop in a SRH-6LoRH is not the final destination then it | |||
| removes the SRH-6LoRH before forwarding. | removes the SRH-6LoRH before forwarding. | |||
| In the particular example illustrated in Figure 20, all addresses in | In the particular example illustrated in Figure 20, all addresses in | |||
| the DODAG are assigned from a same /112 prefix and the last 2 octets | the DODAG are assigned from a same /112 prefix and the last 2 octets | |||
| encoding an identifier such as a IEEE 802.15.4 short address. In | encoding an identifier such as a IEEE 802.15.4 short address. In | |||
| that case, all addresses can be compressed to 2 octets, using the | that case, all addresses can be compressed to 2 octets, using the | |||
| root address as reference. There will be one SRH_6LoRH header, with, | root address as reference. There will be one SRH_6LoRH header, with, | |||
| in this example, 3 compressed addresses: | in this example, 3 compressed addresses: | |||
| +-+-+-+-+-+-+- ... +-+-+- ... -+-+-- ... -+-+- ... -+-+-+-+-+ ... +-... | +-+ ... -+-+ ... +-+- ... -+-+- ... +-+-+-+ ... +-+-+ ... -+ ... +-... | |||
| |11110001 |SRH-6LoRH | RPI-6LoRH | IP-in-IP | NH=1 |11110CPP| UDP | UDP | |11110001|SRH-6LoRH| RPI- | IP-in-IP | NH=1 |11110CPP| UDP | UDP | |||
| |Page 1 |Type1 S=2 | | 6LoRH |LOWPAN_IPHC | UDP | hdr |load | |Page 1 |Type1 S=2| 6LoRH | 6LoRH |LOWPAN_IPHC| UDP | hdr |Payld | |||
| +-+-+-+-+-+-+- ... +-+-+- ... -+-+-- ... -+-+- ... -+-+-+-+-+ ... +-... | +-+ ... -+-+ ... +-+- ... -+-+-- ... -+-+-+ ... +-+-+ ... -+ ... +-... | |||
| <-8bytes-> <- RFC 6282 -> | <-8bytes-> <- RFC 6282 -> | |||
| No RPL artifact | No RPL artifact | |||
| Figure 20: Example Compressed Packet with SRH. | Figure 20: Example Compressed Packet with SRH. | |||
| One may note that the RPI is provided. This is because the address | One may note that the RPI is provided. This is because the address | |||
| of the root that is the source of the IP-in-IP header is elided and | of the root that is the source of the IP-in-IP header is elided and | |||
| inferred from the RPLInstanceID in the RPI. Once found from a local | inferred from the RPLInstanceID in the RPI. Once found from a local | |||
| context, that address is used as Compression Reference to expand | context, that address is used as Compression Reference to expand | |||
| addresses in the SRH-6LoRH. | addresses in the SRH-6LoRH. | |||
| With the RPL specifications available at the time of writing this | With the RPL specifications available at the time of writing this | |||
| End of changes. 14 change blocks. | ||||
| 40 lines changed or deleted | 76 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/ | ||||