Re: Last Call: <draft-ietf-httpbis-http2-16.txt> (Hypertext Transfer Protocol version 2) to Proposed Standard

Måns Nilsson <> Sat, 03 January 2015 22:04 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 2A5BA1A6EF2 for <>; Sat, 3 Jan 2015 14:04:27 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -3.311
X-Spam-Status: No, score=-3.311 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_15=0.6, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id eroUa40wnqDZ for <>; Sat, 3 Jan 2015 14:04:22 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id 030051A1DBE for <>; Sat, 3 Jan 2015 14:04:22 -0800 (PST)
Received: by (Postfix, from userid 1004) id B84089CEF; Sat, 3 Jan 2015 23:04:20 +0100 (CET)
Date: Sat, 3 Jan 2015 23:04:20 +0100
From: =?utf-8?B?TcOlbnM=?= Nilsson <>
To: Eliot Lear <>
Subject: Re: Last Call: <draft-ietf-httpbis-http2-16.txt> (Hypertext Transfer Protocol version 2) to Proposed Standard
Message-ID: <>
References: <> <> <> <> <>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="n+lFg1Zro7sl44OB"
Content-Disposition: inline
In-Reply-To: <>
X-Purpose: More of everything NOW!
X-happyness: Life is good.
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: Delan Azabani <>,, Patrik =?utf-8?B?RsOkbHRzdHLDtm0=?= <>
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: IETF-Discussion <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sat, 03 Jan 2015 22:04:27 -0000

Subject: Re: Last Call: <draft-ietf-httpbis-http2-16.txt> (Hypertext Transfer Protocol version 2) to Proposed Standard Date: Sat, Jan 03, 2015 at 05:53:46PM +0100 Quoting Eliot Lear (
> Finally, to address Måns' comments, additional data for the target
> doesn't get signed (but correct me if I missed a change).  

My testing reveals that 

- if the Additional Data is signed, 

- if the answering name server holding the SRV record also holds authority
  over the records in the Target field of the queried SRV records,

..then the Additional data will be sent with RRSIG records. It
is, however, a common configuration of for instance NSD to use
"minimal-responses" setup wherein Additional is not sent even when it
would be possible. In that case, of course, the signatures won't get
sent, either.

Test case: 

dig SRV +dnssec

	(Server BIND 9, does send Additional. I did test on NSD too,
	and there no Additional is sent, on that particular server node.)

> And this leads us back to performance.  I personally do not have an
> answer for what acceptable performance is in these circumstances.  And
> so some experimentation would really REALLY be good.  Is 100 ms for this
> feature acceptable? 30? 80? 200?  I really can't say, and there was no
> desire in the WG to go this far.  I will say that Cisco has an open RFP
> for related work if any researchers want to take the challenge.[2]

So, what I'm reading here, paraphrased, can be rewritten, tongue-in-cheek
to "We are so certain SRV will take time compared to strange 4-hop CNAME
scenarios that we won't test it." ;-)

Back-of-envelope test: 

Since we've established, above, that Additional MAY be sent and that
some name servers do send it, we can test thusly:

	(I've got a local unbound on the node and the network latency
	is below 1 ms from my machine to the closest server so this is
	just processing delay variations)

for i in `seq 1 20` ; do
	unbound-control flush_zone > /dev/null 2>1
	dig A | awk '/Query\ time:/ { printf "A\t%d\n",$4; }'
	unbound-control flush_zone > /dev/null 2>1 
	dig SRV |awk '/Query\ time:/ { printf "SRV\t%d\n",$4; }'

(now, don't go load KTH name servers too much, please.) 

I did a 50 each query run of the above and came up with data that looks
like it is no difference between A and SRV. Hardly surprising. I did
not ask with +dnssec, ( is signed) but behaviour is identical and
there are no truncation issues, since the EDNS0 buffer goes up.

The cost of SRV vs the cost of A+CNAME thus seems to be entirely dependent
on how things are configured. Not on SRV /per se/. The guide lines for
SRV deployment are then identical to those for A/CNAME: "Do not make
yourself dependent on too many zones you do not control and/or serve and
please do pay attention to TTL".

The remaining question is then whether to ask for SRV first or not. (And
here is the real discussion on acceptable latency.  The rest is just
setting the scene.) 

I think Patrik had some pretty correct hand waving sentences :) on that,
but the main point is that I believe that we can be leaning on the
aggressive side when specifying, because the user-agent people will be
aggressive anyway. And the caching will mostly contain the eagerness. (As
a sysadmin, I'm usually more concerned over stupid caching in browsers
than lack of caching because of too short TTL. And I care for the
resolvers...) By aggressive I think we should emulate happy eyeballs,
probably starting off with SRV for what is written in the browser, falling
back to AAAA, then A queries for sought name, then, etc. Timers
might be around 70% of the average query time last 100 DNS queries took..

Finally, I agree with Patrik that there needs to be text. I offer to
send text if there is agreement on trying to include such. 

Måns Nilsson     primary/secondary/besserwisser/machina
MN-1334-RIPE                             +46 705 989668
I want another RE-WRITE on my CEASAR SALAD!!