<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC3168 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3168.xml">
<!ENTITY RFC2474 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2474.xml">
<!ENTITY RFC3234 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3234.xml">
<!ENTITY RFC3135 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3135.xml">
<!ENTITY RFC3550 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3550.xml">
<!ENTITY RFC8087 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8087.xml">
<!ENTITY RFC4585 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4585.xml">
<!ENTITY RFC5246 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5246.xml">
<!ENTITY RFC7525 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7525.xml">
<!ENTITY RFC4301 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4301.xml">
<!ENTITY RFC7713 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7713.xml">
<!ENTITY RFC7567 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7567.xml">
<!ENTITY RFC6437 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6437.xml">
<!ENTITY RFC7624 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7624.xml">
<!ENTITY RFC3449 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3449.xml">
<!ENTITY RFC5925 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5925.xml">
<!ENTITY RFC6347 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6347.xml">
<!ENTITY RFC8086 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8086.xml">
<!ENTITY RFC7258 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7258.xml">
<!ENTITY RFC4303 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4303.xml">
<!ENTITY RFC6679 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6679.xml">
<!ENTITY RFC7928 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7928.xml">
<!ENTITY RFC3819 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3819.xml">
<!ENTITY RFC5559 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5559.xml">
<!ENTITY RFC8085 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8085.xml">
<!ENTITY RFC4302 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4302.xml">
<!ENTITY RFC8084 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8084.xml">
<!ENTITY RFC5236 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5236.xml">
<!ENTITY RFC4737 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4737.xml">
<!ENTITY I-D.mm-wg-effect-encrypt SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.draft-mm-wg-effect-encrypt-11.xml">
<!ENTITY I-D.ietf-quic-transport SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.draft-ietf-quic-transport-03.xml">
<!ENTITY I-D.dolson-plus-middlebox-benefits SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.draft-dolson-plus-middlebox-benefits-03.xml">
<!ENTITY I-D.trammell-plus-abstract-mech SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.draft-trammell-plus-abstract-mech-00.xml">
<!ENTITY I-D.trammell-plus-statefulness SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.draft-trammell-plus-statefulness-02.xml">
<!ENTITY I-D.ietf-aqm-fq-codel SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.draft-ietf-aqm-fq-codel-00.xml">
<!ENTITY I-D.ietf-aqm-pie SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.draft-ietf-aqm-pie-00.xml">
<!ENTITY I-D.ietf-aqm-codel SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.draft-ietf-aqm-codel-00.xml">
<!ENTITY I-D.ietf-tcpm-dctcp SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.draft-ietf-tcpm-dctcp-06.xml">
<!ENTITY I-D.ietf-tcpm-accurate-ecn SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.draft-ietf-tcpm-accurate-ecn-00.xml">
<!ENTITY I-D.ietf-tsvwg-l4s-arch SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.draft-ietf-tsvwg-l4s-arch-00.xml">
<!ENTITY I-D.ietf-ippm-6man-pdm-option SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.draft-ietf-ippm-6man-pdm-option-10.xml">
<!ENTITY RFC2119 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc strict="yes" ?>
<?rfc toc="yes"?>
<?rfc tocdepth="3"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt"?>
<rfc category="info" docName="draft-fairhurst-tsvwg-transport-encrypt-04"
     ipr="trust200902">
  <front>
    <title abbrev="Transport Encryption">The Impact of Transport Header
    Encryption on Operation and Evolution of the Internet</title>

    <author fullname="Godred Fairhurst" initials="G." surname="Fairhurst">
      <organization>University of Aberdeen</organization>

      <address>
        <postal>
          <street>Department of Engineering</street>

          <street>Fraser Noble Building</street>

          <city>Aberdeen</city>

          <code>AB24 3UE</code>

          <country>Scotland</country>
        </postal>

        <email>gorry@erg.abdn.ac.uk</email>

        <uri>http://www.erg.abdn.ac.uk/</uri>
      </address>
    </author>

    <author fullname="Colin Perkins" initials="C.S." surname="Perkins">
      <organization>University of Glasgow</organization>

      <address>
        <postal>
          <street>School of Computing Science</street>

          <city>Glasgow</city>

          <code>G12 8QQ</code>

          <country>Scotland</country>
        </postal>

        <email>csp@csperkins.org</email>

        <uri>https://csperkins.org//</uri>
      </address>
    </author>

    <date day="27" month="September" year="2017" />

    <area>Transport</area>

    <workgroup>TSVWG</workgroup>

    <keyword>transport design, operations and management</keyword>

    <abstract>
      <t>This document describes implications of applying end-to-end
      encryption at the transport layer. It identifies some in-network uses of
      transport layer header information that can be used with a transport
      header integrity check. It reviews the implication of developing
      encrypted end-to-end transport protocols and examines the implication of
      developing and deploying encrypted end-to-end transport protocols. Since
      transport measurement and analysis of the impact of network
      characteristics have been important to the design of current transport
      protocols, it also considers some anticipated implications on transport
      and application evolution.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>This document discusses the implications of end-to-end encryption
      applied at the transport layer, and examines the impact on transport
      protocol design, usage, and network operations and management. It also
      considers anticipated implications on transport and application
      evolution.</t>

      <t>The transport layer provides the first end-to-end interactions across
      the Internet. Transport protocols layer directly over the network-layer
      service and are sent in the payload of network-layer packets. They
      support end-to-end communication between applications, supported by
      higher-layer protocols, running on the end systems (or transport
      endpoint). This simple architectural view hides one of the core
      functions of the transport, however &ndash; to discover and adapt to the
      properties of the Internet path that is currently being used. The design
      of Internet transport protocols is as much about trying to avoid the
      unwanted side effects of congestion on a flow and other capacity-sharing
      flows, avoiding congestion collapse, adapting to changes in the path
      characteristics, etc., as it is about end-to-end feature negotiation,
      flow control and optimising for performance of a specific
      application.</t>

      <t>To achieve stable Internet operations the IETF transport community
      has to date relied heavily on measurement and insights of the network
      operations community to understand the trade-offs, and to inform
      selection of select appropriate mechanisms, to ensure a safe, reliable
      and robust Internet. In turn, the network operations community relies on
      being able to understand the traffic passing over the Internet, both in
      aggregate and at the flow level -- inspecting transport layer headers to
      help understand traffic dynamics.</t>

      <t>There are many motivations for deploying encrypted transports, and
      encryption of transport payloads. The increasing public concerns about
      the interference with Internet traffic have led to a rapidly expanding
      deployment of encryption to protect end-user privacy, in protocols like
      QUIC. At the same time, network operators and access providers,
      especially in mobile networks, have come to rely on the in-network
      measurement of transport properties and the functionality provided by
      middleboxes to both support network operations and enhance
      performance.</t>

      <t>This document considers some implications of working with encrypted
      transport protocols, and discusses trade-offs around authentication,
      encryption of transport protocol headers. It describes some of the
      architectural challenges and considerations in the way transport
      protocols are designed when using encryption <xref
      target="Measure"></xref>.</t>

      <t>Encryption of the transport layer brings some well-known privacy and
      security benefits, but also introduces various costs that need to be
      considered. Specifically, it can impact the following activities that
      rely on measurement and analysis of traffic flows:</t>

      <t><list style="symbols">
          <t>Network Operations and Research: Observable transport headers
          enable operators and the research community to measure and analyse
          protocol performance, network anomalies, and failure pathologies.
          This information can help inform capacity planning, and assist in
          determining the need for equipment and/or configuration changes by
          network operators. This data also can inform Internet engineering
          research, and help the develop of new protocols and procedures.
          Encryption of the entire transport protocol, including header
          information, will restrict the availability of data, and might lead
          to the development of alternative, and potentially more intrusive,
          methods to acquire the needed data. Encrypting the transport
          payload, but leaving some, or all, of the transport headers
          unencrypted but authenticated can provide the majority of the
          privacy and security benefits while allowing some measurement.</t>

          <t>Network Troubleshooting and diagnostics: Encrypting transport
          header information eliminates the incentive for operators to
          troubleshoot what they cannot interpret. A flow experiencing packet
          loss looks like an unaffected flow when only observing network layer
          headers (if transport sequence numbers and flow identifiers are
          obscured). This limits understanding of the impact of packet loss on
          the flows that share a network segment. Encrypted traffic therefore
          implies "don't touch", and a likely trouble-shooting response will
          be "can't help, no trouble found". The additional mechanisms that
          will need to be introduced to help reconstruct transport-level
          metrics add complexity and operational costs <xref
          target="I-D.mm-wg-effect-encrypt"></xref>.</t>

          <t>Network Traffic Analysis: The use of encryption can make it
          harder to determine which transport protocols and features are being
          used across a network segment. The trends in usage. This could
          impact the ability for an operator to anticipate the need for
          network upgrades and roll-out. It can also impact the on-going
          traffic engineering activities performed by operators. While the
          impact may, in many cases, be small there are scenarios where
          operators directly support particular services (e.g., in radio
          links, or to troubleshoot issues realting to Quality of Service,
          QoS). The more complex the underlying infrastructure the more
          important this impact.</t>

          <t>Open and Verifiable Network Data: The use of transport header
          encryption reduces the range of actors that can capture useful
          measurement data. This is, of course, its goal. Doing so, however,
          limits the information sources available to the Internet community
          to understand the operation of transport protocols, so preventing
          access to the information necessary to inform design decisions and
          standards for new protocols and related operational practices. There
          are dangers in a model where only endpoints (i.e., at user devices
          and within service platforms) can observe performance, and this
          cannot be independently verified. To ensure the health of the
          standards and research communities, we need independently captured
          data to develop on the behaviour of the transports. Independently
          verifiable performance metrics might also important in order to
          demonstrate regulatory compliance in some jurisdictions.</t>
        </list> The last point leads us to consider the impact of encrypting
      all the transport headers the specification and development of protocols
      and standards. It has potential impact on: <list style="symbols">
          <t>Understanding Feature Interactions: An appropriate vantage point,
          coupled with timing information about traffic flows, provides a
          valuable tool for benchmarking equipment and/or configurations, and
          to understand complex feature interactions. Transport header
          encryption limits the ability 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.</t>

          <t>Supporting Common Specifications: The Transmission Control
          Protocl (TCP) is the predominant transport protocol. Its many
          variants have broadly consistent approaches to avoiding congestion
          collapse, and to ensuring the stability of the network. Increased
          use of transport layer encryption can overcome ossification,
          allowing deployment of new transports with different types of
          congestion control. This flexibility can be beneficial, but it comes
          at the cost of fragmenting the ecosystem. There's little doubt that
          developers will try to produce high quality transports for their
          target uses, but it is not clear there are sufficient incentives to
          ensure good practice that benefits the wide diversity of
          requirements for the Internet community as a whole. Increased
          diversity, and the ability to innovate without public scrutiny,
          risks point solutions that optimise for specific needs, but
          accidentally disrupt operations of/in different parts of the
          network. The social compact that maintains the stability of the
          network relies on accepting common specifications, and on the
          ability to verify that others also conform.</t>

          <t>Operational practice: Published transport specifications allow
          operators to check compliance. This can bring assurance to those
          operating networks, often avoiding the need to deploy complex
          techniques that routinely monitor and manage TCP/IP traffic flows
          (e.g. Avoiding the capital and operational costs of deploying flow
          rate-limiting and network circuit-breaker methods). This should
          continue when encrypted transport headers are used, but methods need
          to confirm that the traffic produced conforms to the expectations of
          the operator or developer.</t>

          <t>Restricting research and development: The use of encryption may
          impede independent research into new mechanisms, measurement of
          behaviour, and development initiatives. Experience shows that
          transport protocols are complicated to design and complex to deploy,
          and that individual mechanisms need to be evaluated while
          considering other mechanism, across a broad range of network
          topologies and with attention to the impact on traffic sharing the
          capacity. Adopting pervasive encryption of transport information
          could eliminate the independent self-checks that have previously
          been in place from research and academic contributors (e.g., the
          role of the IRTF ICCRG, and research publications in reviewing new
          transport mechanisms and assessing the impact of their experimental
          deployment).</t>
        </list></t>

      <t>Pervasive use of transport header encryption can impact the ways that
      protocols are designed, standardised, deployed, and operated. The choice
      of whether future transport protocols encrypt their protocol headers
      therefore needs to be taken based not solely on security and privacy
      considerations, but also taking into account the impact on operations,
      standards, and research. A network that is secure but unusable due to
      persistent congestion collapse is not an improvement, and while that
      would be an extreme outcome proposals that impose high costs for very
      limited benefits need to be considered carefully, to ensure the benefits
      outweigh the costs.</t>

      <section anchor="network"
               title="Current uses of Transport Headers within the Network">
        <t>The transport layer is the first end-to-end layer in the network
        stack. Despite headers having end-to-end meaning, some transport
        headers have come to be used in various ways within the Internet. In
        response to pervasive monitoring <xref target="RFC7624"></xref>
        revelations and the IETF consensus that "Pervasive Monitoring is an
        Attack" <xref target="RFC7258"></xref>, efforts are underway to
        increase encryption of Internet traffic, which would prevent
        visibility of transport headers. This affects on how network protocols
        are designed and used <xref target="I-D.mm-wg-effect-encrypt"></xref>.
        To understand these implications, it is first necessary to understand
        how transport layer headers are currently observed and/or modified by
        middleboxes within the network.</t>

        <t>Transport protocols can be designed to encrypt or authenticate
        transport header fields. Authentication methods at the transport layer
        can be sued to detect any changes to an immutable header field that
        were made by a network device along a path. The intentional
        modification of transport headers by middleboxes (such as Network
        Address Translation with Protocol Translation, NAT-PT, or Firewalls)
        is not considered.</t>

        <!--// Text removed in -04 of document

// Middleboxes

      <t>Transport information that is sent without end-to-end integrity check
      could be modified by "middleboxes" - defined as any intermediary box
      performing functions apart from normal, standard functions of an IP
      router on the data path between a source host and destination host <xref
      target="RFC3234"></xref>. When transport headers are modified by network
      devices on the path, this can change the end-to-end protocol transport
      protocol behaviour in a way that may have benefits (e.g., to user
      performance/cost) or may hinder (e.g., disrupting application
      experience). Whatever the outcome, modification of packets by a
      middlebox was not usually intended when the protocol was specified and
      is usually not known by the sending or receiving endpoints. This section
      identifies ways that actors can benefit by observing (non-encrypted)
      transport header fields at devices in the network.</t>

      <t>Middleboxes have been deployed for a variety of reasons <xref
      target="RFC3234"></xref>, including protocol enhancement, proxies such
      as Protocol Enhancing Proxies (PEPs) <xref target="RFC3135"></xref>, TCP
      acknowledgement (ACK) enhancement <xref target="RFC3449"></xref>, use by
      application protocol caches <xref
      target="I-D.mm-wg-effect-encrypt"></xref>, application layer gateways
      <xref target="I-D.mm-wg-effect-encrypt"></xref>, etc. <xref
      target="I-D.dolson-plus-middlebox-benefits"></xref> summarizes some of
      the functions provided by such middleboxes, and benefits that may arise
      when used in specific deployment scenarios. Such methods, which involve
      in-network modification of transport headers, are not further
      discussed.</t>

      <t>Transport protocols can be designed to encrypt or authenticate
      transport header fields. Authentication methods at the transport layer
      can detect any changes to an immutable header field that were made by a
      network device along a path. These methods do not require encryption of
      the header fields, and hence authenticated fields may remain visible to
      network devices. A receiving transport endpoint can use an integrity
      check to avoid accepting modified protocol headers. This document
      therefore does not consider the case where there is undetected
      modification of the transport header fields as a packet traverses the
      network path. The intentional modification of transport headers by
      middleboxes (such as Network Address Translation with Protocol
      Translation, NAT-P) is not considered.</t>

// Users

      <t>This document seeks to identify the implications of various
      approaches to transport protocol authentication and encryption. In
      particular, it focus on the use of transport headers within the network,
      and examines the implications on measurements used to support network
      operations, traffic research and the evolution of new protocols. The
      list of actors who perform measurements include:</t>

      <t><list style="symbols">
          <t>Protocol developers and implementers of TCP/IP stacks;</t>

          <t>Researchers working on new mechanisms;</t>

          <t>Use of new applications using existing applications;</t>

          <t>Analysis researching the impact of mechanisms on network
          equipment or specific network topologies;</t>

          <t>Staff supporting operation of a network.</t>
        </list></t>

//ACtive measurement

      <t>One approach is to use active measurement using dedicated tools to
      generate and measure test traffic. To test a transport path, such active
      tools need to be run from an endpoint, and most operators do not have
      access to user equipment. There may also be costs associated with
      running such tests (e.g., the implications of bandwidth tests in a
      mobile network are obvious). Some active measurements (e.g., response
      under load or particular workloads) may perturb other traffic, and could
      require dedicated access to the network segment. An alternative approach
      is to use in-network techniques that observe transport packet headers in
      operational networks to make the measurements.</t>

// Why measurment is important (draft)

      <t>Transport layer information can help identify whether the
      link/network tuning is effective and alert to potential problems that
      can be hard to derive from link or device measurements alone. The design
      trade-offs for radio networks are often very different to those of wired
      networks. A radio-based network (e.g., cellular mobile, enterprise WiFi,
      satellite access/back-haul, point-to-point radio) has the complexity of a
      subsystem that performs radio resource management - with direct impact
      on the available capacity, and potentially loss/reordering of packets.
      The impact of the pattern of loss and congestion, differs for different
      traffic types, correlation with propagation and interference can all
      have significant impact on the cost and performance of a provided
      service. The need for this type of information is expected to increase
      as operators bring together heterogeneous types of network equipment and
      seek to deploy opportunistic methods to access radio spectrum.</t>
-->

        <section title="Observing Transport Information in the Network">
          <t>In-network observation of transport protocol headers requires
          knowledge of the format of the transport header:</t>

          <t><list style="symbols">
              <t>Flows need to be identified at the level required for
              monitoring;</t>

              <t>The protocol and version of the header need to be observable.
              As protocols evolve over time and there may be a need to
              introduce new transport headers. This may require interpretation
              of protocol version information or connection setup
              information;</t>

              <t>Location and syntax of any transport headers to be observed.
              IETF transport protocols specify this information.</t>
            </list><vspace blankLines="1" />The following subsections describe
          various ways that observable transport information may be
          utilised.</t>

          <section anchor="demux" title="Flow Identification">
            <t>Transport protocol header information can identify a flow and
            the connection state of the flow, together with the protocol
            options being used. In some usages, a low-numbered (well-known )
            port can identify a protocol (although port information alone is
            not sufficient to guarantee identification of a protocol).
            Transport protocols, such as TCP and Stream Control Transport
            Protocol (SCTP) specify a standard base header that includes
            sequence number information and other data, with the possibility
            to negotiate additional headers at connection setup, identified by
            an option number in the transport header. UDP-based protocols can
            use, but sometimes do not use, well-known ports. Some can instead
            be identified by signalling protocols or through the use of magic
            numbers placed in the first byte(s) of the datagram payload.</t>
          </section>

          <section anchor="stats"
                   title="Metrics derived from Transport Layer Headers">
            <t>Some actors have a need to characterise the performance of
            link/network segments. Passive monitoring uses observed traffic to
            makes inferences from transport headers to derive these
            measurements. A variety of open source and commercial tools have
            been deployed that utilise this information. The following metrics
            can be derived from transport header information:</t>

            <t><list style="hanging">
                <t hangText="Traffic Rate and Volume:">Header infromation may
                allow derivation of volume measures per-application, to
                characterise the traffic that uses a network segment or the
                pattern of network usage. This may be measured per endpoint or
                aggregate of endpoint (e.g., by an operator to assess
                subscriber usage). It can also be used to trigger
                measurement-based traffic shaping and to implement QoS support
                within the network and lower layers. Volume measures can be
                valuable for capacity planning (providing detail of trends
                rather than the volume per subscriber).</t>

                <t hangText="Loss Rate and Loss Pattern:">Flow loss rate may
                be derived and is often used as a metric for performance
                assessment and to characterise transport behaviour.
                Understanding the root cause of loss can help an operator
                determine whether this requires corrective action.</t>

                <t>There are various cause of loss, including: corruption on a
                link (e.g., interference on a radio link), buffer overflow
                (e.g., due to congestion), policing (traffic management),
                buffer management (e.g., Active Queue Management, AQM).
                Understanding flow loss rate requires either maintaining per
                flow packet counters or by observing sequence numbers in
                transport headers. Loss can be monitored at the interface
                level by devices in the network. It is often important to
                understand the conditions under which packet loss occurs. This
                usually requires relating loss to the traffic flowing on the
                network segment at the time of loss. </t>

                <t>Observation of transport feedback information (observing
                loss reports, e.g., RTP Control Protocol (RTCP), TCP SACK) can
                increase understanding of the impact of loss and help identify
                cases where loss may have been wrongly identified, or the
                transport did not require the lost packet. It is sometimes
                more important to understand the pattern of loss, than the
                loss rate - since losses can often occur as bursts, rather
                than randomly-timed events.</t>

                <t hangText="Throughput and Goodput:">The throughput observed
                by a flow can be determined even when a flow is encrypted,
                providing the individual flow can be identified. Goodput <xref
                target="RFC7928"> </xref> is a measure of useful data
                exchanged (the ratio of useful/total volume of traffic sent by
                a flow), which requires ability to differentiate loss and
                retransmission of packets (e.g., by observing packet sequence
                numbers in the TCP or the Real Time Protocol, RTP, headers
                <xref target="RFC3550"></xref>).</t>

                <t hangText="Latency:">Latency is a key performance metric
                that impacts application response time and user-perceived
                response time. It often indirectly impacts throughput and flow
                completion time. Latency 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 <xref
                target="Latency"></xref>. Of these, unnecessary/unwanted
                queuing in network buffers has often been observed as a
                significant factor. Once the cause of unwanted latency has
                been identified, this can often be eliminated, and determining
                latency metrics is a key driver in the deployment of AQM <xref
                target="RFC7567"></xref>, DiffServ <xref
                target="RFC2474"></xref>, and Explicit Congestion Notification
                (ECN) <xref target="RFC3168"></xref> <xref
                target="RFC8087"></xref>.</t>

                <t>To measure latency across a part of the path, an
                observation point can measure the experienced round trip time
                (RTT) using packet sequence numbers, and acknowledgements, or
                by observing header timestamp information. Such information
                allows an observation point in the network to determine not
                only the path RTT, but also to measure the upstream and
                downstream contribution to the RTT. This may be used to locate
                a source of latency, e.g., by observing cases where the ratio
                of median to minimum RTT is large for a part of a path.</t>

                <t>An example usage of this method could identify excessive
                buffers to help deploy or configure AQM <xref
                target="RFC7567"></xref> <xref target="RFC7928"></xref> to
                effectively eliminate unnecessary queuing in routers and other
                devices. AQM methods need to be deployed at the capacity
                bottleneck, but are often deployed in combination with other
                techniques, such as scheduling <xref target="RFC7567"> </xref>
                <xref target="I-D.ietf-aqm-fq-codel"> </xref> and although
                parameter-less methods are desired <xref target="RFC7567">
                </xref>, current methods <xref target="I-D.ietf-aqm-fq-codel">
                </xref> <xref target="I-D.ietf-aqm-codel"> </xref> <xref
                target="I-D.ietf-aqm-pie"> </xref> often cannot scale across
                all possible deployment scenarios. The service offered by
                operators can therefore benefit from latency information to
                understand the impact of deployment and tune deployed
                services.</t>

                <t hangText="Jitter:">Some network applications are sensitive
                to changes in packet timing. For such applications, it can be
                necessary to measure the jitter observed along a portion of
                the path. The requirements to measure jitter resemble those
                for the measurement of latency.</t>

                <t hangText="Flow Reordering:">Significant flow reordering 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 re-buffering of real-time applications).
                Packet reordering can occur for many reasons (from equipment
                design to misconfiguration of forwarding rules).</t>

                <t>As in the drive to reduce network latency, there is a need
                for operational tools to detect mis-ordered packet flows and
                quantify the degree or reordering. Techniques for measuring
                reordering typically observe packet sequence numbers. Metrics
                have been defined that evaluate whether a network has
                maintained packet order on a packet-by-packet basis <xref
                target="RFC4737"></xref> and <xref
                target="RFC5236"></xref>.</t>

                <t>There has been initiatives in the IETF transport area to
                reduce the impact of reordering within a transport flow,
                possibly leading to reduced the requirements for ordering.
                These have promise to simplify network equipment design as
                well as the potential to improve robustness of the transport
                service. Measurements of reordering can help understand the
                level of reordering within deployed infrastructure, and inform
                decisions about how to progress such mechanisms.</t>
              </list></t>

            <t>Some protocols provide in-built monitoring and reporting
            functions. Transport fields in the RTP header <xref
            target="RFC3550"></xref> <xref target="RFC4585"></xref> can be
            observed to derive traffic volume measurements and provide
            information on the progress and quality of a session using RTP.
            Key performance indicators are retransmission rate, packet drop
            rate, sector utilization level, a measure of reordering, peak
            rate, the CE-marking rate, etc. Metadata is often important to
            understand the context under which the data was collected,
            including the time, observation point, and way in which metrics
            were accumulated. The RTCP protocol directly reports some of this
            information in a form that can be directly visible in the network.
            A user of summary measurement data needs to trust the source of
            this data and the method used to generate the summary
            information.</t>

            <t>When encryption conceals information in packet headers,
            measurements need to rely on pattern inferences and other
            heuristics grows, and accuracy suffers <xref
            target="I-D.mm-wg-effect-encrypt"></xref>.</t>
          </section>

          <section title="Metrics derived from Network Layer Headers">
            <t>Some transport information is made visible in the network-layer
            protocol header. These header fields are not encrypted and can be
            used to make flow observations.</t>

            <t><list style="hanging">
                <t hangText="Use of IPv6 Network-Layer Flow Label:">Endpoints
                are encouraged expose flow information in the IPv6 Flow Label
                field of the network-layer header (e..g. <xref
                target="RFC8085"> </xref>). This can be used to inform
                network-layer queuing, forwarding (e.g., for equal cost
                multi-path (ECMP) routing, and Link Aggregation, LAG). This
                can provide useful information to assign packets to flows in
                the data collected by measurement campaigns. Although
                important to characterising a path, it does not directly
                provide any performance data.</t>

                <t
                hangText="Use Network-Layer Differentiated Services Code Point Point:">Application
                can expose their delivery expectations to the network by
                setting the Differentiated Services Code Point (DSCP) field of
                IPv4 and IPv6 packets. This can be used to inform
                network-layer queuing and forwarding, and can also provide
                information on the relative importance of packet information
                collected by measurement campaigns, but does not directly
                provide any performance data.</t>

                <t>This field provides explicit information that can be used
                in place of inferring traffic requirements (e.g., by inferring
                QoS requirements from port information via a multi-field
                classifier). The DSCP value can therefore impact the quality
                of experience for a flow. Observations of service performance
                need to consider this field when a network path has support
                for differentiated service treatment.</t>

                <t hangText="Use of Explicit Congestion Marking:">ECN<xref
                target="RFC3168"> </xref> is an optional transport mechanism
                that uses a code point in the network-layer header. Use of ECN
                can offer gains in terms of increased throughput, reduced
                delay, and other benefits when used over a path that includes
                equipment that supports an AQM method that performs Congestion
                Experienced (CE) marking of IP packets <xref
                target="RFC8087"></xref>.</t>

                <t>ECN exposes the presence of congestion on a network path to
                the transport and network layer. The reception of CE-marked
                packets can therefore be used to monitor the presence and
                estimate the level of incipient congestion on the upstream
                portion of the path from the point of observation (Section 2.5
                of <xref target="RFC8087"> </xref>). Because ECN marks carried
                in the IP protocol header, it is much easier to measure ECN
                than metering packet loss. However, interpreting the marking
                behaviour (i.e., assessing congestion and diagnosing faults)
                requires context from the transport layer (path RTT,
                visibility of loss - that could be due to queue overflow,
                congestion response, etc) <xref target="RFC7567"></xref>.</t>

                <t>Some ECN-capable network devices can provide richer (more
                frequent and fine-grained) indication of their congestion
                state. Setting congestion marks proportional to the level of
                congestion (e.g., Data Center TCP, DCTP <xref
                target="I-D.ietf-tcpm-dctcp"> </xref>, and Low Latency Low
                Loss Scalable throughput, L4S, <xref
                target="I-D.ietf-tsvwg-l4s-arch"></xref>.</t>

                <t>Use of ECN requires feedback a transport to feed back
                reception information on the path towards the data sender.
                Exposure of this Transport ECN feedback provides an additional
                powerful tool to understand ECN-enabled AQM-based networks
                <xref target="RFC8087"></xref>.</t>

                <t>AQM and ECN offer a range of algorithms and configuration
                options, it is therefore important for tools to be available
                to network operators and researchers to understand the
                implication of configuration choices and transport behaviour
                as use of ECN increases and new methods emerge <xref
                target="RFC7567"> </xref> <xref target="RFC8087"> </xref>.
                ECN-monitoring is expected to become important as AQM is
                deployed that supports ECN <xref target="RFC8087"></xref>.</t>
              </list></t>
          </section>
        </section>

        <section title="Transport Measurement">
          <t>The common language between network operators and
          application/content providers/users is packet transfer performance
          at a layer that all can view and analyse. For most packets, this has
          been transport layer, until the emergence of QUIC, with the obvious
          exception of VPNs and IPsec. When encryption conceals more layers in
          a packet, people seeking understanding of the network operation need
          to rely more on pattern inferences and other heuristics. The
          accuracy of measurements therefore suffers, as does the ability to
          investigate and troubleshoot interactions between different
          anomalies. For example, the traffic patterns between a web server
          and a browser are dependent on browser supplier and version, even
          use of the application (e.g., web e-mail access). Even when
          measurement datasets are made available (e.g., from endpoints)
          additional metadata, such as the state of the network, is often
          required to interpret the data. Collecting and coordinating such
          metadata is more difficult when the observation point is at a
          different location to the bottleneck/device under evaluation.</t>

          <t>Packet sampling techniques can be used to scale the processing
          involved in observing packets on high rate links. This exports only
          the packet header information of (randomly) selected packets. The
          utility of these measurements depends on the type of bearer and
          number of mechanisms used by network devices. Simple routers are
          relatively easy to manage, a device with more complexity demands
          understanding of the choice of many system parameters. This level of
          complexity exists when several network methods are combined.</t>

          <t>This section discusses topics concerning observation of transport
          flows, with a focus on transport measurement.</t>

          <section anchor="point" title="Point of Measurement">
            <t>Often measurements can only be understood in the context of the
            other flows that share a bottleneck. A simple example is
            monitoring of AQM. For example, FQ-CODEL <xref
            target="I-D.ietf-aqm-fq-codel"></xref>, combines sub queues
            (statistically assigned per flow), management of the queue length
            (CODEL), flow-scheduling, and a starvation prevention mechanism.
            Usually such algorithms are designed to be self-tuning, but
            current methods typically employ heuristics that can result in
            more loss under certain path conditions (e.g., large RTT, effects
            of multiple bottlenecks <xref target="RFC7567"></xref>).</t>

            <t>In-network measurements can distinguish between upstream and
            downstream metrics with respect to the measurement point. These
            are particularly useful for locating the source of problems or to
            assess the performance of a network segment or a particular device
            configuration.</t>

            <t>By correlating observations at multiple points along the path
            (e.g., at the ingress and egress of a network segment), an
            observer can determine the contribution of a portion of the path
            to an observed metric (to locate a source of delay, jitter, loss,
            reordering, congestion marking, etc.).</t>
          </section>

          <section title="Use by Operators to Plan and Provision Networks ">
            <t>Traffic measurements (e.g., traffic volume, loss, latency) is
            used by operators to help plan deployment of new equipment and
            configurations in their networks. Data is also important to
            equipment vendors who need to understand traffic trends traffic
            and patterns of usage as inputs to decisions about planning
            products and provisioning for new deployments. This measurement
            information can also be correlated with billing information when
            this is also collected by an operator.</t>

            <t>A network operator supporting traffic that uses transport
            header encryption may not have access to per-flow measurement
            data. Trends in aggregate traffic can be observed and can be
            related this to the endpoint addresses being used, but it may not
            be possible to correlate patterns in measurements with changes in
            transport protocols (e.g., the impact of changes in introducing a
            new transport protocol mechanism). This increases the dependency
            on other indirect sources of information to inform planning and
            provisioning.</t>
          </section>

          <section title="Service Performance Measurement">
            <t>Traffic measurements (e.g., traffic volume, loss, latency) can
            be used by various actors to help analyse the performance
            available to users of a network segment, and inform operational
            practice. While active measurements may be used in-network passive
            measurements can have advantages in terms of eliminating
            unproductive traffic, reducing the influence of test traffic on
            the overall traffic mix, and the ability to choose the point of
            measurement <xref target="point"></xref>.</t>
          </section>

          <section anchor="Compliance"
                   title="Measuring Transport to Support Network Operations">
            <t>Information provided by tools observing transport headers can
            help determine whether mechanisms are needed in the network to
            prevent flows from acquiring excessive network capacity. Operators
            can implement operational practices to manage traffic flows (e.g.,
            to prevent flows from acquiring excessive network capacity under
            severe congestion) by deploying rate-limiters, traffic shaping or
            network transport circuit breakers <xref target="RFC8084">
            </xref>.</t>

            <t><list style="hanging">
                <t
                hangText="Congestion Control Compliance of Traffic:">Congestion
                control is a key transport function. Many network operators
                implicitly accept that TCP traffic to comply with a behaviour
                that is acceptable for use in the shared Internet. TCP
                algorithms have been continuously improved over decades, and
                they have reached a level of efficiency and correctness that
                custom application-layer mechanisms will struggle to easily
                duplicate <xref target="RFC8085"> </xref>.</t>

                <t>A standards-compliant TCP stack provides congestion control
                may therefore be 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 back-off
                and reduce the load placed on the network. This is the normal
                expected behaviour for TCP and SCTP.</t>

                <t>However when anomolies are detected, tools can interpret
                the transport protocol header information to help understand
                the impact of specific transport protocols (or protocol
                mechanisms) on the other traffic that shares a network. An
                observation in the network can gain understanding of the
                dynamics of a flow and its congestion control behaviour.
                Analysing observed packet sequence numbers can be used to help
                build confidence that an application flow backs-off its share
                of the network load in the face of 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.</t>

                <t
                hangText="Congestion Control Compliance for UDP Traffic">UDP
                provides a minimal message-passing 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 an
                Internet transport are required to employ mechanisms to
                prevent congestion collapse, avoid unacceptable contributions
                to jitter/latency, and to establish an acceptable share of
                capacity with concurrent traffic <xref
                target="RFC8085"></xref>.</t>

                <t>A network operator needs tools to understand if UDP flows
                comply with congestion control expectations and therefore
                whether there is a need to deploy methods such as
                rate-limiters, transport circuit breakers or other methods to
                enforce acceptable usage for the offered service. </t>

                <t>UDP flows that expose a well-known header by specifying the
                format of header fields can allow information to 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 the RTP and RTCP header information
                of real-time flows (see <xref target="stats"></xref>.</t>
              </list></t>
          </section>
        </section>

        <section title="Use for Network Diagnostics and Troubleshooting ">
          <t>Transport header information is useful for a variety of
          operational tasks <xref target="I-D.mm-wg-effect-encrypt"> </xref>:
          to diagnose network problems, assess performance, capacity planning,
          management of denial of service threats, and responding to user
          performance questions. These tasks seldom involve the need to
          determine the contents of the transport payload, or other
          application details.</t>

          <t>A network operator supporting traffic that uses transport header
          encryption can see only encrypted transport headers. This prevents
          deployment of performance measurement tools that rely on transport
          protocol information. Choosing to encrypt all information may be
          expected to reduce the ability for networks to &ldquo;help&rdquo;
          (e.g., in response to tracing issues, making appropriate Quality of
          Service, QoS, decisions). For some this will be blessing, for others
          it may be a curse. For example, operational performance data about
          encrypted flows needs to be determined by traffic pattern analysis,
          rather than relying on traditional tools. This can impact the
          ability of the operator to respond to faults, it could require
          reliance on endpoint diagnostic tools or user involvement in
          diagnosing and troubleshooting unusual use cases or non-trivial
          problems. A key need here is that tools need to provide useful
          information during network anomalies (e.g., significant reordering,
          high or intermittent loss). Although many network operators utilise
          transport information as a part of their operational practice, the
          network will not break because transport headers are encrypted.</t>
        </section>

        <section title="Observing Headers to Implement Network Policy">
          <t>Information from the transport protocol can be used by a
          multi-field classifier as a part of policy framework. Policies are
          commonly used for QoS management for resource-constrained networks
          and by firewalls that use the information to implement access rules.
          Traffic that cannot be classified, will typically receive a default
          treatment.</t>
        </section>
      </section>

      <!--// The following text was removed in -04:

      but also impact on operating networks and the constrictions this
      may place on evolution of Internet protocols. 

      While encryption of all
      transport information can help reduce ossification of the transport
      layer, it could result in ossification of the network service. There can
      be advantages in providing a level of ossification of the header in
      terms of providing a set of open specified header fields that are
      observable from in-network devices.-->

      <!--
      <section title="Requirements for Observing Transport Flows">
        <t>Transport measurement and analysis of the impact of network
        characteristics have been important to the design of current IETF
        transport protocols. Transport measurement introduces the following
        requirements to identify the observable information:</t>

        <t><list style="symbols">
            <t>Observable protocol type and version information is needed to
            identify the protocol being used when characterising the traffic,
            and to enable further observation of the flow.</t>

            <t>Observable format information is needed to allow an observer to
            determine the presence of any observable header fields.</t>

            <t>A published specification is needed to allow an observer to
            determine the size and position of any observable header fields so
            that these fields may be decoded by a measurement tool.</t>

            <t>Observable flow start/stop information can assist some forms of
            measurement and has utility for middleboxes that track state.</t>
          </list></t>

        <t>The need for in-network transport information (e.g., for various
        forms of measurement) introduces the following requirements for
        observable information in transport header fields:</t>

        <t><list style="symbols">
            <t>Observable transport information to determine the progress of
            flows for each direction of communication. This requires
            observable packet numbers.</t>

            <t>Observable transport information to determine loss, and
            understand the response to congestion for a network segment. This
            requires observable reception information (e.g., packet
            acknowledgement information).</t>

            <t>Observable transport information is needed for more advanced
            measurement of latency, jitter, etc. This requires an observable
            field and a method to correlating return information with the
            observed field. This could utilise a packet number and/or
            transmission timestamp information. This information needs to be
            available in both directions of transmission.</t>

          </list></t>
      </section>
    -->
    </section>

    <section anchor="Transport-encrypt"
             title="Encryption and Authentication of Transport Headers">
      <t>End-to-end encryption can be applied at various protocol layers. It
      can be applied above the transport to encrypt the transport payload.
      Encryption methods can hide information from an eavesdropper in the
      network. Encryption can also help protect the privacy of a user, by
      hiding data relating to user/device identity or location. Neither an
      integrity check nor encryption methods prevent traffic analysis, and
      usage needs to reflect that profiling of users, identification of
      location and fingerprinting of behaviour can take place even on
      encrypted traffic flows.</t>

      <t>One motive to use encryption is a response to perceptions that the
      network has become ossified by over-reliance on middleboxes that prevent
      new protocols and mechanisms from being deployed. This has lead to a
      common perception that there is too much &ldquo;manipulation&rdquo; of
      protocol headers within the network, and that designing to deploy in
      such networks is preventing transport evolution. In the light of this, a
      method that authenticates transport headers may help improve the pace of
      transport development, by eliminating the need to always consider
      deployed middleboxes <xref target="I-D.trammell-plus-abstract-mech">
      </xref>, or potentially to only explicitly enable middlebox use for
      particular paths with particular middleboxes that are deliberately
      deployed to realise a useful function for the network and/or users<xref
      target="RFC3135"> </xref>.</t>

      <t>Another motivation stems from increased concerns about privacy and
      surveillance. Some Internet users have valued the ability to protect
      identity, user location, and defend against traffic analysis, and have
      used methods such as IPsec ESP and Tor <xref target="Tor"></xref>.
      Revelations about the use of pervasive surveillance <xref
      target="RFC7624"></xref> have, to some extent, eroded trust in the
      service offered by network operators, and following the Snowden
      revelation in the USA in 2013 has led to an increased desire for people
      to employ encryption to avoid unwanted "eavesdropping" on their
      communications. Whatever the reasons, there are now activities in the
      IETF to design new protocols that may include some form of transport
      header encryption (e.g., QUIC <xref target="I-D.ietf-quic-transport">
      </xref>).</t>

      <t>Authentication methods (that provide integrity checks of protocols
      fields) have also been specified at the network layer, and this also
      protects transport header fields. The network layer itself carries
      protocol header fields that are increasingly used to help forwarding
      decisions reflect the need of transport protocols, such the IPv6 Flow
      Label <xref target="RFC6437"></xref>, the Differentiated Services Code
      Point (DSCP) <xref target="RFC2474"></xref> and Explicit Congestion
      Notification (ECN) <xref target="RFC3168"></xref>.</t>

      <t>The use of transport layer authentication and encryption exposes a
      tussle between middlebox vendors, operators, applications developers and
      users. <list style="symbols">
          <t>On the one hand, future Internet protocols that enable
          large-scale 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.</t>

          <t>On the other hand, encryption of transport layer header
          information has implications for people who are responsible for
          operating networks and researchers and analysts seeking to
          understand the dynamics of protocols and traffic patterns.</t>
        </list></t>

      <t>Whatever the motives, a decision to use pervasive of transport header
      encryption will have implications on the way in which design and
      evaluation is performed, and which can in turn impact the direction of
      evolution of the TCP/IP stack.</t>

      <t>The next subsections briefly review some security design options for
      transport protocols.</t>

      <section anchor="Auth-method"
               title="Authenticating the Transport Protocol Header">
        <t>Transport layer header information can be authenticated. An
        integrity check that protects the immutable transport header fields,
        but can still expose the transport protocol header information in the
        clear, allowing in-network devices to observes these fields. An
        integrity check can not prevent in-network modification, but can avoid
        a receiving accepting changes and avoid impact on the transport
        protocol operation.</t>

        <t>An example transport authentication mechanism is TCP-Authentication
        (TCP-AO) <xref target="RFC5925"> </xref>. This TCP option
        authenticates TCP segments, including the IP pseudo header, TCP
        header, and TCP data. TCP-AO protects the transport layer, preventing
        attacks from disabling the TCP connection itself. TCP-AO may interact
        with middleboxes, depending on their behaviour <xref target="RFC3234">
        </xref>.</t>

        <t>The IPsec Authentication Header (AH) <xref target="RFC4302">
        </xref> works at the network layer and authenticates the IP payload.
        This therefore also authenticates all transport headers, and verifies
        their integrity at the receiver, preventing in-network
        modification.</t>
      </section>

      <section anchor="Encrypt-method"
               title="Encrypting the Transport Payload">
        <t>The transport layer payload can be encrypted to protect the content
        of transport segments. This leaves transport protocol header
        information in the clear. The integrity of immutable transport header
        fields could be protected by combining this with an integrity check
        (<xref target="Auth-method"></xref>).</t>

        <t>Examples of encrypting the payload include Transport Layer Security
        (TLS) over TCP <xref target="RFC5246"> </xref> <xref target="RFC7525">
        </xref> or Datagram TLS (DTLS) over UDP <xref target="RFC6347">
        </xref> <xref target="RFC7525"> </xref>.</t>
      </section>

      <section anchor="Encrypt" title="Encrypting the Transport Header">
        <t>The network layer payload could be encrypted (including the entire
        transport header and payload). This method does not expose any
        transport information to devices in the network, which also prevents
        modification along the network path.</t>

        <t>The IPsec Encapsulating Security Payload (ESP) <xref
        target="RFC4303"> </xref> is an example of encryption at the network
        layer, it encrypts and authenticates all transport headers, preventing
        visibility of the headers by in-network devices. Some Virtual Private
        Network (VPN) methods also encrypt these headers.</t>
      </section>

      <section anchor="Auth_and_Encrypt"
               title="Authenticating Transport Information and Selectively Encrypting the Transport Header">
        <t>A transport protocol design can encrypt selected header fields,
        while also choosing to authenticate fields in the transport header.
        This allows specific transport header fields to be made observable by
        network devices. End-to end integrity checks can prevent an endpoint
        from undetected modification of the immutable transport headers.</t>

        <t>The choice of which fields to expose and which to encrypt is a
        design choice for the transport protocol. Any selective encryption
        method requires trading two conflicting goals for a transport protocol
        designer to decide which header fields to encrypt. On the one hand,
        security work typically employs a design technique that seeks to
        expose only what is needed. On the other hand, there may be
        performance and operational benefits in exposing selected information
        to network tools.</t>

        <t>Mutable fields in the transport header provide opportunities for
        middleboxes to modify the transport behaviour (e.g., the extended
        headers described in <xref
        target="I-D.trammell-plus-abstract-mech"></xref>). This considers only
        immutable fields in the transport headers, that is, fields that may be
        authenticated end-to-end across a path.</t>

        <t>An example of a method that encrypts some, but not all, transport
        information is GRE-in-UDP <xref target="RFC8086"> </xref> when used
        with GRE encryption.</t>
      </section>

      <section title="Adding Transport Information to Network-Layer Protocol Headers">
        <t>The transport information can be made visible in a network-layer
        header. This has the advantage that this information can then be
        observed by in-network devices. This has the advantage that a single
        header can support all transport protocols, but there may also be less
        desirable implications of separating the operation of the transport
        protocol from the measurement framework.</t>

        <t>Some measurements may be made by adding additional protocol headers
        carrying operations, administration and management (OAM) information
        to packets at the ingress to a maintenance domain (e.g., an Ethernet
        protocol header with timestamps and sequence number information using
        a method such as 802.11ag) and removing the additional header at the
        egress of the maintenance domain. This approach enables some types of
        measurements, but does not cover the entire range of measurements
        described in this document.</t>

        <t>Another example of a network-layer approach is the IPv6 Performance
        and Diagnostic Metrics (PDM) Destination Option <xref
        target="I-D.ietf-ippm-6man-pdm-option"></xref>. This allows a sender
        to optionally include a destination option that caries header fields
        that can be used to observe timestamps and packet sequence numbers.
        This information could be authenticated by receiving transport
        endpoints 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 method needs to be explicitly enabled at the
        sender.</t>

        <t>A drawback of using extension headers is that IPv4 network options
        are often not supported (or are carried on a slower processing path)
        and some IPv6 networks are also known to drop packets that set an IPv6
        header extension. Another disadvantage is that protocols that
        separately expose header information do not necessarily have an
        advantage to expose the information that is utilised by the protocol
        itself, and could manipulate this header information to gain an
        advantage from the network.</t>
      </section>
    </section>

    <section title="Implications of Protecting the Transport Headers">
      <t>This section explores key implications of working with encrypted
      transport protocols.</t>

      <section title="Independent Measurement">
        <t>Independent observation by multiple actors is important for
        scientific analysis. Encrypting transport header encryption changes
        the ability for other actors to collect and independently analyse
        data. Internet transport protocols employ a set of mechanisms. Some of
        these need to work in cooperation with the network layer - loss
        detection and recovery, congestion detection and congestion control,
        some of these need to work only end-to-end (e.g., parameter
        negotiation, flow-control).</t>

        <t>When encryption conceals information in the transport header, it
        could be possible for an applications to provide summary data on
        performance and usage of the network. This data could be made
        available to other actors. However, this data needs to contain
        sufficient detail to understand (and possibly reconstruct the network
        traffic pattern for further testing) and to be correlated with the
        configuration of the network paths being measured. Sharing information
        between actors needs also to consider the privacy of the user and the
        incentives for providing accurate and detailed information. Protocols
        that expose the state information used by the transport protocol in
        their header information (e.g., timestamps used to calculate the RTT,
        packet numbers used to asses congestion and requests for
        retransmission) provide an incentive for the sending endpoint to
        provide correct information, increasing confidence that the observer
        understands the transport interaction with the network. This becomes
        important when considering changes to transport protocols, changes in
        network infrastructure, or the emergence of new traffic patterns.</t>
      </section>

      <section title="Characterising &quot;Unknown&quot; Network Traffic">
        <t>The patterns and types of traffic that share Internet capacity
        changes with time as networked applications, usage patterns and
        protocols continue to evolve.</t>

        <t>If "unknown" or "uncharacterised" traffic patterns form a small
        part of the traffic aggregate passing through a network device or
        segment of the network the path, the dynamics of the uncharacterised
        traffic may not have a significant collateral impact on the
        performance of other traffic that shares this network segment. Once
        the proportion of this traffic increases, the need to monitor the
        traffic and determine if appropriate safety measures need to be put in
        place.</t>

        <t>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. On a shorter timescale,
        information may also need to be collected to manage denial of service
        attacks against the infrastructure.</t>
      </section>

      <section title="Accountability and Internet Transport Protocols">
        <t>Information provided by tools observing transport headers can help
        determine whether mechanisms are needed in the network to prevent
        flows from acquiring excessive network capacity, and where needed to
        deploy appropriate tools <xref target="Compliance"></xref>.
        Obfuscating or hiding this information using encryption is expected to
        lead operators and maintainers of middleboxes (firewalls, etc.) to
        seek other methods to classify and mechanisms to condition network
        traffic. A lack of data seems likely to reduce the level of precision
        with which these mechanisms are applied, and this needs to be
        considered when evaluating the impact of designs for transport
        encryption.</t>
      </section>

      <section title="Impact on Research, Development and Deployment">
        <t>Measurement data is increasingly being used to inform design
        decisions in networking research, during development of new mechanisms
        and protocols and in standardisation. Measurement has a critical role
        in the design of transport protocol mechanisms and their acceptance by
        the wider community (e.g., as a method to judge the safety for
        Internet deployment). Observation of pathologies are also important in
        understanding the interactions between cooperating protocols and
        network mechanism, the implications of sharing capacity with other
        traffic and the impact of different patterns of usage.</t>

        <t>Attention needs to be paid to the expected scale of deployment of
        new protocols and protocol mechanisms. Whatever the mechanism,
        experience has shown that it is often difficult to correctly implement
        combination of mechanisms <xref target="RFC8085"></xref>. These
        mechanisms therefore typically evolve as a protocol matures, or in
        response to changes in network conditions, changes in network traffic
        or changes to application usage.</t>

        <t>The growth and diversity of applications and protocols using the
        Internet continues to expand - and there has been recent 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, DCTP <xref target="I-D.ietf-tcpm-dctcp"></xref>, and
        methods proposed for Low Latency Low Loss Scalable throughput, L4S).
        For each new method 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.</t>

        <t>Open standards motivate a desire for this evaluation to include
        independent observation and evaluation of performance data, which in
        turn suggests control over where and when measurement samples are
        collected. This requires consideration of the appropriate balance
        between encrypting all and no transport information.</t>
      </section>
    </section>

    <section anchor="Acknowledgements" title="Acknowledgements">
      <t>The author would like to thank all who have talked to him
      face-to-face or via email. ...</t>

      <t>This work has received funding from the European Union&rsquo;s
      Horizon 2020 research and innovation programme under grant agreement No
      688421.The opinions expressed and arguments employed reflect only the
      authors' view. The European Commission is not responsible for any use
      that may be made of that information.</t>
    </section>

    <!-- Possibly a 'Contributors' section ... -->

    <section anchor="Security" title="Security Considerations">
      <t>This document is about design and deployment considerations for
      transport protocols. 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; no
      current full-featured standards-track transport protocol provides these
      features on its own. Therefore, these features are not considered in
      this document, with the exception of native authentication capabilities
      of TCP and SCTP for which the security considerations in RFC4895.</t>

      <t>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. Standard protocols and
      understanding of the interactions between mechanisms and traffic
      patterns can also provide valuable insight into appropriate security
      design. Like congestion control mechanisms, security mechanisms are
      difficult to design and implement correctly. It is hence recommended
      that applications employ well-known standard security mechanisms such as
      DTLS, TLS or IPsec, rather than inventing their own.</t>
    </section>

    <section anchor="IANA" title="IANA Considerations">
      <t>XX RFC ED - PLEASE REMOVE THIS SECTION XXX</t>

      <t>This memo includes no request to IANA.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      &RFC2119;
    </references>

    <references title="Informative References">
      &RFC3168;

      &RFC2474;

      &RFC3234;

      &RFC3135;

      &RFC8087;

      &RFC4585;

      &RFC5246;

      &RFC7525;

      &RFC4301;

      &RFC7567;

      &RFC7713;

      &RFC6437;

      &RFC7624;

      &RFC3449;

      &RFC4302;

      &RFC6347;

      &RFC8084;

      &RFC8085;

      &RFC8086;

      &RFC7258;

      &RFC4303;

      &RFC6679;

      &RFC7928;

      &RFC3819;

      &RFC5925;

      &RFC5559;

      &RFC3550;

      &RFC5236;

      &RFC4737;

      &I-D.mm-wg-effect-encrypt;

      &I-D.ietf-quic-transport;

      &I-D.dolson-plus-middlebox-benefits;

      &I-D.trammell-plus-abstract-mech;

      &I-D.trammell-plus-statefulness;

      &I-D.ietf-aqm-fq-codel;

      &I-D.ietf-aqm-codel;

      &I-D.ietf-aqm-pie;

      &I-D.ietf-tcpm-dctcp;

      &I-D.ietf-tcpm-accurate-ecn;

      &I-D.ietf-tsvwg-l4s-arch;

      &I-D.ietf-ippm-6man-pdm-option;

      <reference anchor="Measure">
        <front>
          <title>Measurement-based Protocol Design</title>

          <author initials="G" surname="Fairhurst"></author>

          <author initials="M" surname="Kuehlewind"></author>

          <author initials="D" surname="Lopez"></author>

          <date month="June" year="2017" />
        </front>
      </reference>

      <reference anchor="Latency">
        <front>
          <title>Reducing Internet Latency: A Survey of Techniques and Their
          Merits</title>

          <author initials="B" surname="Briscoe"></author>

          <date month="November" year="2014" />
        </front>
      </reference>

      <reference anchor="Tor">
        <front>
          <title>https://www.torproject.org</title>

          <author initials=" " surname="The Tor Project"></author>

          <date month="June" year="2017" />
        </front>
      </reference>
    </references>

    <section title="Revision information">
      <t>-00 This is an individual draft for the IETF community.</t>

      <t>-01 This draft was a result of walking away from the text for a few
      days and then reorganising the content.</t>

      <t>-02 This draft fixes textual errors.</t>

      <t>-03 This draft follows feedback from people reading this draft.</t>

      <t>-04 This adds an additional contributore and includes significant
      reworking to ready this for review by the wider IETF community Colin
      Perkins joined the author list.</t>

      <t>Comments from the community are welcome on the text and
      recommendations.</t>
    </section>
  </back>
</rfc>
