rfc8831v2.txt | rfc8831.txt | |||
---|---|---|---|---|
Internet Engineering Task Force (IETF) R. Jesup | Internet Engineering Task Force (IETF) R. Jesup | |||
Request for Comments: 8831 Mozilla | Request for Comments: 8831 Mozilla | |||
Category: Standards Track S. Loreto | Category: Standards Track S. Loreto | |||
ISSN: 2070-1721 Ericsson | ISSN: 2070-1721 Ericsson | |||
M. Tüxen | M. Tüxen | |||
Münster Univ. of Appl. Sciences | Münster Univ. of Appl. Sciences | |||
November 2020 | January 2021 | |||
WebRTC Data Channels | WebRTC Data Channels | |||
Abstract | Abstract | |||
The WebRTC framework specifies protocol support for direct, | The WebRTC framework specifies protocol support for direct, | |||
interactive, rich communication using audio, video, and data between | interactive, rich communication using audio, video, and data between | |||
two peers' web browsers. This document specifies the non-media data | two peers' web browsers. This document specifies the non-media data | |||
transport aspects of the WebRTC framework. It provides an | transport aspects of the WebRTC framework. It provides an | |||
architectural overview of how the Stream Control Transmission | architectural overview of how the Stream Control Transmission | |||
skipping to change at line 39 ¶ | skipping to change at line 39 ¶ | |||
received public review and has been approved for publication by the | received public review and has been approved for publication by the | |||
Internet Engineering Steering Group (IESG). Further information on | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | Internet Standards is available in Section 2 of RFC 7841. | |||
Information about the current status of this document, any errata, | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | and how to provide feedback on it may be obtained at | |||
https://www.rfc-editor.org/info/rfc8831. | https://www.rfc-editor.org/info/rfc8831. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2021 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 | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
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 | |||
skipping to change at line 84 ¶ | skipping to change at line 84 ¶ | |||
Acknowledgements | Acknowledgements | |||
Authors' Addresses | Authors' Addresses | |||
1. Introduction | 1. Introduction | |||
In the WebRTC framework, communication between the parties consists | In the WebRTC framework, communication between the parties consists | |||
of media (for example, audio and video) and non-media data. Media is | of media (for example, audio and video) and non-media data. Media is | |||
sent using the Secure Real-time Transport Protocol (SRTP) and is not | sent using the Secure Real-time Transport Protocol (SRTP) and is not | |||
specified further here. Non-media data is handled by using the | specified further here. Non-media data is handled by using the | |||
Stream Control Transmission Protocol (SCTP) [RFC4960] encapsulated in | Stream Control Transmission Protocol (SCTP) [RFC4960] encapsulated in | |||
DTLS. DTLS 1.0 is defined in [RFC4347], and the present latest | DTLS. DTLS 1.0 is defined in [RFC4347]; the present latest version, | |||
version, DTLS 1.2, is defined in [RFC6347]. | DTLS 1.2, is defined in [RFC6347]; and an upcoming version, DTLS 1.3, | |||
is defined in [TLS-DTLS13]. | ||||
+----------+ | +----------+ | |||
| SCTP | | | SCTP | | |||
+----------+ | +----------+ | |||
| DTLS | | | DTLS | | |||
+----------+ | +----------+ | |||
| ICE/UDP | | | ICE/UDP | | |||
+----------+ | +----------+ | |||
Figure 1: Basic Stack Diagram | Figure 1: Basic Stack Diagram | |||
skipping to change at line 276 ¶ | skipping to change at line 277 ¶ | |||
* Reliable and partially reliable transport of user messages. | * Reliable and partially reliable transport of user messages. | |||
Each SCTP user message contains a Payload Protocol Identifier (PPID) | Each SCTP user message contains a Payload Protocol Identifier (PPID) | |||
that is passed to SCTP by its upper layer on the sending side and | that is passed to SCTP by its upper layer on the sending side and | |||
provided to its upper layer on the receiving side. The PPID can be | provided to its upper layer on the receiving side. The PPID can be | |||
used to multiplex/demultiplex multiple upper layers over a single | used to multiplex/demultiplex multiple upper layers over a single | |||
SCTP association. In the WebRTC context, the PPID is used to | SCTP association. In the WebRTC context, the PPID is used to | |||
distinguish between UTF-8 encoded user data, binary-encoded user | distinguish between UTF-8 encoded user data, binary-encoded user | |||
data, and the Data Channel Establishment Protocol (DCEP) defined in | data, and the Data Channel Establishment Protocol (DCEP) defined in | |||
[RFC8832]. Please note that the PPID is not accessible via the | [RFC8832]. Please note that the PPID is not accessible via the | |||
Javascript API. | JavaScript API. | |||
The encapsulation of SCTP over DTLS, together with the SCTP features | The encapsulation of SCTP over DTLS, together with the SCTP features | |||
listed above, satisfies all the requirements listed in Section 4. | listed above, satisfies all the requirements listed in Section 4. | |||
The layering of protocols for WebRTC is shown in Figure 2. | The layering of protocols for WebRTC is shown in Figure 2. | |||
+------+------+------+ | +------+------+------+ | |||
| DCEP | UTF-8|Binary| | | DCEP | UTF-8|Binary| | |||
| | Data | Data | | | | Data | Data | | |||
+------+------+------+ | +------+------+------+ | |||
skipping to change at line 309 ¶ | skipping to change at line 310 ¶ | |||
combination with SCTP over UDP [RFC6951]) has been chosen for the | combination with SCTP over UDP [RFC6951]) has been chosen for the | |||
following reasons: | following reasons: | |||
* supports the transmission of arbitrarily large user messages; | * supports the transmission of arbitrarily large user messages; | |||
* shares the DTLS connection with the SRTP media channels of the | * shares the DTLS connection with the SRTP media channels of the | |||
PeerConnection; and | PeerConnection; and | |||
* provides privacy for the SCTP control information. | * provides privacy for the SCTP control information. | |||
In the protocol stack of Figure 2, the usage of DTLS 1.0 over UDP is | Referring to the protocol stack shown in Figure 2: | |||
specified in [RFC4347] and the usage of DTLS 1.2 over UDP in | ||||
specified in [RFC6347], while the usage of SCTP on top of DTLS is | * the usage of DTLS 1.0 over UDP is specified in [RFC4347]; | |||
specified in [RFC8261]. Please note that the demultiplexing Session | ||||
Traversal Utilities for NAT (STUN) [RFC5389] vs. SRTP vs. DTLS is | * the usage of DTLS 1.2 over UDP in specified in [RFC6347]; | |||
done as described in Section 5.1.2 of [RFC5764], and SCTP is the only | ||||
payload of DTLS. | * the usage of DTLS 1.3 over UDP is specified in an upcoming | |||
document [TLS-DTLS13]; and | ||||
* the usage of SCTP on top of DTLS is specified in [RFC8261]. | ||||
Please note that the demultiplexing Session Traversal Utilities for | ||||
NAT (STUN) [RFC5389] vs. SRTP vs. DTLS is done as described in | ||||
Section 5.1.2 of [RFC5764], and SCTP is the only payload of DTLS. | ||||
Since DTLS is typically implemented in user application space, the | Since DTLS is typically implemented in user application space, the | |||
SCTP stack also needs to be a user application space stack. | SCTP stack also needs to be a user application space stack. | |||
The ICE/UDP layer can handle IP address changes during a session | The ICE/UDP layer can handle IP address changes during a session | |||
without needing interaction with the DTLS and SCTP layers. However, | without needing interaction with the DTLS and SCTP layers. However, | |||
SCTP SHOULD be notified when an address change has happened. In this | SCTP SHOULD be notified when an address change has happened. In this | |||
case, SCTP SHOULD retest the Path MTU and reset the congestion state | case, SCTP SHOULD retest the Path MTU and reset the congestion state | |||
to the initial state. In the case of window-based congestion control | to the initial state. In the case of window-based congestion control | |||
like the one specified in [RFC4960], this means setting the | like the one specified in [RFC4960], this means setting the | |||
skipping to change at line 340 ¶ | skipping to change at line 348 ¶ | |||
association. Therefore, SCTP MUST support performing Path MTU | association. Therefore, SCTP MUST support performing Path MTU | |||
discovery without relying on ICMP or ICMPv6 as specified in [RFC4821] | discovery without relying on ICMP or ICMPv6 as specified in [RFC4821] | |||
by using probing messages specified in [RFC4820]. The initial Path | by using probing messages specified in [RFC4820]. The initial Path | |||
MTU at the IP layer SHOULD NOT exceed 1200 bytes for IPv4 and 1280 | MTU at the IP layer SHOULD NOT exceed 1200 bytes for IPv4 and 1280 | |||
bytes for IPv6. | bytes for IPv6. | |||
In general, the lower-layer interface of an SCTP implementation | In general, the lower-layer interface of an SCTP implementation | |||
should be adapted to address the differences between IPv4 and IPv6 | should be adapted to address the differences between IPv4 and IPv6 | |||
(being connectionless) or DTLS (being connection oriented). | (being connectionless) or DTLS (being connection oriented). | |||
When the protocol stack of Figure 2 is used, DTLS protects the | When the protocol stack shown in Figure 2 is used, DTLS protects the | |||
complete SCTP packet, so it provides confidentiality, integrity, and | complete SCTP packet, so it provides confidentiality, integrity, and | |||
source authentication of the complete SCTP packet. | source authentication of the complete SCTP packet. | |||
SCTP provides congestion control on a per-association basis. This | SCTP provides congestion control on a per-association basis. This | |||
means that all SCTP streams within a single SCTP association share | means that all SCTP streams within a single SCTP association share | |||
the same congestion window. Traffic not being sent over SCTP is not | the same congestion window. Traffic not being sent over SCTP is not | |||
covered by SCTP congestion control. Using a congestion control | covered by SCTP congestion control. Using a congestion control | |||
different from the standard one might improve the impact on the | different from the standard one might improve the impact on the | |||
parallel SRTP media streams. | parallel SRTP media streams. | |||
skipping to change at line 625 ¶ | skipping to change at line 633 ¶ | |||
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>. | |||
[RFC3758] Stewart, R., Ramalho, M., Xie, Q., Tuexen, M., and P. | [RFC3758] Stewart, R., Ramalho, M., Xie, Q., Tuexen, M., and P. | |||
Conrad, "Stream Control Transmission Protocol (SCTP) | Conrad, "Stream Control Transmission Protocol (SCTP) | |||
Partial Reliability Extension", RFC 3758, | Partial Reliability Extension", RFC 3758, | |||
DOI 10.17487/RFC3758, May 2004, | DOI 10.17487/RFC3758, May 2004, | |||
<https://www.rfc-editor.org/info/rfc3758>. | <https://www.rfc-editor.org/info/rfc3758>. | |||
[RFC4347] Rescorla, E. and N. Modadugu, "Datagram Transport Layer | ||||
Security", RFC 4347, DOI 10.17487/RFC4347, April 2006, | ||||
<https://www.rfc-editor.org/info/rfc4347>. | ||||
[RFC4820] Tuexen, M., Stewart, R., and P. Lei, "Padding Chunk and | [RFC4820] Tuexen, M., Stewart, R., and P. Lei, "Padding Chunk and | |||
Parameter for the Stream Control Transmission Protocol | Parameter for the Stream Control Transmission Protocol | |||
(SCTP)", RFC 4820, DOI 10.17487/RFC4820, March 2007, | (SCTP)", RFC 4820, DOI 10.17487/RFC4820, March 2007, | |||
<https://www.rfc-editor.org/info/rfc4820>. | <https://www.rfc-editor.org/info/rfc4820>. | |||
[RFC4821] Mathis, M. and J. Heffner, "Packetization Layer Path MTU | [RFC4821] Mathis, M. and J. Heffner, "Packetization Layer Path MTU | |||
Discovery", RFC 4821, DOI 10.17487/RFC4821, March 2007, | Discovery", RFC 4821, DOI 10.17487/RFC4821, March 2007, | |||
<https://www.rfc-editor.org/info/rfc4821>. | <https://www.rfc-editor.org/info/rfc4821>. | |||
[RFC4960] Stewart, R., Ed., "Stream Control Transmission Protocol", | [RFC4960] Stewart, R., Ed., "Stream Control Transmission Protocol", | |||
RFC 4960, DOI 10.17487/RFC4960, September 2007, | RFC 4960, DOI 10.17487/RFC4960, September 2007, | |||
<https://www.rfc-editor.org/info/rfc4960>. | <https://www.rfc-editor.org/info/rfc4960>. | |||
[RFC5061] Stewart, R., Xie, Q., Tuexen, M., Maruyama, S., and M. | [RFC5061] Stewart, R., Xie, Q., Tuexen, M., Maruyama, S., and M. | |||
Kozuka, "Stream Control Transmission Protocol (SCTP) | Kozuka, "Stream Control Transmission Protocol (SCTP) | |||
Dynamic Address Reconfiguration", RFC 5061, | Dynamic Address Reconfiguration", RFC 5061, | |||
DOI 10.17487/RFC5061, September 2007, | DOI 10.17487/RFC5061, September 2007, | |||
<https://www.rfc-editor.org/info/rfc5061>. | <https://www.rfc-editor.org/info/rfc5061>. | |||
[RFC6347] Rescorla, E. and N. Modadugu, "Datagram Transport Layer | ||||
Security Version 1.2", RFC 6347, DOI 10.17487/RFC6347, | ||||
January 2012, <https://www.rfc-editor.org/info/rfc6347>. | ||||
[RFC6525] Stewart, R., Tuexen, M., and P. Lei, "Stream Control | [RFC6525] Stewart, R., Tuexen, M., and P. Lei, "Stream Control | |||
Transmission Protocol (SCTP) Stream Reconfiguration", | Transmission Protocol (SCTP) Stream Reconfiguration", | |||
RFC 6525, DOI 10.17487/RFC6525, February 2012, | RFC 6525, DOI 10.17487/RFC6525, February 2012, | |||
<https://www.rfc-editor.org/info/rfc6525>. | <https://www.rfc-editor.org/info/rfc6525>. | |||
[RFC7496] Tuexen, M., Seggelmann, R., Stewart, R., and S. Loreto, | [RFC7496] Tuexen, M., Seggelmann, R., Stewart, R., and S. Loreto, | |||
"Additional Policies for the Partially Reliable Stream | "Additional Policies for the Partially Reliable Stream | |||
Control Transmission Protocol Extension", RFC 7496, | Control Transmission Protocol Extension", RFC 7496, | |||
DOI 10.17487/RFC7496, April 2015, | DOI 10.17487/RFC7496, April 2015, | |||
<https://www.rfc-editor.org/info/rfc7496>. | <https://www.rfc-editor.org/info/rfc7496>. | |||
skipping to change at line 685 ¶ | skipping to change at line 685 ¶ | |||
SCTP Packets", RFC 8261, DOI 10.17487/RFC8261, November | SCTP Packets", RFC 8261, DOI 10.17487/RFC8261, November | |||
2017, <https://www.rfc-editor.org/info/rfc8261>. | 2017, <https://www.rfc-editor.org/info/rfc8261>. | |||
[RFC8445] Keranen, A., Holmberg, C., and J. Rosenberg, "Interactive | [RFC8445] Keranen, A., Holmberg, C., and J. Rosenberg, "Interactive | |||
Connectivity Establishment (ICE): A Protocol for Network | Connectivity Establishment (ICE): A Protocol for Network | |||
Address Translator (NAT) Traversal", RFC 8445, | Address Translator (NAT) Traversal", RFC 8445, | |||
DOI 10.17487/RFC8445, July 2018, | DOI 10.17487/RFC8445, July 2018, | |||
<https://www.rfc-editor.org/info/rfc8445>. | <https://www.rfc-editor.org/info/rfc8445>. | |||
[RFC8826] Rescorla, E., "Security Considerations for WebRTC", | [RFC8826] Rescorla, E., "Security Considerations for WebRTC", | |||
RFC 8826, DOI 10.17487/RFC8826, November 2020, | RFC 8826, DOI 10.17487/RFC8826, January 2021, | |||
<https://www.rfc-editor.org/info/rfc8826>. | <https://www.rfc-editor.org/info/rfc8826>. | |||
[RFC8827] Rescorla, E., "WebRTC Security Architecture", RFC 8827, | [RFC8827] Rescorla, E., "WebRTC Security Architecture", RFC 8827, | |||
DOI 10.17487/RFC8827, November 2020, | DOI 10.17487/RFC8827, January 2021, | |||
<https://www.rfc-editor.org/info/rfc8827>. | <https://www.rfc-editor.org/info/rfc8827>. | |||
[RFC8829] Uberti, J., Jennings, C., and E. Rescorla, Ed., | [RFC8829] Uberti, J., Jennings, C., and E. Rescorla, Ed., | |||
"JavaScript Session Establishment Protocol (JSEP)", | "JavaScript Session Establishment Protocol (JSEP)", | |||
RFC 8829, DOI 10.17487/RFC8829, November 2020, | RFC 8829, DOI 10.17487/RFC8829, January 2021, | |||
<https://www.rfc-editor.org/info/rfc8829>. | <https://www.rfc-editor.org/info/rfc8829>. | |||
[RFC8832] Jesup, R., Loreto, S., and M. Tüxen, "WebRTC Data Channel | [RFC8832] Jesup, R., Loreto, S., and M. Tüxen, "WebRTC Data Channel | |||
Establishment Protocol", RFC 8832, DOI 10.17487/RFC8832, | Establishment Protocol", RFC 8832, DOI 10.17487/RFC8832, | |||
November 2020, <https://www.rfc-editor.org/info/rfc8832>. | January 2021, <https://www.rfc-editor.org/info/rfc8832>. | |||
[RFC8841] Holmberg, C., Shpount, R., Loreto, S., and G. Camarillo, | [RFC8841] Holmberg, C., Shpount, R., Loreto, S., and G. Camarillo, | |||
"Session Description Protocol (SDP) Offer/Answer | "Session Description Protocol (SDP) Offer/Answer | |||
Procedures for Stream Control Transmission Protocol (SCTP) | Procedures for Stream Control Transmission Protocol (SCTP) | |||
over Datagram Transport Layer Security (DTLS) Transport", | over Datagram Transport Layer Security (DTLS) Transport", | |||
RFC 8841, DOI 10.17487/RFC8841, November 2020, | RFC 8841, DOI 10.17487/RFC8841, January 2021, | |||
<https://www.rfc-editor.org/info/rfc8841>. | <https://www.rfc-editor.org/info/rfc8841>. | |||
9.2. Informative References | 9.2. Informative References | |||
[RFC1122] Braden, R., Ed., "Requirements for Internet Hosts - | [RFC1122] Braden, R., Ed., "Requirements for Internet Hosts - | |||
Communication Layers", STD 3, RFC 1122, | Communication Layers", STD 3, RFC 1122, | |||
DOI 10.17487/RFC1122, October 1989, | DOI 10.17487/RFC1122, October 1989, | |||
<https://www.rfc-editor.org/info/rfc1122>. | <https://www.rfc-editor.org/info/rfc1122>. | |||
[RFC4347] Rescorla, E. and N. Modadugu, "Datagram Transport Layer | ||||
Security", RFC 4347, DOI 10.17487/RFC4347, April 2006, | ||||
<https://www.rfc-editor.org/info/rfc4347>. | ||||
[RFC5389] Rosenberg, J., Mahy, R., Matthews, P., and D. Wing, | [RFC5389] Rosenberg, J., Mahy, R., Matthews, P., and D. Wing, | |||
"Session Traversal Utilities for NAT (STUN)", RFC 5389, | "Session Traversal Utilities for NAT (STUN)", RFC 5389, | |||
DOI 10.17487/RFC5389, October 2008, | DOI 10.17487/RFC5389, October 2008, | |||
<https://www.rfc-editor.org/info/rfc5389>. | <https://www.rfc-editor.org/info/rfc5389>. | |||
[RFC5764] McGrew, D. and E. Rescorla, "Datagram Transport Layer | [RFC5764] McGrew, D. and E. Rescorla, "Datagram Transport Layer | |||
Security (DTLS) Extension to Establish Keys for the Secure | Security (DTLS) Extension to Establish Keys for the Secure | |||
Real-time Transport Protocol (SRTP)", RFC 5764, | Real-time Transport Protocol (SRTP)", RFC 5764, | |||
DOI 10.17487/RFC5764, May 2010, | DOI 10.17487/RFC5764, May 2010, | |||
<https://www.rfc-editor.org/info/rfc5764>. | <https://www.rfc-editor.org/info/rfc5764>. | |||
[RFC6083] Tuexen, M., Seggelmann, R., and E. Rescorla, "Datagram | [RFC6083] Tuexen, M., Seggelmann, R., and E. Rescorla, "Datagram | |||
Transport Layer Security (DTLS) for Stream Control | Transport Layer Security (DTLS) for Stream Control | |||
Transmission Protocol (SCTP)", RFC 6083, | Transmission Protocol (SCTP)", RFC 6083, | |||
DOI 10.17487/RFC6083, January 2011, | DOI 10.17487/RFC6083, January 2011, | |||
<https://www.rfc-editor.org/info/rfc6083>. | <https://www.rfc-editor.org/info/rfc6083>. | |||
[RFC6347] Rescorla, E. and N. Modadugu, "Datagram Transport Layer | ||||
Security Version 1.2", RFC 6347, DOI 10.17487/RFC6347, | ||||
January 2012, <https://www.rfc-editor.org/info/rfc6347>. | ||||
[RFC6951] Tuexen, M. and R. Stewart, "UDP Encapsulation of Stream | [RFC6951] Tuexen, M. and R. Stewart, "UDP Encapsulation of Stream | |||
Control Transmission Protocol (SCTP) Packets for End-Host | Control Transmission Protocol (SCTP) Packets for End-Host | |||
to End-Host Communication", RFC 6951, | to End-Host Communication", RFC 6951, | |||
DOI 10.17487/RFC6951, May 2013, | DOI 10.17487/RFC6951, May 2013, | |||
<https://www.rfc-editor.org/info/rfc6951>. | <https://www.rfc-editor.org/info/rfc6951>. | |||
[TLS-DTLS13] | ||||
Rescorla, E., Tschofenig, H., and N. Modadugu, "The | ||||
Datagram Transport Layer Security (DTLS) Protocol Version | ||||
1.3", Work in Progress, Internet-Draft, draft-ietf-tls- | ||||
dtls13-39, 2 November 2020, | ||||
<https://tools.ietf.org/html/draft-ietf-tls-dtls13-39>. | ||||
Acknowledgements | Acknowledgements | |||
Many thanks for comments, ideas, and text from Harald Alvestrand, | Many thanks for comments, ideas, and text from Harald Alvestrand, | |||
Richard Barnes, Adam Bergkvist, Alissa Cooper, Benoit Claise, Spencer | Richard Barnes, Adam Bergkvist, Alissa Cooper, Benoit Claise, Spencer | |||
Dawkins, Gunnar Hellström, Christer Holmberg, Cullen Jennings, Paul | Dawkins, Gunnar Hellström, Christer Holmberg, Cullen Jennings, Paul | |||
Kyzivat, Eric Rescorla, Adam Roach, Irene Rüngeler, Randall Stewart, | Kyzivat, Eric Rescorla, Adam Roach, Irene Rüngeler, Randall Stewart, | |||
Martin Stiemerling, Justin Uberti, and Magnus Westerlund. | Martin Stiemerling, Justin Uberti, and Magnus Westerlund. | |||
Authors' Addresses | Authors' Addresses | |||
End of changes. 16 change blocks. | ||||
26 lines changed or deleted | 41 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/ |