Re: [rrg] Sundry ILNP confusions...

2010-02-03 Thread Xu Xiaohu


> Earlier, someone wrote:
> > By the way, as stated in the ILNP draft, "...the Locally unique
Identifiers
> > are unique within the context of their associated Locators...".
Therefore,
> > there SHOULD be some association between I records and L records of a
given
> > host.
> 
> Indeed there is an association:
>   A locally-unique ID is unique only within the context
>   of that node's locators.
> 
> This could be paraphrased as saying:
>   "No more than 1 node may use a given ID value on a given
>IP subnetwork at a given time."
> 
> That constraint is true for existing IPv4, IPv6 (see IPv6 ND
> for example), and hence isn't particularly new with ILNP.
> As ILNPv6 recycles IPv6 ND without needing to change anything,
> it is not surprising that the same IPv6 constraint remains.

My question is whether there is any association between I _records_ and L
_records_ in the _DNS_. This is the key point of these arguments. 

Xiaohu


___
rrg mailing list
rrg@irtf.org
http://www.irtf.org/mailman/listinfo/rrg


Re: [rrg] Sundry ILNP confusions...

2010-02-03 Thread RJ Atkinson
Originally, Xu Xiao-Hu wrote:
> In the current Internet, an ICP (e.g., google) could scatter a set of
> servers sharing the same FQDN (e.g., www.google.com ) worldwide or
> nationwide to provide load-balancing services in an anycast-like way. For
> example, if a client performs a DNS query for the A or  records of ”
> www.google.com”, the DNS server could return the address of a server which
> is one of the nearest servers to the client, in the DNS response. Of course,
> the DNS server could also return all available A or  records, then the
> client will choose one according to some policy. In this case, the FQDN
> plays a role of service ID, rather than host ID.

In the current Internet, as noted earlier by various folks,
Google (and MANY other content providers) use CNAME and/or SRV
records for the scenario above.  

A feature of using DNS is that often the responding DNS server 
can include all of the relevant information (beyond the strict 
definition of the original query) in the its reply as "Additional 
Data".  This capability eliminates additional DNS round-trips,
and so is good for both DNS clients and for the DNS servers.
A real-world example for Google (below) shows this nice property 
of DNS-based load balancing.

Here are actual DNS records returned a moment ago by using
dig(1) to query for www.google.com.  The query was for 
www.google.com's A record.  The CNAME is returned, along
with the A records associated with the CNAME value.

EXAMPLE:

  $ dig www.google.com

  ; <<>> DiG 9.6.0 <<>> www.google.com
  ;; global options: +cmd
  ;; Got answer:
  ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18428
  ;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 0

  ;; QUESTION SECTION:
  ;www.google.com.  IN  A

  ;; ANSWER SECTION:
  www.google.com.   213133  IN  CNAME   www.l.google.com.
  www.l.google.com. 27  IN  A   72.14.204.99
  www.l.google.com. 27  IN  A   72.14.204.103
  www.l.google.com. 27  IN  A   72.14.204.147
  www.l.google.com. 27  IN  A   72.14.204.104

In fact, DNS-oriented load-balancing works just fine with ILNP.

Much earlier, Tony Li wrote:
> ILNP uses an explicit numeric token as the identifier.  The FQDN is not
> the identifier.  The identifier can be found in the I record.
> 
> On a forward reference, a FQDN is resolved into an I record and one or
> more L records.

Yes, with one edit:
...into one or more I records and one or more L records...

One does not expect a node to be using multiple IDs in the common
case, but it is permitted -- for example to enable folks who wish
to use "privacy" (sic) Identifiers generated (as per RFC-4941)
or use cryptographically-generated Identifiers (as per RFC-3972).

Later, Robin Whittle wrote:
> Just having a packet arrive with a particular Identifier and Locator
> doesn't establish reliably that the host with this Identifier can be
> reached with that Locator.

and later in the same note, he said:
> With today's naming model, the packet won't necessarily get to the
> host whose Identity is XYZ, because it may be lost.  However, the
> routing system ensures that the packet won't go to a host which does
> not have Identity XYZ. 

Several comments:
1) Given ordinary IPv4 or IPv6 (i.e. without IPsec, without SSL/TLS),
   one has really no idea whether one is talking with the node one
   thinks one is talking with.  IP address forgery methods are both
   well known and long-standing [CERT Advisory CA-1995-01 is over
   15 years old; attacks beyond those described in 1995 are now known
   to exist].  For both ordinary IPv4/IPv6 and ILNP, one only really
   knows which node one is talking with if one is actually using some
   plausibly secure form of cryptography (e.g. IP Security, TLS/SSL).
   The IETF Security community has had unanimity about this for some
   long while -- Steve Bellovin has noted this issue many many times,
   for example.

2) Looking at the 2nd quote above, the routing system provides no such 
   guarantee.  The routing system (or a single router) might forward 
   a packet from A to B via some adversary C -- and that adversary C 
   might do anything with the packet (e.g. drop it, employ a  
   man-in-the-middle attack on both A and B, modify the packet and then 
   send it to B, or a range of other bad things).

   So the first quote above is meaningless, and the second
   quote above is incorrect.  

3)  ILNP includes a Nonce value.  Using the nonce, which is mandatory
as already documented, provides security properties equivalent 
to using ordinary IPv4/IPv6 (i.e. without IPsec).  Using the nonce
is orthogonal to IPsec, so one can use IPsec in addition if desired.

Earlier, someone wrote:
> By the way, as stated in the ILNP draft, "...the Locally unique Identifiers
> are unique within the context of their associated Locators...". Therefore,
> there SHOULD be some associa