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

Re: review of draft-ietf-shim6-proto-03.txt, sections 1-2




Thanks for your comments. I've used them to try to make things more clear in the document. See below regarding my question about renumbering ULIDs and whether we should add some requirement to the document for that.

Jari Arkko wrote:

Technical:

However, it
  might turn out that the shim6 protocol can be a useful component,
  e.g., for route optimization in the context of host mobility.

Not sure why the usefulness would have to be limited
to route optimization.

As I read it, the text doesn't limit where it might be useful - it just gives a concrete example.

I don't have an example where shim6 might help outside of route optimization, since the HA-type interaction for tunnel management is likely to have slightly different requirements. But the intent isn't that the text limit its possible application for mobility.

Maybe "... can be a useful component in the context of
host mobility". Or don't say anything.

How about:
   This proposal does not attempt
   to solve the, perhaps related, problem of host mobility.  However, it
   might turn out that the shim6 protocol can be a useful component for
   future host mobility solutions, e.g., for route optimization.

  This potential source for confusion can be avoided if we require that
  any communication using a ULID must be terminated when the ULID
  becomes invalid (due to the underlying prefix becoming invalid).  If
  that behavior is desired, it can be accomplished by explicitly
  discarding the shim state when the ULID becomes invalid.  The context
  recovery mechanism will then make the peer aware that the context is
  gone, and that the ULID is no longer present at the same locator(s).
Invalid... or if you move away from the link on which you had
the ULID? The HBA draft does allow dynamic case, so it seems
that this can happen.

There is a tradeoff between the robustness of the communication when there are failures, and how the protocol reacts to ULIDs "disappearing". (Note that the text in 03 doesn't clearly say that when the locator becomes invalid it isn't a problem; 04 will make this more clear.)

A couple of cases to consider:
1. The host remains attached to one or more interfaces, and the Router Advertisement messages (or DHCPv6, if it is used for address autoconfiguration), explicitly indicate that the prefix is now invalid.

2. The host looses its connectivity on one interface (e.g., it walked out of range of the 802.11 access point) but retains connectivity on some other interface (e.g, the GPRS interface). This means that the host wouldn't notice a sudden decrease in the valid lifetime on the 802.11 interface (it can't receive any RAs). But it the host kills communication that uses the 802.11 prefix in the ULID then we are likely to loose the shim6 robustness benefits for host multihoming.

3. Like in case #2, but while the host is detached from the 802.11 link, the valid prefix lifetime (which is 30 days by default in RFC 2461), expires.

Thus in case #1 and #3 it might make sense to force communication that uses the now invalid ULID to fail. But in #2 I think we should retain it until the prefix valid lifetime expires.

It might be that most of these tradeoffs appear when we have host multihoming, because for site multihoming one would expect the prefix advertisements to be more "consistent"; the multiple prefixes are likely to be advertised by the same routers in the same router advertisement messages (i.e., we'd have only case #1 to worry about for site multihoming.)

So should we make a stronger recommendation in this space?

Editorial:

Introduction: I'd prefer writing this in a style that focuses
less on what the history with the WGs and approaches
was, and more on the what the protocol does. Same for
the abstract, e.g., s/The SHIM6 working group is specifying
a layer 3 shim approach/The SHIM6 protocol is a layer 3 shim/

Yep. We got that comment from Geoff as well, but I'd missed fixing the abstract.

  15.   Open Issues  . . . . . . . . . . . . . . . . . . . . . . .   81
  19.   Possible Protocol Extensions . . . . . . . . . . . . . . .   88
These should probably go to an appendix.

ok

  identifiers to locators, such a name space isn't necessary (and
  furthermore doesn't seem to help) to solve the multihoming problem.
I thought "is not" is better style than "isn't" (and same for
"doesn't"), but I'm this is not my native language...

Neither is it mine. But as I understand it, "isn't" is the more normal form, and "is not" can be used for emphasis.

  and Provide Independent IP addresses.

s/Provide/Provider/

The format allows adding additional notions of
  "metrics" over time.  But this is merely a place holder; even in
  order to use this there would have to be a mechanism by which the
  host can find out what preference values to use, either statically
  (e.g., some new DHCPv6 option) or dynamically.

Is the latter part talking about the preferences in general
or just the additional notions of metrics? For the former,
even if the protocol is fully defined now, one still has to
find out the preferences locally. For the latter, presumably
the receiver just ignores the unknown metrics, if any.

In general. I'll change the text to "But the Locator Preference option is merely a place holder when it comes to providing traffic engineering, ...".

For the latter, the format might be suboptimal, since we are not requiring that the first 3 bytes of each element be understood by implementations confirming to what's in this document. Thus I think we should add this in section 5.14.3 specifying the Locator Preference option format:
<t>This document doesn't specify the format when the Element length is more
than three, except that any such formats MUST be defined so that the first
three octets are the same as in the above case, that is,
a of a 1 octet flags field followed by a 1 octet priority field,
and a 1 octet weight field.</t>

  Context tag         Each end of the context allocates a context tag

Capitalized or not? Some of the other terms are not, and here we have
inconsistent capitalization.

The intent was to have lower case "context tag" refer to the general concept, and have capitalized names like "Initiator Context Tag" to refer to the specific instances when naming a field in a packet or option.

  Forked Instance Identifier (FII) In order to handle context forking,

add <vspace blankLines='1'/>

ok. s/1/0/ to be consistent with the other long terms.

   Erik