draft-thornburgh-adobe-rtmfp-09.txt   draft-thornburgh-adobe-rtmfp-10.txt 
Network Working Group M. Thornburgh Network Working Group M. Thornburgh
Internet-Draft Adobe Internet-Draft Adobe
Intended status: Informational June 28, 2013 Intended status: Informational July 10, 2013
Expires: December 30, 2013 Expires: January 11, 2014
Adobe's Secure Real-Time Media Flow Protocol Adobe's Secure Real-Time Media Flow Protocol
draft-thornburgh-adobe-rtmfp-09 draft-thornburgh-adobe-rtmfp-10
Abstract Abstract
This memo describes Adobe's Secure Real-Time Media Flow Protocol This memo describes Adobe's Secure Real-Time Media Flow Protocol
(RTMFP), an endpoint-to-endpoint communication protocol designed to (RTMFP), an endpoint-to-endpoint communication protocol designed to
securely transport parallel flows of real-time video, audio, and data securely transport parallel flows of real-time video, audio, and data
messages, as well as bulk data, over IP networks. RTMFP has features messages, as well as bulk data, over IP networks. RTMFP has features
making it effective for peer-to-peer (P2P) as well as client-server making it effective for peer-to-peer (P2P) as well as client-server
communications, even when Network Address Translators (NATs) are communications, even when Network Address Translators (NATs) are
used. used.
skipping to change at page 1, line 39 skipping to change at page 1, line 39
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 December 30, 2013. This Internet-Draft will expire on January 11, 2014.
Copyright Notice Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the Copyright (c) 2013 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
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
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 5 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1. Design Highlights of RTMFP . . . . . . . . . . . . . . . 5 1.1. Design Highlights of RTMFP . . . . . . . . . . . . . . . 6
1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 7 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 7
2. Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2. Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1. Common Elements . . . . . . . . . . . . . . . . . . . . . 8 2.1. Common Elements . . . . . . . . . . . . . . . . . . . . . 8
2.1.1. Elementary Types and Constructs . . . . . . . . . . . 8 2.1.1. Elementary Types and Constructs . . . . . . . . . . . 8
2.1.2. Variable Length Unsigned Integer (VLU) . . . . . . . 9 2.1.2. Variable Length Unsigned Integer (VLU) . . . . . . . 9
2.1.3. Option . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.3. Option . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.4. Option List . . . . . . . . . . . . . . . . . . . . . 11 2.1.4. Option List . . . . . . . . . . . . . . . . . . . . . 11
2.1.5. Internet Socket Address (Address) . . . . . . . . . . 11 2.1.5. Internet Socket Address (Address) . . . . . . . . . . 12
2.2. Network Layer . . . . . . . . . . . . . . . . . . . . . . 12 2.2. Network Layer . . . . . . . . . . . . . . . . . . . . . . 13
2.2.1. Encapsulation . . . . . . . . . . . . . . . . . . . . 12 2.2.1. Encapsulation . . . . . . . . . . . . . . . . . . . . 13
2.2.2. Multiplex . . . . . . . . . . . . . . . . . . . . . . 13 2.2.2. Multiplex . . . . . . . . . . . . . . . . . . . . . . 13
2.2.3. Encryption . . . . . . . . . . . . . . . . . . . . . 14 2.2.3. Encryption . . . . . . . . . . . . . . . . . . . . . 14
2.2.4. Packet . . . . . . . . . . . . . . . . . . . . . . . 14 2.2.4. Packet . . . . . . . . . . . . . . . . . . . . . . . 15
2.3. Chunks . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.3. Chunks . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3.1. Packet Fragment Chunk . . . . . . . . . . . . . . . . 19 2.3.1. Packet Fragment Chunk . . . . . . . . . . . . . . . . 20
2.3.2. Initiator Hello Chunk (IHello) . . . . . . . . . . . 20 2.3.2. Initiator Hello Chunk (IHello) . . . . . . . . . . . 21
2.3.3. Forwarded Initiator Hello Chunk (FIHello) . . . . . . 20 2.3.3. Forwarded Initiator Hello Chunk (FIHello) . . . . . . 21
2.3.4. Responder Hello Chunk (RHello) . . . . . . . . . . . 21 2.3.4. Responder Hello Chunk (RHello) . . . . . . . . . . . 22
2.3.5. Responder Redirect Chunk (Redirect) . . . . . . . . . 22 2.3.5. Responder Redirect Chunk (Redirect) . . . . . . . . . 23
2.3.6. RHello Cookie Change Chunk . . . . . . . . . . . . . 24 2.3.6. RHello Cookie Change Chunk . . . . . . . . . . . . . 25
2.3.7. Initiator Initial Keying Chunk (IIKeying) . . . . . . 25 2.3.7. Initiator Initial Keying Chunk (IIKeying) . . . . . . 26
2.3.8. Responder Initial Keying Chunk (RIKeying) . . . . . . 26 2.3.8. Responder Initial Keying Chunk (RIKeying) . . . . . . 27
2.3.9. Ping Chunk . . . . . . . . . . . . . . . . . . . . . 28 2.3.9. Ping Chunk . . . . . . . . . . . . . . . . . . . . . 29
2.3.10. Ping Reply Chunk . . . . . . . . . . . . . . . . . . 29 2.3.10. Ping Reply Chunk . . . . . . . . . . . . . . . . . . 30
2.3.11. User Data Chunk . . . . . . . . . . . . . . . . . . . 29 2.3.11. User Data Chunk . . . . . . . . . . . . . . . . . . . 30
2.3.11.1. Options for User Data . . . . . . . . . . . . . 31 2.3.11.1. Options for User Data . . . . . . . . . . . . . 32
2.3.11.1.1. User's Per-Flow Metadata . . . . . . . . . . 32 2.3.11.1.1. User's Per-Flow Metadata . . . . . . . . . . 33
2.3.11.1.2. Return Flow Association . . . . . . . . . . 32 2.3.11.1.2. Return Flow Association . . . . . . . . . . 33
2.3.12. Next User Data Chunk . . . . . . . . . . . . . . . . 33 2.3.12. Next User Data Chunk . . . . . . . . . . . . . . . . 34
2.3.13. Data Acknowledgement Bitmap Chunk (Bitmap Ack) . . . 35 2.3.13. Data Acknowledgement Bitmap Chunk (Bitmap Ack) . . . 36
2.3.14. Data Acknowledgement Ranges Chunk (Range Ack) . . . . 37 2.3.14. Data Acknowledgement Ranges Chunk (Range Ack) . . . . 38
2.3.15. Buffer Probe Chunk . . . . . . . . . . . . . . . . . 39 2.3.15. Buffer Probe Chunk . . . . . . . . . . . . . . . . . 40
2.3.16. Flow Exception Report Chunk . . . . . . . . . . . . . 40 2.3.16. Flow Exception Report Chunk . . . . . . . . . . . . . 41
2.3.17. Session Close Request Chunk (Close) . . . . . . . . . 41 2.3.17. Session Close Request Chunk (Close) . . . . . . . . . 42
2.3.18. Session Close Acknowledgement Chunk (Close Ack) . . . 41 2.3.18. Session Close Acknowledgement Chunk (Close Ack) . . . 42
3. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.1. Overview . . . . . . . . . . . . . . . . . . . . . . . . 42 3.1. Overview . . . . . . . . . . . . . . . . . . . . . . . . 43
3.2. Endpoint Identity . . . . . . . . . . . . . . . . . . . . 43 3.2. Endpoint Identity . . . . . . . . . . . . . . . . . . . . 44
3.3. Packet Multiplex . . . . . . . . . . . . . . . . . . . . 45 3.3. Packet Multiplex . . . . . . . . . . . . . . . . . . . . 46
3.4. Packet Fragmentation . . . . . . . . . . . . . . . . . . 45 3.4. Packet Fragmentation . . . . . . . . . . . . . . . . . . 46
3.5. Sessions . . . . . . . . . . . . . . . . . . . . . . . . 47 3.5. Sessions . . . . . . . . . . . . . . . . . . . . . . . . 48
3.5.1. Startup . . . . . . . . . . . . . . . . . . . . . . . 49 3.5.1. Startup . . . . . . . . . . . . . . . . . . . . . . . 50
3.5.1.1. Normal Handshake . . . . . . . . . . . . . . . . 49 3.5.1.1. Normal Handshake . . . . . . . . . . . . . . . . 50
3.5.1.1.1. Initiator . . . . . . . . . . . . . . . . . 50 3.5.1.1.1. Initiator . . . . . . . . . . . . . . . . . 51
3.5.1.1.2. Responder . . . . . . . . . . . . . . . . . 52 3.5.1.1.2. Responder . . . . . . . . . . . . . . . . . 53
3.5.1.2. Cookie Change . . . . . . . . . . . . . . . . . 54 3.5.1.2. Cookie Change . . . . . . . . . . . . . . . . . 55
3.5.1.3. Glare . . . . . . . . . . . . . . . . . . . . . 56 3.5.1.3. Glare . . . . . . . . . . . . . . . . . . . . . 57
3.5.1.4. Redirector . . . . . . . . . . . . . . . . . . . 57 3.5.1.4. Redirector . . . . . . . . . . . . . . . . . . . 58
3.5.1.5. Forwarder . . . . . . . . . . . . . . . . . . . 58 3.5.1.5. Forwarder . . . . . . . . . . . . . . . . . . . 59
3.5.1.6. Redirector and Forwarder with NAT . . . . . . . 60 3.5.1.6. Redirector and Forwarder with NAT . . . . . . . 61
3.5.1.7. Load Distribution and Fault Tolerance . . . . . 63 3.5.1.7. Load Distribution and Fault Tolerance . . . . . 64
3.5.2. Congestion Control . . . . . . . . . . . . . . . . . 64 3.5.2. Congestion Control . . . . . . . . . . . . . . . . . 65
3.5.2.1. Time Critical Reverse Notification . . . . . . . 65 3.5.2.1. Time Critical Reverse Notification . . . . . . . 66
3.5.2.2. Retransmission Timeout . . . . . . . . . . . . . 65 3.5.2.2. Retransmission Timeout . . . . . . . . . . . . . 66
3.5.2.3. Burst Avoidance . . . . . . . . . . . . . . . . 67 3.5.2.3. Burst Avoidance . . . . . . . . . . . . . . . . 68
3.5.3. Address Mobility . . . . . . . . . . . . . . . . . . 68 3.5.3. Address Mobility . . . . . . . . . . . . . . . . . . 69
3.5.4. Ping . . . . . . . . . . . . . . . . . . . . . . . . 68 3.5.4. Ping . . . . . . . . . . . . . . . . . . . . . . . . 69
3.5.4.1. Keepalive . . . . . . . . . . . . . . . . . . . 69 3.5.4.1. Keepalive . . . . . . . . . . . . . . . . . . . 70
3.5.4.2. Address Mobility . . . . . . . . . . . . . . . . 69 3.5.4.2. Address Mobility . . . . . . . . . . . . . . . . 70
3.5.4.3. Path MTU Discovery . . . . . . . . . . . . . . . 70 3.5.4.3. Path MTU Discovery . . . . . . . . . . . . . . . 71
3.5.5. Close . . . . . . . . . . . . . . . . . . . . . . . . 70 3.5.5. Close . . . . . . . . . . . . . . . . . . . . . . . . 71
3.6. Flows . . . . . . . . . . . . . . . . . . . . . . . . . . 71 3.6. Flows . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3.6.1. Overview . . . . . . . . . . . . . . . . . . . . . . 71 3.6.1. Overview . . . . . . . . . . . . . . . . . . . . . . 72
3.6.1.1. Identity . . . . . . . . . . . . . . . . . . . . 72 3.6.1.1. Identity . . . . . . . . . . . . . . . . . . . . 73
3.6.1.2. Messages and Sequencing . . . . . . . . . . . . 72 3.6.1.2. Messages and Sequencing . . . . . . . . . . . . 73
3.6.1.3. Lifetime . . . . . . . . . . . . . . . . . . . . 73 3.6.1.3. Lifetime . . . . . . . . . . . . . . . . . . . . 74
3.6.2. Sender . . . . . . . . . . . . . . . . . . . . . . . 74 3.6.2. Sender . . . . . . . . . . . . . . . . . . . . . . . 75
3.6.2.1. Startup . . . . . . . . . . . . . . . . . . . . 76 3.6.2.1. Startup . . . . . . . . . . . . . . . . . . . . 77
3.6.2.2. Queuing Data . . . . . . . . . . . . . . . . . . 77 3.6.2.2. Queuing Data . . . . . . . . . . . . . . . . . . 78
3.6.2.3. Sending Data . . . . . . . . . . . . . . . . . . 77 3.6.2.3. Sending Data . . . . . . . . . . . . . . . . . . 78
3.6.2.3.1. Startup Options . . . . . . . . . . . . . . 79 3.6.2.3.1. Startup Options . . . . . . . . . . . . . . 80
3.6.2.3.2. Send Next Data . . . . . . . . . . . . . . . 79 3.6.2.3.2. Send Next Data . . . . . . . . . . . . . . . 80
3.6.2.4. Processing Acknowledgements . . . . . . . . . . 80 3.6.2.4. Processing Acknowledgements . . . . . . . . . . 81
3.6.2.5. Negative Acknowledgement and Loss . . . . . . . 80 3.6.2.5. Negative Acknowledgement and Loss . . . . . . . 81
3.6.2.6. Timeout . . . . . . . . . . . . . . . . . . . . 81 3.6.2.6. Timeout . . . . . . . . . . . . . . . . . . . . 82
3.6.2.7. Abandoning Data . . . . . . . . . . . . . . . . 82 3.6.2.7. Abandoning Data . . . . . . . . . . . . . . . . 83
3.6.2.7.1. Forward Sequence Number Update . . . . . . . 82 3.6.2.7.1. Forward Sequence Number Update . . . . . . . 83
3.6.2.8. Examples . . . . . . . . . . . . . . . . . . . . 83 3.6.2.8. Examples . . . . . . . . . . . . . . . . . . . . 84
3.6.2.9. Flow Control . . . . . . . . . . . . . . . . . . 84 3.6.2.9. Flow Control . . . . . . . . . . . . . . . . . . 85
3.6.2.9.1. Buffer Probe . . . . . . . . . . . . . . . . 85 3.6.2.9.1. Buffer Probe . . . . . . . . . . . . . . . . 86
3.6.2.10. Exception . . . . . . . . . . . . . . . . . . . 85 3.6.2.10. Exception . . . . . . . . . . . . . . . . . . . 86
3.6.2.11. Close . . . . . . . . . . . . . . . . . . . . . 85 3.6.2.11. Close . . . . . . . . . . . . . . . . . . . . . 86
3.6.3. Receiver . . . . . . . . . . . . . . . . . . . . . . 86 3.6.3. Receiver . . . . . . . . . . . . . . . . . . . . . . 87
3.6.3.1. Startup . . . . . . . . . . . . . . . . . . . . 88 3.6.3.1. Startup . . . . . . . . . . . . . . . . . . . . 89
3.6.3.2. Receiving Data . . . . . . . . . . . . . . . . . 89 3.6.3.2. Receiving Data . . . . . . . . . . . . . . . . . 90
3.6.3.3. Buffering and Delivering Data . . . . . . . . . 91 3.6.3.3. Buffering and Delivering Data . . . . . . . . . 92
3.6.3.4. Acknowledging Data . . . . . . . . . . . . . . . 93 3.6.3.4. Acknowledging Data . . . . . . . . . . . . . . . 94
3.6.3.4.1. Timing . . . . . . . . . . . . . . . . . . . 93 3.6.3.4.1. Timing . . . . . . . . . . . . . . . . . . . 94
3.6.3.4.2. Size and Truncation . . . . . . . . . . . . 94 3.6.3.4.2. Size and Truncation . . . . . . . . . . . . 95
3.6.3.4.3. Constructing . . . . . . . . . . . . . . . . 95 3.6.3.4.3. Constructing . . . . . . . . . . . . . . . . 96
3.6.3.4.4. Delayed Acknowledgement . . . . . . . . . . 95 3.6.3.4.4. Delayed Acknowledgement . . . . . . . . . . 96
3.6.3.4.5. Obligatory Acknowledgement . . . . . . . . . 95 3.6.3.4.5. Obligatory Acknowledgement . . . . . . . . . 96
3.6.3.4.6. Opportunistic Acknowledgement . . . . . . . 96 3.6.3.4.6. Opportunistic Acknowledgement . . . . . . . 97
3.6.3.4.7. Example . . . . . . . . . . . . . . . . . . 96 3.6.3.4.7. Example . . . . . . . . . . . . . . . . . . 97
3.6.3.5. Flow Control . . . . . . . . . . . . . . . . . . 97 3.6.3.5. Flow Control . . . . . . . . . . . . . . . . . . 98
3.6.3.6. Receiving a Buffer Probe . . . . . . . . . . . . 98 3.6.3.6. Receiving a Buffer Probe . . . . . . . . . . . . 99
3.6.3.7. Rejecting a Flow . . . . . . . . . . . . . . . . 99 3.6.3.7. Rejecting a Flow . . . . . . . . . . . . . . . . 100
3.6.3.8. Close . . . . . . . . . . . . . . . . . . . . . 99 3.6.3.8. Close . . . . . . . . . . . . . . . . . . . . . 100
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 100 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 101
5. Security Considerations . . . . . . . . . . . . . . . . . . . 100 5. Security Considerations . . . . . . . . . . . . . . . . . . . 101
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 102 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 103
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 102 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 103
7.1. Normative References . . . . . . . . . . . . . . . . . . 102 7.1. Normative References . . . . . . . . . . . . . . . . . . 103
7.2. Informative References . . . . . . . . . . . . . . . . . 102 7.2. Informative References . . . . . . . . . . . . . . . . . 103
Appendix A. Example Congestion Control Algorithm . . . . . . . . 103 Appendix A. Example Congestion Control Algorithm . . . . . . . . 104
A.1. Discussion . . . . . . . . . . . . . . . . . . . . . . . 103 A.1. Discussion . . . . . . . . . . . . . . . . . . . . . . . 104
A.2. Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 104 A.2. Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 105
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 107 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 108
1. Introduction 1. Introduction
Adobe's Secure Real-Time Media Flow Protocol (RTMFP) is intended for Adobe's Secure Real-Time Media Flow Protocol (RTMFP) is intended for
use as a general purpose endpoint-to-endpoint data transport service use as a general purpose endpoint-to-endpoint data transport service
in IP networks. It has features that make it well suited to the in IP networks. It has features that make it well suited to the
transport of real-time media (such as low-delay video, audio, and transport of real-time media (such as low-delay video, audio, and
data) as well as bulk data, and for client-server as well as peer-to- data) as well as bulk data, and for client-server as well as peer-to-
peer (P2P) communication. These features include independent peer (P2P) communication. These features include independent
parallel message flows which may have different delivery priorities, parallel message flows which may have different delivery priorities,
skipping to change at page 5, line 34 skipping to change at page 5, line 34
communication, both client-server and P2P, in those products. At the communication, both client-server and P2P, in those products. At the
time of writing, the Adobe Flash Player runtime is installed on more time of writing, the Adobe Flash Player runtime is installed on more
than one billion end-user desktop computers. than one billion end-user desktop computers.
RTMFP was developed by Adobe Systems Incorporated, and is not the RTMFP was developed by Adobe Systems Incorporated, and is not the
product of an IETF activity. product of an IETF activity.
This memo describes the syntax and operation of the Secure Real-Time This memo describes the syntax and operation of the Secure Real-Time
Media Flow Protocol. Media Flow Protocol.
This memo describes a general security framework that can be used to This memo describes a general security framework that, when combined
with an application-specific Cryptography Profile, can be used to
establish a confidential and authenticated session between endpoints. establish a confidential and authenticated session between endpoints.
An application-specific Cryptography Profile, not defined herein, The application-specific Cryptography Profile, not defined herein,
would detail the specific cryptographic algorithms, data formats, and would detail the specific cryptographic algorithms, data formats, and
semantics to be used within this framework. Interoperation between semantics to be used within this framework. Interoperation between
applications of RTMFP requires common or compatible Cryptography applications of RTMFP requires common or compatible Cryptography
Profiles. Profiles.
Note to implementers: at the time of writing, the Cryptography
Profile used by the above mentioned Adobe products is not publicly
described by Adobe. Implementers should investigate the availability
of documentation of that Cryptography Profile prior to implementing
RTMFP for the purpose of interoperation with the above mentioned
Adobe products.
1.1. Design Highlights of RTMFP 1.1. Design Highlights of RTMFP
Between any pair of communicating endpoints is a single, Between any pair of communicating endpoints is a single,
bidirectional, secured, congestion controlled session. bidirectional, secured, congestion controlled session.
Unidirectional flows convey messages from one end to the other within Unidirectional flows convey messages from one end to the other within
the session. An endpoint can have concurrent sessions with multiple the session. An endpoint can have concurrent sessions with multiple
other far endpoints. other far endpoints.
Design highlights of RTMFP include: Design highlights of RTMFP include:
skipping to change at page 102, line 10 skipping to change at page 103, line 10
final sequence number or any of the other fragments in the flow, final sequence number or any of the other fragments in the flow,
potentially denying or interfering with legitimate traffic to the potentially denying or interfering with legitimate traffic to the
receiver. Therefore, the data integrity aspect of packet encryption receiver. Therefore, the data integrity aspect of packet encryption
SHOULD comprise anti-replay measures. SHOULD comprise anti-replay measures.
6. Acknowledgements 6. Acknowledgements
Special thanks go to Matthew Kaufman for his contributions to the Special thanks go to Matthew Kaufman for his contributions to the
creation and design of RTMFP. creation and design of RTMFP.
Thanks to Ben Campbell, Wesley Eddy, Philipp Hancke, Bela Lubkin, Thanks to Jari Arkko, Ben Campbell, Wesley Eddy, Stephen Farrell,
Hilarie Orman, Richard Scheffenegger, and Martin Stiemerling for Philipp Hancke, Bela Lubkin, Hilarie Orman, Richard Scheffenegger,
their detailed reviews of this memo. and Martin Stiemerling for their detailed reviews of this memo.
7. References 7. References
7.1. Normative References 7.1. Normative References
[RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, [RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768,
August 1980. August 1980.
[RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791, [RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791,
September 1981. September 1981.
 End of changes. 10 change blocks. 
109 lines changed or deleted 117 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/