Re: [dnsext] Re: I-D ACTION:draft-vandergaast-edns-client-ip-00.txt

Colm MacCárthaigh <colm@allcosts.net> Thu, 28 January 2010 01:06 UTC

Return-Path: <owner-namedroppers@ops.ietf.org>
X-Original-To: ietfarch-dnsext-archive@core3.amsl.com
Delivered-To: ietfarch-dnsext-archive@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id DA52D3A6AF7; Wed, 27 Jan 2010 17:06:19 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.677
X-Spam-Level:
X-Spam-Status: No, score=-105.677 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id I+G1xb0groWm; Wed, 27 Jan 2010 17:06:18 -0800 (PST)
Received: from psg.com (psg.com [147.28.0.62]) by core3.amsl.com (Postfix) with ESMTP id C78293A6AF3; Wed, 27 Jan 2010 17:06:16 -0800 (PST)
Received: from majordom by psg.com with local (Exim 4.71 (FreeBSD)) (envelope-from <owner-namedroppers@ops.ietf.org>) id 1NaIje-0000a6-PP for namedroppers-data0@psg.com; Thu, 28 Jan 2010 00:59:50 +0000
Received: from [209.85.222.189] (helo=mail-pz0-f189.google.com) by psg.com with esmtp (Exim 4.71 (FreeBSD)) (envelope-from <colm@allcosts.net>) id 1NaIjc-0000ZB-GN for namedroppers@ops.ietf.org; Thu, 28 Jan 2010 00:59:48 +0000
Received: by pzk27 with SMTP id 27so130416pzk.33 for <namedroppers@ops.ietf.org>; Wed, 27 Jan 2010 16:59:47 -0800 (PST)
MIME-Version: 1.0
Received: by 10.141.53.14 with SMTP id f14mr1073199rvk.266.1264640387022; Wed, 27 Jan 2010 16:59:47 -0800 (PST)
In-Reply-To: <7c31c8cc1001271556w4918093er6e94e07cb92c4dc4@mail.gmail.com>
References: <7c31c8cc1001271556w4918093er6e94e07cb92c4dc4@mail.gmail.com>
Date: Thu, 28 Jan 2010 00:59:47 +0000
Message-ID: <6f5b6fe71001271659n10fbcd4dp37ca8edabc601f7f@mail.gmail.com>
Subject: Re: [dnsext] Re: I-D ACTION:draft-vandergaast-edns-client-ip-00.txt
From: Colm MacCárthaigh <colm@allcosts.net>
To: Wilmer van der Gaast <wilmer@google.com>
Cc: namedroppers@ops.ietf.org
Content-Type: text/plain; charset="ISO-8859-1"
Sender: owner-namedroppers@ops.ietf.org
Precedence: bulk
List-ID: <namedroppers.ops.ietf.org>
List-Unsubscribe: To unsubscribe send a message to namedroppers-request@ops.ietf.org with
List-Unsubscribe: the word 'unsubscribe' in a single line as the message text body.
List-Archive: <http://ops.ietf.org/lists/namedroppers/>

On Wed, Jan 27, 2010 at 11:56 PM, Wilmer van der Gaast
<wilmer@google.com> wrote:
> I spoke to Olafur about this idea in Hiroshima last year. I'm afraid
> the deadline for Anaheim already passed, but we hope we can discuss it
> on-line in the meantime and decide if it should become a WG item in
> Maastricht later this year.

+1 - As someone with an interest in writing an implementation, it
would be great to know at what stage an EDNS option code may be
assigned, if appropriate.

> Comments are more than welcome.

Section 1; Instead of "most nameservers" maybe "most such nameservers" ?
                "at best sub-optimal" -> "sub-optimal" but it's just a nit.

Section 2; The term "VLSM" (variable lengh subnet mask) may be more
technically correct than the use of the term "CIDR" - though I don't
think it matters much, the meaning is clear.

Section 4.1; The question naturally arises as to what happens when
there is a mismatch between the address-family used for the DNS query,
and the eventual address family of the client request. However as
these addresses may be considered to be located in similar topologies,
I don't think this is a hindrance and endorse the simplicty chosen in
the I-D.

On the subject of security;

"   A Recursive Resolver set up to serve clients in private address space
  (as defined in [RFC1918] and [RFC4193]) MUST NOT add edns-client-ip
  options containing a non-public address to its queries.  An edns-
  client-ip option MUST never contain a non-public address."

I think more general advice may be useful, rather than wording it as
"non-public" maybe come at it the other way and say;

 "A Recursive Resolver SHOULD add edns-client-ip options corresponding to
  publically routeable IP addresses only".

additionally, for better caching efficiency, it may be worth adding
text along the lines of;

 "Where the operators of a recursive resolver are aware of a client's
network routing policy, adopters are encouraged to ensure that a
NETMASK value corresponding to the largest network subject to a common
internet routing policy
should be used".

In other words, if it's a large ISP, and they know that an entire /20
is routed identically, then advertising the /20 makes the most sense
and results in more cache hits. This would pressure auth servers to
correctly aggregate their datasets, rather than the back-and-forth
negotiation of NETMASK which the I-D permits, but I think this might
be a positive thing :)

Sections 4.1/4.2:

 I think more detail is needed on how the system works when the
netmask returned is higher.  For example;

   client 192.0.2.53 makes query
   resolver sets option as 192.0.0.0/16
   auth server responds with 192.0.0.0/24

what should the resolver do in this case? 192.0.0.0/24 doesn't
correspond to a network 192.0.2.53 is in, but should it use the answer
anyway? What goes in the cache? The I-D says;

" A Recursive Resolver MUST return this entry from cache only to
queries that do not allow a higher NETMASK to be forwarded."

but does that mean this response should be cached for 192.0.2.53 too,
if it doesn't allow a higher netmask to be forwarded.

Section 8;

I would be more stern about one thing;

   "Authoritative nameservers MUST NOT use the contents of the
edns-clientip option as a means of access-control."

experience from HTTP and X-Forwarded-For has shown that people will do this :)

>> A New Internet-Draft is available from the on-line Internet-Drafts
>> directories.
>>
>>
>>       Title           : Client IP information in DNS requests
>>       Author(s)       : C. Contavalli, W. van der Gaast, S. Leach, D. Rodden
>>       Filename        : draft-vandergaast-edns-client-ip-00.txt
>>       Pages           : 20
>>       Date            : 2010-1-26
>>
>>    This draft defines an EDNS0 extension to allow Authoritative
>>    Nameservers to return varying replies based upon the network address
>>    of the client that initiated the query rather than of the client's
>>    Recursive Resolver.
>>
>> A URL for this Internet-Draft is:
>> http://www.ietf.org/internet-drafts/draft-vandergaast-edns-client-ip-00.txt
>
>

--
Colm