Re: [dnssd] Hybrid Proxy SOA records

Tom Pusateri <pusateri@bangj.com> Fri, 05 September 2014 02:31 UTC

Return-Path: <pusateri@bangj.com>
X-Original-To: dnssd@ietfa.amsl.com
Delivered-To: dnssd@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 13DD81A036E for <dnssd@ietfa.amsl.com>; Thu, 4 Sep 2014 19:31:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.662
X-Spam-Level: *
X-Spam-Status: No, score=1.662 tagged_above=-999 required=5 tests=[BAYES_50=0.8, HELO_MISMATCH_COM=0.553, HOST_MISMATCH_NET=0.311, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7iOYeFCoTA8V for <dnssd@ietfa.amsl.com>; Thu, 4 Sep 2014 19:31:11 -0700 (PDT)
Received: from oj.bangj.com (amt0.gin.ntt.net [129.250.11.170]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E44AD1A036B for <dnssd@ietf.org>; Thu, 4 Sep 2014 19:31:09 -0700 (PDT)
Received: from [172.16.10.153] (gw.mountain2sea.com [71.70.135.90]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by oj.bangj.com (Postfix) with ESMTPSA id 6694913DCF; Thu, 4 Sep 2014 22:31:10 -0400 (EDT)
Content-Type: text/plain; charset="windows-1252"
Mime-Version: 1.0 (Mac OS X Mail 8.0 \(1974.6\))
From: Tom Pusateri <pusateri@bangj.com>
In-Reply-To: <0DDB5E45-AA96-41FF-9F65-E9F00F705749@iki.fi>
Date: Thu, 04 Sep 2014 22:31:07 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <2FD4319B-F177-446F-95CA-5AB7DE534BFD@bangj.com>
References: <65F4CC0B-B0BD-42C4-B944-A49438AAF6BC@bangj.com> <0DDB5E45-AA96-41FF-9F65-E9F00F705749@iki.fi>
To: Markus Stenberg <markus.stenberg@iki.fi>
X-Mailer: Apple Mail (2.1974.6)
Archived-At: http://mailarchive.ietf.org/arch/msg/dnssd/vsJthrya_QP64iCHgBRpopfm0dk
Cc: dnssd@ietf.org
Subject: Re: [dnssd] Hybrid Proxy SOA records
X-BeenThere: dnssd@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "Discussion of extensions to Bonjour \(mDNS and DNS-SD\) for routed networks." <dnssd.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dnssd>, <mailto:dnssd-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dnssd/>
List-Post: <mailto:dnssd@ietf.org>
List-Help: <mailto:dnssd-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnssd>, <mailto:dnssd-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 05 Sep 2014 02:31:13 -0000

> On Sep 3, 2014, at 9:08 AM, Markus Stenberg <markus.stenberg@iki.fi> wrote:
> 
> For the record, I’m not that convinced SOA is that useful - I don’t implement LLQ and also no SOA for zones currently.
> 

I'm in the process of implementing LLQ so I want to make sure clients don't give up.

> That said..
> 
> On 3.9.2014, at 15.48, Tom Pusateri <pusateri@bangj.com> wrote:
>> There are many recommendations out there for SOA response values but I was wondering if the Hybrid Proxy is in a unique enough position that the draft should provide guidance on the SOA response values.
>> 
>> Ripe has some recommendations here:
>> 
>> http://www.ripe.net/ripe/docs/ripe-203
> 
> These figures are way off the mark for what hybrid proxy provides - for example, mdns maximum TTL is hour or two, and the recommendation has minimum TTL of 2 days.. :-p
> 
>> But when does the serial number change in a dynamic proxy? The recommendations from Ripe seem too long for the hybrid proxy case.
> 
> Constantly? Just calculate it as function of time? 
> 
> If you want to be fancy, it could be incremented every time you see mdns probe+announce steps occur, but someone may silently join or leave anyway so it wouldn’t be correct always at any rate. 
> 
> Cheers,
> 
> -Markus

Thanks for the suggestion.

It would not be hard to update a timestamp each time the cache changes on the interface. But the standard ascii format of YYYYMMDDNN where NN is a sequence number does not leave enough flexibility for lots of changes to the cache throughout the day. In this case, and since we are limited to 32 bits, it would be better to use the number of seconds since the epoch. The only restriction this provides is that you can't identify changes more than once per second and still be within 32 bits. But this isn't a realistic problem since you shouldn't have sub-second tracking.

Here's the default values I'm going to use. I'll make sure they can be overridden through configuration:

Serial: number of seconds since the epoch
Expire: 24 hours
Refresh: this is probably meaningless in the context of the proxy but I'll use 2 hours
Retry: this is also probably meaningless but I'll use 30 minutes
Min TTL: the default negative TTL [RFC 2308] could be used in the context of the proxy but this isn't clear because the NSEC records are impossible to proxy for since we don't know all of the records. I'll use 30 minutes.

Thanks,
Tom