<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc strict='yes'?>
<?rfc iprnotified='no'?>
<rfc category="std" docName="draft-templin-6man-ipid-ext-06" ipr="trust200902" updates="8200, 8900">
  <front>
    <title abbrev="IPv6 Extended Fragment Header">IPv6 Extended Fragment Header</title>

    <author fullname="Fred L. Templin" initials="F. L." role="editor"
            surname="Templin">
      <organization>Boeing Research &amp; Technology</organization>

      <address>
        <postal>
          <street>P.O. Box 3707</street>

          <city>Seattle</city>

          <region>WA</region>

          <code>98124</code>

          <country>USA</country>
        </postal>

        <email>fltemplin@acm.org</email>
      </address>
    </author>

    <date day="7" month="December" year="2023"/>

    <keyword>I-D</keyword>

    <keyword>Internet-Draft</keyword>

    <abstract>
      <t>The Internet Protocol, version 4 (IPv4) header includes a 16-bit
      Identification field in all packets, but this length is too small to
      ensure reassembly integrity even at moderate data rates in modern
      networks. Even for Internet Protocol, version 6 (IPv6), the 32-bit
      Identification field included when a Fragment Header is present may
      be smaller than desired for some applications. This specification
      addresses these limitations by defining an IPv6 Destination Options
      Extended Fragment Header option that includes a 64-bit Identification;
      it further defines control messaging services for fragmentation and
      reassembly congestion management.</t>
    </abstract>
  </front>

  <middle>
    <section anchor="intro" title="Introduction">
      <t>The Internet Protocol, version 4 (IPv4) header includes a 16-bit
      Identification in all packets <xref target="RFC0791"/>, but this
      length is too small to ensure reassembly integrity even at moderate
      data rates in modern networks <xref target="RFC4963"/><xref target=
      "RFC6864"/><xref target="RFC8900"/>. For Internet Protocol, version
      6 (IPv6), the Identification field is only present in packets that
      include a Fragment Header where its standard length is 32-bits <xref
      target="RFC8200"/>, but even this length may be too small for some
      applications. This specification therefore defines a means to extend
      the IPv6 Identification length through the introduction of a new
      IPv6 Destination Options Extended Fragment Header option.</t>

      <t>The Extended Fragment Header option may be useful for
      networks that engage fragmentation and reassembly at extreme data
      rates, or for cases when advanced packet Identification uniqueness
      assurance is critical. The specification further defines a messaging
      service for adaptive realtime response to congestion related to
      fragmentation and reassembly. Together, these extensions support
      robust fragmentation and reassembly services as well as packet
      Identification uniqueness for IPv6.</t>
    </section>

    <section anchor="term" title="Terminology">
      <t>This document uses the term "IP" to refer generically to either
      protocol version (i.e., IPv4 or IPv6), and uses the term "IP ID" to
      refer generically to the IP Identification field whether in simple
      or extended form.</t>

      <t>The terms "Maximum Transmission Unit (MTU)", "Effective MTU to
      Receive (EMTU_R)", "Effective MTU to Send (EMTU_S)" and "Maximum
      Segment Lifetime (MSL)" are used exactly the same as for standard
      Internetworking terminology <xref target="RFC1122"/>. The term MSL
      is equivalent to the term "maximum datagram lifetime (MDL)" defined
      in <xref target="RFC0791"/><xref target="RFC6864"/>.</t>

      <t>The term "Packet Too Big (PTB)" refers to an IPv6 "Packet Too
      Big" <xref target="RFC8201"/><xref target="RFC4443"/> message.</t>

      <t>The term "flow" refers to a sequence of packets sent from a particular
      source to a particular unicast, anycast or multicast destination
      <xref target="RFC6437"/>.</t>

      <t>The term "source" refers to either the original end system that
      produces an IP packet or an encapsulation ingress intermediate system
      on the path.</t>

      <t>The term "destination" refers to either a decapsulation egress
      intermediate system on the path or the final end system that consumes
      an IP packet.</t>

      <t>The term "intermediate system" refers to a node on the path from the
      (original) source to the (final) destination that forward packets not
      addressed to itself. Intermediate systems that decrement the IP header
      TTL/Hop Limit are also known as "routers".</t>

      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
      "OPTIONAL" in this document are to be interpreted as described in BCP 14
      <xref target="RFC2119"/><xref target="RFC8174"/> when, and only when,
      they appear in all capitals, as shown here.</t>
    </section>

    <section anchor="motivate" title="Motivation">
      <t>Upper layer protocols often achieve greater performance by configuring
      segment sizes that exceed the path Maximum Transmission Unit (MTU). When
      the segment size exceeds the path MTU, IP fragmentation at some layer is
      a natural consequence. However, the 4-octet (32-bit) IPv6 Identification
      field may be too small to ensure reassembly integrity at sufficiently high
      data rates, especially when the source resets the starting sequence number
      often to maintain an unpredictable profile <xref target="RFC7739"/>. This
      specification therefore proposes to fortify the IP ID by extending its
      length.</t>

      <t>In addition to accommodating higher data rates in the presence
      of fragmentation and reassembly, extending the IP ID can enable
      other important services. For example, an extended IP ID can
      support a duplicate packet detection service in which the network
      remembers recent IP ID values for a flow to aid detection of
      potential duplicates (note however that the network layer must
      not incorrectly flag intentional lower layer retransmissions
      as duplicates). An extended IP ID can also provide a packet
      sequence number that allows communicating peers to exclude any
      packets with IP ID values outside of a current sequence number
      window for a flow as potential spurious transmissions.</t>

      <t>A robust IP fragmentation and reassembly service can provide
      a useful tool for performance maximization in the Internet when
      an extended IP ID is available. This document therefore presents
      a means to extend the IPv6 ID to better support these services
      through the introduction of an IPv6 Extended Fragment Header.</t>
    </section>

    <section anchor="IPv6-ext" title="IPv6 Extended Fragment Header">
      <t>For a standard 4-octet IPv6 Identification, the source can
      simply include an ordinary IPv6 Fragment Header as specified in
      <xref target="RFC8200"/> with the Fragment Offset field and
      M flag set either to values appropriate for a fragmented
      packet or the value 0 for an unfragmented packet. The source
      then includes a 4-octet Identification value for the packet.</t>

      <t>For an extended Identification and/or for paths that do not
      recognize the standard IPv6 Fragment Header, this specification
      permits the source to instead include an IPv6 Extended Fragment
      Header in a Destination Options Header. The Extended Fragment
      Header must appear as the only option in a Destination Options
      Header that appears immediately following the Hop-by-Hop Options
      (if present) and immediately before any other Per-Fragment extension
      headers - see Sections 4.1 and 4.5 of <xref target="RFC8200"/>.
      The IPv6 Destination Options Header with Extended Fragment Header
      option is formatted as shown in <xref target="ipv6-ext-id"/>:</t>

      <t><figure anchor="ipv6-ext-id" title="IPv6 Extended Fragment Header">
        <artwork><![CDATA[   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Next Header  |  Hdr Ext Len  |  Option Type  |  Opt Data Len |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   NH-Cache   |   Index   |P|S|      Fragment Offset    |R|D|M|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   +-+-+-+-              Identification (64 bits)           -+-+-+-+
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Next Header           encodes protocol number of header following
                         the current Destination Options header.

   Hdr Ext Len           8-bit value 1 (i.e., 2 units of 8 octets).

   Option Type           8-bit value '101[TBD1]'.

   Opt Data Len          8-bit value 12.

   NH-Cache              a temporary copy of Next Header cached
                         when the packet is subject to fragmentation.

   Index/P/S             a control octet that identifies the components
                         of an IP Parcel [I-D.templin-intarea-parcels].

   Fragment Offset       the same as the fragmentation offset field
                         of the standard IPv6 Fragment Header.

   R/D/M                 fragmentation control flags: "(R)eserved",
                         "(D)on't Fragment" and "(M)ore Fragments".

   Identification        an 8-octet (64 bit) unsigned integer
                         Identification, in network byte order.]]></artwork></figure></t>

      <t>The Extended Fragment Header option is therefore identified
      as an Option Type with the highest-order 2 bits set to '10', the
      third-highest-order bit set to '1' and the low-order 5 bits set
      to TBD1 (see: IANA Considerations). The Identification field is
      8 octets (64 bits) in length, and the option may appear either
      in an unfragmented IPv6 packet or in one for which IPv6
      fragmentation is applied (with a copy of the header appearing
      in each fragment).</t>

      <t>The source applies fragmentation using the Extended Fragment
      Header destination option in the same fashion as for the standard
      IPv6 Fragment Header, except that the Destination Option itself
      is included in the Per-Fragment Headers - see: Section 4.5 of
      <xref target="RFC8200"/> and the standard IPv6 Fragment Header
      is not included. The source further sets the R/D/M fragmentation
      control flags the same as for IPv4 fragmentation as discussed in
      <xref target="ipv6-frag"/>.</t>

      <t>For each fragment produced during fragmentation, the source
      also caches the final Next Header value found in the chain of
      extension headers beginning with itself and continuing up to
      and including the Routing Header (if present) in the NH-Cache
      field. The source then resets this final Next Header field to
      "No Next Header".</t>

      <t>The destination reassembles the same as specified in Section
      4.5 of <xref target="RFC8200"/>. Following reassembly, the
      destination resets the final Next Header field in the extension
      header chain (as above) to the value cached in the Extended
      Fragment Header NH-Cache field.</t>

      <t>Intermediate systems that forward packets fragmented in
      this way will therefore interpret the data that follows the
      per-fragment headers as undefined data (by virtue of the "No
      Next Header" setting) unless they are configured to more
      deeply inspect the data content.</t>
    </section>

    <section anchor="ipv6-frag" title="IPv6 Network Fragmentation">
      <t>When an IPv6 network intermediate system forwards a packet that
      includes an IPv6 Destination Option with Extended Fragment Header
      option in the position where it is permitted to occur, the
      intermediate system can optionally examine the R/D/M fragmentation
      control flags the same as for IPv4 fragmentation. In particular:</t>

      <t><list style="symbols">
        <t>the source sets the "(R)eserved" flag to 0 on transmission and
        the destination ignores the flag on reception.</t>

        <t>the source sets the "(D)on't Fragment" flag to 0 if network
        fragmentation is permitted; otherwise to 1.</t>

        <t>the source (or a fragmenting intermediate system) sets the
        "(M)ore Fragments" flag to 0 for the final fragment or 1 for
        non-final fragments.</t>
      </list></t>

      <t>When an intermediate system forwards a packet with D=0 that
      is too large to traverse the next hop toward the destination, it
      can apply (further) fragmentation using the same procedures as
      specified for the source  above, except that it only rewrites
      the Next Header fields if both Fragment Offset and M are 0. For
      this reason, the Extended Fragment Header option contents may
      change in the path; hence the option "chg" flag is 1.</t>

      <t>This specification therefore updates <xref target="RFC8200"/>
      by permitting network fragmentation for IPv6 under the above
      conditions.</t>

      <t>Note: Intermediate systems that do not recognize/process
      the IPv6 Extended Fragment Header Destination Option drop
      packets that are too large to traverse the next hop toward
      the destination and return a standard ICMPv6 Packet Too Big
      (PTB) message <xref target="RFC4443"/><xref target="RFC8201"/>.</t>
    </section>

    <section anchor="qual" title="Destination Qualification">
      <t>Destinations that do not recognize the Extended Fragment Header
      Destination Option drop the packet and return an ICMPv6 Parameter
      Problem message with Code 2 <xref target="RFC4443"/>. ICMPv6
      messages may be lost on the return path and/or manufactured by
      an adversary, however, and can therefore provide only an
      advisory indication.</t>

      <t>The source can then test whether a destination recognizes the
      Extended Fragment Header by occasionally sending a "probe" packet
      (whether fragmented or unfragmented) using the option. If the
      source receives an acknowledgement, it has assurance that the
      destination recognizes the option. The source should re-probe
      each destination occasionally in case routing redirects a flow
      to a different anycast destination or in case a multicast
      group membership changes (see: <xref target="multi"/>).</t>
    </section>

    <section anchor="icmp" title="Packet Too Big (PTB) Extensions">
      <t>When an intermediate system attempts to forward an IP packet that
      exceeds the next hop link MTU but for which fragmentation is forbidden,
      it returns an ICMPv6 Packet Too Big (PTB) message to the source <xref
      target="RFC4443"/><xref target="RFC8201"/> and discards the packet.
      This always results in wasted transmissions by the source and all
      intermediate systems on the path toward the one with the restricting
      link. Conversely, when network fragmentation is permitted intermediate
      systems may perform (further) fragmentation if necessary allowing the
      packet to reach the destination without loss due to a size restriction.
      This results in an internetwork that is more adaptive to dynamic MTU
      fluctuations and less subject to wasted transmissions.</t>

      <t>While the fragmentation and reassembly processes eliminate
      wasted transmissions and support significant performance gains
      by accommodating upper layer protocol segment sizes that exceed
      the path MTU, the processes sometimes represent pain points that
      should be communicated to the source. The source should then take
      measures to reduce the size of the packets/fragments that it sends.</t>

      <t>The ICMPv6 PTB format includes a Code field set to the value 0
      for ordinary PTB messages. The value 0 signifies a "classic" PTB
      and always denotes that the subject packet was unconditionally
      dropped due to a size restriction.</t>

      <t>For end systems and intermediate systems that recognize the
      Extended Fragment Header according to this specification, the
      following additional PTB unused/Code values are defined:</t>

      <t><list style="hanging">
          <t hangText="1 (suggested)"> Sent by an intermediate system
          (subject to rate limiting) when it performs (further)
          fragmentation on a packet with an Extended Fragment Header.
          The intermediate system sends the PTB message while still
          fragmenting and forwarding the packet. The MTU field of the
          PTB message includes the maximum fragment size that can pass
          through the restricting link as an indication for the source
          to reduce its (source) fragment sizes. This size will often
          be considerably smaller than the current receive packet size
          advertised by the destination.</t>

          <t hangText="2 (suggested)"> The same as for Code 1, except that
          the intermediate system drops the packet instead of fragmenting
          and forwarding. This message type represents a hard error
          indicating loss. In one possible strategy, the intermediate
          system could begin sending Code 1 PTBs then revert to sending
          Code 2 PTBs if the source fails to reduce its fragment sizes.</t>

          <t hangText="3 (suggested)"> Sent by the destination (subject to
          rate limiting) when it performs reassembly on a packet with an
          Extended Fragment Header during periods of reassembly congestion.
          The destination sends the PTB message while still reassembling and
          accepting the packet. The MTU field of the PTB message includes
          the largest desired receive packet size (less than or equal to
          the EMTU_R) under current reassembly buffer congestion constraints
          as an indication for the source to begin sending smaller packets
          if necessary. This size will often be considerably larger than
          the path MTU and must be no smaller than the IPv6 minimum EMTU_R.</t>

          <t hangText="4 (suggested)"> The same as for Code 3, except that
          the destination drops the packet instead of reassembling and
          accepting. This message type represents a hard error indicating
          loss. In one possible strategy, the destination could begin
          sending Code 3 PTBs then revert to dropping packets while
          sending Code 4 PTBs if the source fails to reduce its packet
          sizes.</t>
      </list></t>

      <t>Note: sources that receive PTB messages with Code 1/2 from an
      intermediate system should immediately engage source fragmentation
      for future packets using a maximum fragment size no larger than the
      MTU advertised in the PTB messages. This not only eases the burden
      on intermediate systems but also ensures better performance by
      avoiding degenerate fragment sizes that may result from intermediate
      system fragmentation.</t>
    </section>

    <section anchor="multi" title="Multicast and Anycast">
      <t>In addition to unicast flows assumed throughout this document,
      similar considerations apply for flows in which the destination
      is a multicast group or an anycast address. Unless the source
      and all candidate destinations are members of a limited domain
      network <xref target="RFC8799"/> for which all nodes implement
      the IPv6 Extended Fragment Header Destination Option, some
      destinations may recognize the option while others drop
      packets containing the option and return a Code 2 ICMPv6
      Parameter Problem message <xref target="RFC4443"/>.</t>

      <t>When a source sends packets/fragments with IPv6 Extended Fragment
      Headers to a multicast group, the packets/fragments may be replicated
      in the network such that a single transmission may reach N destinations
      over as many as N different paths. Intermediate systems in each such
      path may return a Code 1/2 PTB message if (further) fragmentation is
      needed, and each such destination may return a Code 3/4 PTB message
      if it experiences reassembly congestion. (Each destination may also
      return a Code 2 ICMPv6 Parameter Problem message if it does not
      recognize the option.)</t>

      <t>While the source receives PTB messages, it should reduce the
      fragment/packet sizes that it sends to the multicast group even if
      only one or a few paths or destinations are currently experiencing
      congestion. This means that transmissions to a multicast group will
      converge to the performance characteristics of the lowest common
      denominator group member destinations and/or paths. While the
      source receives ICMPv6 Parameter Problem messages, it must
      decide whether the benefits for destinations that recognize the
      Extended Fragment Header option outweigh the impact of service
      denial for destinations that do not.</t>

      <t>When a source sends packets/fragments with IPv6 Extended Fragment
      Headers to an anycast address, routing may direct initial fragments
      of the same packet to a first destination that configures the address
      while directing the remaining fragments to other destinations that
      configure the address. These wayward fragments will simply result
      in incomplete reassemblies at each such anycast destination which
      will soon purge the fragments from the reassembly buffer. The source
      will eventually retransmit, and all resulting fragments should
      eventually reach a single reassembly target.</t>
    </section>

    <section anchor="require" title="Requirements">
      <t>All nodes that process an IPv6 Destination Options Header with
      Extended Fragment Header option observe the extension header limits
      specified in <xref target="I-D.ietf-6man-eh-limits"/>.</t>

      <t>Intermediate systems MUST forward without dropping IPv6
      packets that include a Destination Options header with an
      Extended Fragment Header unless they detect a security policy
      threat through deeper inspection of the protocol data that
      follows.</t>

      <t>Sources MUST include at most one IPv6 Standard or Extended
      Fragment Header in each IPv6 packet/fragment. Intermediate
      systems and destinations SHOULD silently drop packets/fragments
      with multiples. If the source includes an Extended Fragment
      Header, it must appear as the only option in a first
      Destination Options Header immediately following the
      Hop-by-Hop Options Header if present (otherwise following
      the IPv6 header itself) and immediately before any other
      extension headers in the chain of Per-Fragment headers.</t>

      <t>Destinations that accept flows using Extended Fragment Headers:</t>
      <t><list style="symbols">
      <t>MUST configure an EMTU_R of 65535 octets or larger,</t>
      <t>SHOULD advertise the largest possible receive packet size
      (i.e., as large as EMTU_R) in PTB messages, and</t>
      <t>MAY advertise a reduced receive packet size in PTB
      messages during periods of congestion.</t>
      </list></t>

      <t>While a source has assurance that the destination(s) recognize
      the Extended Fragment Header, it can continue to send fragmented
      or fragmentable packets as large as the current receive packet
      size at rates within the MSL/MDL wraparound threshold for the
      extended IP ID length.</t>
    </section>

    <section anchor="frag" title="A Note on Fragmentation Considered Harmful">
      <t>During the earliest days of internetworking, researchers attributed a
      "harmful" warning label to IP fragmentation based on empirical observations
      in the ARPANET, DARPA Internet and other internetworks of the day <xref
      target="KENT87"/>. This inspired an engineering discipline known as
      "Path MTU Discovery" within a new community that evolved to become
      the Internet Engineering Task Force (IETF).</t>

      <t>In more recent times, the IETF published "IP Fragmentation Considered
      Fragile" <xref target="RFC8900"/> to characterize the current state of
      fragmentation in the modern Internet. The IPv6 Extended Fragment Header
      now introduces a more robust solution based on a properly functioning
      IP fragmentation and reassembly service as intended in the original
      architecture.</t>

      <t>Although the IP fragmentation and reassembly services provide an
      appropriate solution for conventional packet sizes as large as 65535
      octets, they cannot be applied for larger packet sizes nor for IP
      parcels and Advanced Jumbos (AJs) <xref target=
      "I-D.templin-intarea-parcels"/>. This means that a combined solution
      with fragmentation and reassembly applied in parallel with path MTU
      probing provides a combination well suited for Internetworking futures.
      This document therefore updates <xref target="RFC8900"/>.</t>
    </section>

    <section anchor="implement" title="Implementation Status">
      <t>In progress.</t>
    </section>

    <section anchor="iana" title="IANA Considerations">
      <t>The IANA is requested to assign a new IPv6 Destination Option
      type in the 'ipv6-parameters' registry (registration procedures IESG
      Approval, IETF Review or Standards Action). The option sets "act" to
      '10', "chg" to '1', "rest" to TBD1, "Description" to "IPv6 Extended
      Fragment Header" and "Reference" to this document [RFCXXXX].</t>

      <t>The IANA is further instructed to assign new Code values in
      the "ICMPv6 Code Fields: Type 2 - Packet Too Big" table of the
      'icmpv6-parameters' registry (registration procedure is Standards
      Action or IESG Approval). The registry should appear as follows:
      <figure anchor="omni-pmtu-code"
            title="ICMPv6 Code Fields: Type 2 - Packet Too Big Values">
            <artwork><![CDATA[   Code                  Name                         Reference
   ---                   ----                         ---------
   0                     PTB Hard Error               [RFC4443]
   1 (suggested)         Fragmentation Needed (soft)  [RFCXXXX]
   2 (suggested)         Fragmentation Needed (hard)  [RFCXXXX]
   3 (suggested)         Reassembly Needed (soft)     [RFCXXXX]
   4 (suggested)         Reassembly Needed (hard)     [RFCXXXX]
]]></artwork></figure></t>
    </section>

    <section anchor="secure" title="Security Considerations">
      <t>All aspects of IP security apply equally to this document, which
      does not introduce any new vulnerabilities. Moreover, when employed
      correctly the mechanisms in this document robustly address known
      IP reassembly integrity concerns <xref target="RFC4963"/> and
      also provide an advanced degree of packet Identification
      uniqueness assurance.</t>

      <t>All normative security guidance on IPv6 fragmentation (e.g.,
      processing of tiny first fragments, overlapping fragments, etc.)
      applies also to the fragments generated under the Extended
      Fragment Header.</t>
    </section>

    <section anchor="ack" title="Acknowledgements">
      <t>This work was inspired by continued DTN performance studies.
      Amanda Baber, Tom Herbert, Bob Hinden and Eric Vyncke offered useful
      insights that helped improve the document.</t>

      <t>Honoring life, liberty and the pursuit of happiness.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include="reference.RFC.0791"?>

      <?rfc include="reference.RFC.8200"?>

      <?rfc include="reference.RFC.2119"?>

      <?rfc include="reference.RFC.8174"?>

      <?rfc include="reference.RFC.1122"?>

      <?rfc include="reference.RFC.4443"?>

      <?rfc include="reference.RFC.8201"?>
    </references>

    <references title="Informative References">
      <?rfc include="reference.RFC.4963"?>

      <?rfc include="reference.RFC.6864"?>

      <?rfc include="reference.RFC.6437"?>

      <?rfc include="reference.RFC.7739"?>

      <?rfc include="reference.RFC.8799"?>

      <?rfc include="reference.RFC.8900"?>

      <?rfc include="reference.I-D.templin-intarea-parcels"?>

      <?rfc include="reference.I-D.ietf-6man-eh-limits"?>

      <reference anchor="KENT87">
        <front>
          <title>"Fragmentation Considered Harmful", SIGCOMM '87: Proceedings
              of the ACM workshop on Frontiers in computer communications
              technology, DOI 10.1145/55482.55524, http://www.hpl.hp.com/techreports/Compaq-DEC/WRL-87-3.pdf.</title>

          <author fullname="Christopher Kent" initials="C." surname="Kent">
            <organization/>
          </author>

          <author fullname="Jeffrey Mogul" initials="J." surname="Mogul">
            <organization/>
          </author>

          <date month="August" year="1987"/>
        </front>
      </reference>
    </references>

    <section title="Change Log">
      <t>&lt;&lt; RFC Editor - remove prior to publication &gt;&gt;</t>

      <t>Differences from earlier versions:<list style="symbols">
          <t>First draft publication.</t>
        </list></t>
    </section>
  </back>
</rfc>
