summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc9065.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc9065.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc9065.txt')
-rw-r--r--doc/rfc/rfc9065.txt2156
1 files changed, 2156 insertions, 0 deletions
diff --git a/doc/rfc/rfc9065.txt b/doc/rfc/rfc9065.txt
new file mode 100644
index 0000000..30d3611
--- /dev/null
+++ b/doc/rfc/rfc9065.txt
@@ -0,0 +1,2156 @@
+
+
+
+
+Internet Engineering Task Force (IETF) G. Fairhurst
+Request for Comments: 9065 University of Aberdeen
+Category: Informational C. Perkins
+ISSN: 2070-1721 University of Glasgow
+ July 2021
+
+
+ Considerations around Transport Header Confidentiality, Network
+ Operations, and the Evolution of Internet Transport Protocols
+
+Abstract
+
+ To protect user data and privacy, Internet transport protocols have
+ supported payload encryption and authentication for some time. Such
+ encryption and authentication are now also starting to be applied to
+ the transport protocol headers. This helps avoid transport protocol
+ ossification by middleboxes, mitigate attacks against the transport
+ protocol, and protect metadata about the communication. Current
+ operational practice in some networks inspect transport header
+ information within the network, but this is no longer possible when
+ those transport headers are encrypted.
+
+ This document discusses the possible impact when network traffic uses
+ a protocol with an encrypted transport header. It suggests issues to
+ consider when designing new transport protocols or features.
+
+Status of This Memo
+
+ This document is not an Internet Standards Track specification; it is
+ published for informational purposes.
+
+ This document is a product of the Internet Engineering Task Force
+ (IETF). It represents the consensus of the IETF community. It has
+ received public review and has been approved for publication by the
+ Internet Engineering Steering Group (IESG). Not all documents
+ approved by the IESG are candidates for any level of Internet
+ Standard; see Section 2 of RFC 7841.
+
+ Information about the current status of this document, any errata,
+ and how to provide feedback on it may be obtained at
+ https://www.rfc-editor.org/info/rfc9065.
+
+Copyright Notice
+
+ Copyright (c) 2021 IETF Trust and the persons identified as the
+ document authors. All rights reserved.
+
+ This document is subject to BCP 78 and the IETF Trust's Legal
+ Provisions Relating to IETF Documents
+ (https://trustee.ietf.org/license-info) in effect on the date of
+ publication of this document. Please review these documents
+ carefully, as they describe your rights and restrictions with respect
+ to this document. Code Components extracted from this document must
+ include Simplified BSD License text as described in Section 4.e of
+ the Trust Legal Provisions and are provided without warranty as
+ described in the Simplified BSD License.
+
+Table of Contents
+
+ 1. Introduction
+ 2. Current Uses of Transport Headers within the Network
+ 2.1. To Separate Flows in Network Devices
+ 2.2. To Identify Transport Protocols and Flows
+ 2.3. To Understand Transport Protocol Performance
+ 2.4. To Support Network Operations
+ 2.5. To Mitigate the Effects of Constrained Networks
+ 2.6. To Verify SLA Compliance
+ 3. Research, Development, and Deployment
+ 3.1. Independent Measurement
+ 3.2. Measurable Transport Protocols
+ 3.3. Other Sources of Information
+ 4. Encryption and Authentication of Transport Headers
+ 5. Intentionally Exposing Transport Information to the Network
+ 5.1. Exposing Transport Information in Extension Headers
+ 5.2. Common Exposed Transport Information
+ 5.3. Considerations for Exposing Transport Information
+ 6. Addition of Transport OAM Information to Network-Layer Headers
+ 6.1. Use of OAM within a Maintenance Domain
+ 6.2. Use of OAM across Multiple Maintenance Domains
+ 7. Conclusions
+ 8. Security Considerations
+ 9. IANA Considerations
+ 10. Informative References
+ Acknowledgements
+ Authors' Addresses
+
+1. Introduction
+
+ The transport layer supports the end-to-end flow of data across a
+ network path, providing features such as connection establishment,
+ reliability, framing, ordering, congestion control, flow control,
+ etc., as needed to support applications. One of the core functions
+ of an Internet transport is to discover and adapt to the
+ characteristics of the network path that is currently being used.
+
+ For some years, it has been common for the transport-layer payload to
+ be protected by encryption and authentication but for the transport-
+ layer headers to be sent unprotected. Examples of protocols that
+ behave in this manner include Transport Layer Security (TLS) over TCP
+ [RFC8446], Datagram TLS [RFC6347] [DTLS], the Secure Real-time
+ Transport Protocol [RFC3711], and tcpcrypt [RFC8548]. The use of
+ unencrypted transport headers has led some network operators,
+ researchers, and others to develop tools and processes that rely on
+ observations of transport headers both in aggregate and at the flow
+ level to infer details of the network's behaviour and inform
+ operational practice.
+
+ Transport protocols are now being developed that encrypt some or all
+ of the transport headers, in addition to the transport payload data.
+ The QUIC transport protocol [RFC9000] is an example of such a
+ protocol. Such transport header encryption makes it difficult to
+ observe transport protocol behaviour from the vantage point of the
+ network. This document discusses some implications of transport
+ header encryption for network operators and researchers that have
+ previously observed transport headers, and it highlights some issues
+ to consider for transport protocol designers.
+
+ As discussed in [RFC7258], the IETF has concluded that Pervasive
+ Monitoring (PM) is a technical attack that needs to be mitigated in
+ the design of IETF protocols. This document supports that
+ conclusion. It also recognises that [RFC7258] states, "Making
+ networks unmanageable to mitigate PM is not an acceptable outcome,
+ but ignoring PM would go against the consensus documented here. An
+ appropriate balance will emerge over time as real instances of this
+ tension are considered." This document is written to provide input
+ to the discussion around what is an appropriate balance by
+ highlighting some implications of transport header encryption.
+
+ Current uses of transport header information by network devices on
+ the Internet path are explained. These uses can be beneficial or
+ malicious. This is written to provide input to the discussion around
+ what is an appropriate balance by highlighting some implications of
+ transport header encryption.
+
+2. Current Uses of Transport Headers within the Network
+
+ In response to pervasive surveillance [RFC7624] revelations and the
+ IETF consensus that "Pervasive Monitoring Is an Attack" [RFC7258],
+ efforts are underway to increase encryption of Internet traffic.
+ Applying confidentiality to transport header fields can improve
+ privacy and can help to mitigate certain attacks or manipulation of
+ packets by devices on the network path, but it can also affect
+ network operations and measurement [RFC8404].
+
+ When considering what parts of the transport headers should be
+ encrypted to provide confidentiality and what parts should be visible
+ to network devices (including unencrypted but authenticated headers),
+ it is necessary to consider both the impact on network operations and
+ management and the implications for ossification and user privacy
+ [Measurement]. Different parties will view the relative importance
+ of these concerns differently. For some, the benefits of encrypting
+ all the transport headers outweigh the impact of doing so; others
+ might analyse the security, privacy, and ossification impacts and
+ arrive at a different trade-off.
+
+ This section reviews examples of the observation of transport-layer
+ headers within the network by using devices on the network path or by
+ using information exported by an on-path device. Unencrypted
+ transport headers provide information that can support network
+ operations and management, and this section notes some ways in which
+ this has been done. Unencrypted transport header information also
+ contributes metadata that can be exploited for purposes unrelated to
+ network transport measurement, diagnostics, or troubleshooting (e.g.,
+ to block or to throttle traffic from a specific content provider),
+ and this section also notes some threats relating to unencrypted
+ transport headers.
+
+ Exposed transport information also provides a source of information
+ that contributes to linked data sets, which could be exploited to
+ deduce private information, e.g., user patterns, user location,
+ tracking behaviour, etc. This might reveal information the parties
+ did not intend to be revealed. [RFC6973] aims to make designers,
+ implementers, and users of Internet protocols aware of privacy-
+ related design choices in IETF protocols.
+
+ This section does not consider intentional modification of transport
+ headers by middleboxes, such as devices performing Network Address
+ Translation (NAT) or firewalls.
+
+2.1. To Separate Flows in Network Devices
+
+ Some network-layer mechanisms separate network traffic by flow
+ without resorting to identifying the type of traffic: hash-based load
+ sharing across paths (e.g., Equal-Cost Multipath (ECMP)); sharing
+ across a group of links (e.g., using a Link Aggregation Group (LAG));
+ ensuring equal access to link capacity (e.g., Fair Queuing (FQ)); or
+ distributing traffic to servers (e.g., load balancing). To prevent
+ packet reordering, forwarding engines can consistently forward the
+ same transport flows along the same forwarding path, often achieved
+ by calculating a hash using an n-tuple gleaned from a combination of
+ link header information through to transport header information.
+ This n-tuple can use the Media Access Control (MAC) address and IP
+ addresses and can include observable transport header information.
+
+ When transport header information cannot be observed, there can be
+ less information to separate flows at equipment along the path. Flow
+ separation might not be possible when a transport forms traffic into
+ an encrypted aggregate. For IPv6, the Flow Label [RFC6437] can be
+ used even when all transport information is encrypted, enabling Flow
+ Label-based ECMP [RFC6438] and load sharing [RFC7098].
+
+2.2. To Identify Transport Protocols and Flows
+
+ Information in exposed transport-layer headers can be used by the
+ network to identify transport protocols and flows [RFC8558]. The
+ ability to identify transport protocols, flows, and sessions is a
+ common function performed, for example, by measurement activities,
+ Quality of Service (QoS) classifiers, and firewalls. These functions
+ can be beneficial and performed with the consent of, and in support
+ of, the end user. Alternatively, the same mechanisms could be used
+ to support practises that might be adversarial to the end user,
+ including blocking, deprioritising, and monitoring traffic without
+ consent.
+
+ Observable transport header information, together with information in
+ the network header, has been used to identify flows and their
+ connection state, together with the set of protocol options being
+ used. Transport protocols, such as TCP [RFC7414] and the Stream
+ Control Transmission Protocol (SCTP) [RFC4960], specify a standard
+ base header that includes sequence number information and other data.
+ They also have the possibility to negotiate additional headers at
+ connection setup, identified by an option number in the transport
+ header.
+
+ In some uses, an assigned transport port (e.g., 0..49151) can
+ identify the upper-layer protocol or service [RFC7605]. However,
+ port information alone is not sufficient to guarantee identification.
+ Applications can use arbitrary ports and do not need to use assigned
+ port numbers. The use of an assigned port number is also not limited
+ to the protocol for which the port is intended. Multiple sessions
+ can also be multiplexed on a single port, and ports can be reused by
+ subsequent sessions.
+
+ Some flows can be identified by observing signalling data (e.g., see
+ [RFC3261] and [RFC8837]) or through the use of magic numbers placed
+ in the first byte(s) of a datagram payload [RFC7983].
+
+ When transport header information cannot be observed, this removes
+ information that could have been used to classify flows by passive
+ observers along the path. More ambitious ways could be used to
+ collect, estimate, or infer flow information, including heuristics
+ based on the analysis of traffic patterns, such as classification of
+ flows relying on timing, volumes of information, and correlation
+ between multiple flows. For example, an operator that cannot access
+ the Session Description Protocol (SDP) session descriptions [RFC8866]
+ to classify a flow as audio traffic might instead use (possibly less-
+ reliable) heuristics to infer that short UDP packets with regular
+ spacing carry audio traffic. Operational practises aimed at
+ inferring transport parameters are out of scope for this document,
+ and are only mentioned here to recognise that encryption does not
+ prevent operators from attempting to apply practises that were used
+ with unencrypted transport headers.
+
+ The IAB [RFC8546] has provided a summary of expected implications of
+ increased encryption on network functions that use the observable
+ headers and describe the expected benefits of designs that explicitly
+ declare protocol-invariant header information that can be used for
+ this purpose.
+
+2.3. To Understand Transport Protocol Performance
+
+ This subsection describes use by the network of exposed transport-
+ layer headers to understand transport protocol performance and
+ behaviour.
+
+2.3.1. Using Information Derived from Transport-Layer Headers
+
+ Observable transport headers enable explicit measurement and analysis
+ of protocol performance and detection of network anomalies at any
+ point along the Internet path. Some operators use passive monitoring
+ to manage their portion of the Internet by characterising the
+ performance of link/network segments. Inferences from transport
+ headers are used to derive performance metrics:
+
+ Traffic Rate and Volume:
+ Per-application traffic rate and volume measures can be used to
+ characterise the traffic that uses a network segment or the
+ pattern of network usage. Observing the protocol sequence number
+ and packet size offers one way to measure this (e.g., measurements
+ observing counters in periodic reports, such as RTCP [RFC3550]
+ [RFC3711] [RFC4585], or measurements observing protocol sequence
+ numbers in statistical samples of packet flows or specific control
+ packets, such as those observed at the start and end of a flow).
+
+ Measurements can be per endpoint or for an endpoint aggregate.
+ These could be used to assess usage or for subscriber billing.
+
+ Such measurements can be used to trigger traffic shaping and to
+ associate QoS support within the network and lower layers. This
+ can be done with consent and in support of an end user to improve
+ quality of service or could be used by the network to deprioritise
+ certain flows without user consent.
+
+ The traffic rate and volume can be determined, providing that the
+ packets belonging to individual flows can be identified, but there
+ might be no additional information about a flow when the transport
+ headers cannot be observed.
+
+ Loss Rate and Loss Pattern:
+ Flow loss rate can be derived (e.g., from transport sequence
+ numbers or inferred from observing transport protocol
+ interactions) and has been used as a metric for performance
+ assessment and to characterise transport behaviour. Network
+ operators have used the variation in patterns to detect changes in
+ the offered service. Understanding the location and root cause of
+ loss can help an operator determine whether this requires
+ corrective action.
+
+ There are various causes of loss, including: corruption of link
+ frames (e.g., due to interference on a radio link); buffering loss
+ (e.g., overflow due to congestion, Active Queue Management (AQM)
+ [RFC7567], or inadequate provision following traffic preemption),
+ and policing (e.g., traffic management [RFC2475]). Understanding
+ flow loss rates requires maintaining the per-flow state (flow
+ identification often requires transport-layer information) and
+ either observing the increase in sequence numbers in the network
+ or transport headers or comparing a per-flow packet counter with
+ the number of packets that the flow actually sent. Per-hop loss
+ can also sometimes be monitored at the interface level by devices
+ on the network path or by using in-situ methods operating over a
+ network segment (see Section 3.3).
+
+ The pattern of loss can provide insight into the cause of loss.
+ Losses can often occur as bursts, randomly timed events, etc. It
+ can also be valuable to understand the conditions under which loss
+ occurs. This usually requires relating loss to the traffic
+ flowing at a network node or segment at the time of loss.
+ Transport header information can help identify cases where loss
+ could have been wrongly identified or where the transport did not
+ require retransmission of a lost packet.
+
+ Throughput and Goodput:
+ Throughput is the amount of payload data sent by a flow per time
+ interval. Goodput (the subset of throughput consisting of useful
+ traffic; see Section 2.5 of [RFC7928] and [RFC5166]) is a measure
+ of useful data exchanged. The throughput of a flow can be
+ determined in the absence of transport header information,
+ providing that the individual flow can be identified, and the
+ overhead known. Goodput requires the ability to differentiate
+ loss and retransmission of packets, for example, by observing
+ packet sequence numbers in the TCP or RTP headers [RFC3550].
+
+ Latency:
+ Latency is a key performance metric that impacts application and
+ user-perceived response times. It often indirectly impacts
+ throughput and flow completion time. This determines the reaction
+ time of the transport protocol itself, impacting flow setup,
+ congestion control, loss recovery, and other transport mechanisms.
+ The observed latency can have many components [Latency]. Of
+ these, unnecessary/unwanted queueing in buffers of the network
+ devices on the path has often been observed as a significant
+ factor [bufferbloat]. Once the cause of unwanted latency has been
+ identified, this can often be eliminated.
+
+ To measure latency across a part of a path, an observation point
+ [RFC7799] can measure the experienced round-trip time (RTT) by
+ using packet sequence numbers and acknowledgements or by observing
+ header timestamp information. Such information allows an
+ observation point on the network path to determine not only the
+ path RTT but also allows measurement of the upstream and
+ downstream contribution to the RTT. This could be used to locate
+ a source of latency, e.g., by observing cases where the median RTT
+ is much greater than the minimum RTT for a part of a path.
+
+ The service offered by network operators can benefit from latency
+ information to understand the impact of configuration changes and
+ to tune deployed services. Latency metrics are key to evaluating
+ and deploying AQM [RFC7567], Diffserv [RFC2474], and Explicit
+ Congestion Notification (ECN) [RFC3168] [RFC8087]. Measurements
+ could identify excessively large buffers, indicating where to
+ deploy or configure AQM. An AQM method is often deployed in
+ combination with other techniques, such as scheduling [RFC7567]
+ [RFC8290], and although parameter-less methods are desired
+ [RFC7567], current methods often require tuning [RFC8290]
+ [RFC8289] [RFC8033] because they cannot scale across all possible
+ deployment scenarios.
+
+ Latency and round-trip time information can potentially expose
+ some information useful for approximate geolocation, as discussed
+ in [PAM-RTT].
+
+ Variation in Delay:
+ Some network applications are sensitive to (small) changes in
+ packet timing (jitter). Short- and long-term delay variation can
+ impact the latency of a flow and hence the perceived quality of
+ applications using a network path. For example, jitter metrics
+ are often cited when characterising paths supporting real-time
+ traffic. The expected performance of such applications can be
+ inferred from a measure of the variation in delay observed along a
+ portion of the path [RFC3393] [RFC5481]. The requirements
+ resemble those for the measurement of latency.
+
+ Flow Reordering:
+ Significant packet reordering within a flow can impact time-
+ critical applications and can be interpreted as loss by reliable
+ transports. Many transport protocol techniques are impacted by
+ reordering (e.g., triggering TCP retransmission or rebuffering of
+ real-time applications). Packet reordering can occur for many
+ reasons, e.g., from equipment design to misconfiguration of
+ forwarding rules. Flow identification is often required to avoid
+ significant packet misordering (e.g., when using ECMP, or LAG).
+ Network tools can detect and measure unwanted/excessive reordering
+ and the impact on transport performance.
+
+ There have been initiatives in the IETF transport area to reduce
+ the impact of reordering within a transport flow, possibly leading
+ to a reduction in the requirements for preserving ordering. These
+ have potential to simplify network equipment design as well as the
+ potential to improve robustness of the transport service.
+ Measurements of reordering can help understand the present level
+ of reordering and inform decisions about how to progress new
+ mechanisms.
+
+ Techniques for measuring reordering typically observe packet
+ sequence numbers. Metrics have been defined that evaluate whether
+ a network path has maintained packet order on a packet-by-packet
+ basis [RFC4737] [RFC5236]. Some protocols provide in-built
+ monitoring and reporting functions. Transport fields in the RTP
+ header [RFC3550] [RFC4585] can be observed to derive traffic
+ volume measurements and provide information on the progress and
+ quality of a session using RTP. Metadata assists in understanding
+ the context under which the data was collected, including the
+ time, observation point [RFC7799], and way in which metrics were
+ accumulated. The RTCP protocol directly reports some of this
+ information in a form that can be directly visible by devices on
+ the network path.
+
+ In some cases, measurements could involve active injection of test
+ traffic to perform a measurement (see Section 3.4 of [RFC7799]).
+ However, most operators do not have access to user equipment;
+ therefore, the point of test is normally different from the transport
+ endpoint. Injection of test traffic can incur an additional cost in
+ running such tests (e.g., the implications of capacity tests in a
+ mobile network segment are obvious). Some active measurements
+ [RFC7799] (e.g., response under load or particular workloads) perturb
+ other traffic and could require dedicated access to the network
+ segment.
+
+ Passive measurements (see Section 3.6 of [RFC7799]) can have
+ advantages in terms of eliminating unproductive test traffic,
+ reducing the influence of test traffic on the overall traffic mix,
+ and having the ability to choose the point of observation (see
+ Section 2.4.1). Measurements can rely on observing packet headers,
+ which is not possible if those headers are encrypted, but could
+ utilise information about traffic volumes or patterns of interaction
+ to deduce metrics.
+
+ Passive packet sampling techniques are also often used to scale the
+ processing involved in observing packets on high-rate links. This
+ exports only the packet header information of (randomly) selected
+ packets. Interpretation of the exported information relies on
+ understanding of the header information. The utility of these
+ measurements depends on the type of network segment/link and number
+ of mechanisms used by the network devices. Simple routers are
+ relatively easy to manage, but a device with more complexity demands
+ understanding of the choice of many system parameters.
+
+2.3.2. Using Information Derived from Network-Layer Header Fields
+
+ Information from the transport header can be used by a multi-field
+ (MF) classifier as a part of policy framework. Policies are commonly
+ used for management of the QoS or Quality of Experience (QoE) in
+ resource-constrained networks or by firewalls to implement access
+ rules (see also Section 2.2.2 of [RFC8404]). Policies can support
+ user applications/services or protect against unwanted or lower-
+ priority traffic (Section 2.4.4).
+
+ Transport-layer information can also be explicitly carried in
+ network-layer header fields that are not encrypted, serving as a
+ replacement/addition to the exposed transport header information
+ [RFC8558]. This information can enable a different forwarding
+ treatment by the devices forming the network path, even when a
+ transport employs encryption to protect other header information.
+
+ On the one hand, the user of a transport that multiplexes multiple
+ subflows might want to obscure the presence and characteristics of
+ these subflows. On the other hand, an encrypted transport could set
+ the network-layer information to indicate the presence of subflows
+ and to reflect the service requirements of individual subflows.
+ There are several ways this could be done:
+
+ IP Address:
+ Applications normally expose the endpoint addresses used in the
+ forwarding decisions in network devices. Address and other
+ protocol information can be used by an MF classifier to determine
+ how traffic is treated [RFC2475] and hence affects the quality of
+ experience for a flow. Common issues concerning IP address
+ sharing are described in [RFC6269].
+
+ Using the IPv6 Network-Layer Flow Label:
+ A number of Standards Track and Best Current Practice RFCs (e.g.,
+ [RFC8085], [RFC6437], and [RFC6438]) encourage endpoints to set
+ the IPv6 Flow Label field of the network-layer header. As per
+ [RFC6437], IPv6 source nodes "SHOULD assign each unrelated
+ transport connection and application data stream to a new flow."
+ A multiplexing transport could choose to use multiple flow labels
+ to allow the network to independently forward subflows. [RFC6437]
+ provides further guidance on choosing a flow label value, stating
+ these "should be chosen such that their bits exhibit a high degree
+ of variability" and chosen so that "third parties should be
+ unlikely to be able to guess the next value that a source of flow
+ labels will choose."
+
+ Once set, a flow label can provide information that can help
+ inform network-layer queueing and forwarding, including use with
+ IPsec [RFC6294], Equal-Cost Multipath routing, and Link
+ Aggregation [RFC6438].
+
+ The choice of how to assign a flow label needs to avoid
+ introducing linkages between flows that a network device could not
+ otherwise observe. Inappropriate use by the transport can have
+ privacy implications (e.g., assigning the same label to two
+ independent flows that ought not to be classified similarly).
+
+ Using the Network-Layer Differentiated Services Code Point:
+ Applications can expose their delivery expectations to network
+ devices by setting the Differentiated Services Code Point (DSCP)
+ field of IPv4 and IPv6 packets [RFC2474]. For example, WebRTC
+ applications identify different forwarding treatments for
+ individual subflows (audio vs. video) based on the value of the
+ DSCP field [RFC8837]). This provides explicit information to
+ inform network-layer queueing and forwarding, rather than an
+ operator inferring traffic requirements from transport and
+ application headers via a multi-field classifier. Inappropriate
+ use by the transport can have privacy implications (e.g.,
+ assigning a different DSCP to a subflow could assist in a network
+ device discovering the traffic pattern used by an application).
+ The field is mutable, i.e., some network devices can be expected
+ to change this field. Since the DSCP value can impact the quality
+ of experience for a flow, observations of service performance have
+ to consider this field when a network path supports differentiated
+ service treatment.
+
+ Using Explicit Congestion Notification:
+ Explicit Congestion Notification (ECN) [RFC3168] is a transport
+ mechanism that uses the ECN field in the network-layer header.
+ Use of ECN explicitly informs the network layer that a transport
+ is ECN capable and requests ECN treatment of the flow. An ECN-
+ capable transport can offer benefits when used over a path with
+ equipment that implements an AQM method with Congestion
+ Experienced (CE) marking of IP packets [RFC8087], since it can
+ react to congestion without also having to recover from lost
+ packets.
+
+ ECN exposes the presence of congestion. The reception of CE-
+ marked packets can be used to estimate the level of incipient
+ congestion on the upstream portion of the path from the point of
+ observation (Section 2.5 of [RFC8087]). Interpreting the marking
+ behaviour (i.e., assessing congestion and diagnosing faults)
+ requires context from the transport layer, such as path RTT.
+
+ AQM and ECN offer a range of algorithms and configuration options.
+ Tools therefore have to be available to network operators and
+ researchers to understand the implication of configuration choices
+ and transport behaviour as the use of ECN increases and new
+ methods emerge [RFC7567].
+
+ Network-Layer Options:
+ Network protocols can carry optional headers (see Section 5.1).
+ These can explicitly expose transport header information to on-
+ path devices operating at the network layer (as discussed further
+ in Section 6).
+
+ IPv4 [RFC0791] has provisions for optional header fields. IP
+ routers can examine these headers and are required to ignore IPv4
+ options that they do not recognise. Many current paths include
+ network devices that forward packets that carry options on a
+ slower processing path. Some network devices (e.g., firewalls)
+ can be (and are) configured to drop these packets [RFC7126]. BCP
+ 186 [RFC7126] provides guidance on how operators should treat IPv4
+ packets that specify options.
+
+ IPv6 can encode optional network-layer information in separate
+ headers that may be placed between the IPv6 header and the upper-
+ layer header [RFC8200] (e.g., the IPv6 Alternate Marking Method
+ [IPV6-ALT-MARK], which can be used to measure packet loss and
+ delay metrics). The Hop-by-Hop Options header, when present,
+ immediately follows the IPv6 header. IPv6 permits this header to
+ be examined by any node along the path if explicitly configured
+ [RFC8200].
+
+ Careful use of the network-layer features (e.g., extension headers
+ can; see Section 5) help provide similar information in the case
+ where the network is unable to inspect transport protocol headers.
+
+2.4. To Support Network Operations
+
+ Some network operators make use of on-path observations of transport
+ headers to analyse the service offered to the users of a network
+ segment and inform operational practice and can help detect and
+ locate network problems. [RFC8517] gives an operator's perspective
+ about such use.
+
+ When observable transport header information is not available, those
+ seeking an understanding of transport behaviour and dynamics might
+ learn to work without that information. Alternatively, they might
+ use more limited measurements combined with pattern inference and
+ other heuristics to infer network behaviour (see Section 2.1.1 of
+ [RFC8404]). Operational practises aimed at inferring transport
+ parameters are out of scope for this document and are only mentioned
+ here to recognise that encryption does not necessarily stop operators
+ from attempting to apply practises that have been used with
+ unencrypted transport headers.
+
+ This section discusses topics concerning observation of transport
+ flows, with a focus on transport measurement.
+
+2.4.1. Problem Location
+
+ Observations of transport header information can be used to locate
+ the source of problems or to assess the performance of a network
+ segment. Often issues can only be understood in the context of the
+ other flows that share a particular path, particular device
+ configuration, interface port, etc. A simple example is monitoring
+ of a network device that uses a scheduler or active queue management
+ technique [RFC7567], where it could be desirable to understand
+ whether the algorithms are correctly controlling latency or if
+ overload protection is working. This implies knowledge of how
+ traffic is assigned to any subqueues used for flow scheduling but can
+ require information about how the traffic dynamics impact active
+ queue management, starvation prevention mechanisms, and circuit
+ breakers.
+
+ Sometimes correlating observations of headers at multiple points
+ along the path (e.g., at the ingress and egress of a network segment)
+ allows an observer to determine the contribution of a portion of the
+ path to an observed metric (e.g., to locate a source of delay,
+ jitter, loss, reordering, or congestion marking).
+
+2.4.2. Network Planning and Provisioning
+
+ Traffic rate and volume measurements are used to help plan deployment
+ of new equipment and configuration in networks. Data is also
+ valuable to equipment vendors who want to understand traffic trends
+ and patterns of usage as inputs to decisions about planning products
+ and provisioning for new deployments.
+
+ Trends in aggregate traffic can be observed and can be related to the
+ endpoint addresses being used, but when transport header information
+ is not observable, it might be impossible to correlate patterns in
+ measurements with changes in transport protocols. This increases the
+ dependency on other indirect sources of information to inform
+ planning and provisioning.
+
+2.4.3. Compliance with Congestion Control
+
+ The traffic that can be observed by on-path network devices (the
+ "wire image") is a function of transport protocol design/options,
+ network use, applications, and user characteristics. In general,
+ when only a small proportion of the traffic has a specific
+ (different) characteristic, such traffic seldom leads to operational
+ concern, although the ability to measure and monitor it is lower.
+ The desire to understand the traffic and protocol interactions
+ typically grows as the proportion of traffic increases. The
+ challenges increase when multiple instances of an evolving protocol
+ contribute to the traffic that share network capacity.
+
+ Operators can manage traffic load (e.g., when the network is severely
+ overloaded) by deploying rate limiters, traffic shaping, or network
+ transport circuit breakers [RFC8084]. The information provided by
+ observing transport headers is a source of data that can help to
+ inform such mechanisms.
+
+ Congestion Control Compliance of Traffic:
+ Congestion control is a key transport function [RFC2914]. Many
+ network operators implicitly accept that TCP traffic complies with
+ a behaviour that is acceptable for the shared Internet. TCP
+ algorithms have been continuously improved over decades and have
+ reached a level of efficiency and correctness that is difficult to
+ match in custom application-layer mechanisms [RFC8085].
+
+ A standards-compliant TCP stack provides congestion control that
+ is judged safe for use across the Internet. Applications
+ developed on top of well-designed transports can be expected to
+ appropriately control their network usage, reacting when the
+ network experiences congestion, by backing off and reducing the
+ load placed on the network. This is the normal expected behaviour
+ for IETF-specified transports (e.g., TCP and SCTP).
+
+ Congestion Control Compliance for UDP Traffic:
+ UDP provides a minimal message-passing datagram transport that has
+ no inherent congestion control mechanisms. Because congestion
+ control is critical to the stable operation of the Internet,
+ applications and other protocols that choose to use UDP as a
+ transport have to employ mechanisms to prevent collapse, avoid
+ unacceptable contributions to jitter/latency, and establish an
+ acceptable share of capacity with concurrent traffic [RFC8085].
+
+ UDP flows that expose a well-known header can be observed to gain
+ understanding of the dynamics of a flow and its congestion control
+ behaviour. For example, tools exist to monitor various aspects of
+ RTP header information and RTCP reports for real-time flows (see
+ Section 2.3). The Secure RTP and RTCP extensions [RFC3711] were
+ explicitly designed to expose some header information to enable
+ such observation while protecting the payload data.
+
+ A network operator can observe the headers of transport protocols
+ layered above UDP to understand if the datagram flows comply with
+ congestion control expectations. This can help inform a decision
+ on whether it might be appropriate to deploy methods, such as rate
+ limiters, to enforce acceptable usage. The available information
+ determines the level of precision with which flows can be
+ classified and the design space for conditioning mechanisms (e.g.,
+ rate-limiting, circuit breaker techniques [RFC8084], or blocking
+ uncharacterised traffic) [RFC5218].
+
+ When anomalies are detected, tools can interpret the transport header
+ information to help understand the impact of specific transport
+ protocols (or protocol mechanisms) on the other traffic that shares a
+ network. An observer on the network path can gain an understanding
+ of the dynamics of a flow and its congestion control behaviour.
+ Analysing observed flows can help to build confidence that an
+ application flow backs off its share of the network load under
+ persistent congestion and hence to understand whether the behaviour
+ is appropriate for sharing limited network capacity. For example, it
+ is common to visualise plots of TCP sequence numbers versus time for
+ a flow to understand how a flow shares available capacity, deduce its
+ dynamics in response to congestion, etc.
+
+ The ability to identify sources and flows that contribute to
+ persistent congestion is important to the safe operation of network
+ infrastructure and can inform configuration of network devices to
+ complement the endpoint congestion avoidance mechanisms [RFC7567]
+ [RFC8084] to avoid a portion of the network being driven into
+ congestion collapse [RFC2914].
+
+2.4.4. To Characterise "Unknown" Network Traffic
+
+ The patterns and types of traffic that share Internet capacity change
+ over time as networked applications, usage patterns, and protocols
+ continue to evolve.
+
+ Encryption can increase the volume of "unknown" or "uncharacterised"
+ traffic seen by the network. If these traffic patterns form a small
+ part of the traffic aggregate passing through a network device or
+ segment of the network path, the dynamics of the uncharacterised
+ traffic might not have a significant collateral impact on the
+ performance of other traffic that shares this network segment. Once
+ the proportion of this traffic increases, monitoring the traffic can
+ determine if appropriate safety measures have to be put in place.
+
+ Tracking the impact of new mechanisms and protocols requires traffic
+ volume to be measured and new transport behaviours to be identified.
+ This is especially true of protocols operating over a UDP substrate.
+ The level and style of encryption needs to be considered in
+ determining how this activity is performed.
+
+ Traffic that cannot be classified typically receives a default
+ treatment. Some networks block or rate-limit traffic that cannot be
+ classified.
+
+2.4.5. To Support Network Security Functions
+
+ On-path observation of the transport headers of packets can be used
+ for various security functions. For example, Denial of Service (DoS)
+ and Distributed DoS (DDoS) attacks against the infrastructure or
+ against an endpoint can be detected and mitigated by characterising
+ anomalous traffic (see Section 2.4.4) on a shorter timescale. Other
+ uses include support for security audits (e.g., verifying the
+ compliance with cipher suites), client and application fingerprinting
+ for inventory, and alerts provided for network intrusion detection
+ and other next generation firewall functions.
+
+ When using an encrypted transport, endpoints can directly provide
+ information to support these security functions. Another method, if
+ the endpoints do not provide this information, is to use an on-path
+ network device that relies on pattern inferences in the traffic and
+ heuristics or machine learning instead of processing observed header
+ information. An endpoint could also explicitly cooperate with an on-
+ path device (e.g., a QUIC endpoint could share information about
+ current uses of connection IDs).
+
+2.4.6. Network Diagnostics and Troubleshooting
+
+ Operators monitor the health of a network segment to support a
+ variety of operational tasks [RFC8404], including procedures to
+ provide early warning and trigger action, e.g., to diagnose network
+ problems, to manage security threats (including DoS), to evaluate
+ equipment or protocol performance, or to respond to user performance
+ questions. Information about transport flows can assist in setting
+ buffer sizes and help identify whether link/network tuning is
+ effective. Information can also support debugging and diagnosis of
+ the root causes of faults that concern a particular user's traffic
+ and can support postmortem investigation after an anomaly. Sections
+ 3.1.2 and 5 of [RFC8404] provide further examples.
+
+ Network segments vary in their complexity. The design trade-offs for
+ radio networks are often very different from those of wired networks
+ [RFC8462]. A radio-based network (e.g., cellular mobile, enterprise
+ Wireless LAN (WLAN), satellite access/backhaul, point-to-point radio)
+ adds a subsystem that performs radio resource management, with impact
+ on the available capacity and potentially loss/reordering of packets.
+ This impact can differ by traffic type and can be correlated with
+ link propagation and interference. These can impact the cost and
+ performance of a provided service and is expected to increase in
+ importance as operators bring together heterogeneous types of network
+ equipment and deploy opportunistic methods to access a shared radio
+ spectrum.
+
+2.4.7. Tooling and Network Operations
+
+ A variety of open source and proprietary tools have been deployed
+ that use the transport header information observable with widely used
+ protocols, such as TCP or RTP/UDP/IP. Tools that dissect network
+ traffic flows can alert to potential problems that are hard to derive
+ from volume measurements, link statistics, or device measurements
+ alone.
+
+ Any introduction of a new transport protocol, protocol feature, or
+ application might require changes to such tools and could impact
+ operational practice and policies. Such changes have associated
+ costs that are incurred by the network operators that need to update
+ their tooling or develop alternative practises that work without
+ access to the changed/removed information.
+
+ The use of encryption has the desirable effect of preventing
+ unintended observation of the payload data, and these tools seldom
+ seek to observe the payload or other application details. A flow
+ that hides its transport header information could imply "don't touch"
+ to some operators. This might limit a trouble-shooting response to
+ "can't help, no trouble found".
+
+ An alternative that does not require access to an observable
+ transport headers is to access endpoint diagnostic tools or to
+ include user involvement in diagnosing and troubleshooting unusual
+ use cases or to troubleshoot nontrivial problems. Another approach
+ is to use traffic pattern analysis. Such tools can provide useful
+ information during network anomalies (e.g., detecting significant
+ reordering, high or intermittent loss); however, indirect
+ measurements need to be carefully designed to provide information for
+ diagnostics and troubleshooting.
+
+ If new protocols, or protocol extensions, are made to closely
+ resemble or match existing mechanisms, then the changes to tooling
+ and the associated costs can be small. Equally, more extensive
+ changes to the transport tend to require more extensive, and more
+ expensive, changes to tooling and operational practice. Protocol
+ designers can mitigate these costs by explicitly choosing to expose
+ selected information as invariants that are guaranteed not to change
+ for a particular protocol (e.g., the header invariants and the spin
+ bit in QUIC [RFC9000]). Specification of common log formats and
+ development of alternative approaches can also help mitigate the
+ costs of transport changes.
+
+2.5. To Mitigate the Effects of Constrained Networks
+
+ Some link and network segments are constrained by the capacity they
+ can offer by the time it takes to access capacity (e.g., due to
+ underlying radio resource management methods) or by asymmetries in
+ the design (e.g., many link are designed so that the capacity
+ available is different in the forward and return directions; some
+ radio technologies have different access methods in the forward and
+ return directions resulting from differences in the power budget).
+
+ The impact of path constraints can be mitigated using a proxy
+ operating at or above the transport layer to use an alternate
+ transport protocol.
+
+ In many cases, one or both endpoints are unaware of the
+ characteristics of the constraining link or network segment, and
+ mitigations are applied below the transport layer. Packet
+ classification and QoS methods (described in various sections) can be
+ beneficial in differentially prioritising certain traffic when there
+ is a capacity constraint or additional delay in scheduling link
+ transmissions. Another common mitigation is to apply header
+ compression over the specific link or subnetwork (see Section 2.5.1).
+
+2.5.1. To Provide Header Compression
+
+ Header compression saves link capacity by compressing network and
+ transport protocol headers on a per-hop basis. This has been widely
+ used with low bandwidth dial-up access links and still finds
+ application on wireless links that are subject to capacity
+ constraints. These methods are effective for bit-congestive links
+ sending small packets (e.g., reducing the cost for sending control
+ packets or small data packets over radio links).
+
+ Examples of header compression include use with TCP/IP and RTP/UDP/IP
+ flows [RFC2507] [RFC6846] [RFC2508] [RFC5795] [RFC8724]. Successful
+ compression depends on observing the transport headers and
+ understanding the way fields change between packets and is hence
+ incompatible with header encryption. Devices that compress transport
+ headers are dependent on a stable header format, implying
+ ossification of that format.
+
+ Introducing a new transport protocol, or changing the format of the
+ transport header information, will limit the effectiveness of header
+ compression until the network devices are updated. Encrypting the
+ transport protocol headers will tend to cause the header compression
+ to fall back to compressing only the network-layer headers, with a
+ significant reduction in efficiency. This can limit connectivity if
+ the resulting flow exceeds the link capacity or if the packets are
+ dropped because they exceed the link Maximum Transmission Unit (MTU).
+
+ The Secure RTP (SRTP) extensions [RFC3711] were explicitly designed
+ to leave the transport protocol headers unencrypted, but
+ authenticated, since support for header compression was considered
+ important.
+
+2.6. To Verify SLA Compliance
+
+ Observable transport headers coupled with published transport
+ specifications allow operators and regulators to explore and verify
+ compliance with Service Level Agreements (SLAs). It can also be used
+ to understand whether a service is providing differential treatment
+ to certain flows.
+
+ When transport header information cannot be observed, other methods
+ have to be found to confirm that the traffic produced conforms to the
+ expectations of the operator or developer.
+
+ Independently verifiable performance metrics can be utilised to
+ demonstrate regulatory compliance in some jurisdictions and as a
+ basis for informing design decisions. This can bring assurance to
+ those operating networks, often avoiding deployment of complex
+ techniques that routinely monitor and manage Internet traffic flows
+ (e.g., avoiding the capital and operational costs of deploying flow
+ rate-limiting and network circuit breaker methods [RFC8084]).
+
+3. Research, Development, and Deployment
+
+ Research and development of new protocols and mechanisms need to be
+ informed by measurement data (as described in the previous section).
+ Data can also help promote acceptance of proposed standards
+ specifications by the wider community (e.g., as a method to judge the
+ safety for Internet deployment).
+
+ Observed data is important to ensure the health of the research and
+ development communities and provides data needed to evaluate new
+ proposals for standardisation. Open standards motivate a desire to
+ include independent observation and evaluation of performance and
+ deployment data. Independent data helps compare different methods,
+ judge the level of deployment, and ensure the wider applicability of
+ the results. This is important when considering when a protocol or
+ mechanism should be standardised for use in the general Internet.
+ This, in turn, demands control/understanding about where and when
+ measurement samples are collected. This requires consideration of
+ the methods used to observe information and the appropriate balance
+ between encrypting all and no transport header information.
+
+ There can be performance and operational trade-offs in exposing
+ selected information to network tools. This section explores key
+ implications of tools and procedures that observe transport protocols
+ but does not endorse or condemn any specific practises.
+
+3.1. Independent Measurement
+
+ Encrypting transport header information has implications on the way
+ network data is collected and analysed. Independent observations by
+ multiple actors is currently used by the transport community to
+ maintain an accurate understanding of the network within transport
+ area working groups, IRTF research groups, and the broader research
+ community. This is important to be able to provide accountability
+ and demonstrate that protocols behave as intended; although, when
+ providing or using such information, it is important to consider the
+ privacy of the user and their incentive for providing accurate and
+ detailed information.
+
+ Protocols that expose the state of the transport protocol in their
+ header (e.g., timestamps used to calculate the RTT, packet numbers
+ used to assess congestion, and requests for retransmission) provide
+ an incentive for a sending endpoint to provide consistent
+ information, because a protocol will not work otherwise. An on-path
+ observer can have confidence that well-known (and ossified) transport
+ header information represents the actual state of the endpoints when
+ this information is necessary for the protocol's correct operation.
+
+ Encryption of transport header information could reduce the range of
+ actors that can observe useful data. This would limit the
+ information sources available to the Internet community to understand
+ the operation of new transport protocols, reducing information to
+ inform design decisions and standardisation of the new protocols and
+ related operational practises. The cooperating dependence of
+ network, application, and host to provide communication performance
+ on the Internet is uncertain when only endpoints (i.e., at user
+ devices and within service platforms) can observe performance and
+ when performance cannot be independently verified by all parties.
+
+3.2. Measurable Transport Protocols
+
+ Transport protocol evolution and the ability to measure and
+ understand the impact of protocol changes have to proceed hand-in-
+ hand. A transport protocol that provides observable headers can be
+ used to provide open and verifiable measurement data. Observation of
+ pathologies has a critical role in the design of transport protocol
+ mechanisms and development of new mechanisms and protocols and aides
+ in understanding the interactions between cooperating protocols and
+ network mechanisms, the implications of sharing capacity with other
+ traffic, and the impact of different patterns of usage. The ability
+ of other stakeholders to review transport header traces helps develop
+ insight into the performance and the traffic contribution of specific
+ variants of a protocol.
+
+ Development of new transport protocol mechanisms has to consider the
+ scale of deployment and the range of environments in which the
+ transport is used. Experience has shown that it is often difficult
+ to correctly implement new mechanisms [RFC8085] and that mechanisms
+ often evolve as a protocol matures or in response to changes in
+ network conditions, in network traffic, or to application usage.
+ Analysis is especially valuable when based on the behaviour
+ experienced across a range of topologies, vendor equipment, and
+ traffic patterns.
+
+ Encryption enables a transport protocol to choose which internal
+ state to reveal to devices on the network path, what information to
+ encrypt, and what fields to grease [RFC8701]. A new design can
+ provide summary information regarding its performance, congestion
+ control state, etc., or make explicit measurement information
+ available. For example, [RFC9000] specifies a way for a QUIC
+ endpoint to optionally set the spin bit to explicitly reveal the RTT
+ of an encrypted transport session to the on-path network devices.
+ There is a choice of what information to expose. For some
+ operational uses, the information has to contain sufficient detail to
+ understand, and possibly reconstruct, the network traffic pattern for
+ further testing. The interpretation of the information needs to
+ consider whether this information reflects the actual transport state
+ of the endpoints. This might require the trust of transport protocol
+ implementers to correctly reveal the desired information.
+
+ New transport protocol formats are expected to facilitate an
+ increased pace of transport evolution and with it the possibility to
+ experiment with and deploy a wide range of protocol mechanisms. At
+ the time of writing, there has been interest in a wide range of new
+ transport methods, e.g., larger initial window, Proportional Rate
+ Reduction (PRR), congestion control methods based on measuring
+ bottleneck bandwidth and round-trip propagation time, the
+ introduction of AQM techniques, and new forms of ECN response (e.g.,
+ Data Centre TCP, DCTCP, and methods proposed for Low Latency Low Loss
+ Scalable throughput (L4S)). The growth and diversity of applications
+ and protocols using the Internet also continues to expand. For each
+ new method or application, it is desirable to build a body of data
+ reflecting its behaviour under a wide range of deployment scenarios,
+ traffic load, and interactions with other deployed/candidate methods.
+
+3.3. Other Sources of Information
+
+ Some measurements that traditionally rely on observable transport
+ information could be completed by utilising endpoint-based logging
+ (e.g., based on QUIC trace [Quic-Trace] and qlog [QLOG]). Such
+ information has a diversity of uses, including developers wishing to
+ debug/understand the transport/application protocols with which they
+ work, researchers seeking to spot trends and anomalies, and to
+ characterise variants of protocols. A standard format for endpoint
+ logging could allow these to be shared (after appropriate
+ anonymisation) to understand performance and pathologies.
+
+ When measurement datasets are made available by servers or client
+ endpoints, additional metadata, such as the state of the network and
+ conditions in which the system was observed, is often necessary to
+ interpret this data to answer questions about network performance or
+ understand a pathology. Collecting and coordinating such metadata is
+ more difficult when the observation point is at a different location
+ to the bottleneck or device under evaluation [RFC7799].
+
+ Despite being applicable in some scenarios, endpoint logs do not
+ provide equivalent information to on-path measurements made by
+ devices in the network. In particular, endpoint logs contain only a
+ part of the information to understand the operation of network
+ devices and identify issues, such as link performance or capacity
+ sharing between multiple flows. An analysis can require coordination
+ between actors at different layers to successfully characterise flows
+ and correlate the performance or behaviour of a specific mechanism
+ with an equipment configuration and traffic using operational
+ equipment along a network path (e.g., combining transport and network
+ measurements to explore congestion control dynamics to understand the
+ implications of traffic on designs for active queue management or
+ circuit breakers).
+
+ Another source of information could arise from Operations,
+ Administration, and Maintenance (OAM) (see Section 6). Information
+ data records could be embedded into header information at different
+ layers to support functions, such as performance evaluation, path
+ tracing, path verification information, classification, and a
+ diversity of other uses.
+
+ In-situ OAM (IOAM) data fields [IOAM-DATA] can be encapsulated into a
+ variety of protocols to record operational and telemetry information
+ in an existing packet while that packet traverses a part of the path
+ between two points in a network (e.g., within a particular IOAM
+ management domain). IOAM-Data-Fields are independent from the
+ protocols into which IOAM-Data-Fields are encapsulated. For example,
+ IOAM can provide proof that a traffic flow takes a predefined path,
+ SLA verification for the live data traffic, and statistics relating
+ to traffic distribution.
+
+4. Encryption and Authentication of Transport Headers
+
+ There are several motivations for transport header encryption.
+
+ One motive to encrypt transport headers is to prevent network
+ ossification from network devices that inspect well-known transport
+ headers. Once a network device observes a transport header and
+ becomes reliant upon using it, the overall use of that field can
+ become ossified, preventing new versions of the protocol and
+ mechanisms from being deployed. Examples include:
+
+ * During the development of TLS 1.3 [RFC8446], the design needed to
+ function in the presence of deployed middleboxes that relied on
+ the presence of certain header fields exposed in TLS 1.2
+ [RFC5426].
+
+ * The design of Multipath TCP (MPTCP) [RFC8684] had to account for
+ middleboxes (known as "TCP Normalizers") that monitor the
+ evolution of the window advertised in the TCP header and then
+ reset connections when the window did not grow as expected.
+
+ * TCP Fast Open [RFC7413] can experience problems due to middleboxes
+ that modify the transport header of packets by removing "unknown"
+ TCP options. Segments with unrecognised TCP options can be
+ dropped, segments that contain data and set the SYN bit can be
+ dropped, and some middleboxes that disrupt connections can send
+ data before completion of the three-way handshake.
+
+ * Other examples of TCP ossification have included middleboxes that
+ modify transport headers by rewriting TCP sequence and
+ acknowledgement numbers but are unaware of the (newer) TCP
+ selective acknowledgement (SACK) option and therefore fail to
+ correctly rewrite the SACK information to match the changes made
+ to the fixed TCP header, preventing correct SACK operation.
+
+ In all these cases, middleboxes with a hard-coded, but incomplete,
+ understanding of a specific transport behaviour (i.e., TCP)
+ interacted poorly with transport protocols after the transport
+ behaviour was changed. In some cases, the middleboxes modified or
+ replaced information in the transport protocol header.
+
+ Transport header encryption prevents an on-path device from observing
+ the transport headers and therefore stops ossified mechanisms being
+ used that directly rely on or infer semantics of the transport header
+ information. This encryption is normally combined with
+ authentication of the protected information. [RFC8546] summarises
+ this approach, stating that "[t]he wire image, not the protocol's
+ specification, determines how third parties on the network paths
+ among protocol participants will interact with that protocol"
+ (Section 1 of [RFC8546]), and it can be expected that header
+ information that is not encrypted will become ossified.
+
+ Encryption does not itself prevent ossification of the network
+ service. People seeking to understand or classify network traffic
+ could still come to rely on pattern inferences and other heuristics
+ or machine learning to derive measurement data and as the basis for
+ network forwarding decisions [RFC8546]. This can also create
+ dependencies on the transport protocol or the patterns of traffic it
+ can generate, also resulting in ossification of the service.
+
+ Another motivation for using transport header encryption is to
+ improve privacy and to decrease opportunities for surveillance.
+ Users value the ability to protect their identity and location and
+ defend against analysis of the traffic. Revelations about the use of
+ pervasive surveillance [RFC7624] have, to some extent, eroded trust
+ in the service offered by network operators and have led to an
+ increased use of encryption. Concerns have also been voiced about
+ the addition of metadata to packets by third parties to provide
+ analytics, customisation, advertising, cross-site tracking of users,
+ customer billing, or selectively allowing or blocking content.
+
+ Whatever the reasons, the IETF is designing protocols that include
+ transport header encryption (e.g., QUIC [RFC9000]) to supplement the
+ already widespread payload encryption and to further limit exposure
+ of transport metadata to the network.
+
+ If a transport protocol uses header encryption, the designers have to
+ decide whether to encrypt all or a part of the transport-layer
+ information. Section 4 of [RFC8558] states, "Anything exposed to the
+ path should be done with the intent that it be used by the network
+ elements on the path."
+
+ Certain transport header fields can be made observable to on-path
+ network devices or can define new fields designed to explicitly
+ expose observable transport-layer information to the network. Where
+ exposed fields are intended to be immutable (i.e., can be observed
+ but not modified by a network device), the endpoints are encouraged
+ to use authentication to provide a cryptographic integrity check that
+ can detect if these immutable fields have been modified by network
+ devices. Authentication can help to prevent attacks that rely on
+ sending packets that fake exposed control signals in transport
+ headers (e.g., TCP RST spoofing). Making a part of a transport
+ header observable or exposing new header fields can lead to
+ ossification of that part of a header as network devices come to rely
+ on observations of the exposed fields.
+
+ The use of transport header authentication and encryption therefore
+ exposes a tussle between middlebox vendors, operators, researchers,
+ applications developers, and end users:
+
+ * On the one hand, future Internet protocols that support transport
+ header encryption assist in the restoration of the end-to-end
+ nature of the Internet by returning complex processing to the
+ endpoints. Since middleboxes cannot modify what they cannot see,
+ the use of transport header encryption can improve application and
+ end-user privacy by reducing leakage of transport metadata to
+ operators that deploy middleboxes.
+
+ * On the other hand, encryption of transport-layer information has
+ implications for network operators and researchers seeking to
+ understand the dynamics of protocols and traffic patterns, since
+ it reduces the information that is available to them.
+
+ The following briefly reviews some security design options for
+ transport protocols. "A Survey of the Interaction between Security
+ Protocols and Transport Services" [RFC8922] provides more details
+ concerning commonly used encryption methods at the transport layer.
+
+ Security work typically employs a design technique that seeks to
+ expose only what is needed [RFC3552]. This approach provides
+ incentives to not reveal any information that is not necessary for
+ the end-to-end communication. The IETF has provided guidelines for
+ writing security considerations for IETF specifications [RFC3552].
+
+ Endpoint design choices impacting privacy also need to be considered
+ as a part of the design process [RFC6973]. The IAB has provided
+ guidance for analysing and documenting privacy considerations within
+ IETF specifications [RFC6973].
+
+ Authenticating the Transport Protocol Header:
+ Transport-layer header information can be authenticated. An
+ example transport authentication mechanism is TCP Authentication
+ Option (TCP-AO) [RFC5925]. This TCP option authenticates the IP
+ pseudo-header, TCP header, and TCP data. TCP-AO protects the
+ transport layer, preventing attacks from disabling the TCP
+ connection itself and provides replay protection. Such
+ authentication might interact with middleboxes, depending on their
+ behaviour [RFC3234].
+
+ The IPsec Authentication Header (AH) [RFC4302] was designed to
+ work at the network layer and authenticate the IP payload. This
+ approach authenticates all transport headers and verifies their
+ integrity at the receiver, preventing modification by network
+ devices on the path. The IPsec Encapsulating Security Payload
+ (ESP) [RFC4303] can also provide authentication and integrity
+ without confidentiality using the NULL encryption algorithm
+ [RFC2410]. SRTP [RFC3711] is another example of a transport
+ protocol that allows header authentication.
+
+ Integrity Check:
+ Transport protocols usually employ integrity checks on the
+ transport header information. Security methods usually employ
+ stronger checks and can combine this with authentication. An
+ integrity check that protects the immutable transport header
+ fields, but can still expose the transport header information in
+ the clear, allows on-path network devices to observe these fields.
+ An integrity check is not able to prevent modification by network
+ devices on the path but can prevent a receiving endpoint from
+ accepting changes and avoid impact on the transport protocol
+ operation, including some types of attack.
+
+ Selectively Encrypting Transport Headers and Payload:
+ A transport protocol design that encrypts selected header fields
+ allows specific transport header fields to be made observable by
+ network devices on the path. This information is explicitly
+ exposed either in a transport header field or lower layer protocol
+ header. A design that only exposes immutable fields can also
+ perform end-to-end authentication of these fields across the path
+ to prevent undetected modification of the immutable transport
+ headers.
+
+ Mutable fields in the transport header provide opportunities where
+ on-path network devices can modify the transport behaviour (e.g.,
+ the extended headers described in [PLUS-ABSTRACT-MECH]). An
+ example of a method that encrypts some, but not all, transport
+ header information is GRE-in-UDP [RFC8086] when used with GRE
+ encryption.
+
+ Optional Encryption of Header Information:
+ There are implications to the use of optional header encryption in
+ the design of a transport protocol, where support of optional
+ mechanisms can increase the complexity of the protocol and its
+ implementation and in the management decisions that have to be
+ made to use variable format fields. Instead, fields of a specific
+ type ought to be sent with the same level of confidentiality or
+ integrity protection.
+
+ Greasing:
+ Protocols often provide extensibility features, reserving fields
+ or values for use by future versions of a specification. The
+ specification of receivers has traditionally ignored unspecified
+ values; however, on-path network devices have emerged that ossify
+ to require a certain value in a field or reuse a field for another
+ purpose. When the specification is later updated, it is
+ impossible to deploy the new use of the field and forwarding of
+ the protocol could even become conditional on a specific header
+ field value.
+
+ A protocol can intentionally vary the value, format, and/or
+ presence of observable transport header fields at random
+ [RFC8701]. This prevents a network device ossifying the use of a
+ specific observable field and can ease future deployment of new
+ uses of the value or code point. This is not a security
+ mechanism, although the use can be combined with an authentication
+ mechanism.
+
+ Different transports use encryption to protect their header
+ information to varying degrees. The trend is towards increased
+ protection.
+
+5. Intentionally Exposing Transport Information to the Network
+
+ A transport protocol can choose to expose certain transport
+ information to on-path devices operating at the network layer by
+ sending observable fields. One approach is to make an explicit
+ choice not to encrypt certain transport header fields, making this
+ transport information observable by an on-path network device.
+ Another approach is to expose transport information in a network-
+ layer extension header (see Section 5.1). Both are examples of
+ explicit information intended to be used by network devices on the
+ path [RFC8558].
+
+ Whatever the mechanism used to expose the information, a decision to
+ expose only specific information places the transport endpoint in
+ control of what to expose outside of the encrypted transport header.
+ This decision can then be made independently of the transport
+ protocol functionality. This can be done by exposing part of the
+ transport header or as a network-layer option/extension.
+
+5.1. Exposing Transport Information in Extension Headers
+
+ At the network layer, packets can carry optional headers that
+ explicitly expose transport header information to the on-path devices
+ operating at the network layer (Section 2.3.2). For example, an
+ endpoint that sends an IPv6 hop-by-hop option [RFC8200] can provide
+ explicit transport-layer information that can be observed and used by
+ network devices on the path. New hop-by-hop options are not
+ recommended in [RFC8200] "because nodes may be configured to ignore
+ the Hop-by-Hop Options header, drop packets containing a Hop-by-Hop
+ Options header, or assign packets containing a Hop-by-Hop Options
+ header to a slow processing path. Designers considering defining new
+ hop-by-hop options need to be aware of this likely behavior."
+
+ Network-layer optional headers explicitly indicate the information
+ that is exposed, whereas use of exposed transport header information
+ first requires an observer to identify the transport protocol and its
+ format. See Section 2.2.
+
+ An arbitrary path can include one or more network devices that drop
+ packets that include a specific header or option used for this
+ purpose (see [RFC7872]). This could impact the proper functioning of
+ the protocols using the path. Protocol methods can be designed to
+ probe to discover whether the specific option(s) can be used along
+ the current path, enabling use on arbitrary paths.
+
+5.2. Common Exposed Transport Information
+
+ There are opportunities for multiple transport protocols to
+ consistently supply common observable information [RFC8558]. A
+ common approach can result in an open definition of the observable
+ fields. This has the potential that the same information can be
+ utilised across a range of operational and analysis tools.
+
+5.3. Considerations for Exposing Transport Information
+
+ Considerations concerning what information, if any, it is appropriate
+ to expose include:
+
+ * On the one hand, explicitly exposing derived fields containing
+ relevant transport information (e.g., metrics for loss, latency,
+ etc.) can avoid network devices needing to derive this information
+ from other header fields. This could result in development and
+ evolution of transport-independent tools around a common
+ observable header and permit transport protocols to also evolve
+ independently of this ossified header [RFC8558].
+
+ * On the other hand, protocols and implementations might be designed
+ to avoid consistently exposing external information that
+ corresponds to the actual internal information used by the
+ protocol itself. An endpoint/protocol could choose to expose
+ transport header information to optimise the benefit it gets from
+ the network [RFC8558]. The value of this information for
+ analysing operation of the transport layer would be enhanced if
+ the exposed information could be verified to match the transport
+ protocol's observed behavior.
+
+ The motivation to include actual transport header information and the
+ implications of network devices using this information has to be
+ considered when proposing such a method. [RFC8558] summarises this
+ as:
+
+ | When signals from endpoints to the path are independent from the
+ | signals used by endpoints to manage the flow's state mechanics,
+ | they may be falsified by an endpoint without affecting the peer's
+ | understanding of the flow's state. For encrypted flows, this
+ | divergence is not detectable by on-path devices.
+
+6. Addition of Transport OAM Information to Network-Layer Headers
+
+ Even when the transport headers are encrypted, on-path devices can
+ make measurements by utilising additional protocol headers carrying
+ OAM information in an additional packet header. OAM information can
+ be included with packets to perform functions, such as identification
+ of transport protocols and flows, to aide understanding of network or
+ transport performance or to support network operations or mitigate
+ the effects of specific network segments.
+
+ Using network-layer approaches to reveal information has the
+ potential that the same method (and hence same observation and
+ analysis tools) can be consistently used by multiple transport
+ protocols. This approach also could be applied to methods beyond OAM
+ (see Section 5). There can also be less desirable implications from
+ separating the operation of the transport protocol from the
+ measurement framework.
+
+6.1. Use of OAM within a Maintenance Domain
+
+ OAM information can be restricted to a maintenance domain, typically
+ owned and operated by a single entity. OAM information can be added
+ at the ingress to the maintenance domain (e.g., an Ethernet protocol
+ header with timestamps and sequence number information using a method
+ such as 802.11ag or in-situ OAM [IOAM-DATA] or as a part of the
+ encapsulation protocol). This additional header information is not
+ delivered to the endpoints and is typically removed at the egress of
+ the maintenance domain.
+
+ Although some types of measurements are supported, this approach does
+ not cover the entire range of measurements described in this
+ document. In some cases, it can be difficult to position measurement
+ tools at the appropriate segments/nodes, and there can be challenges
+ in correlating the downstream/upstream information when in-band OAM
+ data is inserted by an on-path device.
+
+6.2. Use of OAM across Multiple Maintenance Domains
+
+ OAM information can also be added at the network layer by the sender
+ as an IPv6 extension header or an IPv4 option or in an encapsulation/
+ tunnel header that also includes an extension header or option. This
+ information can be used across multiple network segments or between
+ the transport endpoints.
+
+ One example is the IPv6 Performance and Diagnostic Metrics (PDM)
+ destination option [RFC8250]. This allows a sender to optionally
+ include a destination option that carries header fields that can be
+ used to observe timestamps and packet sequence numbers. This
+ information could be authenticated by a receiving transport endpoint
+ when the information is added at the sender and visible at the
+ receiving endpoint, although methods to do this have not currently
+ been proposed. This needs to be explicitly enabled at the sender.
+
+7. Conclusions
+
+ Header authentication and encryption and strong integrity checks are
+ being incorporated into new transport protocols and have important
+ benefits. The pace of the development of transports using the WebRTC
+ data channel and the rapid deployment of the QUIC transport protocol
+ can both be attributed to using the combination of UDP as a substrate
+ while providing confidentiality and authentication of the
+ encapsulated transport headers and payload.
+
+ This document has described some current practises, and the
+ implications for some stakeholders, when transport-layer header
+ encryption is used. It does not judge whether these practises are
+ necessary or endorse the use of any specific practise. Rather, the
+ intent is to highlight operational tools and practises to consider
+ when designing and modifying transport protocols, so protocol
+ designers can make informed choices about what transport header
+ fields to encrypt and whether it might be beneficial to make an
+ explicit choice to expose certain fields to devices on the network
+ path. In making such a decision, it is important to balance:
+
+ User Privacy:
+ The less transport header information that is exposed to the
+ network, the lower the risk of leaking metadata that might have
+ user privacy implications. Transports that chose to expose some
+ header fields need to make a privacy assessment to understand the
+ privacy cost versus benefit trade-off in making that information
+ available. The design of the QUIC spin bit to the network is an
+ example of such considered analysis.
+
+ Transport Ossification:
+ Unencrypted transport header fields are likely to ossify rapidly,
+ as network devices come to rely on their presence, making it
+ difficult to change the transport in future. This argues that the
+ choice to expose information to the network is made deliberately
+ and with care, since it is essentially defining a stable interface
+ between the transport and the network. Some protocols will want
+ to make that interface as limited as possible; other protocols
+ might find value in exposing certain information to signal to the
+ network or in allowing the network to change certain header fields
+ as signals to the transport. The visible wire image of a protocol
+ should be explicitly designed.
+
+ Network Ossification:
+ While encryption can reduce ossification of the transport
+ protocol, it does not itself prevent ossification of the network
+ service. People seeking to understand network traffic could still
+ come to rely on pattern inferences and other heuristics or machine
+ learning to derive measurement data and as the basis for network
+ forwarding decisions [RFC8546]. This creates dependencies on the
+ transport protocol or the patterns of traffic it can generate,
+ resulting in ossification of the service.
+
+ Impact on Operational Practice:
+ The network operations community has long relied on being able to
+ understand Internet traffic patterns, both in aggregate and at the
+ flow level, to support network management, traffic engineering,
+ and troubleshooting. Operational practice has developed based on
+ the information available from unencrypted transport headers. The
+ IETF has supported this practice by developing operations and
+ management specifications, interface specifications, and
+ associated Best Current Practices. Widespread deployment of
+ transport protocols that encrypt their information will impact
+ network operations unless operators can develop alternative
+ practises that work without access to the transport header.
+
+ Pace of Evolution:
+ Removing obstacles to change can enable an increased pace of
+ evolution. If a protocol changes its transport header format
+ (wire image) or its transport behaviour, this can result in the
+ currently deployed tools and methods becoming no longer relevant.
+ Where this needs to be accompanied by development of appropriate
+ operational support functions and procedures, it can incur a cost
+ in new tooling to catch up with each change. Protocols that
+ consistently expose observable data do not require such
+ development but can suffer from ossification and need to consider
+ if the exposed protocol metadata has privacy implications. There
+ is no single deployment context; therefore, designers need to
+ consider the diversity of operational networks (ISPs, enterprises,
+ DDoS mitigation and firewall maintainers, etc.).
+
+ Supporting Common Specifications:
+ Common, open, transport specifications can stimulate engagement by
+ developers, users, researchers, and the broader community.
+ Increased protocol diversity can be beneficial in meeting new
+ requirements, but the ability to innovate without public scrutiny
+ risks point solutions that optimise for specific cases and that
+ can accidentally disrupt operations of/in different parts of the
+ network. The social contract that maintains the stability of the
+ Internet relies on accepting common transport specifications and
+ on it being possible to detect violations. The existence of
+ independent measurements, transparency, and public scrutiny of
+ transport protocol behaviour helps the community to enforce the
+ social norm that protocol implementations behave fairly and
+ conform (at least mostly) to the specifications. It is important
+ to find new ways of maintaining that community trust as increased
+ use of transport header encryption limits visibility into
+ transport behaviour (see also Section 5.3).
+
+ Impact on Benchmarking and Understanding Feature Interactions:
+ An appropriate vantage point for observation, coupled with timing
+ information about traffic flows, provides a valuable tool for
+ benchmarking network devices, endpoint stacks, and/or
+ configurations. This can help understand complex feature
+ interactions. An inability to observe transport header
+ information can make it harder to diagnose and explore
+ interactions between features at different protocol layers, a side
+ effect of not allowing a choice of vantage point from which this
+ information is observed. New approaches might have to be
+ developed.
+
+ Impact on Research and Development:
+ Hiding transport header information can impede independent
+ research into new mechanisms, measurements of behaviour, and
+ development initiatives. Experience shows that transport
+ protocols are complicated to design and complex to deploy and that
+ individual mechanisms have to be evaluated while considering other
+ mechanisms across a broad range of network topologies and with
+ attention to the impact on traffic sharing the capacity. If
+ increased use of transport header encryption results in reduced
+ availability of open data, it could eliminate the independent
+ checks to the standardisation process that have previously been in
+ place from research and academic contributors (e.g., the role of
+ the IRTF Internet Congestion Control Research Group (ICCRG) and
+ research publications in reviewing new transport mechanisms and
+ assessing the impact of their deployment).
+
+ Observable transport header information might be useful to various
+ stakeholders. Other sets of stakeholders have incentives to limit
+ what can be observed. This document does not make recommendations
+ about what information ought to be exposed, to whom it ought to be
+ observable, or how this will be achieved. There are also design
+ choices about where observable fields are placed. For example, one
+ location could be a part of the transport header outside of the
+ encryption envelope; another alternative is to carry the information
+ in a network-layer option or extension header. New transport
+ protocol designs ought to explicitly identify any fields that are
+ intended to be observed, consider if there are alternative ways of
+ providing the information, and reflect on the implications of
+ observable fields being used by on-path network devices and how this
+ might impact user privacy and protocol evolution when these fields
+ become ossified.
+
+ As [RFC7258] notes, "Making networks unmanageable to mitigate PM is
+ not an acceptable outcome, but ignoring PM would go against the
+ consensus documented here." Providing explicit information can help
+ avoid traffic being inappropriately classified, impacting application
+ performance. An appropriate balance will emerge over time as real
+ instances of this tension are analysed [RFC7258]. This balance
+ between information exposed and information hidden ought to be
+ carefully considered when specifying new transport protocols.
+
+8. Security Considerations
+
+ This document is about design and deployment considerations for
+ transport protocols. Issues relating to security are discussed
+ throughout this document.
+
+ Authentication, confidentiality protection, and integrity protection
+ are identified as transport features by [RFC8095]. As currently
+ deployed in the Internet, these features are generally provided by a
+ protocol or layer on top of the transport protocol [RFC8922].
+
+ Confidentiality and strong integrity checks have properties that can
+ also be incorporated into the design of a transport protocol or to
+ modify an existing transport. Integrity checks can protect an
+ endpoint from undetected modification of protocol fields by on-path
+ network devices, whereas encryption and obfuscation or greasing can
+ further prevent these headers being utilised by network devices
+ [RFC8701]. Preventing observation of headers provides an opportunity
+ for greater freedom to update the protocols and can ease
+ experimentation with new techniques and their final deployment in
+ endpoints. A protocol specification needs to weigh the costs of
+ ossifying common headers versus the potential benefits of exposing
+ specific information that could be observed along the network path to
+ provide tools to manage new variants of protocols.
+
+ Header encryption can provide confidentiality of some or all of the
+ transport header information. This prevents an on-path device from
+ gaining knowledge of the header field. It therefore prevents
+ mechanisms being built that directly rely on the information or seeks
+ to infer semantics of an exposed header field. Reduced visibility
+ into transport metadata can limit the ability to measure and
+ characterise traffic and conversely can provide privacy benefits.
+
+ Extending the transport payload security context to also include the
+ transport protocol header protects both types of information with the
+ same key. A privacy concern would arise if this key was shared with
+ a third party, e.g., providing access to transport header information
+ to debug a performance issue would also result in exposing the
+ transport payload data to the same third party. Such risks would be
+ mitigated using a layered security design that provides one domain of
+ protection and associated keys for the transport payload and
+ encrypted transport headers and a separate domain of protection and
+ associated keys for any observable transport header fields.
+
+ Exposed transport headers are sometimes utilised as a part of the
+ information to detect anomalies in network traffic. As stated in
+ [RFC7258], "While PM is an attack, other forms of monitoring that
+ might fit the definition of PM can be beneficial and not part of any
+ attack, e.g., network management functions monitor packets or flows
+ and anti-spam mechanisms need to see mail message content." This can
+ be used as the first line of defence to identify potential threats
+ from DoS or malware and redirect suspect traffic to dedicated nodes
+ responsible for DoS analysis, for malware detection, or to perform
+ packet "scrubbing" (the normalisation of packets so that there are no
+ ambiguities in interpretation by the ultimate destination of the
+ packet). These techniques are currently used by some operators to
+ also defend from distributed DoS attacks.
+
+ Exposed transport header fields can also form a part of the
+ information used by the receiver of a transport protocol to protect
+ the transport layer from data injection by an attacker. In
+ evaluating this use of exposed header information, it is important to
+ consider whether it introduces a significant DoS threat. For
+ example, an attacker could construct a DoS attack by sending packets
+ with a sequence number that falls within the currently accepted range
+ of sequence numbers at the receiving endpoint. This would then
+ introduce additional work at the receiving endpoint, even though the
+ data in the attacking packet might not finally be delivered by the
+ transport layer. This is sometimes known as a "shadowing attack".
+ An attack can, for example, disrupt receiver processing, trigger loss
+ and retransmission, or make a receiving endpoint perform unproductive
+ decryption of packets that cannot be successfully decrypted (forcing
+ a receiver to commit decryption resources, or to update and then
+ restore protocol state).
+
+ One mitigation to off-path attacks is to deny knowledge of what
+ header information is accepted by a receiver or obfuscate the
+ accepted header information, e.g., setting a nonpredictable initial
+ value for a sequence number during a protocol handshake, as in
+ [RFC3550] and [RFC6056], or a port value that cannot be predicted
+ (see Section 5.1 of [RFC8085]). A receiver could also require
+ additional information to be used as a part of a validation check
+ before accepting packets at the transport layer, e.g., utilising a
+ part of the sequence number space that is encrypted or by verifying
+ an encrypted token not visible to an attacker. This would also
+ mitigate against on-path attacks. An additional processing cost can
+ be incurred when decryption is attempted before a receiver discards
+ an injected packet.
+
+ The existence of open transport protocol standards and a research and
+ operations community with a history of independent observation and
+ evaluation of performance data encourage fairness and conformance to
+ those standards. This suggests careful consideration will be made
+ over where, and when, measurement samples are collected. An
+ appropriate balance between encrypting some or all of the transport
+ header information needs to be considered. Open data and
+ accessibility to tools that can help understand trends in application
+ deployment, network traffic, and usage patterns can all contribute to
+ understanding security challenges.
+
+ The security and privacy considerations in "A Framework for Large-
+ Scale Measurement of Broadband Performance (LMAP)" [RFC7594] contain
+ considerations for Active and Passive measurement techniques and
+ supporting material on measurement context.
+
+ Addition of observable transport information to the path increases
+ the information available to an observer and may, when this
+ information can be linked to a node or user, reduce the privacy of
+ the user. See the security considerations of [RFC8558].
+
+9. IANA Considerations
+
+ This document has no IANA actions.
+
+10. Informative References
+
+ [bufferbloat]
+ Gettys, J. and K. Nichols, "Bufferbloat: Dark Buffers in
+ the Internet", Communications of the ACM, Vol. 55, no. 1,
+ pp. 57-65, DOI 10.1145/2063176.2063196, January 2012,
+ <https://doi.org/10.1145/2063176.2063196>.
+
+ [DTLS] 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-43, 30 April 2021,
+ <https://datatracker.ietf.org/doc/html/draft-ietf-tls-
+ dtls13-43>.
+
+ [IOAM-DATA]
+ Brockners, F., Bhandari, S., and T. Mizrahi, "Data Fields
+ for In-situ OAM", Work in Progress, Internet-Draft, draft-
+ ietf-ippm-ioam-data-12, 21 February 2021,
+ <https://datatracker.ietf.org/doc/html/draft-ietf-ippm-
+ ioam-data-12>.
+
+ [IPV6-ALT-MARK]
+ Fioccola, G., Zhou, T., Cociglio, M., Qin, F., and R.
+ Pang, "IPv6 Application of the Alternate Marking Method",
+ Work in Progress, Internet-Draft, draft-ietf-6man-ipv6-
+ alt-mark-06, 31 May 2021,
+ <https://datatracker.ietf.org/doc/html/draft-ietf-6man-
+ ipv6-alt-mark-06>.
+
+ [Latency] Briscoe, B., Brunstrom, A., Petlund, A., Hayes, D., Ros,
+ D., Tsang, I., Gjessing, S., Fairhurst, G., Griwodz, C.,
+ and M. Welzl, "Reducing Internet Latency: A Survey of
+ Techniques and Their Merits", IEEE Communications Surveys
+ & Tutorials, vol. 18, no. 3, pp. 2149-2196, thirdquarter
+ 2016, DOI 10.1109/COMST.2014.2375213, November 2014,
+ <https://doi.org/10.1109/COMST.2014.2375213>.
+
+ [Measurement]
+ Fairhurst, G., Kuehlewind, M., and D. Lopez, "Measurement-
+ based Protocol Design", European Conference on Networks
+ and Communications, Oulu, Finland., June 2017.
+
+ [PAM-RTT] Trammell, B. and M. Kuehlewind, "Revisiting the Privacy
+ Implications of Two-Way Internet Latency Data", Passive
+ and Active Measurement, March 2018.
+
+ [PLUS-ABSTRACT-MECH]
+ Trammell, B., "Abstract Mechanisms for a Cooperative Path
+ Layer under Endpoint Control", Work in Progress, Internet-
+ Draft, draft-trammell-plus-abstract-mech-00, 28 September
+ 2016, <https://datatracker.ietf.org/doc/html/draft-
+ trammell-plus-abstract-mech-00>.
+
+ [QLOG] Marx, R., Niccolini, L., and M. Seemann, "Main logging
+ schema for qlog", Work in Progress, Internet-Draft, draft-
+ ietf-quic-qlog-main-schema-00, 10 June 2021,
+ <https://datatracker.ietf.org/doc/html/draft-ietf-quic-
+ qlog-main-schema-00>.
+
+ [Quic-Trace]
+ "QUIC trace utilities", Commit 413c3a4,
+ <https://github.com/google/quic-trace>.
+
+ [RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791,
+ DOI 10.17487/RFC0791, September 1981,
+ <https://www.rfc-editor.org/info/rfc791>.
+
+ [RFC2410] Glenn, R. and S. Kent, "The NULL Encryption Algorithm and
+ Its Use With IPsec", RFC 2410, DOI 10.17487/RFC2410,
+ November 1998, <https://www.rfc-editor.org/info/rfc2410>.
+
+ [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black,
+ "Definition of the Differentiated Services Field (DS
+ Field) in the IPv4 and IPv6 Headers", RFC 2474,
+ DOI 10.17487/RFC2474, December 1998,
+ <https://www.rfc-editor.org/info/rfc2474>.
+
+ [RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z.,
+ and W. Weiss, "An Architecture for Differentiated
+ Services", RFC 2475, DOI 10.17487/RFC2475, December 1998,
+ <https://www.rfc-editor.org/info/rfc2475>.
+
+ [RFC2507] Degermark, M., Nordgren, B., and S. Pink, "IP Header
+ Compression", RFC 2507, DOI 10.17487/RFC2507, February
+ 1999, <https://www.rfc-editor.org/info/rfc2507>.
+
+ [RFC2508] Casner, S. and V. Jacobson, "Compressing IP/UDP/RTP
+ Headers for Low-Speed Serial Links", RFC 2508,
+ DOI 10.17487/RFC2508, February 1999,
+ <https://www.rfc-editor.org/info/rfc2508>.
+
+ [RFC2914] Floyd, S., "Congestion Control Principles", BCP 41,
+ RFC 2914, DOI 10.17487/RFC2914, September 2000,
+ <https://www.rfc-editor.org/info/rfc2914>.
+
+ [RFC3168] Ramakrishnan, K., Floyd, S., and D. Black, "The Addition
+ of Explicit Congestion Notification (ECN) to IP",
+ RFC 3168, DOI 10.17487/RFC3168, September 2001,
+ <https://www.rfc-editor.org/info/rfc3168>.
+
+ [RFC3234] Carpenter, B. and S. Brim, "Middleboxes: Taxonomy and
+ Issues", RFC 3234, DOI 10.17487/RFC3234, February 2002,
+ <https://www.rfc-editor.org/info/rfc3234>.
+
+ [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
+ A., Peterson, J., Sparks, R., Handley, M., and E.
+ Schooler, "SIP: Session Initiation Protocol", RFC 3261,
+ DOI 10.17487/RFC3261, June 2002,
+ <https://www.rfc-editor.org/info/rfc3261>.
+
+ [RFC3393] Demichelis, C. and P. Chimento, "IP Packet Delay Variation
+ Metric for IP Performance Metrics (IPPM)", RFC 3393,
+ DOI 10.17487/RFC3393, November 2002,
+ <https://www.rfc-editor.org/info/rfc3393>.
+
+ [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
+ Jacobson, "RTP: A Transport Protocol for Real-Time
+ Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550,
+ July 2003, <https://www.rfc-editor.org/info/rfc3550>.
+
+ [RFC3552] Rescorla, E. and B. Korver, "Guidelines for Writing RFC
+ Text on Security Considerations", BCP 72, RFC 3552,
+ DOI 10.17487/RFC3552, July 2003,
+ <https://www.rfc-editor.org/info/rfc3552>.
+
+ [RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K.
+ Norrman, "The Secure Real-time Transport Protocol (SRTP)",
+ RFC 3711, DOI 10.17487/RFC3711, March 2004,
+ <https://www.rfc-editor.org/info/rfc3711>.
+
+ [RFC4302] Kent, S., "IP Authentication Header", RFC 4302,
+ DOI 10.17487/RFC4302, December 2005,
+ <https://www.rfc-editor.org/info/rfc4302>.
+
+ [RFC4303] Kent, S., "IP Encapsulating Security Payload (ESP)",
+ RFC 4303, DOI 10.17487/RFC4303, December 2005,
+ <https://www.rfc-editor.org/info/rfc4303>.
+
+ [RFC4585] Ott, J., Wenger, S., Sato, N., Burmeister, C., and J. Rey,
+ "Extended RTP Profile for Real-time Transport Control
+ Protocol (RTCP)-Based Feedback (RTP/AVPF)", RFC 4585,
+ DOI 10.17487/RFC4585, July 2006,
+ <https://www.rfc-editor.org/info/rfc4585>.
+
+ [RFC4737] Morton, A., Ciavattone, L., Ramachandran, G., Shalunov,
+ S., and J. Perser, "Packet Reordering Metrics", RFC 4737,
+ DOI 10.17487/RFC4737, November 2006,
+ <https://www.rfc-editor.org/info/rfc4737>.
+
+ [RFC4960] Stewart, R., Ed., "Stream Control Transmission Protocol",
+ RFC 4960, DOI 10.17487/RFC4960, September 2007,
+ <https://www.rfc-editor.org/info/rfc4960>.
+
+ [RFC5166] Floyd, S., Ed., "Metrics for the Evaluation of Congestion
+ Control Mechanisms", RFC 5166, DOI 10.17487/RFC5166, March
+ 2008, <https://www.rfc-editor.org/info/rfc5166>.
+
+ [RFC5218] Thaler, D. and B. Aboba, "What Makes for a Successful
+ Protocol?", RFC 5218, DOI 10.17487/RFC5218, July 2008,
+ <https://www.rfc-editor.org/info/rfc5218>.
+
+ [RFC5236] Jayasumana, A., Piratla, N., Banka, T., Bare, A., and R.
+ Whitner, "Improved Packet Reordering Metrics", RFC 5236,
+ DOI 10.17487/RFC5236, June 2008,
+ <https://www.rfc-editor.org/info/rfc5236>.
+
+ [RFC5426] Okmianski, A., "Transmission of Syslog Messages over UDP",
+ RFC 5426, DOI 10.17487/RFC5426, March 2009,
+ <https://www.rfc-editor.org/info/rfc5426>.
+
+ [RFC5481] Morton, A. and B. Claise, "Packet Delay Variation
+ Applicability Statement", RFC 5481, DOI 10.17487/RFC5481,
+ March 2009, <https://www.rfc-editor.org/info/rfc5481>.
+
+ [RFC5795] Sandlund, K., Pelletier, G., and L-E. Jonsson, "The RObust
+ Header Compression (ROHC) Framework", RFC 5795,
+ DOI 10.17487/RFC5795, March 2010,
+ <https://www.rfc-editor.org/info/rfc5795>.
+
+ [RFC5925] Touch, J., Mankin, A., and R. Bonica, "The TCP
+ Authentication Option", RFC 5925, DOI 10.17487/RFC5925,
+ June 2010, <https://www.rfc-editor.org/info/rfc5925>.
+
+ [RFC6056] Larsen, M. and F. Gont, "Recommendations for Transport-
+ Protocol Port Randomization", BCP 156, RFC 6056,
+ DOI 10.17487/RFC6056, January 2011,
+ <https://www.rfc-editor.org/info/rfc6056>.
+
+ [RFC6269] Ford, M., Ed., Boucadair, M., Durand, A., Levis, P., and
+ P. Roberts, "Issues with IP Address Sharing", RFC 6269,
+ DOI 10.17487/RFC6269, June 2011,
+ <https://www.rfc-editor.org/info/rfc6269>.
+
+ [RFC6294] Hu, Q. and B. Carpenter, "Survey of Proposed Use Cases for
+ the IPv6 Flow Label", RFC 6294, DOI 10.17487/RFC6294, June
+ 2011, <https://www.rfc-editor.org/info/rfc6294>.
+
+ [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>.
+
+ [RFC6437] Amante, S., Carpenter, B., Jiang, S., and J. Rajahalme,
+ "IPv6 Flow Label Specification", RFC 6437,
+ DOI 10.17487/RFC6437, November 2011,
+ <https://www.rfc-editor.org/info/rfc6437>.
+
+ [RFC6438] Carpenter, B. and S. Amante, "Using the IPv6 Flow Label
+ for Equal Cost Multipath Routing and Link Aggregation in
+ Tunnels", RFC 6438, DOI 10.17487/RFC6438, November 2011,
+ <https://www.rfc-editor.org/info/rfc6438>.
+
+ [RFC6846] Pelletier, G., Sandlund, K., Jonsson, L-E., and M. West,
+ "RObust Header Compression (ROHC): A Profile for TCP/IP
+ (ROHC-TCP)", RFC 6846, DOI 10.17487/RFC6846, January 2013,
+ <https://www.rfc-editor.org/info/rfc6846>.
+
+ [RFC6973] Cooper, A., Tschofenig, H., Aboba, B., Peterson, J.,
+ Morris, J., Hansen, M., and R. Smith, "Privacy
+ Considerations for Internet Protocols", RFC 6973,
+ DOI 10.17487/RFC6973, July 2013,
+ <https://www.rfc-editor.org/info/rfc6973>.
+
+ [RFC7098] Carpenter, B., Jiang, S., and W. Tarreau, "Using the IPv6
+ Flow Label for Load Balancing in Server Farms", RFC 7098,
+ DOI 10.17487/RFC7098, January 2014,
+ <https://www.rfc-editor.org/info/rfc7098>.
+
+ [RFC7126] Gont, F., Atkinson, R., and C. Pignataro, "Recommendations
+ on Filtering of IPv4 Packets Containing IPv4 Options",
+ BCP 186, RFC 7126, DOI 10.17487/RFC7126, February 2014,
+ <https://www.rfc-editor.org/info/rfc7126>.
+
+ [RFC7258] Farrell, S. and H. Tschofenig, "Pervasive Monitoring Is an
+ Attack", BCP 188, RFC 7258, DOI 10.17487/RFC7258, May
+ 2014, <https://www.rfc-editor.org/info/rfc7258>.
+
+ [RFC7413] Cheng, Y., Chu, J., Radhakrishnan, S., and A. Jain, "TCP
+ Fast Open", RFC 7413, DOI 10.17487/RFC7413, December 2014,
+ <https://www.rfc-editor.org/info/rfc7413>.
+
+ [RFC7414] Duke, M., Braden, R., Eddy, W., Blanton, E., and A.
+ Zimmermann, "A Roadmap for Transmission Control Protocol
+ (TCP) Specification Documents", RFC 7414,
+ DOI 10.17487/RFC7414, February 2015,
+ <https://www.rfc-editor.org/info/rfc7414>.
+
+ [RFC7567] Baker, F., Ed. and G. Fairhurst, Ed., "IETF
+ Recommendations Regarding Active Queue Management",
+ BCP 197, RFC 7567, DOI 10.17487/RFC7567, July 2015,
+ <https://www.rfc-editor.org/info/rfc7567>.
+
+ [RFC7594] Eardley, P., Morton, A., Bagnulo, M., Burbridge, T.,
+ Aitken, P., and A. Akhter, "A Framework for Large-Scale
+ Measurement of Broadband Performance (LMAP)", RFC 7594,
+ DOI 10.17487/RFC7594, September 2015,
+ <https://www.rfc-editor.org/info/rfc7594>.
+
+ [RFC7605] Touch, J., "Recommendations on Using Assigned Transport
+ Port Numbers", BCP 165, RFC 7605, DOI 10.17487/RFC7605,
+ August 2015, <https://www.rfc-editor.org/info/rfc7605>.
+
+ [RFC7624] Barnes, R., Schneier, B., Jennings, C., Hardie, T.,
+ Trammell, B., Huitema, C., and D. Borkmann,
+ "Confidentiality in the Face of Pervasive Surveillance: A
+ Threat Model and Problem Statement", RFC 7624,
+ DOI 10.17487/RFC7624, August 2015,
+ <https://www.rfc-editor.org/info/rfc7624>.
+
+ [RFC7799] Morton, A., "Active and Passive Metrics and Methods (with
+ Hybrid Types In-Between)", RFC 7799, DOI 10.17487/RFC7799,
+ May 2016, <https://www.rfc-editor.org/info/rfc7799>.
+
+ [RFC7872] Gont, F., Linkova, J., Chown, T., and W. Liu,
+ "Observations on the Dropping of Packets with IPv6
+ Extension Headers in the Real World", RFC 7872,
+ DOI 10.17487/RFC7872, June 2016,
+ <https://www.rfc-editor.org/info/rfc7872>.
+
+ [RFC7928] Kuhn, N., Ed., Natarajan, P., Ed., Khademi, N., Ed., and
+ D. Ros, "Characterization Guidelines for Active Queue
+ Management (AQM)", RFC 7928, DOI 10.17487/RFC7928, July
+ 2016, <https://www.rfc-editor.org/info/rfc7928>.
+
+ [RFC7983] Petit-Huguenin, M. and G. Salgueiro, "Multiplexing Scheme
+ Updates for Secure Real-time Transport Protocol (SRTP)
+ Extension for Datagram Transport Layer Security (DTLS)",
+ RFC 7983, DOI 10.17487/RFC7983, September 2016,
+ <https://www.rfc-editor.org/info/rfc7983>.
+
+ [RFC8033] Pan, R., Natarajan, P., Baker, F., and G. White,
+ "Proportional Integral Controller Enhanced (PIE): A
+ Lightweight Control Scheme to Address the Bufferbloat
+ Problem", RFC 8033, DOI 10.17487/RFC8033, February 2017,
+ <https://www.rfc-editor.org/info/rfc8033>.
+
+ [RFC8084] Fairhurst, G., "Network Transport Circuit Breakers",
+ BCP 208, RFC 8084, DOI 10.17487/RFC8084, March 2017,
+ <https://www.rfc-editor.org/info/rfc8084>.
+
+ [RFC8085] Eggert, L., Fairhurst, G., and G. Shepherd, "UDP Usage
+ Guidelines", BCP 145, RFC 8085, DOI 10.17487/RFC8085,
+ March 2017, <https://www.rfc-editor.org/info/rfc8085>.
+
+ [RFC8086] Yong, L., Ed., Crabbe, E., Xu, X., and T. Herbert, "GRE-
+ in-UDP Encapsulation", RFC 8086, DOI 10.17487/RFC8086,
+ March 2017, <https://www.rfc-editor.org/info/rfc8086>.
+
+ [RFC8087] Fairhurst, G. and M. Welzl, "The Benefits of Using
+ Explicit Congestion Notification (ECN)", RFC 8087,
+ DOI 10.17487/RFC8087, March 2017,
+ <https://www.rfc-editor.org/info/rfc8087>.
+
+ [RFC8095] Fairhurst, G., Ed., Trammell, B., Ed., and M. Kuehlewind,
+ Ed., "Services Provided by IETF Transport Protocols and
+ Congestion Control Mechanisms", RFC 8095,
+ DOI 10.17487/RFC8095, March 2017,
+ <https://www.rfc-editor.org/info/rfc8095>.
+
+ [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6
+ (IPv6) Specification", STD 86, RFC 8200,
+ DOI 10.17487/RFC8200, July 2017,
+ <https://www.rfc-editor.org/info/rfc8200>.
+
+ [RFC8250] Elkins, N., Hamilton, R., and M. Ackermann, "IPv6
+ Performance and Diagnostic Metrics (PDM) Destination
+ Option", RFC 8250, DOI 10.17487/RFC8250, September 2017,
+ <https://www.rfc-editor.org/info/rfc8250>.
+
+ [RFC8289] Nichols, K., Jacobson, V., McGregor, A., Ed., and J.
+ Iyengar, Ed., "Controlled Delay Active Queue Management",
+ RFC 8289, DOI 10.17487/RFC8289, January 2018,
+ <https://www.rfc-editor.org/info/rfc8289>.
+
+ [RFC8290] Hoeiland-Joergensen, T., McKenney, P., Taht, D., Gettys,
+ J., and E. Dumazet, "The Flow Queue CoDel Packet Scheduler
+ and Active Queue Management Algorithm", RFC 8290,
+ DOI 10.17487/RFC8290, January 2018,
+ <https://www.rfc-editor.org/info/rfc8290>.
+
+ [RFC8404] Moriarty, K., Ed. and A. Morton, Ed., "Effects of
+ Pervasive Encryption on Operators", RFC 8404,
+ DOI 10.17487/RFC8404, July 2018,
+ <https://www.rfc-editor.org/info/rfc8404>.
+
+ [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol
+ Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
+ <https://www.rfc-editor.org/info/rfc8446>.
+
+ [RFC8462] Rooney, N. and S. Dawkins, Ed., "Report from the IAB
+ Workshop on Managing Radio Networks in an Encrypted World
+ (MaRNEW)", RFC 8462, DOI 10.17487/RFC8462, October 2018,
+ <https://www.rfc-editor.org/info/rfc8462>.
+
+ [RFC8517] Dolson, D., Ed., Snellman, J., Boucadair, M., Ed., and C.
+ Jacquenet, "An Inventory of Transport-Centric Functions
+ Provided by Middleboxes: An Operator Perspective",
+ RFC 8517, DOI 10.17487/RFC8517, February 2019,
+ <https://www.rfc-editor.org/info/rfc8517>.
+
+ [RFC8546] Trammell, B. and M. Kuehlewind, "The Wire Image of a
+ Network Protocol", RFC 8546, DOI 10.17487/RFC8546, April
+ 2019, <https://www.rfc-editor.org/info/rfc8546>.
+
+ [RFC8548] Bittau, A., Giffin, D., Handley, M., Mazieres, D., Slack,
+ Q., and E. Smith, "Cryptographic Protection of TCP Streams
+ (tcpcrypt)", RFC 8548, DOI 10.17487/RFC8548, May 2019,
+ <https://www.rfc-editor.org/info/rfc8548>.
+
+ [RFC8558] Hardie, T., Ed., "Transport Protocol Path Signals",
+ RFC 8558, DOI 10.17487/RFC8558, April 2019,
+ <https://www.rfc-editor.org/info/rfc8558>.
+
+ [RFC8684] Ford, A., Raiciu, C., Handley, M., Bonaventure, O., and C.
+ Paasch, "TCP Extensions for Multipath Operation with
+ Multiple Addresses", RFC 8684, DOI 10.17487/RFC8684, March
+ 2020, <https://www.rfc-editor.org/info/rfc8684>.
+
+ [RFC8701] Benjamin, D., "Applying Generate Random Extensions And
+ Sustain Extensibility (GREASE) to TLS Extensibility",
+ RFC 8701, DOI 10.17487/RFC8701, January 2020,
+ <https://www.rfc-editor.org/info/rfc8701>.
+
+ [RFC8724] Minaburo, A., Toutain, L., Gomez, C., Barthel, D., and JC.
+ Zúñiga, "SCHC: Generic Framework for Static Context Header
+ Compression and Fragmentation", RFC 8724,
+ DOI 10.17487/RFC8724, April 2020,
+ <https://www.rfc-editor.org/info/rfc8724>.
+
+ [RFC8837] Jones, P., Dhesikan, S., Jennings, C., and D. Druta,
+ "Differentiated Services Code Point (DSCP) Packet Markings
+ for WebRTC QoS", RFC 8837, DOI 10.17487/RFC8837, January
+ 2021, <https://www.rfc-editor.org/info/rfc8837>.
+
+ [RFC8866] Begen, A., Kyzivat, P., Perkins, C., and M. Handley, "SDP:
+ Session Description Protocol", RFC 8866,
+ DOI 10.17487/RFC8866, January 2021,
+ <https://www.rfc-editor.org/info/rfc8866>.
+
+ [RFC8922] Enghardt, T., Pauly, T., Perkins, C., Rose, K., and C.
+ Wood, "A Survey of the Interaction between Security
+ Protocols and Transport Services", RFC 8922,
+ DOI 10.17487/RFC8922, October 2020,
+ <https://www.rfc-editor.org/info/rfc8922>.
+
+ [RFC9000] Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based
+ Multiplexed and Secure Transport", RFC 9000,
+ DOI 10.17487/RFC9000, May 2021,
+ <https://www.rfc-editor.org/info/rfc9000>.
+
+Acknowledgements
+
+ The authors would like to thank Mohamed Boucadair, Spencer Dawkins,
+ Tom Herbert, Jana Iyengar, Mirja Kühlewind, Kyle Rose, Kathleen
+ Moriarty, Al Morton, Chris Seal, Joe Touch, Brian Trammell, Chris
+ Wood, Thomas Fossati, Mohamed Boucadair, Martin Thomson, David Black,
+ Martin Duke, Joel Halpern, and members of TSVWG for their comments
+ and feedback.
+
+ This work has received funding from the European Union's Horizon 2020
+ research and innovation programme under grant agreement No 688421 and
+ the EU Stand ICT Call 4. The opinions expressed and arguments
+ employed reflect only the authors' views. The European Commission is
+ not responsible for any use that might be made of that information.
+
+ This work has received funding from the UK Engineering and Physical
+ Sciences Research Council under grant EP/R04144X/1.
+
+Authors' Addresses
+
+ Godred Fairhurst
+ University of Aberdeen
+ Department of Engineering
+ Fraser Noble Building
+ Aberdeen, Scotland
+ AB24 3UE
+ United Kingdom
+
+ Email: gorry@erg.abdn.ac.uk
+ URI: http://www.erg.abdn.ac.uk/
+
+
+ Colin Perkins
+ University of Glasgow
+ School of Computing Science
+ Glasgow, Scotland
+ G12 8QQ
+ United Kingdom
+
+ Email: csp@csperkins.org
+ URI: https://csperkins.org/