[dnssd] Re: SRP + Advertising Proxy: TTL related questions

Esko Dijk <esko.dijk@iotconsultancy.nl> Tue, 01 July 2025 13:22 UTC

Return-Path: <esko.dijk@iotconsultancy.nl>
X-Original-To: dnssd@mail2.ietf.org
Delivered-To: dnssd@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id A8CF93C2C3C8 for <dnssd@mail2.ietf.org>; Tue, 1 Jul 2025 06:22:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -1.866
X-Spam-Level:
X-Spam-Status: No, score=-1.866 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.232, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (1024-bit key) header.d=iotconsultancy.nl
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gINQqZElUq7J for <dnssd@mail2.ietf.org>; Tue, 1 Jul 2025 06:22:42 -0700 (PDT)
Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11022111.outbound.protection.outlook.com [52.101.66.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 656BD3C2C3C1 for <dnssd@ietf.org>; Tue, 1 Jul 2025 06:22:42 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=FkDixdJFIcRs37rg/5sjTRZLNliJe02m0f8KUAxHc3Nsa5j5Wre/Tw8FkH2ouoKTBXOQlr7GByI3BQ/bxZ21z10b5Y6xuNj7+a6tnGl0tx3ERPQviMdtlypsZYRhbPBYcrMRegr/PvGWicVKVWrDZcAzTUhY7vqcg+rTnKbESh1iiO2n1Zxad+4hEI34Ipod4aZl4KYsROwqQCxngJHAgxad0tpJWZZMrWNsC5IfvpM+4+CebVsA1kDax2Kzo1XGfEYIycJatWGHp34O1+RZOzA2TMjBKUmNlImsK2eTbkjXh8xwKxMzUQkohE1W6pjopp6CaEFDSV3B0irJ5n3rkg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=cnboVqr3bNcemHZSQOTfNz4jKK604EW4W/PKtkzoxq8=; b=t+dJ7WnNKW7iFueTnkIZVZa7pfP2V8xRodVuMi6pcRyfa38/cRzbRlGXjqDk5kSs1yprMTezuupwwUpWobUJxmNSSPdttBOtSCCLhDEsINkJk9I4lVd4LuB0YFBgDVNFeEbCD8aFvDNVzRt13ag7vMnK6l3OsUjcQsswjuj/jEwNYCEgBYhB3DN9ZtqV8vATd7TL3t3cxhUzt1HXssDnFuOOjA8/MRokXwtnobUmS42QuA+VjB96Q0Q9pFC8Zxuc2tY/HfUxzF6FLN+U3oe2mLwO2dDw5vBDc49IuDl45aCE6jup0d4idOevzExZRWmkhDZMcmtKQAPOFlKRnAhFaw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=iotconsultancy.nl; dmarc=pass action=none header.from=iotconsultancy.nl; dkim=pass header.d=iotconsultancy.nl; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iotconsultancy.nl; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cnboVqr3bNcemHZSQOTfNz4jKK604EW4W/PKtkzoxq8=; b=RM257aAnUhy2wUp9eHCxIwyZtmvU3FpcgWEHKFgPy6l3J3D551AGjVbIki3t8rpPmz3zdKcD0zNxt+fhuoOuXFVXLcT/Utq8hBXPhomFNNkrj9eR425KIFib8d5uxOJTCdTQIwNsUqNRmMDDD4q3YtxxYLmwE/HYEYvh8BlNMxc=
Received: from DU0P190MB1978.EURP190.PROD.OUTLOOK.COM (2603:10a6:10:3b9::20) by AM9P190MB1058.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:265::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8880.31; Tue, 1 Jul 2025 13:22:40 +0000
Received: from DU0P190MB1978.EURP190.PROD.OUTLOOK.COM ([fe80::5abd:5aa2:7005:acc6]) by DU0P190MB1978.EURP190.PROD.OUTLOOK.COM ([fe80::5abd:5aa2:7005:acc6%5]) with mapi id 15.20.8880.021; Tue, 1 Jul 2025 13:22:40 +0000
From: Esko Dijk <esko.dijk@iotconsultancy.nl>
To: Ted Lemon <mellon@fugue.com>
Thread-Topic: SRP + Advertising Proxy: TTL related questions
Thread-Index: AduiFATJmfGkjNoiS4qsn61/FwLLOwAB21UAAAAw4HAABpgBAABEQuQAEc7OUUAAAY2SgAAAZWtA
Date: Tue, 01 Jul 2025 13:22:40 +0000
Message-ID: <DU0P190MB1978B0ADE0B9D51099E56032FD41A@DU0P190MB1978.EURP190.PROD.OUTLOOK.COM>
References: <DU0P190MB19785B005106B4C21D7D726BFDAD2@DU0P190MB1978.EURP190.PROD.OUTLOOK.COM> <9eda7373-8937-43dd-9e46-7d09316fdfe8@app.fastmail.com> <DU0P190MB1978FE249E33B5D0F5295B9EFDAD2@DU0P190MB1978.EURP190.PROD.OUTLOOK.COM> <594c513c-361a-4d50-ae72-509a8d8c8113@app.fastmail.com> <CACce4dT5dUU7gz6gjaOECpnqq08VjgBq3uH7g6VtcDO2n0JALA@mail.gmail.com> <DU0P190MB1978A8C67105148B91E80C9BFD41A@DU0P190MB1978.EURP190.PROD.OUTLOOK.COM> <834FF6FC-2389-4EAF-BD99-42361130ABCD@fugue.com>
In-Reply-To: <834FF6FC-2389-4EAF-BD99-42361130ABCD@fugue.com>
Accept-Language: en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=iotconsultancy.nl;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DU0P190MB1978:EE_|AM9P190MB1058:EE_
x-ms-office365-filtering-correlation-id: a178af7e-3a09-495f-5a71-08ddb8a25acd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|366016|1800799024|13003099007|38070700018|7053199007|7055299006|8096899003;
x-microsoft-antispam-message-info: eu6+qTDwJklsCmE276OyTQsXl2h38IBdd7PaDV+SunVUpHDZ9AQ6pjbkhclkFj6Z9+7urDVxxQGelEJWa/WHInZpXhi31IYHuu8X9ELLGphWIlKn2gHYH4ReIn3GArFf4Q5e+wdQammT1ViVbJMscC7fKlk+DIM5gYR+twJZ3cKlz26JB/eMz5IedPslMq1AfaUkLCLAy5ijGMI/lDPht2NjCfBoBko1n6indbUvTiXRjqY+l1Byz1IVesQvB/dBd9CmkZnaGmt1vNvhfJbsVr4iYsSAbvWh3CIXy9kJHcsBmOCFnc0Pejnp/38lIf9SOIu1Pe2jbutOasQi75XdiyrvvOZA2MurtuqWrtB26eiiCRaHQYL1OzsHSFpbNh/0HUl956ZYVI2+IONUCvNOJ4CNmgSq2kqh4dSYNdW5EAn6t8G0OQ+XzVUMy7pSXdJERtOm098iSZrPYDgeQ+dZxGDPRB7Je5gjOUL9Jy7RrfXpb8BVQKYpfWz7B9fX7iiOMPzo1J9OlnwjpjXjgt8w/HMh099fu4DPaVd0luRUG/28OoWolWz8TwlkTkOJ910wu2sIqFx4BupPAkGYBPXAjk/5Y2XPgzFT8LIKIYVsibGbx0oEMYwg+rsYwW0akKXwSsWa6yB/TR11SQ/mtXDyF1fsT4eV244SH0hSl+D2arL4u5X8ZU0RoM55O6IRt7BVl/T/rfjOcnSxZd4/V31x8+GX3WNJz245PTHsb6RwL1KiWuaP5Q1qpy6HHsOeJiDLgkr3oK9SlhNem0Njgmo7lad3QhRR/mKpzFFS/OCtTUpJJH+2IH+ELQz1In/0PHPotP1NjvamQqJP2trthArM72gpQMqS00pH9THM9fwi7e3ENiKz3dfjaWZX6b89oXor9Y3xjiYUAlJAHU1alIM3qZNsHQlpNIQ3lWCmvurDFi9ddzOvNh+bSqS8zxk+q15ceS8XUgktE8eZxLwihEOJzZMCJdj0SSnj7T+qPd7RhlbN0A18svZmJPnIox13ABj9OHfnVgURDzsPM7DhVYL15sgHwC1/9qFiFaHNxHKl1Pz62XS9PP8rwZwCiMmN0ycNlQwK9RvswHFqyZkMsn5+QgtUMCovPT1Pohd4YZzi3xWOkoyW8OCE8ctwBOZONjFTkRFxd6azKQCiecJhW/W7jm5WB5NbU4aE1Dw9WsdFHCDAeZcZbKUSenkLpO6WO3c8P+deS8AmDpwqnc2GH/OfuQoL1YFFzc1b3q3U++IkzW4VgsZ5AYH1I9EbPKH2RQow/wHatH6pmtcW5hbkY9BYt1Xq1Qfmkxmv1GRBgac5p+pheMV1keBkru6EKCaYrB3KVeiGeBzioyng0O61wsfVuxXs9LPpznaYB1aN633nWVGOy1e3Z7MmPfJMdXKeaMWkX/LKAgf+m4HYNLBcUBZxHFkX9hfLLOECMTRaDeYe08km2yjg3CmdtsqFtuW5opz0QYYS72ioLZ39RyeORRR2W8/JkRUZwZrprSwOCcoeEjCby2pyN6oond7lTU5UJyAa
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0P190MB1978.EURP190.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(13003099007)(38070700018)(7053199007)(7055299006)(8096899003);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: Ebr7lUWY0CR1RsbMtLdCDD1KmXBATN+AVknLsjea2OzQJyznwPxFJJhG/+nF4SLYWN40II3tu/nZzMzLa5yh363oX24DNIoLeMt2PjlwHyNdmHkpN5vCTAhgrlqOL/mJ1olpexTM4uCouiRFtWt5x1y8XqZ4c8AhU+CR7QTAzjKhvyTg8bFPYNJkNvLHCE5r8pQvX0mVX01phhRGODW9E79uROwFJh8hwRF2vtvfvrhG5MfyBPze/CHYYdjXOMxKDorSTY8aIevKs+mLTD5NmDeAvXSrh83SteFaWn7R3SNfEQMpSLDk6fREjtU+rXjeu6GDjpGeClKB7OUGPeeNGkUXPPsKRloeTpvJ0pCsNmxdWhzV0R20ClVtv8O8a5aeuG0jOvEuULBLYWHiPxGQ52yDCtnGzpFbzPsv2XdtGLGaFBw86Bhenm+1II2/jR1rOz5pR5paU+psJHyps0Wft+0B+EC0nsduMwXNP31jxSWyUz9PYucaYHNRheaon08DtpIE+iw+Ew7cwHkmiGMeHu+I4OZ5W8DC2afVUI4Pj9BcwXBKbION3Pi7sdi97ygVcO2/QHQzapqW7dA4LxGW+EwuIRKTO91vDvwJM5GqcZVZm1uiE78JHjqsolby/2Ffl/DgzCillgObbUStpsJ91lXCc0wrs45LFve59pziSuQlye1SkCoOGzUswTSnr64ex8Pgypr/9+3ln+KTqs1TOOosCKtkO3e8+ciwEtrkrXqfBTI5+PuNxtge4qxg5NLbKQbWjO+M5J+zk5CBjoVWlRzD8IKeFigs59u1/6Nv7klPer2UufXm5BTxszm5QArN/MzZisIZ/qt94U8xGV6/xU2FJzja8ilAsu1VVQO+kxqLxvXz6PrpcVQlU7PB0sZagxzvwIKY9VZhkCoxV+EWn6Rp0q+GHMhKKTsum41eGIz+y5ufJzn2/oG4F8B/e9ekpl8iA7Z/E5uTmyEdyPXZ+qePFKfU/dQRGEr212p2PJqJ4HkopIwis+DYzcN2UDbgBO2IhvTy6Lah2Zg7t3KYsKxABxwbWnmS+IdJFsXwRUTofus0odZPISQGWTKv9PY2J0l2BEow+l1UUBxIjh0eU92vmfXnjSMVeLRPGDnlsm+Fa1HF7UWkYcB0Iz0Ya/jgwN1gjR8Vt5OEpila3BhnVe+igvwY2euARdRA8t63A3ll1pltqZ5HIRgNb4enXTwCVnL3OsPBXdg/XGPNhIdi7Fgno2yuzGQqm+pivcf4+sTL740hz6t1CkE/aK6qcVzJUEFsAEg/hFqxADipQU3zN7qc8pIO8axFhkkwDby87oD+8JRDS6nmvCQshLC9m96FDfjdrdr7HCca33R4VCzDPZECFxz2k78VOl5QfdOYBILlaPmwCHltrZ8Rx3EAhRFHW6gkQpERpH0G+PTT/PQXTAK2+Ic7oE1KgH0NaO6ZrP+/nTknDdDRkgpIGBYvzd8q+Tvun7NJLu03T0akiubkiOB/O0XhLrmFOevNnIaHXJXDUR3j6zdRmt9QBSPvKaRrlny2PXW1RLhAJfnaEnuWInUNiv4SgFzUNaBwJHNbb9yI6zcX3gNm2hDS9GR99Dol
Content-Type: multipart/alternative; boundary="_000_DU0P190MB1978B0ADE0B9D51099E56032FD41ADU0P190MB1978EURP_"
MIME-Version: 1.0
X-OriginatorOrg: iotconsultancy.nl
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DU0P190MB1978.EURP190.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: a178af7e-3a09-495f-5a71-08ddb8a25acd
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Jul 2025 13:22:40.3557 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 58bbf628-15d2-46bc-820b-863b6774d44b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: tutHni0pgmgpuMaEcvIw3N4Q6xFtfRzWRBAb/3yH/ZT01CyDipajQBP1ddU5ANPYWPU4sLS73Cc9/rvoBxiV6olrr9g6/o0xVlWVy17Rt0c=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9P190MB1058
Message-ID-Hash: QHNOOK5UIMI5LN6EAUQHUUFNRQIBI4K2
X-Message-ID-Hash: QHNOOK5UIMI5LN6EAUQHUUFNRQIBI4K2
X-MailFrom: esko.dijk@iotconsultancy.nl
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-dnssd.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Abtin Keshavarzian <abtink@google.com>, dnssd <dnssd@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [dnssd] Re: SRP + Advertising Proxy: TTL related questions
List-Id: "Discussion of extensions to DNS-based service discovery for routed networks." <dnssd.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnssd/mCLTXkagqNyYX-E7_HMOxF3S4g0>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnssd>
List-Help: <mailto:dnssd-request@ietf.org?subject=help>
List-Owner: <mailto:dnssd-owner@ietf.org>
List-Post: <mailto:dnssd@ietf.org>
List-Subscribe: <mailto:dnssd-join@ietf.org>
List-Unsubscribe: <mailto:dnssd-leave@ietf.org>

Ok. I believe the correct way for such a situation is to send an update to remove a DNS-SD service again, using an SRP Update, if the service is no longer available.
If the client doesn't know in advance when the service is to be removed again, it should base its lease time on other considerations. (Whatever these are: maybe do the same like for its other DNS-SD services if it has any.)

The described approach is also brittle: the SRP registrar MAY opt to change the lease time to 4 hours, for example.

Esko

From: Ted Lemon <mellon@fugue.com>
Sent: dinsdag 1 juli 2025 15:07
To: Esko Dijk <esko.dijk@iotconsultancy.nl>
Cc: Abtin Keshavarzian <abtink@google.com>; dnssd <dnssd@ietf.org>
Subject: Re: SRP + Advertising Proxy: TTL related questions

We have noted a use pattern where a device that has not yet been paired advertises its availability for pairing using SRP with a short lease interval, with the hope that the pairing will happen quickly and the short lease will result in that service being removed quickly. We should probably think about whether that makes sense, or whether it's better for the device to simply remove the advertisement when pairing is complete.


On 1 Jul 2025, at 14:52, Esko Dijk <esko.dijk@iotconsultancy.nl<mailto:esko.dijk@iotconsultancy.nl>> wrote:

Hi Abtin,

thanks for clarifying the OpenThread configurations and algorithm.

Based on RFC 9665 I see quite some implementation freedom on handling TTLs:


  *   TTL value for RR in SRP Update is an advisory to the SRP registration (Section 4)

     *   TTL value SHOULD NOT exceed the lease time (within the SRP Update scope)

  *   function of Lease times and the function of TTLs are completely different (Section 5.1)
  *   TTL value for RR when served in a DNS response (e.g. by Advertising Proxy) MAY exceed the remaining lease time (Section 5.1)

     *   although it's not forbidden to e.g. set the TTL based on remaining lease time, if the implementation sees some benefit in that.

So an SRP registrar can modify lease times to regulate the amount of SRP Updates per time unit.  (Basically ignoring the SRP client's requested lease time.)
And it can choose TTL values to regulate the amount of DNS/mDNS queries being sent to its host per time unit.  (Ignoring the SRP client's suggested TTL.)

The SRP registrar going along with an SRP client's suggested TTL, within certain preconfigured min/max limits, also sounds like a feasible default strategy.

Now that the SRP registrar has determined TTL in some way, I'd assume that the Advertising Proxy uses exactly these TTL values in its mDNS advertisements.

The Advertising Proxy draft can maybe list some sensible defaults for TTL?
For this I created: https://github.com/dnssd-wg/draft-ietf-dnssd-advertising-proxy/issues/6

regards,
Esko


From: Abtin Keshavarzian <abtink@google.com<mailto:abtink@google.com>>
Sent: dinsdag 1 april 2025 22:50
To: Ted Lemon <mellon@fugue.com<mailto:mellon@fugue.com>>
Cc: Esko Dijk <esko.dijk@iotconsultancy.nl<mailto:esko.dijk@iotconsultancy.nl>>; dnssd <dnssd@ietf.org<mailto:dnssd@ietf.org>>
Subject: Re: SRP + Advertising Proxy: TTL related questions

Let me clarify the statement about OpenThread behavior.

OpenThread is a network stack designed to run on a variety of platforms and device categories, offering flexibility in configuration and integration into projects and products.

Regarding the SRP Server and Advertisement Proxy, OpenThread provides several integration options:

A) Platform/Project Managed: The platform or project handles all SRP Server and Adv Proxy functionalities, making them fully project/product-specific.
B) OpenThread SRP Server, Platform Adv Proxy: The SRP Server function is implemented within the OpenThread core, while the Advertisement Proxy is delegated to the platform.
C) OpenThread Native SRP Server and Adv Proxy: Both the SRP Server and the Advertisement Proxy are provided by the OpenThread core.

The OpenThread SRP server implementation tracks a TTL for each registered service and host:

- The TTL is set to the minimum of the granted lease time and the TTL from the records in the SRP message. Note that SRP requires TTL consistency, so all RRs within an SRP message must use the same TTL.
- OpenThread also provides `otSrpServerTtlConfig`, which can be configured via APIs to specify a minimum and maximum TTL range. The granted TTL is then clamped to fall within this defined range.
- The OpenThread SRP client also offers APIs to explicitly set the desired TTL value if needed. If not explicitly set, the client will use the lease time as the TTL (default value 2 hours).

Regarding the Advertisement Proxy:

- For options (A) and (B), the Adv Proxy behavior, including TTL handling, is entirely dependent on the platform implementation. This, I believe, is what Esko's setup is using and what he observed.
- In option (C), where the OpenThread native Adv Proxy is used, it utilizes the TTL managed by the SRP server as described above.
- For the Advertisement Proxy, it makes sense to honor the TTL included in the SRP message while adhering to some min/max limits.
- The default/common behavior would be for the SRP client to set the TTL the same as the lease time (typically 2 hours). If, however, the TTL value is explicitly set to a different value by the SRP client, then it makes sense for this request to be honored by the Advertising proxy.

Abtin.

On Mon, Mar 31, 2025 at 5:15 AM Ted Lemon <mellon@fugue.com<mailto:mellon@fugue.com>> wrote:
Actually we’ve learned (because of thread!) that the 120s ttl is way too short, and mDNSResponder now uses a 75 minute ttl for address records.

If the goodbye packet doesn’t come, then the next step is to probe. See for example the DNSServiceReconfirmRecord API.

On Mon, Mar 31, 2025, at 11:19 AM, Esko Dijk wrote:

> and rely on the goodbye packet to remove the record if the lease expires



This works well as long as the SRP Registrar stays online. If it is unexpectedly disconnected, there’s no opportunity to send goodbyes for all its proxied services/host-names.

I’m guessing that’s why mDNS chose the 120 seconds limit, which feels fairly short but somewhat addresses the issue of a device suddenly being disconnected/powered-off.



If we go for “long” TTLs, then we need to define a recommendation for this time. E.g. in the order of 30 minutes?

Maybe a range can be defined. Then, if there’s a record registered via SRP with a longer lease time (e.g. 8 hours, or 24 hours) then the mDNS advertised TTL can also be initially advertised as longer, up to the high end of this range.

Say, 2 hours (if that’s the end of the range).



Esko



From: Ted Lemon <mellon@fugue.com<mailto:mellon@fugue.com>>
Sent: maandag 31 maart 2025 11:01
To: Esko Dijk <esko.dijk@iotconsultancy.nl<mailto:esko.dijk@iotconsultancy.nl>>; dnssd <dnssd@ietf.org<mailto:dnssd@ietf.org>>
Cc: abtink@google.com<mailto:abtink@google.com>
Subject: Re: SRP + Advertising Proxy: TTL related questions



There is a significant cost to short ttls for mdns: if there is an active query on a record, we will see mdns exchanges towards the end of the ttl to keep the query going.



Given that mdns also has maintenance packets, it’s better to use a long ttl and rely on the goodbye packet to remove the record if the lease expires.



Letting the client choose the mdns ttl could enable a dos attack.



On Mon, Mar 31, 2025, at 10:19 AM, Esko Dijk wrote:

Hi all,



The Advertising Proxy can advertise DNS records using mDNS, where the records were received in an SRP Update. This brings up questions related to the TTL of the mDNS-advertised records.

mDNS has some standard guidance for TTL (e.g. 2 minutes for host-related records and SRV, 75 minutes for others like TXT). So an implementer could use this guidance. This is what I see in the OpenThread implementation.



However, in the SRP + Advertising Proxy case, the registered records each come with their own TTL value that maybe should be respected. So then the mDNS component could use those (received) TTLs and do a countdown on the time.

For example, if the SRP lease time is 10 minutes, and 4 minutes passed since the last SRP Update, then mDNS will advertise the service (PTR + SRV+ TXT) with a TTL of 6 minutes.

Would this be the intention for Advertising Proxy?  Or can the defaults be used?



Alternatively there could also be some kind of cap on the mDNS-advertised TTL (like 2 minutes?) to avoid the TTLs on mDNS getting very large. (RFC 6762 kept these fairly small, for a good reason probably).

In that case the TTLs can be smaller but not larger than the cap.



Regards

Esko