[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Some Comments on ID/Loc Separation Proposals



I have been analyzing a few of the proposal for ID/Loc separation
(HIP, NOID and MAST) and I have some comments (attached).  
Unfortunately, I won't be in most of the multi6 meeting today 
(I may pop in and out), but please consider this e-mail as input 
to your discussion.

Sorry for the cryptic nature of some of these comments.  If there
are any questions, let me know.  I may try to write-up something
more detailed later.

Margaret

General Thoughts:

The combination of ID/Loc in IP (v4 and v6) is an architectural
feature with good and bad trade-offs.  It can be viewed as an
ID/Loc system with: (1) Very efficient ID -> Loc mapping (they
are the same), (2) An inflexible association between a single 
ID and a specific Locator (they are the same).  Property #1 
allows convenient, high performance referrals.  Property #2 
causes difficulties for mobility, multihoming, etc.

The use of the term "Identifier" or "ID" sweeps an important
issue under the rug in some cases:  Is this a host ID or an
interface ID?  The current IP (v4 and v6) architecture uses 
interface IDs.  IPv4 implementations are generally constrained 
to one ID per interface, while IPv6 supports multiple IDs per 
interface.  ID selection is linked to outbound interface
selection -- it is still unclear to me what implications this
has for ID or Locator selection in ID/Loc separation protocols.

---

Some things to consider for proposals:

What are the mechanisms to support (and the costs of):

    - Initial end-to-end connection set-up.

    - Referrals.  The question I ask is: Could this mechanism
      support FTP PASV mode -- I know no one uses it, but it is 
      a simple, well-understood referral.  If a mechanism won't
      support FTP PASV, then it won't support any referral-based
      application.

    - What happens when two nodes try to establish connections
      to each other "simultaneously" (where "simultaneously"
      is defined to mean "during each others' connection set-up
      window").

    - How does the mechanism avoid connection hijacking?

Of course, there are many other interesting questions.

---

NOID Feedback:

Interesting proposal that offers at least some support for
referrals and offers a zero-cost mapping from an ID to a 
locator, by using one of the available locators as the ID.
Supports multihoming and planned renumbering, but not 
roaming/mobility.

Specific comments/issues:

    - NOID is not compatible with local addressing or 
      "two-faced" DNS.  Relies on consistent information
      being returned from the DNS at both ends.

    - NOID happens below frag/reassm, but may add 8
      bytes to the packet length.  ??

    - NOID may have issues when two hosts both attempt
      to open a connection to the other within the NOID
      establishment phase (which may last for a while,
      as it involves two DNS lookups, etc.).  If I
      am modeling this correctly, if NodeA is currently
      in the process of establishing a NOID connection
      to Node B (we have the state set-up on NodeA, but
      not on NodeB), NodeB's attempts to open a connection
      to NodeA will be discarded by NodeA because they
      don't contain the correct FlowID.  Am I right?
      If so, is this a problem?

    - If the topological information in an AID is no 
      longer valid to reach the node, a referral will
      require two DNS lookups (reverse lookup, followed
      by forward lookup) before the new connection can
      be established.  This represents a significant 
      change to the speed/performance of referrals.

---

MAST Feedback:

Uses a control protocol between the two end-nodes to 
exchange address information.  The current proposal is
two sparsely defined to allow a full analysis of its
properties.  In particular the document does not describe
when MAST control messages would be sent, and how the
nodes would know when to send them.

Specific Comments/Issues:

    - This proposal seems, to me, to sweep the entire
      problem under the rug of this mostly-unspecified
      control protocol. 

        - How do the end-points know when they need to 
          send SET operations to update the locators 
          being used on the ends of this connection?

        - The draft suggests using IPsec to secure the
          control connection, but IPsec doesn't support
          changing end-point addresses.

        - The PROBE message sounds (to me) similar to 
          the old proposal to use pings to detect dead
          gateways.  What can we learn from the problems
          with that model that apply here?  I have stored
          my knowledge of the issues here in long-term
          storage, and I'm still waiting to retrieve it.
          But, there are some serious issues with active
          keepalive mechanisms that we should probably
          consider here.

---

HIP Feedback

Very well-developed proposal for end-to-end ID/Loc separation.
No ID->Locator mapping mechanism, so no support for referrals.

Specific Feedback:

    - The lack of any ID->Locator mapping mechanism is a 
      blocking problem for using HIP (as currently defined)
      with anything but simple end-to-end applications.