Internet-Draft | DNS-based Service Discovery for Computin | July 2025 |
Liu, et al. | Expires 4 January 2026 | [Page] |
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.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 4 January 2026.¶
Copyright (c) 2025 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
The Computing-Aware Traffic Steering (CATS) framework [I-D.draft-ietf-cats-framework-07] 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 [I-D.draft-ietf-cats-usecases-requirements-06]. where computing resources are available.¶
This document specifies how DNS-based Service Discovery (DNS-SD) [RFC6763] 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.¶
The approach outlined in this document enables:¶
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.¶
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 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
This document uses the terms defined in [RFC6763] and [I-D.draft-ietf-cats-framework-07].¶
CATS service instances MUST be identified using DNS-SD service instance name following the format defined in RFC 6763 [RFC6763]:¶
Service Instance Name = <Instance>.<Service>.<Domain>¶
where¶
As defined in RFC 6763 [RFC6763], the <Service> portion of a Service Instance Name consists of a pair of DNS labels¶
_<Service-name>._<Proto>¶
where _<Service-name> is a symbolic name of the desired service, and _<Proto> is the symbolic name of the desired transport protocol.¶
For services using TCP, the second label is "_<tcp>", and for services using any transort protocol than TCP, the second label is _<udp>¶
This document defines the following primary types of service for CATS services:¶
Service instance names in CATS follow the DNS-SD convention:¶
<instance-name>.service-name._tcp.<domain>¶
Where:¶
For example:¶
edge-inference-1._cats-inference._tcp.example.com¶
The instance name SHOULD be unique within the domain to avoid conflicts.¶
DNS TXT records are used to advertise CATS-specific parameters for each service instance. This section defines standard parameters that SHOULD be included in CATS service advertisements.¶
The following parameters are defined:¶
For example, a TXT record for a CATS service might contain:¶
cpu=8 mem=16384 lat=15.5 load=35 gpu=nvidia-t4 vers=1.2 caps=inference,training prio=1 cost=2 avail=1¶
TXT record attributes MUST follow the format specified in RFC 6763, with attribute names and values separated by '=', and no spaces around the '=' sign.¶
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:¶
<instance-name>._cats._tcp.<domain> IN SRV <priority> <weight> <port> <target>¶
Where:¶
For example:¶
edge-inference-1._cats._tcp.example.com. SRV 0 5 8080 compute1.example.com.¶
The DNS-SD discovery mechanism integrates with the CATS control plane in the following ways:¶
Service parameters advertised through DNS-SD TXT records provide inputs to the CATS framework's decision-making process for traffic steering.¶
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.¶
The CATS control plane MAY augment the DNS-SD parameters with additional information from other sources when making steering decisions.¶
In addition to the basic parameters defined in Section 4.3, computing services MAY advertise more detailed information through additional TXT record attributes.¶
For application-specific capabilities, a naming convention using prefixes is RECOMMENDED:¶
For example:¶
app.model=resnet50 app.batch-size=16 app.precision=fp16¶
This extensible approach allows for advertising specialized capabilities while maintaining compatibility with the base specification.¶
Computing services MUST update their DNS-SD records when significant changes in availability or capabilities occur. These updates can be performed through:¶
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.¶
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.¶
The DNS-SD for CATS protocol flow can be shown in the following figure.¶
+----------+ +---------+ +---------+ +---------+ | 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+TXT, | | | 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) | |<-------------------------------------------------------->|¶
Registration can be performed using standard DNS update mechanisms [RFC2136] or Dynamic DNS update protocols.¶
For each CATS service:¶
The CATS control plane MAY facilitate this registration process through an appropriate management interface.¶
Clients requesting CATS services initiate the discovery process by querying for PTR records matching the appropriate service type. For example:¶
_cats-inference._tcp.<domain>¶
The response includes the list of matching service instance names. The client then queries for the SRV and TXT records associated with each service instance to obtain location information and service parameters.¶
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.¶
The selection process MAY consider:¶
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.¶
In local network environments, Multicast DNS (mDNS) [RFC6762] MAY be used in conjunction with DNS-SD to provide service discovery without requiring a centralized DNS server.¶
When using mDNS, CATS services SHOULD:¶
For larger-scale deployments across multiple networks, traditional unicast DNS infrastructure is RECOMMENDED. In these scenarios:¶
Implementers SHOULD consider the following performance aspects:¶
This memo includes no request to IANA.¶
The use of DNS-SD for CATS service discovery introduces several security considerations:¶