<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.35 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-pinkert-ippm-ip-measurement-option-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title>An IPv4 and IPv6 measurement option (MO) for hybrid flow measurements.</title>
    <seriesInfo name="Internet-Draft" value="draft-pinkert-ippm-ip-measurement-option-01"/>
    <author fullname="Tjeerd J. Pinkert">
      <organization>Siemens Mobility GmbH</organization>
      <address>
        <postal>
          <street>Ackerstrasse 22</street>
          <city>Braunschweig</city>
          <code>38126</code>
          <country>Germany</country>
        </postal>
        <email>tjeerd.pinkert@siemens.com</email>
        <uri>https://www.mobility.siemens.com</uri>
      </address>
    </author>
    <author fullname="Negar Masoudifar">
      <organization>Siemens Mobility GmbH</organization>
      <address>
        <postal>
          <street>Ackerstrasse 22</street>
          <city>Braunschweig</city>
          <code>38126</code>
          <country>Germany</country>
        </postal>
        <email>negar.masoudifar@siemens.com</email>
        <uri>https://www.mobility.siemens.com</uri>
      </address>
    </author>
    <author fullname="Akachukwu Adnife Nnamdi">
      <organization>Siemens Mobility GmbH</organization>
      <address>
        <postal>
          <street>Ackerstrasse 22</street>
          <city>Braunschweig</city>
          <code>38126</code>
          <country>Germany</country>
        </postal>
        <email>akachukwu.nnamdi@siemens.com</email>
        <uri>https://www.mobility.siemens.com</uri>
      </address>
    </author>
    <date year="2026" month="April" day="30"/>
    <area>OPS</area>
    <workgroup>IPPM Working Group</workgroup>
    <keyword>hybrid network measurements</keyword>
    <keyword>measurement data</keyword>
    <keyword>ip option</keyword>
    <abstract>
      <?line 127?>

<t>This document introduces an internet protocol (IP) measurement option (MO) that
contains information, normally not available to the receiver of IP packets, to
perform hybrid network measurements. In particular, measurements that need a
sender time stamp and a packet order number are then possible directly at the
receiver. The information contained in the IP MO can also be used by hosts
en-route to perform slightly more limited hybrid network measurements.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://example.com/LATEST"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-pinkert-ippm-ip-measurement-option/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        ippm Working Group mailing list (<eref target="mailto:WG@example.com"/>),
        which is archived at <eref target="https://example.com/WG"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/USER/REPO"/>.</t>
    </note>
  </front>
  <middle>
    <?line 137?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Hybrid network measurements on differentiated services (DS) microflows
<xref target="RFC2475"/>, following the IP performance metrics (IPPM) rationale outlined in
<xref target="RFC2330"/>, can be performed for a limited number of metrics without the need
for P-type packets. Using hybrid measurements, a complete characterisation of
an end-to-end path through the internet is not possible. Nevertheless, hybrid
measurements allow a measurement host to obtain important information about
the minimum or maximum quality (depending on the situation and metric) that
the network currently offers.</t>
      <t>The P-type packets used by, e.g., the one-way active measurement protocol
(OWAMP, <xref target="RFC4656"/>) and two-way active measurement protocol (TWAMP,
<xref target="RFC5357"/>), contain additional information that is needed for the calculation
of certain metrics. Two important pieces of information are the sequence
number and the timestamp, that are needed to calculate packet loss metrics and
packet delay metrics.</t>
      <t>To include such information in an IP packet, for measurement at the IP layer,
a suitable solution needs to be found. Since the data of IP packets is
determined by the upper stack configuration and the application protocol, the
only way is to include this information in the IP header. Fortunately, the
designers of the IPv4 and IPv6 protocols acknowledged the possibility of
inclusion of information for various purposes in the IP header as IP options.</t>
      <t>This document describes an IPv4 and IPv6 measurement option (MO) for the
measurement of packet loss, packet delay and other metrics that require a
sequence number and a timestamp from the sending host at the receiving host.</t>
    </section>
    <section anchor="justification-for-an-ip-measurement-option">
      <name>Justification for an IP measurement option</name>
      <t>In internetworks, the IP protocol is the unifying protocol in the network
stack. At the link layer various network technologies can be deployed that
are all capable of transporting IP packets. Although measurement techniques
and specifications are present for the lower layers, it is typically hard to
implement these such, that data from specific applications on a host can be
measured.</t>
      <t>Another concern is that, at the data link layer, each particular link layer
protocol adds protocol control information with a technology dependent amount
of data, to each IP packet. Therefore, measurements performed on various data
link layers cannot always be compared without assumptions.</t>
      <t>Typical internet applications use "sockets", a concept found in many of the
major operating systems, where both IP addresses, the transport protocol and
its port numbers are grouped. This is exactly the definition of a microflow.</t>
      <t>Nevertheless, transport layer protocols do typically not have the flexibility
to allow for measurements at the transport layer, since not all, or maybe even
least of the, transport protocols, include a sequence number and timestamp in
their data fragments. Also at the transport layer, the argument holds that
measurements are not necessarily comparable between different transport
protocols. In addition, a generic software, would also need adaptation for
each transport protocol, to perform (comparable) measurements when operating
higher up in the network stack.</t>
      <t>The IP protocol gets part of its flexibility from the capability of inserting
IP options into the IP header. Together with its unifying properties on
internet hosts, which allows comparison of measurement data among applications
and hosts, the network layer with the IP protocol forms the ideal place for
measurements, as acknowledged by the IPPM framework. The only downside of an
IP measurement option is that the IP header is enlarged. Adding slightly to
the amount of data sent through the network. In many cases this is offset by
the benefits of being capable of assessing the network quality at real-time.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in <xref target="BCP14"/> (<xref target="RFC2119"/>) (<xref target="RFC8174"/>) when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="metrics-for-the-ip-measurement-option">
      <name>Metrics for the IP measurement option</name>
      <t>The IP measurement option will be designed specifically for the following
metrics:
    - One-way Packet Delay, Mean Packet Delay, Packet Delay Variation,
    - One-way Packet Loss, Packet Reordering and Packet Duplication.</t>
      <t>The measurement option must be suitable for the measurement of microflows as
defined by <xref target="RFC2475"/> in the scope of DS. Microflows are identified by IP
source and destination addresses, the protocol id and transport layer source
and destination port numbers (when available). Measurements must be possible
between two end hosts on a point-to-point (P2P) IP link. Extension to multi-
point-to-multi-point links (MP2MP) should be possible. This requires that each
packet can be uniquely assigned to a microflow.</t>
      <t>In addition, it should be possible that hosts en-route, can use the IP MO to
measure or estimate the metrics on a microflow basis. Such measurements can
be done at boundary / gateway hosts of the network. One difficulty, in this
case, can be, that not all packets of a microflow must necessarily pass a
certain host, since paths through the network, for packets of the same micro-
flow, may differ.</t>
    </section>
    <section anchor="considerations-regarding-the-option-content">
      <name>Considerations regarding the option content</name>
      <t>Data rates and packet rates per microflow can be readily measured by source,
observer, and destination using a clock and the number of octets per microflow
traversing the network interface. These metrics do not need additional
information.</t>
      <section anchor="concerning-loss-reordering-and-duplicates">
        <name>Concerning loss, reordering and duplicates</name>
        <t>To measure packet losses, reordering and duplication, each packet must be
uniquely identifiable, and orderable, within the microflow. Only selected
transport layer protocols include such information, e.g., the TCP protocol.</t>
        <ul spacing="normal">
          <li>
            <t>The IP MO must include information to uniquely identify the position of each
IP packet in a stream of packets.</t>
          </li>
        </ul>
      </section>
      <section anchor="concerning-network-traversal-time-delay">
        <name>Concerning network traversal time (delay)</name>
        <t>To measure packet delay and other time-based properties of the network, the
time at the start of transmission (wire arrival time at the transmitting host)
and end of reception (wire exit time at the receiving host) of the IP packet
must be recorded. It is assumed in this document that hosts hosts have well
synchronised clocks. Clock synchronization is a topic that is addressed
abundantly elsewhere (<xref target="RFC2330"/>).</t>
        <t>The sending host records the start of transmission time, while the receiving
host records the end of reception time. In combination with the network
interface speed and the number of octets in the IP packet, the start of
reception time can be calculated at the receiving host. Note that the
receiving host can only timestamp at the end of reception, because only then
is clear that the packet has arrived complete and in good order.</t>
        <t>An exemption here can be hardware timestamp units that mark the start of
reception time. However, this time may include the store and forward time of
the input queue. With the wire arrival time at both hosts, the network delay
can be determined.</t>
        <t>The timestamps for start of transmission (transmission time stamp, TTS) and
start of reception (reception time stamp, RTS), as recorded in the host
software, may need correction to accurately represent the wire arrival times.
Such corrections are common in time transfer systems. The correction problem
however does not change the requirement that the wire arrival time of the
source needs to be sent to the receiver.</t>
        <ul spacing="normal">
          <li>
            <t>The IP MO must contain the wire arrival time of the sender.</t>
          </li>
        </ul>
      </section>
      <section anchor="concerning-microflow-identification">
        <name>Concerning microflow identification</name>
        <t>Although it is assumed that microflows form a single data stream, this must
not be the case. Consider a user of a computer starting and stopping a group
of network programs at the same port, contacting the same destination host at
the same port with the same protocol. It is now unclear, since multiple
programs were used, if the measured data should be grouped in one measurement
or not. Another use case is that where the higher layer protocols do not
contain port numbers in the "classical" sense (classical transport protocols
are UDP, TCP and other internet transport protocols).</t>
        <t>This ambiguity is resolved by the inclusion of a flow label in the IPv6
protocol. A unique flow identifier is assigned, by the sending host, to
packets belonging to the same microflow.</t>
        <ul spacing="normal">
          <li>
            <t>The IPv4 MO must contain a flow identifier in equivalence to the
IPv6 protocol.</t>
          </li>
        </ul>
      </section>
      <section anchor="concerning-packet-selection-for-measurement">
        <name>Concerning packet selection for measurement</name>
        <t>To apply "alternate marker" methods <xref target="RFC9341"/>, there must be a way to apply
a (single bit) marker in the IP header. This can be done using the DSCP
<xref target="RFC2474"/> field of the IP packet, and alternating two code points while
keeping the transport properties for both code points equal, or by abusing
the single bit that is still free in the CU fields specified in <xref target="RFC2474"/>.
The first would need broader support to implement the method, the latter
would void the internet standards. Notably the ECN <xref target="RFC3168"/> and L4S
specifications <xref target="RFC9330"/>, <xref target="RFC9331"/>, <xref target="RFC9332"/> that uses these bits.</t>
        <ul spacing="normal">
          <li>
            <t>The MO must contain a marker to enable the use of alternate marker methods.</t>
          </li>
        </ul>
        <t>Another consideration is that measurement software may not be capable of
processing all packets on high-speed interfaces. In this case, either layer 3
hardware support would be needed, or statistics could be gathered on only a
fraction of the packets that are sent. In the latter case it would be
unfavourable to apply an MO only to the packets that should be measured,
because network components may react differently on packets of different
lengths, and, potentially, on packets with different header lengths.</t>
        <ul spacing="normal">
          <li>
            <t>The MO must contain a marker to signal which packets shall be used to
calculate metrics on.</t>
          </li>
        </ul>
      </section>
      <section anchor="concerning-integrity-of-measurement-data">
        <name>Concerning integrity of measurement data</name>
        <t>Since the network traffic with IP measurement options included may pass
network nodes that are owned by foreign entities, the IP measurement option
must be protected against manipulation. One way to do this is to include a
digital signature into the MO option. Another way to do this is to encrypt the
contents of the measurement option for all hosts that should not read its
contents.</t>
        <ul spacing="normal">
          <li>
            <t>The MO must contain the possibility to include a cryptographic signature.</t>
          </li>
          <li>
            <t>Encryption of the MO contents, potentially including a cryptographic
signature, must be possible.</t>
          </li>
        </ul>
      </section>
      <section anchor="concerning-fragmentation-of-ip-packets">
        <name>Concerning fragmentation of IP packets</name>
        <t>Fragmentation of IP packets works as follows. The IP header of a packet that
needs fragmentation, is copied into each fragment. The data of the IP packet
is cut into slices, and each slice is added to a new fragment. Then the more
fragments flag and the fragment offset fields are set / updated. The more
fragments flag is set to zero on the last fragment.</t>
        <t>The identifier field is used to distinguish fragments of more than one
package. The sending host must ensure that the same identifier value is not
reused when packets can still be under way in the network (network timeout,
255 seconds). Due to this reason, modern layer 4 protocols, notoriously the
TCP protocol try to avoid that IP packets are fragmented, since only 64k
fragments can be underway in an IP network at the same time. It can be
understood that with the current higher speed network interfaces, this poses a
limitation on the data throughput possible for a single microflow.</t>
        <t>Nevertheless it is good practice to consider fragmentation in the design of an
IP measurement option. The specification of IPv4 options provides the copy
flag, that allow an option to be present in the first fragment only, or to
copy it into all fragments.</t>
        <t>Since our IP measurement option could still be used to obtain information on
the network performance by hosts enroute, when it is present on fragments of
an IP datagram, it would be favourable to copy the data of the IP measurement
option into each fragment.</t>
        <ul spacing="normal">
          <li>
            <t>The IP MO must be included in all fragments of an IP datagram.</t>
          </li>
        </ul>
        <t>Fragments of a datagram can be identified by the identifier, fragmented flag,
and the contents of the fragment offset field. This may help enroute hosts
to interpret "the same" IP measurement option as not belonging to a packet
duplicate. This also allows to measure fragment duplications both on the
enroute host, as well as on the receiving host, that can be introduced as
measurement additions. In this way fragment delay, loss, reordering or
duplication statistics can be determined in addition.</t>
        <t>The main measurements are to be performed on the source and destination hosts
before fragmentation is performed and after re-assembly of fragments. This
also means that measurements by systems "on the path" may yield different
results than those on the end systems, unless they are capable of marking
whether all fragments have passed such a system.</t>
        <t>Since IPv4 packets, in contrast to IPv6 packets, can be fragmented by hosts
enroute, fragmentation statistics may differ for various network segments.</t>
      </section>
    </section>
    <section anchor="determination-of-the-properties-of-the-option-content">
      <name>Determination of the properties of the option content</name>
      <t>In this section the contents of the MO determined above is specified
specifically, based on the available technology and boundaries of the
possibilities that an IP option offers. The following items were identified.</t>
      <ul spacing="normal">
        <li>
          <t>The IP MO must contain the wire arrival time of the sender.</t>
        </li>
        <li>
          <t>The IP MO must include information to uniquely identify the position of each
IP packet in a stream of packets.</t>
        </li>
        <li>
          <t>The IPv4 MO must contain a flow identifier in equivalence to the
IPv6 protocol.</t>
        </li>
        <li>
          <t>The MO must contain a marker to enable the use of alternate marker methods.</t>
        </li>
        <li>
          <t>The MO must contain a marker to signal which packets shall be used to
calculate metrics on.</t>
        </li>
        <li>
          <t>The MO must contain the possibility to include a cryptographic signature.</t>
        </li>
        <li>
          <t>Encryption of the MO contents, potentially including a cryptographic
signature, must be possible.</t>
        </li>
        <li>
          <t>The IP MO must be included in all fragments of an IP datagram.</t>
        </li>
      </ul>
      <section anchor="current-state-of-the-art-technology">
        <name>Current state of the art technology</name>
        <t>The fastest data links today measure 1 Tbit/s per channel or more <xref target="Nokia"/>. It
is assumed that 10 Tbit/s data link technology will become feasible in the
near future. Links based on <xref target="IEEE802.3"/> Ethernet have a minimum frame size of
46 octets and a packet size of 72 octets. A 12 octets inter-frame gap must be
added. The time to send the data on a 10 Tbit/s link can now be calculated.
The number of bit times for one frame is 672. Each bit takes 0.1 picoseconds
to send, therefore sending the minimum length frame takes 67.2 picoseconds.</t>
        <t>On a 1 Pbit/s link, under the assumption that Ethernet frames are used, the
time to send one minimum-length frame would be 0.672 picoseconds. At the
latter rate, approx. 1488.1 Ethernet packets can be sent in 1 nanosecond.</t>
        <t>At the network layer, the maximum datagram lifetime (MDL) of IP packets of
is approximately 120 seconds <xref target="RFC6864"/>.</t>
        <t>The IPv4 protocol allows an IP header length of 15 * 32 bits. 10 * 32 bits are
available for IP options. This is a total of 40 octets of which 38 can be used
for user content.</t>
        <t>The IPv6 protocol allows for 258 octet options of which 256 can be used for
user contents.</t>
        <t>Regarding time transfer techniques, two standards exist. The <xref target="IEEE1588-2019"/>
precision time protocol version 3 (PTPv3) is concipated to work with Ethernet,
the IPv4 and IPv6 protocols, and the UDP protocol. The network time protocol
version 4 (NTPv4) <xref target="RFC5905"/> is used in the scope of IPv4 and IPv6. The PTP
protocol favours integer calculation, while the NTP protocol favours binary
floating point calculations.</t>
        <t>Time in the Linux OS kernel is delivered in nanoseconds resolution by the
kernel interface. Time of the MAC OS X mach microkernel is delivered with
nanosecond resolution as well. Time of the Windows kernel is delivered with a
100 nanosecond resolution.</t>
      </section>
      <section anchor="wire-arrival-time-of-the-sender">
        <name>Wire arrival time of the sender</name>
        <t>The sender wire arrival time of the IP packet must be included in the IP
option, such that the receiver can calculate the packet delay based on the
receiver wire arrival time of the IP packet. Alternatively, both sender and
receiver could send the wire arrival time to a third party that can then
calculate the packet delay.</t>
        <t>For the definition of time the major question is which resolution is
sufficient. The next question is that of the calculator system. Is calculation
done in integer of floating-point arithmetic. Integer calculation can be done
on most machines, floating point arithmetic is expensive, both in hardware as
well as in software when emulated.</t>
        <t>Both in the NTP as well as the PTP protocol, the coarse timescale is kept in
seconds from the epoch. The PTP protocol reserves 48 bits for the coarse
timescale, the NTP protocol at least 32 bits, with the possibility of
extending to 64 bits (the latter is more than enough for all practical
purposes). The 16-bit format is typically only used for time differences.</t>
        <t>It must be noted that, since the maximum datagram lifetime of an IP packet is
120 seconds, together with the fact that clocks in modern systems are
synchronized with one second accuracy, the 7 least significant bits of the
second counter of the 32- or 48-bit second counter, related to the epoch,
should normally suffice to uniquely complete the timestamp based on the second
counter of the receiver clock. Under the assumption that normal IP connections
are lost within 255 seconds (TTL reduced to 0) an 8-bit seconds counter would
suffice, it is mentioned in <xref target="RFC6864"/> that this is not always the case. To
account for links where higher MDLs are possible an arbitrary number of bits
could be added to this number. A 12-bit seconds counter would allow to
identify delayed packets uniquely up to 1 hour with clock deviations on the
systems of up to 150 seconds. This seems sufficient for most earth based
purposes.</t>
        <t>Only when the need to account for (inter)stellar applications arises, transfer
of a larger part of the second counter would be needed. A 32-bit seconds
timestamp allows for link delays of 136 years, which is sufficient for delay
measurements for space travel within the solar system.</t>
        <t>The fractional part of the second is encoded as a number of fractions in the
NTP protocol. Each fraction is 2^(-N) long, where N is the number of bits used
to encode the fractional seconds. NTP allows 16, 32 or 64 bits fractional
seconds. The PTP protocol, on the other hand, encodes the fractional seconds
part as a 32-bit number representing the number of nanoseconds in the
fraction. Since most binary floating-point numbers have no exact match when
converting to decimal floating-point numbers, rounding errors must occur when
converting back and forth between NTP and PTP fractions. Reasons why to choose
one format over the other must thus come from elsewhere.</t>
        <t>A reason to favour the NTP format, may lie in the simplicity of certain
calculations. Conversions between 16-, 32-, and 64-bit values can be performed
by efficient bitshift operations. Adding and subtracting is also simply
possible. A potential drawback are that rounding errors to nanoseconds exist,
and those may not be distributed evenly. This may prevent the use of accurate
high resolution measurements, where rounding errors may become significant.</t>
        <t>One reason to favour the PTP format, which counts the fraction of time in an
integer number of nanoseconds, lies in the field of frequency metrology. Many
physical clocks count time based on a 10 MHz, 100 MHz, 1 GHz or even 10 GHz
oscillator. These frequencies can be expressed as powers of 10 of a
nanosecond. In addition, calculations in nanoseconds have a more natural feel
than those in, e.g., 2^(-32) = 232.8... picosecond units. Other arguments are
that PTP implementations often feature accurate hardware timestamping units,
and that all major operating systems deliver time in nanoseconds. Therefore
the fractional seconds will be represented in nanoseconds.</t>
        <t>Due to the technical restrictions of an IP option, the format for the
timestamp must be chosen in a clever way. To represent one second in
nanoseconds, 30 bits are sufficient. It is proposed to take the thirty least
significant bits of a 32-bit word for this. Reserving the two most significant
bits for other purposes. For the seconds part of the timestamp, 7 transferred
bits are sufficient to reproduce the sender timestamp on the receiver, it
would make sense to transfer at least an octet second part. The additional
number of seconds may be used to relieve the requirement on the time
synchronization of the two systems in use.</t>
        <ul spacing="normal">
          <li>
            <t>For the IP measurement option, the PTP Timestamp format will be used as the
basis for both seconds and nanoseconds. The least significant bits of the
seconds field will be used in the IP measurement option.</t>
          </li>
        </ul>
      </section>
      <section anchor="unique-packet-identifier">
        <name>Unique packet identifier</name>
        <t>The classical means of determining whether packets are sent in order, is by
use of a counter that increments upon sending of each subsequent packet.</t>
        <t>As discussed in 5.2 each packet will be marked with a sender timestamp with ns
resolution. On 10 Gbit/s links, sending one minimum size frame takes 67.2 ns.
Therefore, the timestamp alone suffices to uniquely order packets sent on links
up to 100 Gbit/s (6.72 ns / frame). At higher link speeds, an additional
numerator can be used to subdivide the timestamp. For a 1 Pbit/s link, a
numerator that is capable of counting to 1489 is sufficient to uniquely
numerate ethernet frames and thus IP packets. This requires at least an 11 bit
counter.</t>
        <t>The IP ID field seems a good numerator candidate for counting datagrams, but
it is currently specified to be solely used for fragmentation and reassembly
by <xref target="RFC6864"/>. Therefore, it is not suitable for measurement purposes (it is
always zero for unfragmented packets) also because some sources do not vary
the ID at all.</t>
        <t>Duplication detection may be based on hashes <xref target="RFC6621"/>, but loss and
reordering measurements are not possible when higher protocol layers lack
information to detect these. This is e.g. the case with UDP. A timestamp can
thus not replace a numerator field, since it does not show whether packets are
missing, even on slow links.</t>
        <t>A unique packet identifier of at least 12 bits is therefore recommended. Only
on very fast links problems may occur when the counter overflows and multiple
packet have the same timestamp and unique packet identifier.</t>
      </section>
      <section anchor="flow-identifier">
        <name>Flow identifier</name>
        <t>The last bit of contents that may be needed for transport layer-less
protocols is a definition of a microflow identifier. For most current day
protocols there are 16-bit port numbers specified for source and destination
ports. This would call for a 32-bit source/destination flow field. On the
other hand, there are very few protocols without a transport layer. The IP
packet definition allows only 256 of them, defined by the protocol byte.
For outgoing flows, a host can only open 2^16 ports, so a 16-bit flow
identifier for transport-less protocols suffices from this perspective.</t>
        <t>The IPv6 protocol <xref target="RFC8200"/> specifies a 20-bit flow label. Defining 20 bits
for the flow label allows unification of its use with IPv6 <xref target="RFC8200"/>.</t>
        <t>It must be noted that flow labels and the IP options are not protected against
unwanted modifications and are for measurement purposes only. Transport-less
protocols can open multiple data flows based on higher level protocols (e.g.
application protocol). It is advised to generate flow labels stateful
according to <xref target="RFC6437"/>. For compatibility reasons this will be the course of
action for the IPv4 option.</t>
      </section>
      <section anchor="alternate-marker">
        <name>Alternate marker</name>
        <t>Hybrid measurements may be done using an alternate marker method such as
specified in <xref target="RFC9341"/>. The measurement option could be a way to include such
a marker independent from, e.g., an alternating DSCP. Therefore, at least one
bit must be reserved as alternating marker bit.</t>
      </section>
      <section anchor="include-in-calculation-marker">
        <name>Include in calculation marker</name>
        <t>Since switches and routers may have differentiating behaviour when packet
sizes differ, the same packet with and without the IP measurement option could
be treated differently. To allow for unbiased measurements, even when only
fractions of the packets of a microflow are to be included in measurements,
the packets that are not to be measured on, must be of the same length. This
means that a dummy measurement option must be included in the IP header in
this case. At least one bit must be reserved as "include in calculation" bit,
to allow the receiver to decide whether to include a packet in the
measurements or not.</t>
      </section>
      <section anchor="security-measures">
        <name>Security measures</name>
        <t>There are reasons to apply security measures to this data in the packet
header. Since the IP measurement option can be used to verify an SLA / SLS,
there may be monetary reasons to falsify the information in the packet, to
make the measurement system think that all is fine on the network. E.g.,
forging of the timestamp by the last switch in the path may make the receiver
think that the packet delay was less than it actually is.</t>
        <t>There are multiple scenarios thinkable how IT security measures are applied
to the IP measurement option.</t>
        <ol spacing="normal" type="1"><li>
            <t>Proof of integrity of the IP measurement option, while keeping the content
available for third parties to use.</t>
          </li>
          <li>
            <t>Encryption of the contents of the IP measurement option to hide the content
for third parties.</t>
          </li>
        </ol>
        <t>Since the IP header, including the IP measurement option can be freely
manipulated by hosts en-route, it is not possible to avoid that hosts may
remove the IP measurement option entirely. All fields that need to be
manipulated are easily adapted. An end-host may know that the IP measurement
option has been removed, by being configured to expect the IP MO on certain
connections with other hosts and not receiving any. The configuration can be
static or dynamic, e.g., by means of a measurement management protocol. Such
protocols would need definition in a separate RFC.</t>
        <t>To ensure the integrity of the IP measurement option, a cryptographic
signature can be used. It could be added as additional bytes to the IP
measurement option. A HMAC or a hash of the signature can be added when
symmetric keys are used. The latter has the advantage that the space needed to
add the hash can be limited, e.g., by including only the first x octets of the
full hash. It is quite expensive to add a full public/private key signature.</t>
        <t>Upon signing an option, hosts that know the appropriate keys can verify the
data in the IP measurement option. Depending on the type of signature used, it
may be possible for hosts to change the option content and resign. It must,
therefore, be ensured that, for such types of signatures, only trusted hosts
obtain the keys. One indication of the presence of a signature is the length
of the option. Hosts involved in verifying options before making measurements
should however rely on other sources to determine if they expect signed
measurement options. In this case they may also reliably detect removal of
signatures, which is easily possible.</t>
        <t>Fragmentation must be taken into account, and data in the IP header that is
required for fragmentation and defragmentation may be changed by systems "on
the path". It can therefore not be used as input for cryptographic signatures.</t>
        <t>To perform various measurements the signature must be made over a pseudo
header including the following data:
1. IP version
2. IP internet header length (Fixed value, 10 words)
3. IP total length (Payload length)
4. IP protocol type (Next header field)
4a. (Flow Label)
5. IP source address
6. IP destination address
7. IP measurement option, including:
    a. IP option type
    b. IP option length
    c. IP measurement option data excluding the signature / signature hash.
8. Hash over the IP packet data. (Hash over Payload)</t>
        <t>The fields in the pseudo header are composed as follows for the IPv4 protocol:</t>
        <artwork><![CDATA[
  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |Version|  IHL  |          Total Length         |    Protocol   |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                       Source Address                          |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                    Destination Address                        |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                               |
 .                                                               .
 .                   IP measurement option                       .
 .                                                               .
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                  Hash over IP packet data                     |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        <t>The fields in the pseudo header are composed as follows for the IPv6 protocol:</t>
        <artwork><![CDATA[
  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |Version|1 0 1 0|         Payload Length        |  Next Header  |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |               Flow Label              |       Reserved        |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                               |
 +                                                               +
 |                                                               |
 +                       Source Address                          +
 |                                                               |
 +                                                               +
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                               |
 +                                                               +
 |                                                               |
 +                    Destination Address                        +
 |                                                               |
 +                                                               +
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                               |
 .                                                               .
 .                   IP measurement option                       .
 .                                                               .
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                     Hash over Payload                         |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        <t>The hash over the IP packet data (Payload) ensures that port numbers are
always included when present, independent of the higher layer protocol, since
it is favoured to make the implementation independent from possible higher
layer protocols. The requirement on the hash over the IP packet data is that
it can be quickly calculated, and that spoofing the data takes, on average,
more time than the network timeout. Alternatively, a cryptographic hash, using
a private key, may be derived over the pseudo header and the IP packet data
(Payload). Note that the length of the hash must not be limited to 32 bits.</t>
        <t>If cryptographic encryption is feasible given the maximum length of 40 octets
(320 bits) of the IP MO, should be determined elsewhere. Also, which algorithms
to use are not part of this specification. In any case it would be proper that
untrusted hosts on the path know that options are encrypted, and cannot be
used to perform measurements. Therefore, a way to determine whether, or not, an
encrypted measurement option is used must be present. It is proposed to use
the option type for these purposes.</t>
        <t>In all cases the generation and distribution of cryptographic keys is
performed by use of a secure key distribution protocol, that is not part of
this specification. This protocol must be capable of generating keys for each
distinguishable microflow to perform signing or encrypting the IP measurement
option data.</t>
        <t>The possibility of signed and encrypted IP measurement options is indicated in
this RFC, but no particular specification is given yet. Such specifications
are to be subject of RFCs to be written, as are the specifications for
measurement management protocols.</t>
      </section>
    </section>
    <section anchor="ipv4-option-definition">
      <name>IPv4 option definition</name>
      <t>The maximum length of an IPv4 option is ten 32-bit words, or 40 octets, see
<xref target="RFC791"/>. An IPv4 option always includes the option type. The length octet is
always present for IPv4 options with more than only the option type. The IPv4
measurement option is therefore defined as follows.</t>
      <artwork><![CDATA[
  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |  Option Type  | Option Length |             UID               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |               Flow Label              |         Seconds       |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |I A|                   Nanoseconds                             |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                               |
 +                                                               +
 |                                                               |
 +               (Optional) Cryptographic Signature              +
 |                                                               |
 +                                                               +
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      <t>Option Type: 8 bits</t>
      <ul empty="true">
        <li>
          <t>The IP measurement option is a debugging and measurement option, and must be
present in each fragment of an IP datagram. Two option types are requested,
one for non-encrypted options, with or without signature, and one for
encrypted options, that can only be read by systems on the path that belong
to the trusted group of measurement clients.</t>
          <t>The option may be skipped over if the Option Type is unknown, and the option
data does not change en-route.</t>
          <ul spacing="normal">
            <li>
              <t>Bit  8   (copied flag)   : 1 = copied</t>
            </li>
            <li>
              <t>Bit  6-7 (option class)  : 2 = debugging and measurement</t>
            </li>
            <li>
              <t>Bits 1-5 (option number) : 26 = Unencrypted Measurement Option (UMO),
                                                 to be assigned by IANA</t>
            </li>
            <li>
              <t>Bits 1-5 (option number) : 27 = Encrypted Measurement Option (EMO),
                                                 to be assigned by IANA</t>
            </li>
          </ul>
          <t>Value becomes 218 and 219</t>
        </li>
      </ul>
      <t>Option Length: 8 bits</t>
      <ul empty="true">
        <li>
          <t>The length of the IP measurement option in octets, including length of the
cryptographic signature when present. For an encrypted and signed
measurement option, all octets are included in the length.</t>
        </li>
      </ul>
      <t>Unique Identifier (UID): 16 bits</t>
      <ul empty="true">
        <li>
          <t>The Unique Identifier is incremented for each sent IP packet. This allows
the receiving host to identify packet losses, duplications and re-orderings.
It must be noted that each fragment of a fragmented datagram contains a copy
of the IP measurement option. Therefore systems "on the path" should rely,
e.g., on the fragment offset to perform such measurements. End-hosts perform
measurements on the packet before fragmenting and after re-assembly.</t>
        </li>
      </ul>
      <t>Flow Label: 20 bits</t>
      <ul empty="true">
        <li>
          <t>The Flow Label as specified in the IPv6 standard <xref target="RFC8200"/>.</t>
        </li>
      </ul>
      <t>Seconds: 12 bits</t>
      <ul empty="true">
        <li>
          <t>The 12 least significant bits of the seconds field of the PTP Timestamp.</t>
        </li>
      </ul>
      <t>Usage Flags: 2 bits</t>
      <ul empty="true">
        <li>
          <t>The Usage Flags indicate how the option can be used by the receiving host.</t>
          <ul spacing="normal">
            <li>
              <t>Bit 0: 0 = Dont include in measurement', 1 = Include in measurement</t>
            </li>
            <li>
              <t>Bit 1: Alternate Marker</t>
            </li>
          </ul>
          <t>The I(nclude in measurement) flag signals whether or not the IP measurement
option contains real data. Sending empty data (all 0) may be done to relieve
computational efforts of the sending systems under high data traffic loads,
while keeping the IP header size equal for all IP packets. For signed
connections the cryptographic signature must also be applied on "empty" IP
measurement options, since spoofing would otherwise be possible.</t>
          <t>The A(lternate Marker) can be used to implement alternate marker measurement
methods. Alternate marker methods using this IP measurement option, must
specify how they use this bit.</t>
        </li>
      </ul>
      <t>Nanoseconds: 30 bits</t>
      <ul empty="true">
        <li>
          <t>The nanoseconds field contains the number of nanoseconds of the timestamp.
When a system is not capable of providing timestamps with nanosecond
resolution, the highest resolution that can be provided is used and the
other digits of the nanosecond field are set to 0. When a system uses, e.g.,
a 16-bit subdivision of one second (such as NTP timestamps may), the decimal
value is rounded to the nearest nanosecond. Adding or subtracting a certain
random number of nanoseconds to the result may be used to prevent rounding
bias. This is up to the implementer of the IP measurement option for a
system, but must be documented.</t>
        </li>
      </ul>
      <t>(Optional) Cryptographic Signature:</t>
      <ul empty="true">
        <li>
          <t>Optionally up to 7 words, 28 octets, or 224 bits can be used for the
transmission of a cryptographic signature.</t>
        </li>
      </ul>
      <t>The option order has been chosen such that when this option is the first
option, the data aligns in the IP packet, hopefully resulting in an efficient
processing in host systems, which would be needed on high-speed links. No
EOOL option is needed when this option is the only one <xref target="RFC791"/>,
<xref target="IANA-IP-Option-Numbers"/>.</t>
      <t>When the option is encrypted only the first two octets have their normal
meaning. The rest of the octets form the ciphertext.</t>
    </section>
    <section anchor="ipv6-option-definition">
      <name>IPv6 option definition</name>
      <t>The maximum length of an IPv6 Hop-by-Hop Option is 255 octets, see <xref target="RFC8200"/>.
An IPv6 option always includes the option type, and length octet. The IPv6
measurement option will be defined as follows.</t>
      <artwork><![CDATA[
  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |  Option Type  | Option Length |           Seconds             |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |I A|                   Nanoseconds                             |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                              UID                              |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                               |
 +                                                               +
 |                                                               |
 +               (Optional) Cryptographic Signature              +
 |                                                               |
 +                                                               +
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      <t>Option Type: 8 bits</t>
      <ul empty="true">
        <li>
          <t>The IP measurement option is a debugging and measurement option, and must be
present in each fragment of an IP datagram. Two option types are requested,
one for non-encrypted options, with or without signature, and one for
encrypted options, that can only be read by systems on the path that belong
to the trusted group of measurement clients.</t>
          <t>The option may be skipped over if the Option Type is unknown, and the option
data does not change en-route.</t>
          <ul spacing="normal">
            <li>
              <t>Bit  8   (copied flag)  : 1 = copied</t>
            </li>
            <li>
              <t>Bit  6-7 (option class  : 2 = debugging and measurement</t>
            </li>
            <li>
              <t>Bits 1-5 (option number): 26 = Unencrypted Measurement Option (UMO),
                                             to be assigned by IANA</t>
            </li>
            <li>
              <t>Bits 1-5 (option number): 27 = Encrypted Measurement Option (EMO),
                                             to be assigned by IANA</t>
            </li>
          </ul>
          <t>Value becomes 218 and 219</t>
        </li>
      </ul>
      <t>Option Length: 8 bits</t>
      <ul empty="true">
        <li>
          <t>The length of the IP measurement option in octets, including length of the
cryptographic signature when present. For an encrypted and signed
measurement option all octets are included in the length.</t>
        </li>
      </ul>
      <t>Seconds: 16 bits</t>
      <ul empty="true">
        <li>
          <t>The 16 least significant bits of the seconds field of the PTP Timestamp.
When the IPv4 algorithms are used for calculations, the four most
significant bits of the Seconds field may be skipped.</t>
        </li>
      </ul>
      <t>Usage Flags: 2 bits</t>
      <ul empty="true">
        <li>
          <t>The Usage Flags indicate how the option can be used by the receiving host.</t>
          <ul spacing="normal">
            <li>
              <t>Bit 0: 0 = Dont include in measurement', 1 = Include in measurement</t>
            </li>
            <li>
              <t>Bit 1: Alternate Marker</t>
            </li>
          </ul>
          <t>The I(nclude in measurement) flag signals whether or not the IP measurement
option contains real data. Sending empty data (all 0) may be done to relieve
computational efforts of the sending systems under high data traffic loads,
while keeping the IP header size equal for all IP packets. For signed
connections the cryptographic signature must also be applied on "empty" IP
measurement options.</t>
          <t>The A(lternate Marker) can be used to implement alternate marker measurement
methods. Alternate marker methods using this IP measurement option, must
specify how they use this bit.</t>
        </li>
      </ul>
      <t>Nanoseconds: 30 bits</t>
      <ul empty="true">
        <li>
          <t>The nanoseconds field contains the number of nanoseconds of the timestamp.
When a system is not capable of providing timestamps with nanosecond
resolution, the highest resolution that can be provided is used and the
other digits of the nanosecond field are set to 0. When a system uses, e.g.,
a 16-bit subdivision of one second (such as NTP timestamps may), the decimal
value is rounded to the nearest nanosecond. Adding or subtracting a certain
random number of nanoseconds to the result may be used to prevent rounding
bias. This is up to the implementer of the IP measurement option for a
system, but must be documented.</t>
        </li>
      </ul>
      <t>Unique Identifier (UID): 32 bits</t>
      <ul empty="true">
        <li>
          <t>The Unique Identifier is incremented for each sent IP packet. This allows
the receiving host to identify packet losses, duplications and re-orderings.
It must be noted that each fragment of a fragmented datagram contains a copy
of the IP measurement option. Therefore systems "on the path" should rely,
e.g., on the fragment offset to perform such measurements. End-hosts perform
measurements on the packet before fragmenting and after re-assembly.
Note that the 16 least significant bits of the UID can be used with the IPv4
algorithms, since they roll over in similar fashion. The full 32-bit UID has
relevance on very fast IPv6 links.</t>
        </li>
      </ul>
      <t>(Optional) Cryptographic Signature:</t>
      <ul empty="true">
        <li>
          <t>Optionally up to 63 words, 252 octets, or 2016 bits can be used for the
transmission of a cryptographic signature.</t>
        </li>
      </ul>
      <t>As the flow identifier is an integral 20-bit field in the IPv6 header it is
not included in the IPv6 measurement option. When the option is encrypted only
the first two octets have their normal meaning. The rest of the octets form
the ciphertext.</t>
      <t>This option shall be aligned in a 4n fashion.</t>
    </section>
    <section anchor="using-the-ip-measurement-option">
      <name>Using the IP measurement option</name>
      <t>The IP MO was defined to enable the hybrid measurement of various statistics
on Diffserv microflows <xref target="RFC2474"/>. Amongst others these are:
- One-way Packet Delay, Mean Packet Delay, Packet Delay Variation and related
  statistics.
- Packet Losses, Reordering and Duplication</t>
      <t>The first goal is to measure such statistics on microflows <xref target="RFC2474"/> between
two end hosts at a point-to-point (P2P) IP link. The statistics can of course
be extended to multi-point-to-multi-point (MP2MP) links. This requires that
the packets can be uniquely assigned to a microflow at the IP layer and that
all properties needed to perform the measurements must be available either by
a statistics collector or by the destination host(s). It is assumed that each
microflow is assigned a unique flow identifier by the source host. This means
that each connection has two microflows, each with its own flow identifier.</t>
      <t>A second goal is that hosts en route, can try to measure or estimate the
measurands on a microflow basis. The difficulty here is that not all packets
must pass a certain host on the route. Nevertheless, useful information can be
obtained from the estimations made by on route hosts. E.g. the fraction of
the traffic traversing certain routes A, B, or C.</t>
      <t>As explained, timestamps upon transmission and reception are needed to perform
delay measurements and their related measurants. To perform packet loss and
related measurements an incrementing numeration counter is needed (NUM).</t>
      <section anchor="measurement-procedure-on-the-end-hosts">
        <name>Measurement procedure on the end hosts</name>
        <t>It is more or less assumed that microflows belong to a pair of sockets on the
source and destination hosts. The operating system (OS) makes counters
available that can be used by polling or (when a fancier way is needed) by
an interrupt mechanism. Such interrupts can come at a programmable time, e.g.
every second. This time interval will be termed measurement interval (MI).
Since the OS has the timers, this seems a logical scheme. The presence of the
MO may trigger the calculation of the various statistics, this can be a
configuration option.</t>
        <t>Hosts can make two queues available to user space programs where the outgoing
and incoming IP headers of each flow are queued for user space analysis. For
incoming packets the reception timestamp is also inserted in this queue.</t>
        <t>It must however be considered that the statistics are only reliable after the
maximum packet delay (MPD) of the system, known to the operator, has expired.
This MPD must thus be configurable but may be set to a default value of 120
seconds. It is advised to make these settings configurable for per microflow
at the destination host. It is advised that each MI becoming available after
MPD is tagged with the start time of the interval at the TAI timescale
<xref target="IEEE1588-2019"/> also used in the MO tagged packets.</t>
        <t>Delay and its related metrics can be readily determined when the destination
host knows the time when the packet was sent. The source time stamp is
included in the MO option. If no packets are lost delay statistics can be
presented immediately to the user.</t>
        <t>Losses can be calculated when the packet counters on the source and
destination are compared, but also when the destination knows which packets
were lost. The packet number (NUM) is therefore included in the MO together
with the time stamp.</t>
        <t>When an IP packet is created the space for an MO is reserved in the packet's
option header and is indicated with a pointer in memory. The flow label can
be inserted readily. Just before transmission of the first octet of the IP
packet a timestamp is retrieved from the OS kernel (transmission time stamp
TTS) and inserted into the IP packet. The colouring counter NUM is inserted
and increased. The packet is then transmitted by the OS. After transmission
the kernel updates the kernel counters for transmission. It may, but must
not, make the IP header available for analysis by forwarding it to a queue
that can be read by user space programs.</t>
        <t>The receiving host has memory reserved for a timestamp and the data of an
incoming IP packet header. When the receiving host sees that an IP packet
carries the MO option, it generates a timestamp (reception time stamp RTS)
when the last octet of the packet has been received. When the completeness
of the packet has been verified (checksums), the MO data and the RTS are used
to update the kernel statistics. The system may also make the IP header and
the RTS available for analysis by forwarding it to a queue that can be read
by user space programs.</t>
        <t>At the receiving host the following data are used to indicate the flow:
- source IP address
- destination IP address
- flow ID</t>
        <t>Normally a microflow would be known based on the protocol ID and source and
destination ports, these can still be used for backward compatibility or
to calculate metrics on microflows that do not carry the MO option. Thoughts
on raw data formats for statistical analysis by a data collection system are
given in Notes for raw metering protocols.</t>
      </section>
      <section anchor="measurement-procedure-at-observers">
        <name>Measurement procedure at observers</name>
        <t>Each switch with deep packet inspection capabilities, each router and host
observing IP packets with an MO option can generate a RTS upon complete
reception. Statistics can now be calculated for each microflow. However, care
must be taken when interpreting these statistics, but they may be useful for
network fault analysis. In the remainder of this section the possibilities
and limitations for measurements made by observers will be discussed.</t>
        <t>The observation on the MPD for end hosts, also holds for observing hosts.
Therefore, the administrator must be able to set the MPD for gathering
statistics. An observer may make raw packet headers available for analysis to
other systems. Observers may contain lists that limit the number of hosts for
which to gather statistics. This is not very different from the way Diffserv
determines which microflows to process or not.</t>
        <t>A speciality for observers is that they cannot be certain that all packets
that are not lost, pass the system. Therefore, care must be taken when
calculating statistics. For example, a loss statistic may say more about the
fraction of microflow packets passing a system than on the actual loss. With
timestamps and an ID, such fractions can even be detected with high
certainty.</t>
        <t>By means of the MO an observer can calculate all statistics that a
destination host can. It would be possible to introduce additional metrics
that are specifically tuned for observers. For example, metrics that only
take largely complete sets of packets to calculate losses, reordering and
duplication.</t>
        <t>The following properties can at least be observed with the standard metrics:
- Fraction of packets passing the observer.
- One-way Delay and related statistics from source to observer.
- Packet reordering and duplicates on consecutive sequences of packets.</t>
        <t>For a full set of observers, one could extend the measurement scheme by
sending the MO and observer RTS to an external measurement system. Such an
external system can then calculate more than the individual host. The raw
data that these systems must transmit to enable this are those the
destination host transmits.</t>
      </section>
      <section anchor="metrics-and-measurement-protocols">
        <name>Metrics and Measurement protocols</name>
        <t>The NUM+TTS information is used to generate statistics on the One-way packet
loss, the one-way packet reordering and the one-way packet duplication.
Metrics for these properties can be related to those available in the IP
Performance Metrics (IPPM) framework <xref target="RFC2330"/>, <xref target="RFC7680"/>. The same holds
for Delay based metrics <xref target="RFC7679"/>, <xref target="RFC3393"/>. On the other hand, the metrics
could be taken from the Ethernet specifications <xref target="MEF10.4"/>. This framework
seems to be more mature at the moment.</t>
        <t>When the destination host makes the MO option and necessary information for
metric determination available to the user space. Advanced metric
calculations must not take place in kernel space and user space programs can
be used to make measurement data available according to one or more sets of
metrics, or may even send the raw data off to a storage server for later
processing. The idea that information can be available in real-time must not
be followed since the MPD must always be observed.</t>
        <t>To send measurement statistics to an overarching data collection system,
protocols like RMON <xref target="RFC2819"/> and its extensions or IPFIX <xref target="RFC7011"/> can be
used or extended.</t>
      </section>
      <section anchor="notes-for-systems-with-real-time-protocols">
        <name>Notes for systems with real-time protocols</name>
        <t>For systems relying on real-time protocols in the network an MPD of 120
seconds, or even 10 seconds, may be way to long. Depending on the criticality
of knowing the network performance near real time, the MPD on sockets
involved, can be set much lower, e.g. 1 second. This is based on the fact
that packets that have longer delay have no meaning anymore for such
protocols and are deemed lost.</t>
      </section>
      <section anchor="notes-for-raw-metering-data-protocols">
        <name>Notes for raw metering data protocols</name>
        <t>When sending raw data to an analysis system for full system analysis the
following must be included in a data unit per package. Such a feature can,
of course, only be used when the network has sufficient capacity left to send
this additional data. A protocol specification is left to the implementer.</t>
        <t>One data unit would contain a flow identification <xref target="RFC6437"/> consisting of:
- source IP address (32 or 128 bit)
- destination IP address (32 or 128 bit)
- flow ID (20 bit)
or, when it occupies less bits, a hash (e.g. for IPv6), and measurement data:
- NUM field (16 bit)
- TTS nanosecond counter (32 bit)
- TTS second counter (12 bit)
- RTS nanosecond counter (32 bit)
- RTS second counter (12 bit)</t>
        <t>for IPv4 this is a total of 188 bits. For IPv6 this could be 160-bit for a
flow hash (e.g. SHA1) and 104-bit for the measurement data (264 bit). It is
proposed that source hosts set the RTS fields to 0.</t>
        <t>Multiple data units can be packed in one IP packet for the measurement system
A specification for such a protocol can be created when needed. This could
include the traditional Diffserv ports + protocol for IPv4 for non-MO enabled
measurements.</t>
        <t>A consideration could be to include in these data the following data for the
observer transmission time:
- ONUM field (16 bit)
- OTTS nanosecond counter (32 bit)
- OTTS second counter (12 bit)
where ONUM is the observer NUM field at transmission, and OTTS is the
observer transmission time stamp. This would allow to separate wire and
system time for an observer.</t>
        <t>Alternatively, packets can almost always be identified based on a hash. Hash
based measurement methods <xref target="RFC7014"/> would nevertheless need to send at least
the timestamps in order to determine the system delays for packets. It is
therefore not necessarily cheaper (bit and computation wise) to use a hash
based measurement approach.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Security measures were considered during the design of the IP option, but,
especially in the case of the IPv4 measurement option, possibilities are
limited due to the limited available space in the IPv4 header. Nevertheless,
dropping of the IP measurement option cannot be prevented by the end-hosts.</t>
      <t>As an alternative to real security measures, it is also possible to share
information on how to obfuscate the measurement option information for third
parties. The timestamps and NUM fields may be manipulated by a PRNG of
sufficient strength to make systems on the packet path that are not in the
owner's hand, guess about the true values. The systems owned by the entity
doing the measurements, can share the seeds of the PRNGs, and regularly update
these, using out of band securely encrypted channels.</t>
      <t>It must be considered that, with current network systems, data can be recorded
in abundance, and that obfuscating algorithms may be broken quickly, allowing
the third party to at least read the data in the IP measurement option.</t>
      <t>However, the author of this RFC would not endorse such a method as secure.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requests two IP option numbers to be registered by IANA.</t>
      <t>Option Type: 8 bits</t>
      <ul empty="true">
        <li>
          <t>The IP measurement option is a debugging and measurement option, and must be
present in each fragment of an IP datagram carrying the IP measurement
option. Two option types are requested, one for non-encrypted options,
with or without signature, and one for encrypted options, that can only be
read by systems on the path that belong to the trusted group of measurement
clients.</t>
          <ul spacing="normal">
            <li>
              <t>Bit      8 (copied flag): 1 = copied</t>
            </li>
            <li>
              <t>Bit    6-7 (option class: 2 = debugging and measurement</t>
            </li>
            <li>
              <t>Bits 1-5 (option number): 26 = Unencrypted Measurement Option (UMO),
                                            to be assigned by IANA</t>
            </li>
            <li>
              <t>Bits 1-5 (option number): 27 = Encrypted Measurement Option (EMO),
                                            to be assigned by IANA</t>
            </li>
          </ul>
          <t>This means values 218 and 219</t>
        </li>
      </ul>
      <t>It depends on the IANA policy if the option number for encrypted options
should already be reserved, since there is no current implementation of it
and the IP option registry space is very limited.</t>
    </section>
    <section anchor="conclusion">
      <name>Conclusion</name>
      <t>An IPv4 and IPv6 option was introduced that is flexible enough to support
various measurement schemes on various types of IP traffic. Although it ads
to the length of the IP packet, it can be used to measure traffic in
situations where full statistics are needed (e.g., systems with stringent
SLS requirements on delay and packet loss) and bandwidth is not the limitation
for applications.</t>
      <t>Measurement procedures and relevant metrics are to be discussed in companion
RFCs.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC791">
          <front>
            <title>Internet Protocol</title>
            <author fullname="J. Postel" initials="J." surname="Postel"/>
            <date month="September" year="1981"/>
          </front>
          <seriesInfo name="STD" value="5"/>
          <seriesInfo name="RFC" value="791"/>
          <seriesInfo name="DOI" value="10.17487/RFC0791"/>
        </reference>
        <reference anchor="RFC8200">
          <front>
            <title>Internet Protocol, Version 6 (IPv6) Specification</title>
            <author fullname="S. Deering" initials="S." surname="Deering"/>
            <author fullname="R. Hinden" initials="R." surname="Hinden"/>
            <date month="July" year="2017"/>
            <abstract>
              <t>This document specifies version 6 of the Internet Protocol (IPv6). It obsoletes RFC 2460.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="86"/>
          <seriesInfo name="RFC" value="8200"/>
          <seriesInfo name="DOI" value="10.17487/RFC8200"/>
        </reference>
        <referencegroup anchor="BCP14" target="https://www.rfc-editor.org/info/bcp14">
          <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
            <front>
              <title>Key words for use in RFCs to Indicate Requirement Levels</title>
              <author fullname="S. Bradner" initials="S." surname="Bradner"/>
              <date month="March" year="1997"/>
              <abstract>
                <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="14"/>
            <seriesInfo name="RFC" value="2119"/>
            <seriesInfo name="DOI" value="10.17487/RFC2119"/>
          </reference>
          <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
            <front>
              <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
              <author fullname="B. Leiba" initials="B." surname="Leiba"/>
              <date month="May" year="2017"/>
              <abstract>
                <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="14"/>
            <seriesInfo name="RFC" value="8174"/>
            <seriesInfo name="DOI" value="10.17487/RFC8174"/>
          </reference>
        </referencegroup>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC1122">
          <front>
            <title>Requirements for Internet Hosts - Communication Layers</title>
            <author fullname="R. Braden" initials="R." role="editor" surname="Braden"/>
            <date month="October" year="1989"/>
            <abstract>
              <t>This RFC is an official specification for the Internet community. It incorporates by reference, amends, corrects, and supplements the primary protocol standards documents relating to hosts. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="3"/>
          <seriesInfo name="RFC" value="1122"/>
          <seriesInfo name="DOI" value="10.17487/RFC1122"/>
        </reference>
        <reference anchor="RFC2330">
          <front>
            <title>Framework for IP Performance Metrics</title>
            <author fullname="V. Paxson" initials="V." surname="Paxson"/>
            <author fullname="G. Almes" initials="G." surname="Almes"/>
            <author fullname="J. Mahdavi" initials="J." surname="Mahdavi"/>
            <author fullname="M. Mathis" initials="M." surname="Mathis"/>
            <date month="May" year="1998"/>
            <abstract>
              <t>The purpose of this memo is to define a general framework for particular metrics to be developed by the IETF's IP Performance Metrics effort. This memo provides information for the Internet community. It does not specify an Internet standard of any kind.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2330"/>
          <seriesInfo name="DOI" value="10.17487/RFC2330"/>
        </reference>
        <reference anchor="RFC2474">
          <front>
            <title>Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers</title>
            <author fullname="K. Nichols" initials="K." surname="Nichols"/>
            <author fullname="S. Blake" initials="S." surname="Blake"/>
            <author fullname="F. Baker" initials="F." surname="Baker"/>
            <author fullname="D. Black" initials="D." surname="Black"/>
            <date month="December" year="1998"/>
            <abstract>
              <t>This document defines the IP header field, called the DS (for differentiated services) field. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2474"/>
          <seriesInfo name="DOI" value="10.17487/RFC2474"/>
        </reference>
        <reference anchor="RFC2475">
          <front>
            <title>An Architecture for Differentiated Services</title>
            <author fullname="S. Blake" initials="S." surname="Blake"/>
            <author fullname="D. Black" initials="D." surname="Black"/>
            <author fullname="M. Carlson" initials="M." surname="Carlson"/>
            <author fullname="E. Davies" initials="E." surname="Davies"/>
            <author fullname="Z. Wang" initials="Z." surname="Wang"/>
            <author fullname="W. Weiss" initials="W." surname="Weiss"/>
            <date month="December" year="1998"/>
            <abstract>
              <t>This document defines an architecture for implementing scalable service differentiation in the Internet. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2475"/>
          <seriesInfo name="DOI" value="10.17487/RFC2475"/>
        </reference>
        <reference anchor="RFC2819">
          <front>
            <title>Remote Network Monitoring Management Information Base</title>
            <author fullname="S. Waldbusser" initials="S." surname="Waldbusser"/>
            <date month="May" year="2000"/>
            <abstract>
              <t>This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in TCP/IP-based internets. In particular, it defines objects for managing remote network monitoring devices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="59"/>
          <seriesInfo name="RFC" value="2819"/>
          <seriesInfo name="DOI" value="10.17487/RFC2819"/>
        </reference>
        <reference anchor="RFC3168">
          <front>
            <title>The Addition of Explicit Congestion Notification (ECN) to IP</title>
            <author fullname="K. Ramakrishnan" initials="K." surname="Ramakrishnan"/>
            <author fullname="S. Floyd" initials="S." surname="Floyd"/>
            <author fullname="D. Black" initials="D." surname="Black"/>
            <date month="September" year="2001"/>
            <abstract>
              <t>This memo specifies the incorporation of ECN (Explicit Congestion Notification) to TCP and IP, including ECN's use of two bits in the IP header. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3168"/>
          <seriesInfo name="DOI" value="10.17487/RFC3168"/>
        </reference>
        <reference anchor="RFC3393">
          <front>
            <title>IP Packet Delay Variation Metric for IP Performance Metrics (IPPM)</title>
            <author fullname="C. Demichelis" initials="C." surname="Demichelis"/>
            <author fullname="P. Chimento" initials="P." surname="Chimento"/>
            <date month="November" year="2002"/>
          </front>
          <seriesInfo name="RFC" value="3393"/>
          <seriesInfo name="DOI" value="10.17487/RFC3393"/>
        </reference>
        <reference anchor="RFC4656">
          <front>
            <title>A One-way Active Measurement Protocol (OWAMP)</title>
            <author fullname="S. Shalunov" initials="S." surname="Shalunov"/>
            <author fullname="B. Teitelbaum" initials="B." surname="Teitelbaum"/>
            <author fullname="A. Karp" initials="A." surname="Karp"/>
            <author fullname="J. Boote" initials="J." surname="Boote"/>
            <author fullname="M. Zekauskas" initials="M." surname="Zekauskas"/>
            <date month="September" year="2006"/>
            <abstract>
              <t>The One-Way Active Measurement Protocol (OWAMP) measures unidirectional characteristics such as one-way delay and one-way loss. High-precision measurement of these one-way IP performance metrics became possible with wider availability of good time sources (such as GPS and CDMA). OWAMP enables the interoperability of these measurements. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4656"/>
          <seriesInfo name="DOI" value="10.17487/RFC4656"/>
        </reference>
        <reference anchor="RFC5357">
          <front>
            <title>A Two-Way Active Measurement Protocol (TWAMP)</title>
            <author fullname="K. Hedayat" initials="K." surname="Hedayat"/>
            <author fullname="R. Krzanowski" initials="R." surname="Krzanowski"/>
            <author fullname="A. Morton" initials="A." surname="Morton"/>
            <author fullname="K. Yum" initials="K." surname="Yum"/>
            <author fullname="J. Babiarz" initials="J." surname="Babiarz"/>
            <date month="October" year="2008"/>
            <abstract>
              <t>The One-way Active Measurement Protocol (OWAMP), specified in RFC 4656, provides a common protocol for measuring one-way metrics between network devices. OWAMP can be used bi-directionally to measure one-way metrics in both directions between two network elements. However, it does not accommodate round-trip or two-way measurements. This memo specifies a Two-Way Active Measurement Protocol (TWAMP), based on the OWAMP, that adds two-way or round-trip measurement capabilities. The TWAMP measurement architecture is usually comprised of two hosts with specific roles, and this allows for some protocol simplifications, making it an attractive alternative in some circumstances. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5357"/>
          <seriesInfo name="DOI" value="10.17487/RFC5357"/>
        </reference>
        <reference anchor="RFC5905">
          <front>
            <title>Network Time Protocol Version 4: Protocol and Algorithms Specification</title>
            <author fullname="D. Mills" initials="D." surname="Mills"/>
            <author fullname="J. Martin" initials="J." role="editor" surname="Martin"/>
            <author fullname="J. Burbank" initials="J." surname="Burbank"/>
            <author fullname="W. Kasch" initials="W." surname="Kasch"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>The Network Time Protocol (NTP) is widely used to synchronize computer clocks in the Internet. This document describes NTP version 4 (NTPv4), which is backwards compatible with NTP version 3 (NTPv3), described in RFC 1305, as well as previous versions of the protocol. NTPv4 includes a modified protocol header to accommodate the Internet Protocol version 6 address family. NTPv4 includes fundamental improvements in the mitigation and discipline algorithms that extend the potential accuracy to the tens of microseconds with modern workstations and fast LANs. It includes a dynamic server discovery scheme, so that in many cases, specific server configuration is not required. It corrects certain errors in the NTPv3 design and implementation and includes an optional extension mechanism.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5905"/>
          <seriesInfo name="DOI" value="10.17487/RFC5905"/>
        </reference>
        <reference anchor="RFC6437">
          <front>
            <title>IPv6 Flow Label Specification</title>
            <author fullname="S. Amante" initials="S." surname="Amante"/>
            <author fullname="B. Carpenter" initials="B." surname="Carpenter"/>
            <author fullname="S. Jiang" initials="S." surname="Jiang"/>
            <author fullname="J. Rajahalme" initials="J." surname="Rajahalme"/>
            <date month="November" year="2011"/>
            <abstract>
              <t>This document specifies the IPv6 Flow Label field and the minimum requirements for IPv6 nodes labeling flows, IPv6 nodes forwarding labeled packets, and flow state establishment methods. Even when mentioned as examples of possible uses of the flow labeling, more detailed requirements for specific use cases are out of the scope for this document.</t>
              <t>The usage of the Flow Label field enables efficient IPv6 flow classification based only on IPv6 main header fields in fixed positions. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6437"/>
          <seriesInfo name="DOI" value="10.17487/RFC6437"/>
        </reference>
        <reference anchor="RFC6621">
          <front>
            <title>Simplified Multicast Forwarding</title>
            <author fullname="J. Macker" initials="J." role="editor" surname="Macker"/>
            <date month="May" year="2012"/>
            <abstract>
              <t>This document describes a Simplified Multicast Forwarding (SMF) mechanism that provides basic Internet Protocol (IP) multicast forwarding suitable for limited wireless mesh and mobile ad hoc network (MANET) use. It is mainly applicable in situations where efficient flooding represents an acceptable engineering design trade-off. It defines techniques for multicast duplicate packet detection (DPD), to be applied in the forwarding process, for both IPv4 and IPv6 protocol use. This document also specifies optional mechanisms for using reduced relay sets to achieve more efficient multicast data distribution within a mesh topology as compared to Classic Flooding. Interactions with other protocols, such as use of information provided by concurrently running unicast routing protocols or interaction with other multicast protocols, as well as multiple deployment approaches are also described. Distributed algorithms for selecting reduced relay sets and related discussion are provided in the appendices. Basic issues relating to the operation of multicast MANET border routers are discussed, but ongoing work remains in this area and is beyond the scope of this document. This document defines an Experimental Protocol for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6621"/>
          <seriesInfo name="DOI" value="10.17487/RFC6621"/>
        </reference>
        <reference anchor="RFC6864">
          <front>
            <title>Updated Specification of the IPv4 ID Field</title>
            <author fullname="J. Touch" initials="J." surname="Touch"/>
            <date month="February" year="2013"/>
            <abstract>
              <t>The IPv4 Identification (ID) field enables fragmentation and reassembly and, as currently specified, is required to be unique within the maximum lifetime for all datagrams with a given source address/destination address/protocol tuple. If enforced, this uniqueness requirement would limit all connections to 6.4 Mbps for typical datagram sizes. Because individual connections commonly exceed this speed, it is clear that existing systems violate the current specification. This document updates the specification of the IPv4 ID field in RFCs 791, 1122, and 2003 to more closely reflect current practice and to more closely match IPv6 so that the field's value is defined only when a datagram is actually fragmented. It also discusses the impact of these changes on how datagrams are used. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6864"/>
          <seriesInfo name="DOI" value="10.17487/RFC6864"/>
        </reference>
        <reference anchor="RFC7011">
          <front>
            <title>Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of Flow Information</title>
            <author fullname="B. Claise" initials="B." role="editor" surname="Claise"/>
            <author fullname="B. Trammell" initials="B." role="editor" surname="Trammell"/>
            <author fullname="P. Aitken" initials="P." surname="Aitken"/>
            <date month="September" year="2013"/>
            <abstract>
              <t>This document specifies the IP Flow Information Export (IPFIX) protocol, which serves as a means for transmitting Traffic Flow information over the network. In order to transmit Traffic Flow information from an Exporting Process to a Collecting Process, a common representation of flow data and a standard means of communicating them are required. This document describes how the IPFIX Data and Template Records are carried over a number of transport protocols from an IPFIX Exporting Process to an IPFIX Collecting Process. This document obsoletes RFC 5101.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="77"/>
          <seriesInfo name="RFC" value="7011"/>
          <seriesInfo name="DOI" value="10.17487/RFC7011"/>
        </reference>
        <reference anchor="RFC7014">
          <front>
            <title>Flow Selection Techniques</title>
            <author fullname="S. D'Antonio" initials="S." surname="D'Antonio"/>
            <author fullname="T. Zseby" initials="T." surname="Zseby"/>
            <author fullname="C. Henke" initials="C." surname="Henke"/>
            <author fullname="L. Peluso" initials="L." surname="Peluso"/>
            <date month="September" year="2013"/>
            <abstract>
              <t>The Intermediate Flow Selection Process is the process of selecting a subset of Flows from all observed Flows. The Intermediate Flow Selection Process may be located at an IP Flow Information Export (IPFIX) Exporter or Collector, or within an IPFIX Mediator. It reduces the effort of post-processing Flow data and transferring Flow Records. This document describes motivations for using the Intermediate Flow Selection process and presents Intermediate Flow Selection techniques. It provides an information model for configuring Intermediate Flow Selection Process techniques and discusses what information about an Intermediate Flow Selection Process should be exported.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7014"/>
          <seriesInfo name="DOI" value="10.17487/RFC7014"/>
        </reference>
        <reference anchor="RFC7679">
          <front>
            <title>A One-Way Delay Metric for IP Performance Metrics (IPPM)</title>
            <author fullname="G. Almes" initials="G." surname="Almes"/>
            <author fullname="S. Kalidindi" initials="S." surname="Kalidindi"/>
            <author fullname="M. Zekauskas" initials="M." surname="Zekauskas"/>
            <author fullname="A. Morton" initials="A." role="editor" surname="Morton"/>
            <date month="January" year="2016"/>
            <abstract>
              <t>This memo defines a metric for one-way delay of packets across Internet paths. It builds on notions introduced and discussed in the IP Performance Metrics (IPPM) Framework document, RFC 2330; the reader is assumed to be familiar with that document. This memo makes RFC 2679 obsolete.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="81"/>
          <seriesInfo name="RFC" value="7679"/>
          <seriesInfo name="DOI" value="10.17487/RFC7679"/>
        </reference>
        <reference anchor="RFC7680">
          <front>
            <title>A One-Way Loss Metric for IP Performance Metrics (IPPM)</title>
            <author fullname="G. Almes" initials="G." surname="Almes"/>
            <author fullname="S. Kalidindi" initials="S." surname="Kalidindi"/>
            <author fullname="M. Zekauskas" initials="M." surname="Zekauskas"/>
            <author fullname="A. Morton" initials="A." role="editor" surname="Morton"/>
            <date month="January" year="2016"/>
            <abstract>
              <t>This memo defines a metric for one-way loss of packets across Internet paths. It builds on notions introduced and discussed in the IP Performance Metrics (IPPM) Framework document, RFC 2330; the reader is assumed to be familiar with that document. This memo makes RFC 2680 obsolete.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="82"/>
          <seriesInfo name="RFC" value="7680"/>
          <seriesInfo name="DOI" value="10.17487/RFC7680"/>
        </reference>
        <reference anchor="RFC7799">
          <front>
            <title>Active and Passive Metrics and Methods (with Hybrid Types In-Between)</title>
            <author fullname="A. Morton" initials="A." surname="Morton"/>
            <date month="May" year="2016"/>
            <abstract>
              <t>This memo provides clear definitions for Active and Passive performance assessment. The construction of Metrics and Methods can be described as either "Active" or "Passive". Some methods may use a subset of both Active and Passive attributes, and we refer to these as "Hybrid Methods". This memo also describes multiple dimensions to help evaluate new methods as they emerge.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7799"/>
          <seriesInfo name="DOI" value="10.17487/RFC7799"/>
        </reference>
        <reference anchor="RFC9330">
          <front>
            <title>Low Latency, Low Loss, and Scalable Throughput (L4S) Internet Service: Architecture</title>
            <author fullname="B. Briscoe" initials="B." role="editor" surname="Briscoe"/>
            <author fullname="K. De Schepper" initials="K." surname="De Schepper"/>
            <author fullname="M. Bagnulo" initials="M." surname="Bagnulo"/>
            <author fullname="G. White" initials="G." surname="White"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>This document describes the L4S architecture, which enables Internet applications to achieve low queuing latency, low congestion loss, and scalable throughput control. L4S is based on the insight that the root cause of queuing delay is in the capacity-seeking congestion controllers of senders, not in the queue itself. With the L4S architecture, all Internet applications could (but do not have to) transition away from congestion control algorithms that cause substantial queuing delay and instead adopt a new class of congestion controls that can seek capacity with very little queuing. These are aided by a modified form of Explicit Congestion Notification (ECN) from the network. With this new architecture, applications can have both low latency and high throughput.</t>
              <t>The architecture primarily concerns incremental deployment. It defines mechanisms that allow the new class of L4S congestion controls to coexist with 'Classic' congestion controls in a shared network. The aim is for L4S latency and throughput to be usually much better (and rarely worse) while typically not impacting Classic performance.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9330"/>
          <seriesInfo name="DOI" value="10.17487/RFC9330"/>
        </reference>
        <reference anchor="RFC9331">
          <front>
            <title>The Explicit Congestion Notification (ECN) Protocol for Low Latency, Low Loss, and Scalable Throughput (L4S)</title>
            <author fullname="K. De Schepper" initials="K." surname="De Schepper"/>
            <author fullname="B. Briscoe" initials="B." role="editor" surname="Briscoe"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>This specification defines the protocol to be used for a new network service called Low Latency, Low Loss, and Scalable throughput (L4S). L4S uses an Explicit Congestion Notification (ECN) scheme at the IP layer that is similar to the original (or 'Classic') ECN approach, except as specified within. L4S uses 'Scalable' congestion control, which induces much more frequent control signals from the network, and it responds to them with much more fine-grained adjustments so that very low (typically sub-millisecond on average) and consistently low queuing delay becomes possible for L4S traffic without compromising link utilization. Thus, even capacity-seeking (TCP-like) traffic can have high bandwidth and very low delay at the same time, even during periods of high traffic load.</t>
              <t>The L4S identifier defined in this document distinguishes L4S from 'Classic' (e.g., TCP-Reno-friendly) traffic. Then, network bottlenecks can be incrementally modified to distinguish and isolate existing traffic that still follows the Classic behaviour, to prevent it from degrading the low queuing delay and low loss of L4S traffic. This Experimental specification defines the rules that L4S transports and network elements need to follow, with the intention that L4S flows neither harm each other's performance nor that of Classic traffic. It also suggests open questions to be investigated during experimentation. Examples of new Active Queue Management (AQM) marking algorithms and new transports (whether TCP-like or real time) are specified separately.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9331"/>
          <seriesInfo name="DOI" value="10.17487/RFC9331"/>
        </reference>
        <reference anchor="RFC9332">
          <front>
            <title>Dual-Queue Coupled Active Queue Management (AQM) for Low Latency, Low Loss, and Scalable Throughput (L4S)</title>
            <author fullname="K. De Schepper" initials="K." surname="De Schepper"/>
            <author fullname="B. Briscoe" initials="B." role="editor" surname="Briscoe"/>
            <author fullname="G. White" initials="G." surname="White"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>This specification defines a framework for coupling the Active Queue Management (AQM) algorithms in two queues intended for flows with different responses to congestion. This provides a way for the Internet to transition from the scaling problems of standard TCP-Reno-friendly ('Classic') congestion controls to the family of 'Scalable' congestion controls. These are designed for consistently very low queuing latency, very low congestion loss, and scaling of per-flow throughput by using Explicit Congestion Notification (ECN) in a modified way. Until the Coupled Dual Queue (DualQ), these Scalable L4S congestion controls could only be deployed where a clean-slate environment could be arranged, such as in private data centres.</t>
              <t>This specification first explains how a Coupled DualQ works. It then gives the normative requirements that are necessary for it to work well. All this is independent of which two AQMs are used, but pseudocode examples of specific AQMs are given in appendices.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9332"/>
          <seriesInfo name="DOI" value="10.17487/RFC9332"/>
        </reference>
        <reference anchor="RFC9341">
          <front>
            <title>Alternate-Marking Method</title>
            <author fullname="G. Fioccola" initials="G." role="editor" surname="Fioccola"/>
            <author fullname="M. Cociglio" initials="M." surname="Cociglio"/>
            <author fullname="G. Mirsky" initials="G." surname="Mirsky"/>
            <author fullname="T. Mizrahi" initials="T." surname="Mizrahi"/>
            <author fullname="T. Zhou" initials="T." surname="Zhou"/>
            <date month="December" year="2022"/>
            <abstract>
              <t>This document describes the Alternate-Marking technique to perform packet loss, delay, and jitter measurements on live traffic. This technology can be applied in various situations and for different protocols. According to the classification defined in RFC 7799, it could be considered Passive or Hybrid depending on the application. This document obsoletes RFC 8321.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9341"/>
          <seriesInfo name="DOI" value="10.17487/RFC9341"/>
        </reference>
        <reference anchor="IANA-IP-Option-Numbers" target="https://www.iana.org/assignments/ip-parameters/ip-parameters.xhtml#ip-parameters-1">
          <front>
            <title>IP Option Numbers</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="IEEE802.3">
          <front>
            <title>IEEE Standard for Ethernet</title>
            <author>
              <organization>Institute of Electrical and Electronics Engineers</organization>
            </author>
            <date year="2022" month="May"/>
          </front>
        </reference>
        <reference anchor="IEEE1588-2019">
          <front>
            <title>IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems</title>
            <author>
              <organization>Institute of Electrical and Electronics Engineers</organization>
            </author>
            <date year="2019" month="November"/>
          </front>
        </reference>
        <reference anchor="MEF10.4">
          <front>
            <title>Subscriber Ethernet Service Attributes</title>
            <author>
              <organization>Metro Ethernet Forum</organization>
            </author>
            <date year="2018" month="December"/>
          </front>
        </reference>
        <reference anchor="Nokia" target="https://www.nokia.com/about-us/news/releases/2020/03/13/nokia-bell-labs-world-records-and-innovations-in-fiber-optics-to-enable-faster-and-higher-capacity-5g-networks-of-the-future/">
          <front>
            <title>Noka Bell Labs' world records and innovations in fibre optics to enable faster and higher capacity 5G networks of the future</title>
            <author>
              <organization>Nokia</organization>
            </author>
            <date year="2020" month="March"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 1235?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Tjeerd Pinkert wants to thank Gert Bolz, and Benjamin Schilling for their
support of the hybrid network measurements innovation project, and Sascha
Liebscher, Achim Willers, Tobias Grosch, and Jaime Lazaro Calderon for their
support to make this work possible within Siemens Mobility.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact fullname="Benjamin Schilling">
        <organization>Siemens Mobility GmbH</organization>
        <address>
          <postal>
            <street>Ackerstrasse 22</street>
            <city>Braunschweig</city>
            <code>38126</code>
            <country>Germany</country>
          </postal>
          <email>benjamin.schilling@siemens.com</email>
          <uri>https://www.mobility.siemens.com</uri>
        </address>
      </contact>
      <contact fullname="Gert Bolz">
        <organization>Siemens Mobility GmbH</organization>
        <address>
          <postal>
            <street>Ackerstrasse 22</street>
            <city>Braunschweig</city>
            <code>38126</code>
            <country>Germany</country>
          </postal>
          <email>gert.bolz@siemens.com</email>
          <uri>https://www.mobility.siemens.com</uri>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+1963IbV3rg//MUZzU/hkwAiCApimJllKVFyeaUKHJFKk7K
pa1qAA2gR0A30qdBCp7Mu+RZ8mT7Xc+l0ZDksTXxTqykxgTQfa7f/drv901T
NIv8zD46L+3lzf2xzcoJ/nFil3nm1nW+zMvGVqumqEq7d3W9b6dVbeebUV1M
7HRRPcTPucEjM86afFbVmzPrmokxk2pcZkuYYFJn06a/KsoPed30i9VqCf/T
j17u8yT9g6Fx69GycA4+NZsVvHv58u6VKdfLUV6fmQlMcGbGVeny0q3dmW3q
dW7uz+yRyeo8O7PXN7fmoao/zOpqvYKXb26u7PfwuShn9lv8znzIN/DA5MzY
vm6lzBt8J9kN/hyfAsyc4XfFSg7E3OflGhZjrcyF24JPvOp0TmuXWbGAb7/9
3/nHbLla5INxhQ9n9Xh+ZudNs3Jnjx9Hvz3+/lscuWjm69GZfXf78u3jty9v
ruG7BRyBa7pfen1+9/L2zphs3cyrmrZop+vFgm/h7k95Xk/sHwf2hm8CRrO2
qmdZWfyY4Z7O7G2B23X2qhoVi6LZ2G+Xo+/oOdfUeQ7zno/hVfiQOZfbw0P6
bVxNYPzfH50OD09+z9/Au2f2mzpbl248f8iLmTy4LhuEj2/zepmVG/oy58Np
aHkDgZL/7XglclDWrusibPrh4WGwlCUOkieTHb/JZ1ltrzJXrSfFNKt/XRsu
cXWDpV/dL7Ll8w/ZeL7+8LC255OymOb2DXw/KX5dO890kYOSVvdX7hzoQFMX
o3WzDevf5OWfsmVR2tvxvFgsABV/XScwkvUNnK7vF7l9mKmx31SLH39du53B
sgYjWNZfucmygiGb4p7I7dtXL54+G8pfp4cHB2emKKetJ4bDw0P58/Do6ED/
PH56HP58on+eDp/Jn0fDk1P98+jZkfx5fPLkRP58cvTkqf757EBHODk+0m9P
Tg51bSenJzrb04PhMPzpvz15+sz/eaqLfPr0mX77LCwd/hyGPw/9n8f07eX5
m/P+5U3/mtnoG2KX7oyOuMnqWd6kp1xkZTYA8HgMV13MSuJ4j4Elr7Ia4KiB
d9NPg4/zZrn4XfJdf8jDswxxeWN5ciuT04+eEdG/vvyXIPOMFo1rf/ny5enB
4eDoLBkPvv2v/7xtQCTJ6sl//Sdc8H/958tmntfArelBkgXs8Ajo+8YeHgi8
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
VeDynL2qODxmYP4fBlgnA/jvAAA=

-->

</rfc>
