Subject: [rrg] ILNP Identifiers

From: RJ Atkinson <[email-masked]>
Date: Wed, 10 Dec 2008 17:55:55 -0500

Earlier today, Scott Brim wrote, in part:
% ILNP and GSE identifiers name devices.

ILNP Identifiers each name a logical node.
(I'll not speak to GSE as I'm not Mike O'Dell. :-)

% They might name network attachment points.

ILNP Identifiers name a node, not a network attachment point.

% They are not guaranteed to be globally unique

Yes for ILNP Identifiers.

% but they are carried in every packet and

Yes for ILNP Identifiers.

% are used by forwarding in the destination network.

ILNP Identifiers are not used in forwarding anywhere.
The Locator is used for forwarding.

Cheers,

Ran
[email-masked]

_______________________________________________
rrg mailing list
[email-masked]
https://www.irtf.org/mailman/listinfo/rrg

---

From: Brian E Carpenter <[email-masked]>
Date: Thu, 11 Dec 2008 13:47:31 +1300

> The Locator is used for forwarding.

Surely the ID plays its part in neighbor discovery on the
final subnet, so in that sense it's used in the delivery
of the packet?

    Brian

---

From: Xu Xiaohu <[email-masked]>
Date: Thu, 11 Dec 2008 09:26:06 +0800

> final subnet, so in that sense it's used in the delivery of 
> the packet?

Besides, what's used for forwarding in the destiantion RG when the
destination RG is splitted into multiple subnets?

Xiaohu

---

From: Xu Xiaohu <[email-masked]>
Date: Thu, 11 Dec 2008 09:46:51 +0800

> Yes for ILNP Identifiers.

Do you mean the ILNP identifier doesn't need to be globally unique, even
statistically globally unique?  If so, would you please explain the reason?

Xiaohu

---

From: RJ Atkinson <[email-masked]>
Date: Thu, 11 Dec 2008 04:41:13 -0500

On  10 Dec 2008, at 20:46, Xu Xiaohu wrote:
> Do you mean the ILNP identifier doesn't need to be globally unique,

Yes.  The Identifier is highly likely to be unique,
but it is not guaranteed, and it is not strictly required.

> even statistically globally unique?

I don't know what "statistically globally unique" means.

Something is either "globally unique" or it isn't.  In practice,
forgery means that no Identifier can ever be "globally unique".

(For example, one hopes that a HIP ID is computationally infeasible
to forge without compromising the originating key, but every
deployed cryptographic system I know of does eventually suffer
key compromise, at which point that HIP ID would not be globally
unique either.)

> If so, would you please explain the reason?

Any proposal has to handle the case where some bad party is
deliberately mis-using an Identifier (or Address) that is not
really theirs.  This case is not new to Routing RG, instead
this is exactly like the situation in today's deployed IP Internet
with forged Source IP Addresses. [US CERT: CA 1995-01]

ILNP does handle that case, as I've outlined here before.

Yours,

Ran
[email-masked]

---

From: RJ Atkinson <[email-masked]>
Date: Thu, 11 Dec 2008 04:44:50 -0500

> destination RG is splitted into multiple subnets?

I'm not sure what you mean by "RG" above.

With ILNP, the Locator completely specifies a subnetwork.
If there are multiple subnets within a site, the Locator
names precisely one subnet within that site.

Yours,

Ran
[email-masked]

---

From: RJ Atkinson <[email-masked]>
Date: Thu, 11 Dec 2008 04:59:43 -0500

> final subnet, so in that sense it's used in the delivery

Indeed, in the common case of an IEEE 802 LAN, the ID is used
in IPv6 ND as an opaque index into a layer-2 bridge table for
delivery within the final subnet.  Other link types might behave
quite differently; I doubt that ND is in use with all link types.

In any event, bridging is not forwarding.  Even in the IEEE 802
LAN case, one cannot even directly bridge on the Destination ID
(since the ID might be derived from something other than the MAC
address of the interface attached to the particular subnetwork
specified by the Destination Locator).  So the ID really is
just an opaque table index, even in the IEEE 802 LAN case.

Cheers,

Ran
[email-masked]

---

From: Scott Brim <[email-masked]>
Date: Thu, 11 Dec 2008 08:40:38 -0500

> I'm not sure what you mean by "RG" above.

That's the GSE "routing goop".

> names precisely one subnet within that site.

Yes and on that final subnet, the "identifier" is used to determine
which network attachment point to deliver the packet to.  How is that
mapping done, from "identifier" to network attachment point?  Typically
it might be ARP.
_______________________________________________
rrg mailing list
[email-masked]
https://www.irtf.org/mailman/listinfo/rrg

---

From: Scott Brim <[email-masked]>
Date: Thu, 11 Dec 2008 09:02:18 -0500

> just an opaque table index, even in the IEEE 802 LAN case.

(First, please ignore the message I just sent -- I'm apparently still
waking up.)

I don't think I'm parsing this right, but in any case it's clear that
the ID is used to determine the appropriate network attachment point to
deliver the packet to.  That is, the forwarding function is using the ID
as input -- to "locate" the destination.  That is quite different from
HIP as an example.

It's called an identifier because it does not determine topological
location, but in this particular case -- delivering a packet -- the only
function using this field is a forwarding function.  In other cases, for
example session control, identification functions might use it -- but
they might choose to use completely different names, for example
dynamically generated transient "identifiers".  Would this still be an
identifier if it were never used as one?

There is no clear delineation here.  Some tokens are used by forwarding
on just the last hop.  Some are used for the last few hops.  Some are
used by forwarding along the entire path.  It is difficult to say that
anything that appears in every packet is ever a pure "identifier" ...
but I assert that you don't need to.  Our goal is to support multihoming
and mobility while simultaneously solving routing and addressing scaling
problems.  To do that we need to make it possible for identification
functions to work independently of topological location.  That doesn't
mean that individual fields or names ever need to be exclusively used
for identification, although some approaches do so -- just that they can
be used for identification, independent of topology, when needed.
_______________________________________________
rrg mailing list
[email-masked]
https://www.irtf.org/mailman/listinfo/rrg

---

From: RJ Atkinson <[email-masked]>
Date: Thu, 11 Dec 2008 09:37:18 -0500

On  11 Dec 2008, at 09:02, Scott Brim wrote:
> as input -- to "locate" the destination.

The "forwarding function" never does (i.e. No layer-3 lookup
EVER uses the Identifier bits for anything).

> function using this field is a forwarding function.

No.  The last hop is not forwarding anything (i.e. at layer-3).
The last hop with IPv6 is usually bridging (i.e. at layer-2),
and is sometimes (RF links with simple or no link protocols)
purely broadcasting.

Further, ND is not bridging based on the ILNP ID -- IPv6 ND
bridges a packet based on the MAC address cached in the ND table.
The ID is an opaque index into that table, but the ID itself
is not used directly to either forward or bridge the packet.

> There is no clear delineation here.

I think there is.  Please see above.

> Some tokens are used by forwarding on just the last hop.

I'd disagree.
Forwarding and bridging are different functions.

In IPv4 ARP on Ethernet, the entire address is used as an index
into the ARP table, but the last-hop isn't forwarded at all,
instead it is bridged based on the MAC address stored in the
ARP table.

> Some are used for the last few hops.

All "forwarding" occurs in the middle, not on the first hop
or the last hop, as those are typically bridged and sometimes
broadcast.  By contrast, forwarding is based quite directly
on the routing-prefix/Locator values.

> It is difficult to say that

I think that the semantic overloading of the "address"
has created lots of issues for the Internet beyond those
of site multi-homing and mobility.

So I think it is important to have very crisp definitions all around
(forwarding vs bridging; identity vs location, et cetera)  So I try
to be consistent and precise with my use of terms.  However, other
folks' mileage differs on some/all of these issues, as is true with
many other issues discussed in the Routing RG.  I think we'd all be
better off with some agreed upon crisp definitions for various terms,
but past attempts to do that in this RG have not succeeded.

Cheers,

Ran

---

From: Scott Brim <[email-masked]>
Date: Thu, 11 Dec 2008 10:52:06 -0500

> but past attempts to do that in this RG have not succeeded.

Just to follow up on this part ...

What you need crisp definitions for is how things are used, in protocols
acting on packets.  Therefore you could ask

  "Is this field in the packet an identifier or is it a locator"

but you've seen how get into discussion of whether something can be a
locator here but not there, and so on.  It's more useful to ask

  "Is this field in the packet used for identification?  Is it used by
  forwarding?"

You could answer "yes" and "yes" or "not in this scope".
_______________________________________________
rrg mailing list
[email-masked]
https://www.irtf.org/mailman/listinfo/rrg

---

From: Brian E Carpenter <[email-masked]>
Date: Fri, 12 Dec 2008 09:50:39 +1300

> You could answer "yes" and "yes" or "not in this scope".

Bingo! Whether a particular binary string has value as a locator
or not depends entirely on the scope in which it's examined.
If the flat lookup table in a bridge or switch decides which
outbound interface to use on the basis of a MAC address, then it's
being used as a locator at that particular point, even though it
may have been used as an identifier during the ARP or ND process.

   Brian

---

From: Scott Brim <[email-masked]>
Date: Thu, 11 Dec 2008 16:46:04 -0500

> may have been used as an identifier during the ARP or ND process.

"being used as" ... that's what I was trying to say when I said the
important thing was the function using it.
_______________________________________________
rrg mailing list
[email-masked]
https://www.irtf.org/mailman/listinfo/rrg

---

From: Xu Xiaohu <[email-masked]>
Date: Fri, 12 Dec 2008 10:53:51 +0800

> (For example, one hopes that a HIP ID is computationally 
> infeasible to forge without compromising the originating key, 
> but every deployed cryptographic system I know of does 
> eventually suffer key compromise, at which point that HIP ID 
> would not be globally unique either.)

Even the cryptographically generated ID suffers ID theft/forgery, then what
about the ordinay ID without such security mechanism?
 
> this is exactly like the situation in today's deployed IP 
> Internet with forged Source IP Addresses. [US CERT: CA 1995-01]

Yes. However, the id/locator split will make the situation worse if no
special security mechanism is taken. 

Best regards,

Xiaohu

---

From: RJ Atkinson <[email-masked]>
Date: Fri, 12 Dec 2008 02:22:56 -0500

On  11 Dec 2008, at 21:53, Xu Xiaohu wrote:
> Even the cryptographically generated ID suffers ID theft/forgery,
> then what about the ordinay ID without such security mechanism?

For ILNP, please read the I-Ds and see the past notes
to this list.  I can't speak to other concepts here.

Again, note that precisely the same issue exists today
in the deployed Internet -- for IPv4 and also for IPv6.

> special security mechanism is taken.

ILNP has some very practical low computational complexity
mechanisms to provide protection.  For protection equivalent
to ordinary IPv6 (without IPsec), the Nonce suffices.
As with IPv6, ILNP can optionally use IP Security to provide
stronger cryptographic protections.  (Of course, HIP uses
IP Security also.)

Cheers,

Ran
[email-masked]

PS:  A revised set of ILNP I-Ds came out on Wednesday this week.