<?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.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-xu-savax-control-10" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="savax-control">Control Plane of Source Address Validation Architecture-eXternal (SAVA-X)</title>
    <seriesInfo name="Internet-Draft" value="draft-xu-savax-control-10"/>
    <author initials="K." surname="Xu" fullname="Ke Xu">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>xuke@tsinghua.edu.cn</email>
      </address>
    </author>
    <author initials="X." surname="Wang" fullname="Xiaoliang Wang">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>wangxiaoliang0623@foxmail.com</email>
      </address>
    </author>
    <author initials="Y." surname="Guo" fullname="Yangfei Guo">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>guoyangfei@zgclab.edu.cn</email>
      </address>
    </author>
    <author initials="J." surname="Wu" fullname="Jianping Wu">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>jianping@cernet.edu.cn</email>
      </address>
    </author>
    <date year="2025" month="November" day="20"/>
    <workgroup>Network Working Group</workgroup>
    <abstract>
      <?line 55?>

<t>Due to the fact that the Internet forwards packets in accordance with the IP destination address, packet forwarding generally occurs without examination of the source address. As a result, malicious attacks have been initiated by utilizing spoofed source addresses. The inter-domain source address validation architecture represents an endeavor to enhance the Internet by employing state machines to generate consistent tags. When two end hosts at different address domains (ADs) of the IPv6 network communicate with each other, tags will be appended to the packets to identify the authenticity of the IPv6 source address.</t>
    </abstract>
  </front>
  <middle>
    <?line 61?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The Inter-Domain Source Address Validation-eXternal (SAVA-X) mechanism serves to establish a trust alliance among Address Domains (AD). It maintains a one-to-one state machine among ADs in conjunction with the AD Control Server (ACS). Moreover, it generates a consistent tag and deploys this tag to the ADs' border router (AER). The AER of the source AD appends a tag to packets originating from one AD and destined for another AD, thereby identifying the identity of the AD. The AER of the destination AD verifies the source address by validating the correctness of the tag to determine whether the packet has a forged source address.</t>
      <t>In the packet forwarding process, if both the source address and the destination address of a packet belong to the trust alliance, the tag is either not added or added incorrectly. In such a case, the AER of the destination AD determines that the source address is forged and directly discards this packet. For packets with a source address outside the trust alliance, the destination AD forwards the packet directly.</t>
      <t>This document primarily focuses on researching the relevant specifications of the control plane of the SAVA-X between ADs. This will safeguard IPv6 networks from forged source addresses. For more detailed information about IPv6, refer to <xref target="RFC8200"/>. It stipulates the design of the consortium blockchain, the joining and exiting of nodes, the maintenance of trust alliance information based on the consortium blockchain, and the maintenance of the state machine. Its promotion and application can achieve the standardization of the control plane in the SAVA-X, facilitating the cooperation of related equipment developed by different manufacturers and organizations to jointly accomplish inter-domain source address validation.</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 BCP14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<section anchor="terminology-and-abbreviation">
        <name>Terminology and Abbreviation</name>
        <t>The following terms are used with a specific meaning:</t>
        <dl newline="true">
          <dt>ACS:</dt>
          <dd>
            <t>AD Control Server. The server maintains the state machine with other ACS and distributes information to AER.</t>
          </dd>
          <dt>AD:</dt>
          <dd>
            <t>Address Domain or Administrative Domain. The unit of a trust alliance. It is an address set consisting of all IPv6 addresses corresponding to an IPv6 address prefix.</t>
          </dd>
          <dt>ADID:</dt>
          <dd>
            <t>The identity of an AD.</t>
          </dd>
          <dt>ADID_Rec:</dt>
          <dd>
            <t>The record of the number of an AD.</t>
          </dd>
          <dt>AER:</dt>
          <dd>
            <t>AD border router, which is placed at the boundary of an AD of STA.</t>
          </dd>
          <dt>API_Rec:</dt>
          <dd>
            <t>The record of the prefix of an AD or STA.</t>
          </dd>
          <dt>ARI_Rec:</dt>
          <dd>
            <t>The record with relevant information of an AD or STA.</t>
          </dd>
          <dt>CSR:</dt>
          <dd>
            <t>Certificate Signing Request, which is used for an AD or STA to join or exit the consortium blockchain.</t>
          </dd>
          <dt>SM:</dt>
          <dd>
            <t>State Machine, which is maintained by a pair of ACS to generate tags.</t>
          </dd>
          <dt>STA:</dt>
          <dd>
            <t>sub-Trust Alliance, parts of TA.</t>
          </dd>
          <dt>STA-admin:</dt>
          <dd>
            <t>STA Administrator, the administrator of STA.</t>
          </dd>
          <dt>TA:</dt>
          <dd>
            <t>Trust Alliance. The IPv6 network that uses the SAVA-X mechanism.</t>
          </dd>
          <dt>Tag:</dt>
          <dd>
            <t>The authentic identification of the source address of a packet.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="the-design-of-the-consortium-blockchain">
      <name>The design of the Consortium Blockchain</name>
      <t>As discussed in the introduction, consortium blockchain will be used in the SAVA-X mechanism.</t>
      <section anchor="trust-alliance">
        <name>Trust Alliance</name>
        <t>Trust Alliance (TA) is a hierarchical structure. Address domains (AD) are assigned into different sub-trust alliances (STA) according to geographic location, economic relationship, political relationship, social relationship, and military relationship. AD is the minimum unit for trust. The one-to-one maintenance state machine between ADs located in the same layer of sub-trust alliance generates consistent tags and deploys the tags to their AERs. The ADs in each sub-trust alliance elect a master AD node. The master AD node represents the sub-trust alliance and maintains the alliance-level state machine with other master AD nodes to generate alliance-level tags. When communicating across sub-trust alliances, it is necessary to achieve the feature of tag replacement.</t>
        <t>The AD in the SAVA-X must be located in a specific sub-trust alliance. According to its position in the SAVA-X, AD can be divided into three roles: primary address domain, boundary address domain, and ordinary address domain which is neither primary nor boundary address domain.</t>
        <ul spacing="normal">
          <li>
            <t>The primary address domain is the representative node of the aforementioned sub-trust alliance and is used to establish a connection with the primary address domain of other sub-trust alliances. In this way, the relationship between trust alliances finally forms a tree-like relationship, and there will be no direct relationship between address domains under the same branch.</t>
          </li>
          <li>
            <t>The boundary address domain is the address domain located at the boundary of the sub-trust alliance. It sends the packet to other sub-trust alliances or outside the trust alliance.</t>
          </li>
          <li>
            <t>The ordinary address domain is neither the primary address domain nor the address domain of the boundary address domain.</t>
          </li>
        </ul>
        <t>Due to the uncontrollable packet forwarding path, in SAVA-X, a virtual address domain needs to be set up as a non-boundary AD to communicate with the sub-trust alliance outside or receive packets sent from outside the sub-trust alliance to maintain the state machine. The virtual AD is recorded as AD_V (Virtual Address Domain). When a packet from an AD in a sub-trust alliance needs to be sent outside the sub-trust alliance, but there are multiple paths to the destination AD in the sub-trust alliance, the sub-trust alliance may have multiple boundary ADs to reach the destination AD. The sub-trust alliance does not know which boundary AD will be selected during the packet forwarding. Therefore, the primary function of AD_V is to prevent this by specifying the specific tag that should be added to the packet sent to the external address domain of the sub-trust alliance.</t>
        <t>What's more, the tag needs to be verified by the boundary address domain of the sub-trust alliance. Therefore, the boundary AD also needs to receive the tags maintained by the AD and AD_V in the trust alliance. As a tag for communicating data between the non-primary address domain and the external address domain of the sub-trust alliance.</t>
      </section>
      <section anchor="consortium-blockchain">
        <name>Consortium Blockchain</name>
        <t>To simplify the control plane's design and avoid the single-point failure to subvert the SAVA-X, we design the SAVA-X with a decentralized infrastructure that will store the information of the trust alliance.</t>
        <t>The consortium blockchain is composed of the trust alliance management committee chain and several sub-chains. Among them, the management committee chain is composed of several nodes to manage the administrator nodes of each sub-chain. The consortium blockchain records information of the sub-trust alliance administrator node, named STA-admin (Sub Trust Alliance administrator), and the member list of each sub-chain which is packaged and submitted by the STA-admin. Each sub-trust alliance has one STA-admin that is assumed by a specific elected AD in the sub-trust alliance. The AD in the same sub-trust alliance forms a private chain to maintain the information of the members of the sub-trust alliance jointly. The STA-admin in each sub-trust alliance is responsible for managing the joining and exiting of the sub-trust alliance node. The STA-admin of each sub-trust alliance maintains the relationship of the members in each sub-trust alliance through the trust alliance management committee chain.</t>
      </section>
      <section anchor="joining-and-exiting">
        <name>Joining and Exiting</name>
        <section anchor="node-joining">
          <name>Node Joining</name>
          <t>This is the admission of joining the sub-trust alliance member AD. The prerequisite for the AD to join the sub-trust alliance is to have a certificate issued by the STA-admin first. AD's Address Control Server (ACS), which will maintain the state machine with other ACS and distribute alliance information and other information to AER, submits a Certificate Signing Request file to the STA-admin of the sub-trust alliance that it wants to join to request the certificate. The CSR file includes ADID, ACS address information, IPv6 address prefix information, and its public key information. If the file is valid, STA-admin verifies the file, generates a node certificate, packages the AD's information into a block, and updates the list of members of the sub-consortium. STA-admin submits the latest block to the consortium blockchain, and the consortium blockchain updates the list of alliance members of the entire trust alliance.</t>
          <t>When a sub-trust alliance wants to join the trust alliance, STA-admin submits a CSR file to the consortium blockchain, including the member information list in the sub-chain and the information of the STA-admin. It requires offline negotiation and cooperation to apply for joining the consortium blockchain. The consortium blockchain management committee verifies the validity of the request, issues administrator certificates, and updates block information. The STA-admins in the current trust alliance jointly maintain a management committee chain, manage the administrator certificates of each sub-trust alliance, and use the certificates for encrypted communication. STA-admin submits the list of members of the sub-trust alliance to the consortium blockchain and joins the entire trust alliance.</t>
          <t>After a node joins the consortium blockchain, there is an Effecting Time and an Expiration Time in the CSR file. STA-admin will assign the sub-trust alliance member with an ADID number if it does not contain the ADID information in the submitted information. The consortium blockchain will give the permitted sub-trust alliance a sub-trust alliance number if the information submitted by the sub-trust alliance does not have the sub-trust alliance number. If there is a conflict between the submitted information and the returned information, the returned ADID or sub-trust alliance number will be selected.</t>
        </section>
        <section anchor="node-exiting">
          <name>Node Exiting</name>
          <t>The member node needs to submit the CSR file again to delete its relevant information. Its STA-admin decides whether to allow it to exit or not. After passing the validation, nodes of the sub-blockchain delete the relevant member information. It also needs to submit a CSR file for the exit of the sub-trust alliance node, which the alliance management committee decides whether to allow it. After validating the receiving exit request, other sub-trust alliance administrator nodes need to delete their maintenance-related sub-alliance node information.</t>
        </section>
      </section>
    </section>
    <section anchor="alliance-information-and-state-machine-maintenance-based-on-the-consortium-blockchain">
      <name>Alliance Information and State Machine Maintenance based on the Consortium Blockchain</name>
      <t>On the AER of the destination AD, to validate the tag, it is first necessary to find out the sub-trust alliance number from the source address of the arriving packet and find its corresponding source Address Domain Identity (ADID) number. Then find the currently valid tag according to the ADID number. The generation of the tag requires the maintenance of the state machine between the ACSes. In SAVA-X, member ADs need to inform each other of their sub-trust alliance number, ADID number, AD role, ACS address, and IPv6 address prefix. The members interact with each other with the state machine information according to the hierarchical division structure after obtaining the basic information of the other members. And use the tags generated by the state machine during the packet forwarding after the specified time to add and validate the tags.</t>
      <t>The relevant information needs to be stored in the sub-chains, where the node is located after joining the consortium blockchain. The information stored on the consortium blockchain needs the content specified in the following three message formats, namely ADID_Rec, ARI_Rec, and API_Rec. We give the packet format required by SAVA-X in the control plane as follows.</t>
      <section anchor="address-domain-identity-record">
        <name>Address Domain Identity Record</name>
        <t>Address Domain Identity Record (ADID_Rec) is used to identify an address domain uniquely in the trust alliance.</t>
        <figure anchor="fig-adid-rec">
          <name>Format of Address Domain Identity Record</name>
          <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
 +-+-+-+-+-+-+-+-+
 |   ADID Type   |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 ~              Address Domain Identity (ADID)                   ~
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <dl newline="true">
          <dt>ADID Type:</dt>
          <dd>
            <t>8-bit Type of ADID, 1 for 16-bit AS number, 2 for 32-bit AS number, 3 for 32-bit AD number, and other unassigned.</t>
          </dd>
          <dt>ADID:</dt>
          <dd>
            <t>The 16-bit or 32-bit ADID number. Its value can be the AS number or the number assigned by the consortium blockchain, and the specific length is determined by the ADID Type field. When each bit of ADID is 1, it represents that the AER requests the information of all members from ACS.</t>
          </dd>
        </dl>
      </section>
      <section anchor="ad-registration-information-record">
        <name>AD Registration Information Record</name>
        <t>AD Registration Information Record (ARI_Rec) is the registration information record of AD, which is used to record the necessary information required to register a specific member AD. The ACS and AD establish connections.</t>
        <figure anchor="fig-ari-rec">
          <name>Format of AD Registration Information Record</name>
          <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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |     Action    |     AD Type   |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 ~                            ADID_Rec                           ~
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                          ACS Address                          |
 |                                                               |
 |                                                               |
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                         Effecting Time                        |
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <dl newline="true">
          <dt>Action:</dt>
          <dd>
            <t>8-bit instruction to add (ADD=1) or delete (DEL=2) this record. Others are unassigned.</t>
          </dd>
          <dt>AD Type:</dt>
          <dd>
            <t>8-bit unsigned number indicating the role of AD. 0 for ordinary AD, 1 for primary AD, and 2 for boundary AD. Others are unassigned.</t>
          </dd>
          <dt>ADID_Rec:</dt>
          <dd>
            <t>Reference the ADID_Rec packet.</t>
          </dd>
          <dt>ACS Address:</dt>
          <dd>
            <t>128-bit the IPv6 address of ACS.</t>
          </dd>
          <dt>Effecting Time:</dt>
          <dd>
            <t>64-bit time specifies when this record is applied. It is recommended to use the 64-bit <tt>struct timeval</tt> format for the effecting time of the execution of this record. If all bits of this field are 0 or earlier than the current time, it means that it takes effect immediately.</t>
          </dd>
        </dl>
        <t>The role of the address domain is essential, and each address domain needs to be assigned a corresponding role according to its position in the sub-trust alliance. A sub-trust alliance needs to set one (and only one) primary address domain. It serves as the representative of the sub-trust alliance. The tag generated by its ACS and the ACSes of other sub-trust alliances' primary address domain maintains the state machine to generate the tag of the sub-trust alliance, and it issues the tag to the boundary address domain of the sub-trust alliance. A specific recommendation of a consensus algorithm could generate the primary address domain or be directly specified by the operator of the address domain with offline negotiation. The boundary address domain means that packets forwarded outside the address domain are no longer in the current sub-trust alliance. The primary address domain can be a boundary address domain or not. The tag replacement may occur in the boundary address domain. The ordinary address domain is neither a primary address domain nor a boundary address domain.</t>
      </section>
      <section anchor="ad-prefix-information-record">
        <name>AD Prefix Information Record</name>
        <t>AD Prefix Information Record (API_Rec) is the prefix information corresponding to the prefix of a specific AD. An AD may have more than one prefix, so registration information and prefix information records must be separated.</t>
        <figure anchor="fig-api-rec">
          <name>Format of AD Prefix Information Record</name>
          <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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Action    |   Alliance    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                            ADID_Rec                           ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Prefix Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         IPv6 Address                          |
|                                                               |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Effecting Time                        |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <dl newline="true">
          <dt>Action:</dt>
          <dd>
            <t>8-bit instruction to add (ADD=1) or delete (DEL=2) this record. Others are unassigned.</t>
          </dd>
          <dt>Alliance:</dt>
          <dd>
            <t>8-bit the sub-trust alliance number.</t>
          </dd>
          <dt>ADID_Rec:</dt>
          <dd>
            <t>Reference the ADID_Rec packet.</t>
          </dd>
          <dt>Prefix Length:</dt>
          <dd>
            <t>8-bit the length of the IPv6 prefix.</t>
          </dd>
          <dt>IPv6 Address:</dt>
          <dd>
            <t>128-bit indicates a certain address prefix operated by the corresponding member AD using together with Prefix Length.</t>
          </dd>
          <dt>Effecting Time:</dt>
          <dd>
            <t>64-bit time specifies when this record is applied. It is recommended to use the 64-bit struct timeval format for the effecting time of the execution of this record. If all bits of this field are 0 or earlier than the current  time, it means that it takes effect immediately.</t>
          </dd>
        </dl>
        <t>ARI_Rec and API_Rec are required to store the AD information in the consortium blockchain and send it to all AERs of their AD with the communication protocol between ACS and AER.</t>
      </section>
    </section>
    <section anchor="time-synchronization">
      <name>Time Synchronization</name>
      <t>Due to the time error between the border routers of the member ADs, to ensure the correct operation of the tag validation, it is necessary to make each device including ACS and AER in the trust alliance calibrate to the same clock reference. The NTP protocol could achieve this goal. You could see <xref target="RFC5905"/> for more details.</t>
      <t>Although the NTP protocol can guarantee the time synchronization between AERs, there may inevitably still be a slight time difference between AERs and ACSes. Therefore, each AER sets a shared time slice. With this time slice, both the expired tag and the new tag are considered valid. That is, more than one tag is valid for a while. The destination AD needs to validate all valid tags belonging to a specific source AD. The tag is correct if one of the tags is validated.</t>
      <t>Assuming that the maximum time difference between AER and ACS is <tt>te</tt>, we set a shared time slice with a length of <tt>2te</tt> between two adjacent tags. In this shared time slice, the two tags before and after are valid. The validity period of the tag with the shared time slice is shown below, see <xref target="figure1"/>.</t>
      <figure anchor="figure1">
        <name>Validity period of tag with the shared time slice</name>
        <artwork><![CDATA[
     +----------------------+
     |      Tag_(n-1)       |
     +----------------------+
                         +----------------------+
                         |         Tag_n        |
                         +----------------------+
                         |  |
                         |  |
                         |  |
     --------------------|--|------------------------------> Time Line
                         2te
]]></artwork>
      </figure>
      <t>In addition to the time difference, we should also take into account the packet transmission delay in the network. Set the minimum delay to <tt>td_min</tt> and the maximum delay to <tt>td_max</tt>. The expiration of <tt>Tag_n</tt> should be extended to <tt>td_max</tt> later, and the beginning of <tt>Tag_(n+1)</tt> validity period should be delayed to <tt>td_min</tt> later. The shared time slice and tag validity period corrected according to transmission delay is shown as follows, see <xref target="figure2"/>.</t>
      <figure anchor="figure2">
        <name>Validity period of tag with the shared time slice after modified</name>
        <artwork><![CDATA[
    +----------------------+
    |      Tag_(n-1)       |
    +----------------------+
                         +----------------------+
                         |        Tag_n         |
                         +----------------------+
                         | |
                         | |
    ---------------------|-|------------------------------> Time Line
                         2te-td_min+td_max
]]></artwork>
      </figure>
      <t>The expiration of the <tt>Tag_n</tt> is extended to <tt>te+td_max</tt>, and the beginning of the <tt>Tag_(n+1)</tt> is extended to <tt>te-td_min</tt>.  The parameters such as <tt>te</tt>, <tt>td_min</tt>, <tt>td_max</tt>, the period of the shared time slice, and the tag validity period are determined by the destination based on the actual network environment. Therefore, the lifecycle of a tag is as: <tt>lifecycle = Transition Interval + 2te - td_min + td_max</tt>.</t>
    </section>
    <section anchor="security-consideration">
      <name>Security Consideration</name>
      <t>TBD.</t>
    </section>
    <section anchor="iana-consideration">
      <name>IANA Consideration</name>
      <t>TBD.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="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="RFC5210">
        <front>
          <title>A Source Address Validation Architecture (SAVA) Testbed and Deployment Experience</title>
          <author fullname="J. Wu" initials="J." surname="Wu"/>
          <author fullname="J. Bi" initials="J." surname="Bi"/>
          <author fullname="X. Li" initials="X." surname="Li"/>
          <author fullname="G. Ren" initials="G." surname="Ren"/>
          <author fullname="K. Xu" initials="K." surname="Xu"/>
          <author fullname="M. Williams" initials="M." surname="Williams"/>
          <date month="June" year="2008"/>
          <abstract>
            <t>Because the Internet forwards packets according to the IP destination address, packet forwarding typically takes place without inspection of the source address and malicious attacks have been launched using spoofed source addresses. In an effort to enhance the Internet with IP source address validation, a prototype implementation of the IP Source Address Validation Architecture (SAVA) was created and an evaluation was conducted on an IPv6 network. This document reports on the prototype implementation and the test results, as well as the lessons and insights gained from experimentation. This memo defines an Experimental Protocol for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5210"/>
        <seriesInfo name="DOI" value="10.17487/RFC5210"/>
      </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="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>
      <reference anchor="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>
    </references>
    <?line 340?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
