Subject: RE: Some Comments on ID/Loc Separation Proposals

From: <[email-masked]>
Date: Thu, 13 Nov 2003 11:04:01 -0500

> An interface ID makes no sense to me.
> 
> The concept of a stack name, where there can be one or more "stacks"
> on a given host, provides the right granularity to me.
> Each "stack" can presumbly have one or more network interfaces.

I'm not suggesting that the AID in NOID should become an interface
ID.

Current discussion focuses on the use of an IP address as a node
identifier and as a locator.  And, I agree that it serves these 
two purposes.  

An IP address can be used, for example, to allow ULPs to indicate 
which physical interface to use for outbound packets by explictly 
choosing a source address.  This can be useful for multicast traffic 
and specialized ULPs such as routing protocols. 

The interface ID aspect of IP addresses can also be used to communicate
between ULPs and LLPs (lower layer protocols).  The ULPs may make
a specific source address selection to specify a virtual interface
that will be used to send outbound packets.  This can allow some
traffic to be sent through tunnels, or for per-application selection
between multiple paths that may have different properties (cost,
latency, bandwidth, etc.).

The use of IP addresses as interface identifiers may or may not
have any implications for NOID, as it seems that NOID will allow
ULP access to the real local IP addresses (??) -- the document
doesn't specifically say this, but I'm assuming that is how SCTP
would run over NOID, for example. This is a larger potential issue 
for other proposals, such as HIP.

Margaret

---

From: Erik Nordmark <[email-masked]>
Date: Thu, 13 Nov 2003 17:12:12 +0100 (CET)

> and specialized ULPs such as routing protocols. 

I heard this asserted elsewhere yersterday but I haven't seen any IPv* stacks 
that do such a thing.
The outbound interface is selected based on the destination IP address
independently of the source address.
Thus if the application specifies the source address for if2 and sends
a packet to some destination where the routing table for the destination
says to use if1, then the packet will go out if1 with the source of if2.

Are there host stacks that do something different when there
are multiple (equal?) routes that match the destination?

> for other proposals, such as HIP.

In NOID there is a choice (don't know the tradeoffs) whether the
application gets all locators (i.e. all potential AIDs for the peer)
from the getaddrinfo() API it uses, or whether getaddrinfo()
would pick one AID to return to the app.
If the app gets all of them *and* if source addresses imply interface selection
in the stack, then the application would have control over the interface that
is used.

  Erik

---

From: Juan Rodriguez Hervella <[email-masked]>
Date: Thu, 13 Nov 2003 22:28:42 +0100

On Thursday 13 November 2003 17:12, Erik Nordmark wrote:
> I heard this asserted elsewhere yersterday but I haven't seen any IPv*
> stacks that do such a thing.

Hello,

Quoted from RFC 1122 ("Strong End System" model):

---beginning of quotation:

           There are two key requirement issues related to multihoming:

            (A)  A host MAY silently discard an incoming datagram whose
                 destination address does not correspond to the physical
                 interface through which it is received.

            (B)  A host MAY restrict itself to sending (non-source-
                 routed) IP datagrams only through the physical
                 interface that corresponds to the IP source address of
                 the datagrams.

                o    Strong ES Model

                      The Strong ES (End System, i.e., host) model
                      emphasizes the host/gateway (ES/IS) distinction,
                      and would therefore substitute MUST for MAY in
                      issues (A) and (B) above.  It tends to model a
                      multihomed host as a set of logical hosts within
                      the same physical host.

                      With respect to (A), proponents of the Strong ES
                      model note that automatic Internet routing
                      mechanisms could not route a datagram to a
                      physical interface that did not correspond to the
                      destination address.

                      Under the Strong ES model, the route computation
                      for an outgoing datagram is the mapping:

                         route(src IP addr, dest IP addr, TOS)
                                                        -> gateway

----end of quotation

In short, Erik, under the "strong ES" model assuption, 
your example  would _not_work.

Ciao !

-- 
******
JFRH
******

SAGITTARIUS (Nov 22 - Dec 21)
	You are optimistic and enthusiastic.  You have a reckless
	tendency to rely on luck since you lack talent.  The majority
	of Sagittarians are drunks or dope fiends or both.  People
	laugh at you a great deal.

---

From: Brian E Carpenter <[email-masked]>
Date: Fri, 14 Nov 2003 00:14:03 +0100

I'd observe that 1122 is fundamentally an IPv4 document. We should
not take it as applying exactly to IPv6, where the notion of an interface is
somewhat different.

   Brian