>>>>> On Tue, 26 Jul 2005 23:22:49 +0900, 
>>>>> JINMEI Tatuya <[EMAIL PROTECTED]> said:

> While opinions on the details so varied, we seem to have agreed that
> we need to fix the requirements for those flags (or something
> similar/replacement in RA) first.

With some minor updates after clarification discussions, here is the
latest version of the requirement list:

1) Ability to indicate to a host "DHCP is not available on this link",
   with the expectation that the host won't send any DHCP messages

   1') Some people also wanted to indicate a stronger message of "do
       not try to find it" for some networks in requirement 1.
       Possible scenarios include bandwidth-sensitive networks (such
       as 3G?) and the case where attacks of rogue DHCPv6 messages are
       concerned.

   1'') Some people (one person?) also wanted the ability to indicate
   to a host "a particular type of DHCPv6 (i.e., ICB or HCB) is not
   available on this link" (This is probably a combination like
   M=0&&O=1 would currently indicate).
   [Note: requirement 1'' can also have two variations: with or
   without the intent of "do not try to find it".  But since the "some
   people" seem to be the same group, there is probably no version of
   1'' without the intent]

2) Ability for a host to get all desired and available DHCP
   configuration with a single DHCP message exchange
   - if a host wants HCB, it sends an HCB request (Solicit) and receives
     HCB and/or ICB replies
   - if a host wants ICB, it sends an ICB request (Information-request) 
     and receives ICB replies

3) Ability to do DHCP without having to configure routers
  (e.g., by ignoring RA with M=0 and/or O=0 and invoking HCB and/or
  ICB anyway)
  [Note: this requirement may contradict requirement 1'.  We'll need
  to determine which one should be honored or whether there is an
  intermediate compromise.]

Terminology:
  HCB: getting address (and possible other) configuration information
       by Solicit/Advertise/Request/Reply exchanges
  ICB: getting other configuration than addresses (excluding
       addresses) by Information-request/Reply exchanges

I hope the above summary correctly covers major points we've seen.

Now, at the risk of causing another cycle of opinion storm, the
followings are related notes on each point from the past discussion.
(I'm trying to be just an editor aside from my own opinion, but, of
course, I cannot 100% escape from that)

Requirement 2 seems least controversial.  In my understanding, this is
basically for removing redundant probe packets or hopeless timeouts
for unavailable service.  In particular, we wanted to avoid scenario
where an HCB client continues sending Solicits even if there is no HCB
server but an ICB-only server, and even if the client can somehow
benefit from the "ICB part" excluding addresses.  Such a case is most
likely a result from temporary dead servers or configuration errors,
but we seem to have agreed that we want to deal with such cases.

Requirement 2 can be met through some extensions to RFC3315 and
RFC3736.  The obvious question is whether we can accept such extensions
in terms of standardization and compatibility with existing
implementations.  In particular, some people expressed concern about
requiring changes to ICB-only (RFC3736) server implementations.  In
general, however, my understanding is that people were positive about
upgrading the DHCPv6 specifications, considering the
specification/implementation maturity.

Requirement 1 generally comes from some types of networks such as
cellular networks where network bandwidth or buttery consumption of
end stations is sensitive issues.  I think people generally understood
the point and agreed that the appropriate mechanism for implementing
this is flag(s) in RAs.

However, opinions on the details appeared to vary, causing lots of
confusion.  The major controversial points are probably summarized in
the succeeding sub-requirements:

  - whether we need to prohibit the use of DHCPv6 more strongly and
    explicitly (e.g., with a 'MUST NOT'), which corresponds to
    Requirement 1'.

    I know there is a strong opinion for this requirement, but I'm not
    sure if that was a majority.  On the other hand, if we adopt this
    requirement with the strongest wording such as 'MUST NOT', it will
    contradict with Requirement 3 (if we agree that it has some valid
    points).  Additionally, as we briefly talked very recently, such
    strongest text would also break our general agreement that the RA
    flag(s) are just a trigger without containing mandatory
    requirements.

    We'll probably need to seek some middle ground by, e.g., wording
    compromise.  I don't have a specific idea about how to do that
    right now, though.

  - whether we need to separate the 'ability' for HCB and ICB, which
    corresponds to Requirement 1''.

    If we need to separate the two types of ability, it would likely
    be implemented through the two flags currently defined in RA
    (i.e., the M/O flags).

    The main motivation of separating the two flags appear to be the
    ability to suppress HCB (however strictly) by default, expecting
    ICB is more common.

    On the other hand, we now know combinations of these flags turn
    out to be a confusing issue than we originally thought and can
    cause weird corner for implementors.  So, some people rather
    wanted to unify those flags into a single bit, indicating whether
    DHCPv6 service is available (whether it's HCB or ICB), and solve
    HCB vs ICB issues through extensions to DHCPv6.

    I've seen lots of opinions from many people for either side, and
    their points are almost orthogonal.  I'd not expect one side can
    fully convince the other through further discussion.  In my
    understanding, however, people who preferred the single bit could
    also live with the two bits.  Also, possible extensions to DHCPv6
    may make the combinations issues easier to handle.  So, possible
    compromise here is to keep the two flags, and to clarify (or
    perhaps mitigate) the combination issues with DHCPv6 extensions.
    (I don't have a specific idea about how that can be done at this
    moment though).

Requirement 3 is basically a trivial requirement unless we use very
strong prohibition (e.g., MUST NOT) for Requirement 1', and perhaps we
don't have to do anything about this.  As some people pointed out,
users/implementations would always ignore specifications when they
want to do so.  A minor issue is how we should be explicit about the
flexibility in a specification (or any document that comes from this
discussion).  Perhaps we need to clarify the possibility explicitly in
order to avoid confusion, or perhaps we should not even mention that
since this is trivial and 'not IETF's business'.  I guess this is
pretty minor, and we can postpone the decision until the other bigger
issues are resolved.

I hope this lengthy message can be a helpful and constructive source
of the next step for this discussion.

                                        JINMEI, Tatuya
                                        Communication Platform Lab.
                                        Corporate R&D Center, Toshiba Corp.
                                        [EMAIL PROTECTED]

--------------------------------------------------------------------
IETF IPv6 working group mailing list
[email protected]
Administrative Requests: https://www1.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------

Reply via email to