<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="info" docName="draft-deathflag-01" indexInclude="true" ipr="trust200902" number="9401" prepTime="2023-04-01T10:28:03" scripts="Common,Han,Latin" sortRefs="true" submissionType="independent" symRefs="true" tocDepth="3" tocInclude="true" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-deathflag-01" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9401" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="Death Flag">The Addition of the Death (DTH) Flag to TCP</title>
    <seriesInfo name="RFC" value="9401" stream="independent"/>
    <author initials="S." surname="Toyosawa" fullname="Satoshi Toyosawa">
      <organization showOnFrontPage="true">Independent</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <region/>
          <code/>
          <country/>
        </postal>
        <email>s2.toyosawa@gmail.com</email>
      </address>
    </author>
    <date month="04" year="2023" day="1"/>
    <keyword>TCP</keyword>
    <keyword>Control bits</keyword>
    <keyword>flags</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">
   This memo specifies the incorporation of Death (DTH) flag to TCP,
   including DTH's use of one bit in the TCP header.  The flag is
   designed to make TCP session narratives smooth and attractive.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This document is not an Internet Standards Track specification; it is
            published for informational purposes.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This is a contribution to the RFC Series, independently of any
            other RFC stream.  The RFC Editor has chosen to publish this
            document at its discretion and makes no statement about its value
            for implementation or deployment.  Documents approved for
            publication by the RFC Editor are not candidates for any level of
            Internet Standard; see Section 2 of RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9401" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2023 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-language">Requirements Language</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-specification">Specification</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-tcp-packet-format">TCP Packet Format</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.2">
                <t indent="0" pn="section-toc.1-1.3.2.2.1"><xref derivedContent="3.2" format="counter" sectionFormat="of" target="section-3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-when-to-send">When to Send</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.3">
                <t indent="0" pn="section-toc.1-1.3.2.3.1"><xref derivedContent="3.3" format="counter" sectionFormat="of" target="section-3.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-when-not-to-send">When Not to Send</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.4">
                <t indent="0" pn="section-toc.1-1.3.2.4.1"><xref derivedContent="3.4" format="counter" sectionFormat="of" target="section-3.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-use-with-the-ip-evil-bit">Use with the IP Evil Bit</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.6.2">
              <li pn="section-toc.1-1.6.2.1">
                <t indent="0" pn="section-toc.1-1.6.2.1.1"><xref derivedContent="6.1" format="counter" sectionFormat="of" target="section-6.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.2">
                <t indent="0" pn="section-toc.1-1.6.2.2.1"><xref derivedContent="6.2" format="counter" sectionFormat="of" target="section-6.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-address">Author's Address</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="sect-1" numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">
   The proposed Death flag, or DTH for short, uses the fourth flag bit in the TCP header
   to indicate likely termination of the TCP session.</t>
      <t indent="0" pn="section-1-2">
   The flag allows applications to prepare for abrupt session
   terminations.  Network engineers find this feature helpful in identifying
   the one or more root causes of TCP RSTs.  Critical end users can use the
   information to better understand TCP narratives.</t>
      <t indent="0" pn="section-1-3">
   The flag name is adapted from the custom of anime, manga, or
   light novels <xref target="NOVEL" format="default" sectionFormat="of" derivedContent="NOVEL"/>.  "Death Flags" refer to hints that a character will die
   soon <xref target="CBR-FLAG" format="default" sectionFormat="of" derivedContent="CBR-FLAG"/>. 
      </t>
      <t indent="0" pn="section-1-4">
For example, the DTH flag of an evil scientist is set when they
   express too much confidence in their deadly invention.  The scientist is often killed by their own invention.  
This type of narrative is also common in conventional films.

   A notable example is a solider in a trench. The soldier's flag is set to
   1 immediately after they share a photograph of their fiancé and tell
about the upcoming marriage that will take place after returning from battle.

Another example is setting the flag for
   a couple sneaking out from an isolated cabin for a
   late-night excursion. Commonly, the excursion is violently
   terminated by an individual with a chainsaw.</t>
    </section>
    <section anchor="sect-2" numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-requirements-language">Requirements Language</name>
      <t indent="0" pn="section-2-1">
    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 BCP 14 <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> when, and only when, they appear in all capitals, as
    shown here.
      </t>
    </section>
    <section anchor="sect-3" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-specification">Specification</name>
      <section anchor="sect-3.1" numbered="true" toc="include" removeInRFC="false" pn="section-3.1">
        <name slugifiedName="name-tcp-packet-format">TCP Packet Format</name>
        <t indent="0" pn="section-3.1-1">
   The DTH flag uses the fourth bit in the 
   Control bits field in TCP header as depicted in Figure 1 <xref target="RFC9293" format="default" sectionFormat="of" derivedContent="RFC9293"/>.
   The fourth bit was intentionally selected because "four" in Chinese is Sì; it has a similar sound to Sǐ, which means "die".</t>
        <figure anchor="fig-1" align="left" suppress-title="false" pn="figure-1">
          <name slugifiedName="name-tcp-header-with-the-dth-fla">TCP Header with the DTH Flag Bit</name>
          <artwork name="" type="" align="left" alt="" pn="section-3.1-2.1">
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          Source Port          |       Destination Port        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Sequence Number                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Acknowledgment Number                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Data |D|     |C|E|U|A|P|R|S|F|                               |
   | Offset|T| Rsr |W|C|R|C|S|S|Y|I|            Window             |
   |       |H| vd  |R|E|G|K|H|T|N|N|                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Checksum            |         Urgent Pointer        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           [Options]                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               :
   :                             Data                              :
   :                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

          Note that one tick mark represents one bit position.
</artwork>
        </figure>
        <t indent="0" pn="section-3.1-3">
   A TCP session peer <bcp14>SHOULD</bcp14> transmit a DTH segment when the TCP session
   will likely be terminated soon.  It can be sent from both the server
   and client.  The application or TCP stack <bcp14>MAY</bcp14> elect not to send DTH
   segments, even if it knows that the session will be terminated. This results in a
   dramatic surprise for the peer; however, the end users may
   perceive the end too convenient or overly simplistic.  Use of the DTH
   segment that is not associated with the session termination is not encouraged
   but it is permitted. (This is often referred to as "teasing" or a false-positive DTH flag.)</t>
        <t indent="0" pn="section-3.1-4">
   The DTH flag is informational.  TCP software that does not implement this
   feature can safely ignore this flag.  However, to fully appreciate
   the session, users should be aware of the subtle signs of
   the session narratives.</t>
        <t indent="0" pn="section-3.1-5">
   The DTH flag itself does not change the sequence or acknowledgment number.  It
   does not require any acknowledgement.</t>
        <t indent="0" pn="section-3.1-6">
   The recipient of the flag is not required to act differently upon
   reception; however, it is <bcp14>RECOMMENDED</bcp14> that information be conveyed to the
   application layer, so the end user can be notified of the incident.
   The recipient of a DTH segment <bcp14>SHOULD NOT</bcp14> close the socket
   immediately upon reception; it <bcp14>SHOULD</bcp14> wait for a RST or FIN
   segment.</t>
        <t indent="0" pn="section-3.1-7">
   This specification does not stipulate the maximum number of DTH
   segments permitted in one TCP session; however, limiting them
   to a few is <bcp14>RECOMMENDED</bcp14> to maximize the dramatic effect.</t>
      </section>
      <section anchor="sect-3.2" numbered="true" toc="include" removeInRFC="false" pn="section-3.2">
        <name slugifiedName="name-when-to-send">When to Send</name>
        <t indent="0" pn="section-3.2-1">
   DTH can be used any time the sender considers it important to signal
   its inevitable end to the TCP peer.  The example scenarios below
   illustrate when to send DTH segments.</t>
        <t indent="0" pn="section-3.2-2">
   A malicious actor can send the flag when it suddenly repents; for
   example, when a sender suddenly regrets their part in a DDoS attack and
   unexpectedly ceases the attack.
   The archvillain generally terminates the sender
 cruelly and mercilessly
   soon after the change in behavior (or they are
   killed for protecting the hero).  The timing of DTH transmission is
   implementation dependent.  It can be sent anytime from the early signs of betrayal to just prior to the behavioral change.</t>
        <t indent="0" pn="section-3.2-3">
   The flag can be sent when the sender stops using cryptographic
   protections and reveals its plain-text content, for example, a mysterious
   character with a mask that often dies after they expose their face.
   In this example, the DTH segment would be sent just before sending the redirect
   (30x) from HTTPS to HTTP <xref target="RFC9110" format="default" sectionFormat="of" derivedContent="RFC9110"/>.  Similarly, the flag can be set
   when the forged User-Agent or Server HTTP header field is changed to
   the actual value, when their true identity would be revealed (for example, "I am your long-lost twin", "I am a spy", etc.).  This occasionally leads to the death of
   the character.</t>
        <t indent="0" pn="section-3.2-4">
   The TCP peer is <bcp14>RECOMMENDED</bcp14> to send the flag when it notices resource
   issues, e.g., diminishing memory space or bandwidth.  An AI bot,
   cyborg, sorcerer application with forbidden protocols, etc.,
   <bcp14>SHOULD</bcp14> consider sending the flag when it starts to heavily cough
   error messages.</t>
        <t indent="0" pn="section-3.2-5">
   An application less capable of performing its task <bcp14>MAY</bcp14> send the flag
   from time to time.  It will be killed by the OS (the archvillain) or
   CTRL-C (the end user) sooner or later due to its inefficiency.  The same is likely to occur with a
   memory-hogging application, for example, an unscrupulous character that attempts
   to take all the treasure often dies accidentally (e.g., falls 
   from a cliff).</t>
        <t indent="0" pn="section-3.2-6">
   An application <bcp14>SHOULD</bcp14> really think twice before accessing a
   "honeypot" or haunted server.  If your choices are limited (e.g., your
   favorite server breaks down in the middle of nowhere and the dark
   server that is not on the DNS is the only place you can shelter), sending 
   the flag periodically is a good idea.  The session is most likely
   cursed.</t>
      </section>
      <section anchor="sect-3.3" numbered="true" toc="include" removeInRFC="false" pn="section-3.3">
        <name slugifiedName="name-when-not-to-send">When Not to Send</name>
        <t indent="0" pn="section-3.3-1">
   The DTH flag <bcp14>SHOULD NOT</bcp14> be piggybacked on the FIN flag.  If present, the recipient
   <bcp14>SHOULD</bcp14> silently ignore DTH flag.  

The only exception is when the
   recipient is an expert at Hokuto-Shinken ("Big Dipper Divine Fist") <xref target="WIKI-FNS" format="default" sectionFormat="of" derivedContent="WIKI-FNS"/>.  In that circumstance, the sender is already dead
   but remains active for a few seconds (which is unofficially called the "half-zombie open" state).</t>
        <t indent="0" pn="section-3.3-2">
   The DTH flag <bcp14>SHOULD NOT</bcp14> be sent with the URG flag <xref target="RFC6093" format="default" sectionFormat="of" derivedContent="RFC6093"/>.  The
   use of the URG flag is not recommended in new implementations <xref target="RFC9293" format="default" sectionFormat="of" derivedContent="RFC9293"/>.</t>
        <t indent="0" pn="section-3.3-3">
   Use of the flag in the early state of a TCP
   session is <bcp14>NOT RECOMMENDED</bcp14>.  
Characters that die in the early stage are considered
   nonessential, hence their death does not contribute to the quality of the
   session. (Obviously, there are exceptions.)</t>
      </section>
      <section anchor="sect-3.4" numbered="true" toc="include" removeInRFC="false" pn="section-3.4">
        <name slugifiedName="name-use-with-the-ip-evil-bit">Use with the IP Evil Bit</name>
        <t indent="0" pn="section-3.4-1">
   Some experimental implementations use the Evil bit <xref target="RFC3514" format="default" sectionFormat="of" derivedContent="RFC3514"/> of the IP header
   to indicate if the session portrays an evil character.  The
   DTH flag is not designed to characterize a TCP session.  It is
   intended to show the fate of the session irrespective of the nature
   of the session.  When both Evil bit and DTH flag are present, they
   <bcp14>MUST</bcp14> be interpreted independently.</t>
      </section>
    </section>
    <section anchor="sect-4" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-4-1">
   Precursors to the inevitable death (often violent) of a TCP session
   are useful for upper-layer applications and end users; however, the
   security vs. usability balance should also be considered.  Since DTH
   flags may expose the internal state of the TCP session, they can be
   exploited by attackers (e.g., naming the murderer before the
   detective points out the suspect).  Spoilers are an act of
   evil.  Those who wish to keep the story secret should use the
   flag mildly.</t>
    </section>
    <section anchor="sect-5" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-5-1">
   This document defines the behavior of the one of the currently reserved (Rsrvd) control bits in the
   TCP header.  It is used as an
   informative indicator of the fate of a TCP session.  The fourth bit
   (counting from the beginning of the thirteenth octet in a TCP header) is
   intentionally selected to signify its meaning; however, a change in the
   bit position does not cause any functional deterioration.</t>
      <t indent="0" pn="section-5-2">
   This feature may already be implemented in different manners
   in Hollywood and/or Japanese animation studio networks; however, to the
   author's knowledge, the technology is not yet patented.</t>
    </section>
  </middle>
  <back>
    <references pn="section-6">
      <name slugifiedName="name-references">References</name>
      <references pn="section-6.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC3514" target="https://www.rfc-editor.org/info/rfc3514" quoteTitle="true" derivedAnchor="RFC3514">
          <front>
            <title>The Security Flag in the IPv4 Header</title>
            <author fullname="S. Bellovin" initials="S." surname="Bellovin"/>
            <date month="April" year="2003"/>
            <abstract>
              <t indent="0">Firewalls, packet filters, intrusion detection systems, and the like often have difficulty distinguishing between packets that have malicious intent and those that are merely unusual.  We define a security flag in the IPv4 header as a means of distinguishing the two cases.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3514"/>
          <seriesInfo name="DOI" value="10.17487/RFC3514"/>
        </reference>
        <reference anchor="RFC6093" target="https://www.rfc-editor.org/info/rfc6093" quoteTitle="true" derivedAnchor="RFC6093">
          <front>
            <title>On the Implementation of the TCP Urgent Mechanism</title>
            <author fullname="F. Gont" initials="F." surname="Gont"/>
            <author fullname="A. Yourtchenko" initials="A." surname="Yourtchenko"/>
            <date month="January" year="2011"/>
            <abstract>
              <t indent="0">This document analyzes how current TCP implementations process TCP urgent indications and how the behavior of some widely deployed middleboxes affects how end systems process urgent indications.  This document updates the relevant specifications such that they accommodate current practice in processing TCP urgent indications, raises awareness about the reliability of TCP urgent indications in the Internet, and recommends against the use of urgent indications (but provides advice to applications that do). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6093"/>
          <seriesInfo name="DOI" value="10.17487/RFC6093"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="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 indent="0">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>
        <reference anchor="RFC9293" target="https://www.rfc-editor.org/info/rfc9293" quoteTitle="true" derivedAnchor="RFC9293">
          <front>
            <title>Transmission Control Protocol (TCP)</title>
            <author fullname="W. Eddy" initials="W." role="editor" surname="Eddy"/>
            <date month="August" year="2022"/>
            <abstract>
              <t indent="0">This document specifies the Transmission Control Protocol (TCP).  TCP is an important transport-layer protocol in the Internet protocol stack, and it has continuously evolved over decades of use and growth of the Internet.  Over this time, a number of changes have been made to TCP as it was specified in RFC 793, though these have only been documented in a piecemeal fashion.  This document collects and brings those changes together with the protocol specification from RFC 793.  This document obsoletes RFC 793, as well as RFCs 879, 2873, 6093, 6429, 6528, and 6691 that updated parts of RFC 793.  It updates RFCs 1011 and 1122, and it should be considered as a replacement for the portions of those documents dealing with TCP requirements.  It also updates RFC 5961 by adding a small clarification in reset handling while in the SYN-RECEIVED state.  The TCP header control bits from RFC 793 have also been updated based on RFC 3168.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="7"/>
          <seriesInfo name="RFC" value="9293"/>
          <seriesInfo name="DOI" value="10.17487/RFC9293"/>
        </reference>
      </references>
      <references pn="section-6.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="CBR-FLAG" target="https://www.cbr.com/anime-death-hints-signs/" quoteTitle="true" derivedAnchor="CBR-FLAG">
          <front>
            <title>10 Death Flags That Mean An Anime Character is Probably Going To Die</title>
            <author initials="A." surname="Stalberg" fullname="A. Stalberg">
	</author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="NOVEL" target="https://en.wikipedia.org/w/index.php?title=Light_novel&amp;oldid=1136814877" quoteTitle="true" derivedAnchor="NOVEL">
          <front>
            <title>Light novel</title>
            <author initials="" surname="" fullname="">
              <organization showOnFrontPage="true">Wikipedia</organization>
            </author>
            <date month="February" year="2023"/>
          </front>
        </reference>
        <reference anchor="RFC9110" target="https://www.rfc-editor.org/info/rfc9110" quoteTitle="true" derivedAnchor="RFC9110">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t indent="0">The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t indent="0">This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
        <reference anchor="WIKI-FNS" target="https://en.wikipedia.org/w/index.php?title=List_of_Fist_of_the_North_Star_characters&amp;oldid=1145633265" quoteTitle="true" derivedAnchor="WIKI-FNS">
          <front>
            <title>List of Fist of the North Star characters</title>
            <author>
              <organization showOnFrontPage="true">Wikipedia</organization>
            </author>
            <date month="March" year="2023"/>
          </front>
        </reference>
      </references>
    </references>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-authors-address">Author's Address</name>
      <author initials="S." surname="Toyosawa" fullname="Satoshi Toyosawa">
        <organization showOnFrontPage="true">Independent</organization>
        <address>
          <postal>
            <street/>
            <city/>
            <region/>
            <code/>
            <country/>
          </postal>
          <email>s2.toyosawa@gmail.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
