<?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-rfc2629 version 1.3.24 -->
<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-xu-savax-control-02" category="info" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.12.7 -->
  <front>
    <title abbrev="SAVA-X-Control">Control Plane of Inter-Domain Source Address Validation Architecture</title>
    <seriesInfo name="Internet-Draft" value="draft-xu-savax-control-02"/>
    <author initials="K." surname="Xu" fullname="Ke Xu">
      <organization abbrev="Tsinghua University">Computer Science, Tsinghua University</organization>
      <address>
        <postal>
          <street>Qinghuayuan street, Haidian District</street>
          <city>Beijing</city>
          <code>100084</code>
          <country>China</country>
        </postal>
        <email>xuke@tsinghua.edu.cn</email>
      </address>
    </author>
    <author initials="J." surname="Wu" fullname="Jianping Wu">
      <organization abbrev="Tsinghua University">Computer Science, Tsinghua University</organization>
      <address>
        <postal>
          <street>Qinghuayuan street, Haidian District</street>
          <city>Beijing</city>
          <code>100084</code>
          <country>China</country>
        </postal>
        <email>jianping@cernet.edu.cn</email>
      </address>
    </author>
    <author initials="X." surname="Wang" fullname="Xiaoliang Wang">
      <organization abbrev="Tsinghua University">Computer Science, Tsinghua University</organization>
      <address>
        <postal>
          <street>Qinghuayuan street, Haidian District</street>
          <city>Beijing</city>
          <code>100084</code>
          <country>China</country>
        </postal>
        <email>wangxiaoliang0623@foxmail.com</email>
      </address>
    </author>
    <author initials="Y." surname="Guo" fullname="Yangfei Guo">
      <organization abbrev="Tsinghua University">Institute for Network Sciences and Cyberspace, Tsinghua University</organization>
      <address>
        <postal>
          <street>Qinghuayuan street, Haidian District</street>
          <city>Beijing</city>
          <code>100084</code>
          <country>China</country>
        </postal>
        <email>guoyangf19@mails.tsinghua.edu.cn</email>
      </address>
    </author>
    <date year="2022" month="May" day="20"/>
    <area>Operations and Management Area</area>
    <workgroup>Network Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <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. The inter-domain source address validation architecture is an effort to enhance the Internet by using state machine to generate consistent tags. When communicating between two end hosts at different ADs of IPv6 network, tags will be added to the packets to identify the authenticity of the IPv6 source address.</t>
      <t>This memo focus on the control plane of the SAVA-X mechanism.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" toc="default">
      <name>Introduction</name>
      <t>The Inter-Domain Source Address Validation (SAVA-X) mechanism establishes a trust alliance among Address Domains (AD), maintains a one-to-one state machine among ADs with AD Control Server (ACS), generates a consistent tag, and deploys the tag to the ADs' border router (AER). The AER of the source AD adds a tag to identify the identity of the AD to the packet originating from one AD and sinking in another AD. The AER of the destination AD verifies the source address by validating the correctness of the tag to determine whether it is a packet with a forged source address.</t>
      <t>In the process of packet forwarding, if the source address and the destination address of this packet both are addresses in the trust alliance, however the tag is not added or incorrectly added, AER of the destination AD determines that the source address is forged and directly discards this packet. The destination AD forwards the packet directly for packets whose source address is an address outside the trust alliance.</t>
      <t>This document mainly studies the relevant specifications of the control plane of the inter-domain source address validation architecture mechanism between ADs, which will protect IPv6 networks from being forged source address. You could see <xref target="RFC8200" format="default"/> for more details about IPv6. It stipulates the design of the consortium blockchain, the nodes' joining and exiting, the maintenance of trust alliance information based on the consortium blockchain, and the maintenance of the state machine. Its promotion and application can realize the standardization of the control plane in the SAVA-X to facilitate the related equipment developed by different manufacturers and organizations to cooperate to accomplish the inter-domain source address validation jointly.</t>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119, BCP 14 <xref target="RFC2119" format="default"/> and indicate requirement levels for compliant CoAP implementations.</t>
    </section>
    <section anchor="terminology-and-abbreviation" numbered="true" toc="default">
      <name>Terminology and Abbreviation</name>
      <table align="center">
        <thead>
          <tr>
            <th align="left">Abbreviation</th>
            <th align="left">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">AD</td>
            <td align="left">Address Domain, the unit of a trust alliance, which is an address set consisting of all IPv6 addresses corresponding to an IPv6 address prefix.</td>
          </tr>
          <tr>
            <td align="left">TA</td>
            <td align="left">Trust Alliance, the IPv6 network that uses the SAVA-X mechanism.</td>
          </tr>
          <tr>
            <td align="left">STA</td>
            <td align="left">sub-Trust Alliance, parts of TA.</td>
          </tr>
          <tr>
            <td align="left">STA-admin</td>
            <td align="left">STA Administrator, the administrator of STA.</td>
          </tr>
          <tr>
            <td align="left">ACS</td>
            <td align="left">AD Control Server, the server that matains state machine with other ACS and distribute information to AER.</td>
          </tr>
          <tr>
            <td align="left">AER</td>
            <td align="left">AD border router, which is placed at the boundary of an AD of STA.</td>
          </tr>
          <tr>
            <td align="left">ADID</td>
            <td align="left">The identity of an AD.</td>
          </tr>
          <tr>
            <td align="left">ADID_Rec</td>
            <td align="left">The record of a number of an AD.</td>
          </tr>
          <tr>
            <td align="left">ARI_Rec</td>
            <td align="left">The record with relavent information of an AD or STA.</td>
          </tr>
          <tr>
            <td align="left">API_Rec</td>
            <td align="left">The record of prefix of an AD or STA.</td>
          </tr>
          <tr>
            <td align="left">CSR</td>
            <td align="left">Certificate Signing Request, which is used for an AD or STA to join or exit the consortium blockchain.</td>
          </tr>
          <tr>
            <td align="left">SM</td>
            <td align="left">State Machine, which is maintained by a pair of ACS to generate tags.</td>
          </tr>
          <tr>
            <td align="left">Tag</td>
            <td align="left">The authentic identification of source address of a packet.</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="the-design-of-the-consortium-blockchain" numbered="true" toc="default">
      <name>The design of the Consortium Blockchain</name>
      <t>As discussed in the introduction, consortium blockchain will be used in SAVA-X mechanism.</t>
      <section anchor="trust-alliance" numbered="true" toc="default">
        <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>The primary address domain is the representative node of the aforementioned sub-trust alliance and is used to establish 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.</li>
          <li>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.</li>
          <li>The ordinary address domain is neither the primary address domain nor the address domain of the boundary address domain.</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 doesnot 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" numbered="true" toc="default">
        <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 which 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 as STA-admin (Sub Trust Alliance administrator), and member list of each sub-chain which are 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" numbered="true" toc="default">
        <name>Joining and Exiting</name>
        <section anchor="node-joining" numbered="true" toc="default">
          <name>Node Joining</name>
          <t>This is the admission of joining of the sub-trustalliance member AD. The prerequisite for the AD to join the sub-trust alliance is to have a certificate issued by the STA-admin firstly. AD's Address Control Server (ACS), which will maintain 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 want 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" numbered="true" toc="default">
          <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 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" numbered="true" toc="default">
      <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 out 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" numbered="true" toc="default">
        <name>Address Domain Identity Record</name>
        <t>Address Domain Identity Record (ADID_Rec) is used to identify an address domain uniquely in the trust alliacne.</t>
        <artwork name="" type="" align="left" alt=""><![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>
        <dl newline="false" spacing="normal">
          <dt>ADID Type:</dt>
          <dd>
  8-bit Type of ADID, 1 for 16-bits AS number, 2 for 32-bits AS number and other unassigned.</dd>
          <dt>ADID:</dt>
          <dd>
  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.</dd>
        </dl>
      </section>
      <section anchor="ad-registration-information-record" numbered="true" toc="default">
        <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>
        <artwork name="" type="" align="left" alt=""><![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>
        <dl newline="false" spacing="normal">
          <dt>Action:</dt>
          <dd>
  8-bit instruction to add (ADD=1) or delete (DEL=2) this record. Others are unassigned.</dd>
          <dt>AD Type:</dt>
          <dd>
  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.</dd>
          <dt>ADID_Rec:</dt>
          <dd>
  Reference the ADID_Rec packet.</dd>
          <dt>ACS Address:</dt>
          <dd>
  128-bit the IPv6 address of ACS.</dd>
          <dt>Effecting Time:</dt>
          <dd>
  64-bit time specifies when this record is applied. It is recommended to use the 64 bits 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.</dd>
        </dl>
        <t>The role of 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 packet forwards outside the address domain is 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" numbered="true" toc="default">
        <name>AD Prefix Information Record</name>
        <t>AD Prefix Information Record (API_Rec) is the prefix information corresponds 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>
        <artwork name="" type="" align="left" alt=""><![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>
        <dl newline="false" spacing="normal">
          <dt>Action:</dt>
          <dd>
  8-bit instruction to add (ADD=1) or delete (DEL=2) this record. Others are unassigned.</dd>
          <dt>Alliance:</dt>
          <dd>
  8-bit the sub-trust alliance number.</dd>
          <dt>ADID_Rec:</dt>
          <dd>
  Reference the ADID_Rec packet.</dd>
          <dt>Prefix Length:</dt>
          <dd>
  8-bit the length of the IPv6 prefix.</dd>
          <dt>IPv6 Address:</dt>
          <dd>
  128-bit indicates a certain address prefix operated by the corresponding member AD using together with Prefix Length.</dd>
          <dt>Effecting Time:</dt>
          <dd>
  64-bit time specifies when this record is applied. It is recommended to use the 64 bits 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.</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" numbered="true" toc="default">
      <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" format="default"/> for more details.</t>
      <t>Although the NTP protocol can guarantee the time synchronization between AERs, there may inevitably still have 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" format="default"/>.</t>
      <figure anchor="figure1">
        <name>Validity period of tag with the shared time slice</name>
        <artwork name="" type="" align="left" alt=""><![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 <tt>td_max</tt> later, and the beginning of <tt>Tag_(n+1)</tt> validity period should be delayed <tt>td_min</tt> later. The shared time slice and tag validity period corrected according to transmission delay are shown as follows, see <xref target="figure2" format="default"/>.</t>
      <figure anchor="figure2">
        <name>Validity period of tag with the shared time slice after modified</name>
        <artwork name="" type="" align="left" alt=""><![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 tag validity period are determined by the destination based on the actual network environment. Therefore, the lifecyle of a tag is as: <tt>lifecycle = Transition Interval + 2te --td_min + td_max</tt>.</t>
    </section>
    <section anchor="security-consideration" numbered="true" toc="default">
      <name>Security Consideration</name>
      <t>This present memo doesnot find any security problem.</t>
    </section>
    <section anchor="iana-consideration" numbered="true" toc="default">
      <name>IANA Consideration</name>
      <t>This document makes no requests of IANA.</t>
    </section>
    <section anchor="acknowledgements" numbered="true" toc="default">
      <name>Acknowledgements</name>
      <t>Much of the content of this document is the expansion of the IETF <xref target="RFC5210" format="default"/> in inter-domain level. Thanks to the effort of pioneers.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>Normative References</name>
      <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
      <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5210.xml"/>
      <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5905.xml"/>
      <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8200.xml"/>
    </references>
  </back>
  <!-- ##markdown-source:
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
vjYCq+zcG2IX4F3u3/s/WnndoChdAAA=

-->

</rfc>
