Weakness of DNS classes (was Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt> (The .onion Special-Use Domain Name) to Proposed Standard)
Andrew Sullivan <ajs@anvilwalrusden.com> Tue, 21 July 2015 14:39 UTC
Return-Path: <ajs@anvilwalrusden.com>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 547821B2E9D for <ietf@ietfa.amsl.com>; Tue, 21 Jul 2015 07:39:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9] autolearn=ham
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 KZOZ9PaeUsjM for <ietf@ietfa.amsl.com>; Tue, 21 Jul 2015 07:39:44 -0700 (PDT)
Received: from mx2.yitter.info (mx2.yitter.info [IPv6:2600:3c03::f03c:91ff:fedf:cfab]) by ietfa.amsl.com (Postfix) with ESMTP id 01BF51A8857 for <ietf@ietf.org>; Tue, 21 Jul 2015 07:39:44 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by mx2.yitter.info (Postfix) with ESMTP id B3D64105E0 for <ietf@ietf.org>; Tue, 21 Jul 2015 14:39:43 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at crankycanuck.ca
Received: from mx2.yitter.info ([127.0.0.1]) by localhost (mx2.yitter.info [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hrLWBKQ31s2q for <ietf@ietf.org>; Tue, 21 Jul 2015 14:39:42 +0000 (UTC)
Received: from mx2.yitter.info (dhcp-b10d.meeting.ietf.org [31.133.177.13]) by mx2.yitter.info (Postfix) with ESMTPSA id 9861010370 for <ietf@ietf.org>; Tue, 21 Jul 2015 14:39:42 +0000 (UTC)
Date: Tue, 21 Jul 2015 16:39:40 +0200
From: Andrew Sullivan <ajs@anvilwalrusden.com>
To: ietf@ietf.org
Subject: Weakness of DNS classes (was Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt> (The .onion Special-Use Domain Name) to Proposed Standard)
Message-ID: <20150721143939.GJ3864@mx2.yitter.info>
References: <CD5AD7A8CCF5852BB1CE0AC1@JcK-HP5.jck.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CD5AD7A8CCF5852BB1CE0AC1@JcK-HP5.jck.com>
User-Agent: Mutt/1.5.23 (2014-03-12)
Archived-At: <http://mailarchive.ietf.org/arch/msg/ietf/y3GKSSsTAqEKEQ91zuWVs0VEors>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ietf/>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 21 Jul 2015 14:39:47 -0000
Hi, Warning to the ietf@ audience: this contains a bunch of stuff about the DNS. If that makes your eyes glaze over, you might as well go to the next message. It's probable that, if this generates more follow up, the thread should move to dnsop@ or dnsext@ (WG is closed, but the list is still alive) or something like that. On Mon, Jul 20, 2015 at 01:15:11PM -0400, John C Klensin wrote: > > I agree with your analysis, modulo one question. You make the > comment that CLASSes don't really work, as have others. I'd > like to understand it better. […] > actually be needed. I would not be surprised if you told me that > CLASS has been botched in some implementations and there has > been no incentive to fix it, that shouldn't surprise me at all. > However, if there were an important application, I assume those > implementations could be fixed. So what do you see as the > issue? Is it that we have needs to intermix ordinary public > names with "don't try to resolve this there" stuff in the same > environments? I agree that would be a problem for CLASS, but > note some very strong analogies with the IDNA kludge. The first issue is exactly what you suggest: the class code is almost completely unexercised except to get responses to CHAOS queries, and that generally just for one purpose. So we have an enormous installed base with likely bit-rot, even assuming the code ever did the right thing. But that's not the problem. It turns out that aliases are defined as class-independent. The CNAME algorithm (it works similarly in DNAME) is defined in RFC 1034, in section 3.6.2. That algorithm says that you look for a CNAME record with a matching class, which sounds like you can have different RDATA at a name in one class vs another, which would mean that even though the CNAME RR is class independent there is no influence between classes. Unfortunately, the discussion of the way the namespace is divided up says this: The class partition is simple. The database for any class is organized, delegated, and maintained separately from all other classes. Since, by convention, the name spaces are the same for all classes, the separate classes can be thought of as an array of parallel namespace trees. Note that the data attached to nodes will be different for these different parallel classes. Now, if the databases are parallel for all classes, then presumably the RDATA of an aliasing record ought to maintain that parallelism. Since in principle the RDATA in different classes ought not to affect the other classes, this seems at least problematic. Now perhaps we could just reject this "convention" (which would be the opposite of what we did with the preferred syntax, but of course that was widely used whereas classes perhaps are not). At that point, we start to realise why people didn't use classes in the first place. For in a DNS packet, the class is in a really awkward place. Even though the names might not be the same in all the classes, when you get an RR you get the name first, and only after that learn what the class is. This means that you really have to parse the entire message before you realise, "Oh, look, this class says not to look this record up." At bottom, the DNS message format is designed such as to make classes a pain in the neck to use. I suspect that this fact is what is really encouraging the encoding of metadata about resolution inside the domain name itself: the name is the piece of data that is first and most easily accessible. So, this is why I say that classes don't really work. Best regards, A -- Andrew Sullivan ajs@anvilwalrusden.com
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… George Michaelson
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Ted Hardie
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Ted Lemon
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Ted Hardie
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… George Michaelson
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Stephane Bortzmeyer
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Ted Lemon
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Stephane Bortzmeyer
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Ted Hardie
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… John Levine
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Ted Lemon
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Randy Bush
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… David Conrad
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Patrik Fältström
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Patrik Fältström
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Stephane Bortzmeyer
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Stephane Bortzmeyer
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… John C Klensin
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Patrik Fältström
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Ted Hardie
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Patrik Fältström
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Ted Lemon
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Ted Hardie
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Ted Lemon
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Ted Lemon
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… John C Klensin
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Ted Hardie
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Ted Lemon
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… John C Klensin
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Bob Harold
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Edward Lewis
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Edward Lewis
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Edward Lewis
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Edward Lewis
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Joe Hildebrand
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Joe Hildebrand
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… John Levine
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Mark Andrews
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… John R Levine
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Patrik Fältström
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… John C Klensin
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Tom Ritter
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Richard Barnes
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Eliot Lear
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Joseph Lorenzo Hall
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… joel jaeggli
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… joel jaeggli
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Richard Barnes
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Stephane Bortzmeyer
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Stephane Bortzmeyer
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Stephane Bortzmeyer
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Edward Lewis
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Eliot Lear
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Ted Hardie
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… David Cake
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… David Cake
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… David Cake
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Eliot Lear
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Eliot Lear
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Andrew Sullivan
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Alec Muffett
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… John C Klensin
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Ted Lemon
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… John C Klensin
- Re: the names that aren't DNS names problem, was … John Levine
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Ted Lemon
- Re: domain names that aren't DNS names, was Last … John Levine
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… George Michaelson
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Geoff Huston
- Re: the names that aren't DNS names problem, was … Eliot Lear
- Re: the names that aren't DNS names problem, was … Suzanne Woolf
- Re: the names that aren't DNS names problem, was … George Michaelson
- Re: the names that aren't DNS names problem, was … Eliot Lear
- Re: the names that aren't DNS names problem, was … Suzanne Woolf
- Re: the names that aren't DNS names problem, was … Douglas Otis
- Re: the names that aren't DNS names problem, was … Eliot Lear
- Re: domain names that aren't DNS names, was Last … Ted Lemon
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Ted Lemon
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… George Michaelson
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Sam Hartman
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… John C Klensin
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… David Conrad
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Ted Lemon
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Ted Lemon
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Tim Wicinski
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Sam Hartman
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Ted Lemon
- Weakness of DNS classes (was Re: Last Call: <draf… Andrew Sullivan
- Re: Weakness of DNS classes (was Re: Last Call: <… John C Klensin
- Re: domain names that are not DNS names, was Last… John Levine
- Re: domain names that are not DNS names, was Last… Ted Lemon
- Re: Weakness of DNS classes (was Re: Last Call: <… John Levine
- Re: Weakness of DNS classes (was Re: Last Call: <… David Morris
- Re: Weakness of DNS classes (was Re: Last Call: <… Mark Andrews
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Stephane Bortzmeyer
- Re: the names that aren't DNS names problem, was … Stephane Bortzmeyer
- Re: the names that aren't DNS names problem, was … George Michaelson
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Bob Harold
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… John C Klensin
- Re: the names that aren't DNS names problem, was … Stephane Bortzmeyer
- Re: the names that aren't DNS names problem, was … John Curran
- Re: the names that aren't DNS names problem, was … Ted Lemon
- Re: the names that aren't DNS names problem, was … John C Klensin
- Re: the names that aren't DNS names problem, was … Steve Crocker
- Re: the names that aren't DNS names problem, was … David Conrad
- Re: the names that aren't DNS names problem, was … Ted Lemon
- Re: the names that aren't DNS names problem, was … Dave Crocker
- Re: the names that aren't DNS names problem, was … John C Klensin
- Re: the names that aren't DNS names problem, was … Dave Crocker
- Re: the names that aren't DNS names problem, was … David Conrad
- Re: the names that aren't DNS names problem, was … Eliot Lear
- Re: the names that aren't DNS names problem, was … David Conrad
- Re: the names that aren't DNS names problem, was … Eliot Lear
- Re: the names that aren't DNS names problem, was … Donald Eastlake
- Re: the names that aren't DNS names problem, was … John Curran
- Re: the names that aren't DNS names problem, was … Richard Shockey
- Re: the names that aren't DNS names problem, was … Ted Lemon
- Re: the names that aren't DNS names problem, was … Ted Lemon
- Re: the names that aren't DNS names problem, was … John R Levine
- Re: the names that aren't DNS names problem, was … John Levine
- Re: the names that aren't DNS names problem, was … John Levine
- Re: the names that aren't DNS names problem, was … Ted Lemon
- Re: the names that aren't DNS names problem, was … Eliot Lear
- Re: the names that aren't DNS names problem, was … Patrik Fältström
- Re: the names that aren't DNS names problem, was … Patrik Fältström
- Re: the names that aren't DNS names problem, was … John R Levine
- Re: the names that aren't DNS names problem, was … Patrik Fältström
- Re: the names that aren't DNS names problem, was … John R Levine
- Re: the names that aren't DNS names problem, was … Patrik Fältström
- Re: the names that aren't DNS names problem, was … John C Klensin
- Re: the names that aren't DNS names problem, was … John Levine
- Re: the names that aren't DNS names problem, was … John C Klensin
- RE: the names that aren't DNS names problem, was … Christian Huitema
- RE: the names that aren't DNS names problem, was … John C Klensin
- Re: the names that aren't DNS names problem, was … Ted Lemon
- Re: the names that aren't DNS names problem, was … Andrew Sullivan
- Re: the names that aren't DNS names problem, was … Stephen Farrell
- Re: the names that aren't DNS names problem, was … Brian E Carpenter
- Re: the names that aren't DNS names problem, was … Ted Lemon
- Re: the names that aren't DNS names problem, was … John C Klensin
- Re: the names that aren't DNS names problem, was … Patrik Fältström
- Re: the names that aren't DNS names problem, was … John C Klensin
- Re: the names that aren't DNS names problem, was … Patrik Fältström
- Re: the names that aren't DNS names problem, was … John Levine
- Re: the names that aren't DNS names problem, was … Brian E Carpenter
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Wendy Seltzer
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Edward Lewis
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Edward Lewis
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Edward Lewis
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Alec Muffett
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Chris Baker
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Jacob Appelbaum
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Ted Hardie
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Alec Muffett
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Ted Hardie
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Alec Muffett
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Joe Hildebrand
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Alec Muffett
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Mark Nottingham
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Alec Muffett
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Andrew Sullivan
- RE: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Darcy Kevin (FCA)
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Sam Hartman
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Peter Koch
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Alec Muffett
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Ted Hardie
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Alec Muffett
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Ted Hardie
- Re: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Roy T. Fielding
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Alec Muffett
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Ted Hardie
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Alec Muffett
- RE: [DNSOP] Last Call: <draft-ietf-dnsop-onion-tl… Darcy Kevin (FCA)
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… Nick Mathewson
- Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt… George Michaelson
- Re: the names that aren't DNS names problem, was … Ted Lemon
- Re: the names that aren't DNS names problem, was … Dave Crocker