<?xml version="1.0" encoding="utf-8"?>
<!-- 
     draft-rfcxml-general-template-standard-00
  
     This template includes examples of the most commonly used features of RFCXML with comments 
     explaining how to customise them. This template can be quickly turned into an I-D by editing 
     the examples provided. Look for [REPLACE], [REPLACE/DELETE], [CHECK] and edit accordingly.
     Note - 'DELETE' means delete the element or attribute, not just the contents.
     
     Documentation is at https://authors.ietf.org/en/templates-and-schemas
-->
<?xml-model href="rfc7991bis.rnc"?>  <!-- Required for schema validation and schema-aware editing -->
<!-- <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?> -->
<!-- This third-party XSLT can be enabled for direct transformations in XML processors, including most browsers -->


<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<!-- If further character entities are required then they should be added to the DOCTYPE above.
     Use of an external entity file is not recommended. -->

<rfc
  xmlns:xi="http://www.w3.org/2001/XInclude"
  category="info"
  docName="draft-liu-cats-dns-service-discovery-01"
  ipr="trust200902"
  obsoletes=""
  updates=""
  submissionType="IETF"
  xml:lang="en"
  version="3">
<!-- [REPLACE] 
       * docName with name of your draft
     [CHECK] 
       * category should be one of std, bcp, info, exp, historic
       * ipr should be one of trust200902, noModificationTrust200902, noDerivativesTrust200902, pre5378Trust200902
       * updates can be an RFC number as NNNN
       * obsoletes can be an RFC number as NNNN 
-->

  <front>
    <title abbrev="DNS-based Service Discovery for Computing-Aware Traffic Steering (CATS)">DNS-based Service Discovery for Computing-Aware Traffic Steering (CATS)</title>
    <!--  [REPLACE/DELETE] abbrev. The abbreviated title is required if the full title is longer than 39 characters -->

    <seriesInfo name="Internet-Draft" value="draft-liu-cats-dns-service-discovery-01"/>

    <author fullname="Xiang Liu" initials="X."  surname="Liu">
      <!-- [CHECK]
             * initials should not include an initial for the surname
             * role="editor" is optional -->
    <!-- Can have more than one author -->
      
    <!-- all of the following elements are optional -->
      <organization>Pengcheng Laboratory</organization>
      <address>
        <postal>
          <!-- Reorder these if your country does things differently -->
          <street>No.2 Xingke 1 Street</street>
          <city>Shenzhen</city>
          <code>518055</code>
          <country>China</country>
          <!-- Uses two letter country code -->
        </postal>        
        <email>liux15@pcl.ac.cn</email>  
      </address>
    </author>
	

    <author fullname="Rongwei Yang" initials="R."  surname="Yang">
      <!-- [CHECK]
             * initials should not include an initial for the surname
             * role="editor" is optional -->
    <!-- Can have more than one author -->
      
    <!-- all of the following elements are optional -->
      <organization>Pengcheng Laboratory</organization>
      <address>
        <postal>
          <!-- Reorder these if your country does things differently -->
          <street>No.2 Xingke 1 Street</street>
          <city>Shenzhen</city>
          <code>518055</code>
          <country>China</country>
          <!-- Uses two letter country code -->
        </postal>        
        <email>yangrw@pcl.ac.cn</email>  
      </address>
    </author>
	
    <author fullname="Yu Zhang" initials="Y."  surname="Zhang">
      <!-- [CHECK]
             * initials should not include an initial for the surname
             * role="editor" is optional -->
    <!-- Can have more than one author -->
      
    <!-- all of the following elements are optional -->
      <organization>Pengcheng Laboratory</organization>
      <address>
        <postal>
          <!-- Reorder these if your country does things differently -->
          <street>No.2 Xingke 1 Street</street>
          <city>Shenzhen</city>
          <code>518055</code>
          <country>China</country>
          <!-- Uses two letter country code -->
        </postal>        
        <email>zhangy08@pcl.ac.cn</email>  
      </address>
    </author>

        <author fullname="Di Ma" initials="D."  surname="Ma">
      <!-- [CHECK]
             * initials should not include an initial for the surname
             * role="editor" is optional -->
    <!-- Can have more than one author -->
      
    <!-- all of the following elements are optional -->
      <organization>ZDNS</organization>
      <address>       
        <email>madi@zdns.cn</email>  
      </address>
    </author>
    
    <date year="2025"/>
    <!-- On draft subbmission:
         * If only the current year is specified, the current day and month will be used.
         * If the month and year are both specified and are the current ones, the current day will
           be used
         * If the year is not the current one, it is necessary to specify at least a month and day="1" will be used.
    -->

    <area>Routing</area>
    <workgroup>CATS</workgroup>
    
    <!-- "Internet Engineering Task Force" is fine for individual submissions.  If this element is 
          not present, the default is "Network Working Group", which is used by the RFC Editor as 
          a nod to the history of the RFC Series. -->

    <keyword>keyword</keyword>
    <!-- [REPLACE/DELETE]. Multiple allowed. Keywords are incorporated into HTML output files for 
         use by search engines. -->

    <abstract>
      <t>This document specifies how DNS-based Service Discovery (DNS-SD) can be used as a discovery and resolving
         method for mapping service identifiers to specific addresses within the CATS framework. It details extensions
         to DNS-SD to support CATS-specific service discovery requirements and describes how the discovery mechanism
         integrates with other components of the CATS architecture to enable compuating-aware traffic steering.
	    </t>
    </abstract>
 
  </front>

  <middle>
    
    <section>
      <name>Introduction</name>
      <t>
        The Computing-Aware Traffic Steering (CATS) framework <xref target="I-D.draft-ietf-cats-framework-07"></xref> is designed to enable 
        traffic steering that takes into account both network conditions and computing resource availability. A key requirement of this 
        framework is providing a discovery and resolving method for the mapping of a service identifier to a speficic address <xref target="I-D.draft-ietf-cats-usecases-requirements-06"></xref>.
        where computing resources are available.
	    </t>
      <t>
        This document specifies how DNS-based Service Discovery (DNS-SD)  <xref target="RFC6763"></xref> can be extended and used to fulfull this requirement
        within the CATS framework. DNS-SD provides a standardized mechanism for service discovery using existing DNS infrastructure, making it well-suited 
        for integration with the CATS architecture.   
	    </t>
      <t> 
        The approach outlined in this document enables:
	    </t>
      <ul>
        <li>Publishing of computing service availability through DNS-SD</li>
        <li>Discovery of appropriate CATS service instances based on service and resource requirements</li>
        <li>Resolution of CATS service identifiers to specific network addresses.</li>
        <li>Advertisement of CATS service capabilities and parameters using a dedicated, strucutured Resource Record.</li>
        <li>Dynamic and secure updates of service availability and characteristics.</li>
      </ul>
      <t>
        This document describes the necessary extensions to DNS-SD to support CATS-specific parameters and how the discovery mechanism 
        integrates with other components of the CATS framework.
      </t>
    </section>
    <section>
        <name>Requirements Language</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
          "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT
          RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
          interpreted as described in BCP 14 <xref target="RFC2119"/>
          <xref target="RFC8174"/> when, and only when, they appear in
          all capitals, as shown here.</t>
    </section>
      <!-- [CHECK] The 'Requirements Language' section is optional -->
      <section>
        <name>Terminology</name>
        <t>
          This document uses the terms defined in <xref target="RFC6763"></xref> and <xref target="I-D.draft-ietf-cats-framework-07"></xref>.
        </t>
      </section>   
	  
      <section>
        <name>Service Instance Names for CATS</name>
          <t>
            CATS service instances MUST be identified using DNS-SD service instance name following
            the format defined in RFC 6763 <xref target="RFC6763"></xref>:
          </t>
          <t>
            Service Instance Name = &lt;Instance&gt;.&lt;Service&gt;.&lt;Domain&gt;
          </t>
          <t>where</t>
       
       <ul>
       <li>the &lt;Instance&gt; portion is a user-friendly name for the instance</li>
       <li>the &lt;Service&gt; portion indicates the name of a specific type of service</li>
       <li>the &lt;Domain&gt; portion indicates the domain name where the service registered</li>
       </ul> 
      


        <section>
          <name>Service Names</name>
          <t>
          As defined in RFC 6763 <xref target="RFC6763"></xref>, the &lt;Service&gt; portion of a Service Instance Name consists of a pair of DNS labels
          </t>
          <t>
            _&lt;Service-name&gt;._&lt;Proto&gt;
          </t>
          <t>
            where _&lt;Service-name&gt; is a symbolic name of the desired service, and _&lt;Proto&gt; is the symbolic name of the desired transport 
            protocol.
          </t>
          <t>For services using TCP, the second label is "_&lt;tcp&gt;", and for services using any transort protocol than TCP, the second
            label is _&lt;udp&gt;
          </t>
          <t>
          This document defines the following primary types of service for CATS
          services:
        </t>

       <ul>
       <li>_cats-inference._tcp     (for ML inference services)</li>
       <li>_cats-storage._tcp       (for storage services)</li>
       <li>_cats-computing._tcp       (for general computing services)</li>
       </ul> 
        </section>

        <section>
           <name>Service Instance Names</name>
            <t>
          Service instance names in CATS follow the DNS-SD convention:
        </t>
        <t>
          &lt;instance-name&gt;.service-name._tcp.&lt;domain&gt;
        </t>
        <t>
          Where:
        </t>
        <ul>
       <li> &lt;instance-name&gt; is a user-friendly name for the service instance</li>
       <li>&lt;domain&gt; is the DNS domain in which the service is registered</li>
       </ul> 
       <t>
          For example:
        </t>
        <t>
          edge-inference-1._cats-inference._tcp.example.com
        </t>
        <t>
          The instance name SHOULD be unique within the domain to avoid
          conflicts.
        </t>
        </section>

        <section>
          <name>Service Parameters and CATSPARAM Records</name>
          <t>
          In RFC RFC 6763 <xref target="RFC6763"></xref> requires that every DNS-SD service MUST have a TXT record in additon to its SRV record, with the same name, 
          even if the service has no addtional data to store and the TXT record contains no more than a single zero Byte. However, it is widely 
          recognized that using TXT records will introduce security issues such as being abused by malwares. To avoid the security and parsing issues 
          associated with TXT records, this document defines a new DNS Resource Record type, CATSPARAM, for advertising CATS services parameters. 
        </t>
        <t>
          The CATSPARAM RR is associated with a service instance name and contains a structured set of key-value paers representing the service 
          instance's capabilities and state. 
        </t>
        <t>
          The RDATA for a CATSPARAM record consists of a series of parameters blocks. Each block is a key = value pair, represented as a 
          length-prefix string. This format allows for extensibility while maintaining a clear structure. 
        </t>
        <t>
          The following parameters are defined:
        </t>

        <ul>
            <li>"cpu": CPU capacity in normalized units (integer)</li>
            <li>"mem": Memory capacity in MB (integer)</li>
            <li>"lat": Expected processing latency in milliseconds (float)</li>
            <li>"load": Current load level (0-100) as a percentage (integer)</li>
            <li>"gpu": GPU availability and type (string)</li>
            <li>"accel": Other accelerator availability and type (string)</li>
            <li>"vers": Service version (string)</li>
            <li>"caps": Capabilities as a comma-separated list (string)</li>
            <li>"prio": Priority tier (integer, lower values indicate higher
              priority)</li>
            <li>"cost": Relative cost metric (integer)</li>
            <li>"avail": Availability status (0=offline, 1=online, 2=degraded)</li>
        </ul>
        
        </section>

        <section>
          <name>SRV Records for Service Location</name>
          <t>
          For each service instance, an SRV record MUST be published according
          to RFC 2782 to enable clients to locate the service. The SRV record
          format for CATS services instance is:
        </t>
        <t>
          &lt;instance-name&gt;._cats._tcp.&lt;domain&gt; IN SRV &lt;priority&gt; &lt;weight&gt; &lt;port&gt; &lt;target&gt;
        </t>
        <t>
          Where:
        </t>
        <ul>
            <li> &lt;priority&gt; represents the priority of the target host (lower values
              indicate higher priority)</li>
            <li> &lt;weight&gt; is used for load balancing among targets with the same
              priority</li>
            <li>&lt;port&gt; is the TCP port where the service is available</li>
            <li>&lt;target&gt; is the hostname of the machine providing the service</li>
            </ul>
            <t>
          For example:
        </t>
        <t>
          edge-inference-1._cats._tcp.example.com. SRV 0 5 8080 
          compute1.example.com.
        </t>
        </section>        
      </section>  
    
 <section anchor="integration">
      <name>Integration with CATS Framework</name>
      <section>
        <name>Relationship with CATS Control Plane</name>
        <t>
          The DNS-SD discovery mechanism integrates with the CATS control plane
          in the following ways:
        </t>
        <ul>
            <li>The CATS control plane MAY act as a discovery client, querying for
               available computing services and maintaining a database of
               available resources.</li>
            <li>The CATS control plane MAY facilitate service registration by
               providing interfaces and automation for DNS record management.</li>
            <li>The CATS control plane MAY implement advanced selection algorithms
               that consider both the parameters advertised via DNS-SD and
               additional network and computing metrics.</li>
            <li>For centralized deployments, the CATS control plane MAY provide a
               proxy service that mediates between clients and the DNS-SD
               infrastructure.</li>
            </ul>
      </section>

      <section>
        <name>Service Parameter Advertising</name>
         <t>
          Service parameters advertised through DNS-SD TXT records provide
          inputs to the CATS framework's decision-making process for traffic
          steering.
        </t>
        <t>
          The computing service MUST ensure that advertised parameters
          accurately reflect the current state and capabilities of the
          computing resource. Parameters SHOULD be updated when significant
          changes in resource availability or characteristics occur.
        </t>
        <t>
          The CATS control plane MAY augment the DNS-SD parameters with
          additional information from other sources when making steering
          decisions.
        </t>
      </section>
<!-- 
      <section>
        <name>Computing Resource Information</name>
         <t>
          In addition to the basic parameters defined in Section 4.3, computing
          services MAY advertise more detailed information through additional
          CATSPARAM record attributes.
        </t>
        <t>
          For application-specific capabilities, a naming convention using
          prefixes is RECOMMENDED:
        </t>
          <ul>
            <li>"app.X": Application-specific parameter X</li>
          </ul>
           <t>
          For example:
        </t>
        <t>
          app.model=resnet50 app.batch-size=16 app.precision=fp16
        </t>
        <t>
          This extensible approach allows for advertising specialized
          capabilities while maintaining compatibility with the base
          specification.
        </t>
      </section>
-->
      <section>
        <name>Dynamic Updates</name>
        <t>
          Computing services MUST update their DNS-SD records when significant
          changes in availability or capabilities occur. These updates can be
          performed through:
        </t>
        <ul>
            <li>Standard DNS Dynamic Update mechanisms <xref target="RFC2136"/></li>
            <li>DNS Update Leases <xref target="RFC7553"/> for time-limited registrations</li>
            <li>Multicast DNS (mDNS) for local network scenarios</li>
        </ul>
         <t>
          The frequency of updates SHOULD be balanced to reflect accurate
          information while avoiding excessive DNS traffic. Services SHOULD
          implement a dampening mechanism to avoid frequent updates for minor
          or transient changes.
        </t>
        <t>
          For highly dynamic parameters like current load, services MAY
          implement a threshold-based update policy, only updating the DNS
          records when the parameter crosses predefined thresholds.
        </t>
      </section>
    </section>


    <section>
      <name>Service Discovery Process and Protocol Flow</name>
      <t>The DNS-SD for CATS protocol flow can be shown in the following figure.</t>

        <artwork><![CDATA[
+----------+       +---------+        +---------+          +---------+                                                          
|   CATS   |       |   DNS   |        |   CATS  |          |  CATS   |
|  Service |       |         |        |  C-SMA  |          |  Client |
+----------+       +---------+        +---------+          +---------+
     |                  |                  |                    |    
     |                  |                  |                    |   
  Phase 1: Registration |                  |                    |   
     |                  |                  |                    |                
     | 1. DNS_UPDATE(PTR, SRV, TXT records)|                    |                                         
     |----------------->|                  |                    |     
     |                  |                  |                    |      
     | 2. UPDATE_ RESPONSE(success)        |                    |                   
     |<-----------------|                  |                    |
     |                  |                  |                    |
     | 3. CATS_REGESTER(svc_name, instance_name,                |
              domain, host, port, params)  |                    | 
     |------------------------------------>|                    |             
     |                  |                  |                    |
     | 4. CATS_REGISTER_RESPONSE(success)  |                    |               
     |<------------------------------------|                    |
     |                  |                  |                    |
     Phase 2: Discovery |                  |                    |
     |                  |                  |                    |
     |                  |       5. DNS_QUERY(type=PTR,svc_name) |
     |                  |<--------------------------------------|
     |                  |                  |                    |
     |                  |       6. DNS_RESPONSE(instance names) |
     |                  |-------------------------------------->|   
     |                  |                  |                    |
     |                  |       7. DNS_QUERY(type=SRV+CATSPARAM,|
     |                  |                 instance name)        |    
     |                  |<--------------------------------------|
     |                  |                  |                    |
     |                  |8. DNS_RESPONSE(host, port, parameters)|
     |                  |-------------------------------------->|
     |                  |                  |                    |
     Phase 3: Selection and resolution     |                    |
     |                  |                  |                    |
     |                  |       9. SERVICE_REQUEST(service type,|
     |                  |                          requirements)|
     |                  |                  |<-------------------|
     |                  |                  |                    |
     |                  |       10. SERVICE_SELECTED(hosts,port)|
     |                  |                  |------------------->|
     |                  |                  |                    |
     |                  |             11. DNS_LOOKUP(host)      |
     |                  |<--------------------------------------|
     |                  |                  |                    |
     |                  |        12. DNS_RESPONSE(IP address)   |
     |                  |-------------------------------------->|
     |                  |                                       |
     |                  13. CONNECT(IP address, port)           |
     |<-------------------------------------------------------->|
     |
]]></artwork>
      <section>
        <name>Registration Phase</name>
        <t>
          Registration can be performed using authenticated DNS update mechanisms
          <xref target="RFC2136"/> or Dynamic DNS update protocols.
        </t>
        <t>
          For each CATS service:
        </t>
        <ol>
            <li>Create a PTR record pointing from the service type to the service
               instance name</li>
            <li>Create an SRV record specifying the host and port for the service</li>
            <li>Create a CATSPARAM record containing the CATS-specific parameters</li>
            <li>Send a DNS_UPDATE message to the DNS server to add or update these records to the zone file.</li>
            <li>Register to the C-SMA with service name, instance name and parameters.</li>
          </ol>
          <t>
            The DNS_UPDATE message MUST be authenticated using TSIG or SIG(0) as described in Section 9. To prevent name collision, the update
            transaction SHOUDLD use preconditions. For a new service, the update MUST assert that the PTR, SRV and CATSPARAM record names do not
            already exist (NXDOMAIN precondition). 
          </t>
        <t>
          The CATS control plane MAY facilitate this registration process
          through an appropriate management interface.
        </t>
      </section>

      <section>
        <name>Discovery Phase</name>
         <t>
          Clients requesting CATS services initiate the discovery process
          by querying for PTR records matching the appropriate service type.
          For example:
        </t>
        <t>
          _cats-inference._tcp.&lt;domain&gt;
        </t>
        <t>
          The response includes the list of matching service instance names.
          The client then queries for the SRV and CATSPARAM records associated with
          each service instance to obtain location information and service
          parameters.
        </t>
      </section>

      <section>
        <name>Selection and Resolution Phase</name>
         <t>
          After obtaining the list of available services and their parameters,
          the client or the CATS control plane performs service selection based
          on the application requirements and the advertised parameters.
        </t>
        <t>
          The selection process MAY consider:
        </t>
        <ul>
            <li>resource capabilities (CPU, memory, GPU, etc.)</li>
            <li>Current load and availability</li>
            <li>Expected latency and performance metrics</li>
            <li>Priority and cost considerations</li>
            <li>Specific capabilities required by the application</li>
        </ul>
         <t>
          Once a suitable service is selected, the client resolves the hostname
          from the SRV record to an IP address using standard DNS A or AAAA
          queries, and establishes a connection to the service using the
          specified port.
        </t>
      </section>
      <section>
        <name>Deregistration Phase</name>
        <t> 
          When a service instance is terminated or becomes permanenetly unavailable, is MUST be deregistered. This ensures the clients
          no longer discover ot attempt to connect to the unavailable services. The deregistration is performed
          by sending an authenticated DNS_UPDATE message that deletes all records associated with the dervice isntance (PTR, SRV, and CATSPARAM).
          The delete request MUST be authenticated with the same credentials used for registration to prove ownership. 
        </t>
    </section>

    </section>
	 
   
  <section anchor="implementation">
    <name>Implementation Considerations</name>
    <section>
      <name>Multicast DNS Considerations</name>
       <t>
          In local network environments, Multicast DNS (mDNS) <xref target="RFC6762"/> MAY be
          used in conjunction with DNS-SD to provide service discovery without
          requiring a centralized DNS server.
        </t>
         <t>
          When using mDNS, CATS services SHOULD:
        </t>
        <ul>
            <li>Respond to mDNS queries for their service type</li>
            <li>Advertise their presence periodically as specified in RFC 6762</li>
            <li>Implement proper conflict resolution mechanisms</li>
            <li>Consider the scope and scale of the deployment, as mDNS is
               primarily designed for local network use</li>
        </ul>
      </section>
      
      <section>
          <name>DNS-SD/DNS Integration</name>
          <t>
          For larger-scale deployments across multiple networks, traditional
          unicast DNS infrastructure is RECOMMENDED. In these scenarios:
        </t>
        <ul>
            <li>CATS services SHOULD be registered in appropriate DNS zones</li>
            <li>DNS infrastructure SHOULD support DNS Dynamic Updates</li>
            <li>DNS servers SHOULD be configured to allow updates from authorized
               CATS components</li>
            <li>Consider using DNS Update Leases for time-limited registrations</li>
            <li>Implement appropriate caching policies for DNS records</li>
        </ul>
      </section>

      <section anchor="performance">
        <name>Performance Considerations</name>
        <t>
          Implementers SHOULD consider the following performance aspects:
        </t>
          <ul>
            <li>DNS query volume: In large deployments with many clients,
               implement appropriate caching and consolidation of discovery
               requests.</li>
            <li>Update frequency: Balance the need for accurate information with
               the overhead of frequent DNS updates.</li>
            <li>Scalability: For very large deployments, consider hierarchical
               discovery approaches or specialized discovery proxies.</li>
            </ul>
      </section>
  </section>


    <section anchor="IANA">
    <!-- All drafts are required to have an IANA considerations section. See RFC 8126 for a guide.-->
      <name>IANA Considerations</name>
      <t>This memo includes no request to IANA. </t>
    </section>
    
    <section anchor="Security">
      <!-- All drafts are required to have a security considerations section. See RFC 3552 for a guide. -->
      <name>Security Considerations</name>
      <t>
        The use of DNS-SD for CATS service discovery introduces several
        security considerations:
      </t>
      <ul>
          <li>Authentication: DNS updates for service registration SHOULD be
             authenticated to prevent unauthorized registration of services.
             DNS Security Extensions (DNSSEC) <xref target="RFC4033"/> SHOULD be implemented
             to provide authentication of DNS data.</li>
          <li>Information disclosure: Service parameters may reveal sensitive
             information about computing capabilities and deployment details.
             Consider the privacy implications of the parameters being
             advertised.</li>
          <li>Denial of Service: Large-scale DNS-SD queries could potentially
             be used for denial-of-service attacks. Implement rate limiting
             and monitoring for unusual query patterns.</li>
          <li>Spoofing: Without DNSSEC, DNS responses could potentially be
             spoofed, leading to service misdirection. DNSSEC validation
             SHOULD be enabled for DNS-SD queries.</li>
          <li>Data integrity: Ensure that computing parameter updates go through
             proper validation to prevent advertising incorrect capabilities,
             which could lead to suboptimal traffic steering decisions.</li>
          </ul>
    </section>
    
    <!-- NOTE: The Acknowledgements and Contributors sections are at the end of this template -->
  </middle>

  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
        <!-- The recommended and simplest way to include a well known reference -->
        
      </references>
 
      <references>
        <name>Informative References</name>

        <reference anchor="RFC4033">
          <!-- [REPLACE/DELETE] Example minimum reference -->
            <front>
              <title>DNS Security Introduction and Requirements</title>
              <author fullname="R. Arends" initials="R." surname="Arends"/>
              <author fullname=" R. Austein" initials="R." surname="Austein"/>
               <author fullname="M. Larson" initials="M." surname="Larson"/>
               <author fullname="D. Massey" initials="D." surname="Massey"/>
               <author fullname="S. Rose" initials="S." surname="Rose"/>
              <date month="March" year="2005"/>
              <!-- [CHECK] -->
            </front>
          </reference>

          <reference anchor="RFC6762">
          <!-- [REPLACE/DELETE] Example minimum reference -->
            <front>
              <title>Multicast DNS</title>
              <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
              <author fullname="M. Krochmal" initials="M." surname="Krochmal"/>
              <date month="February" year="2013"/>
              <!-- [CHECK] -->
            </front>
          </reference>

          <reference anchor="RFC6763">
          <!-- [REPLACE/DELETE] Example minimum reference -->
            <front>
              <title>DNS-Based Service Discovery</title>
              <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
              <author fullname="M. Krochmal" initials="M." surname="Krochmal"/>
              <date month="February" year="2013"/>
              <!-- [CHECK] -->
            </front>
          </reference>

          <reference anchor="RFC7553">
          <!-- [REPLACE/DELETE] Example minimum reference -->
            <front>
              <title>The Uniform Resource Identifier (URI) DNS Resource Record</title>
              <author fullname="P. Faltstrom" initials="P." surname="Faltstrom"/>
              <author fullname="O. Kolkman" initials="O." surname="Kolkman"/>
              <date month="June" year="2015"/>
              <!-- [CHECK] -->
            </front>
          </reference>
        
          <reference anchor="RFC2136">
          <!-- [REPLACE/DELETE] Example minimum reference -->
            <front>
              <title>Dynamic Updates in the Domain Name System (DNS UPDATE)</title>
              <author fullname="P. Vixie" initials="P." surname="Vixie"/>
              <author fullname="S. Thomson" initials="S." surname="Thomson"/>
              <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
              <author fullname="J. Bound" initials="J." surname="Bound"/>
              <date month="April" year="1997"/>
              <!-- [CHECK] -->
            </front>
          </reference>
     
          <reference anchor="I-D.draft-ietf-cats-framework-07">
          <!-- [REPLACE/DELETE] Example minimum reference -->
            <front>
              <title>A Framework for Computing-Aware Traffic Steering (CATS)</title>
              <author fullname="Chen Li" initials="C." surname="Li"/>
              <author fullname="Zongpeng Du" initials="Z." surname="Du"/>
              <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair"/>
              <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras"/>
              <author fullname="John Drake" initials="J." surname="Drake"/>
              <date month="April" year="2025"/>
              <!-- [CHECK] -->
            </front>
          </reference>

          <reference anchor="I-D.draft-ietf-cats-usecases-requirements-06">
            <!-- [REPLACE/DELETE] Example minimum reference -->
              <front>
                <title>Computing-Aware Traffic Steering (CATS) Problem Statement, Use Cases, and Requirements</title>
                <author fullname="kehan Yao" initials="K." surname="Yao"/>
                <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras"/>
                <author fullname="Hang Shi" initials="H." surname="Shi"/>
                <author fullname="Shuai Zhang" initials="S." surname="Zhang"/>
                <author fullname="Qing An" initials="Q." surname="An"/>
                <date month="February" year="2025"/>
                <!-- [CHECK] -->
              </front>
            </reference>

      </references>
    </references>
    
 </back>
</rfc>
