Re: [dhcwg] WG consensus action: ACCEPT LL34 better transition to routable from v4LL using DHCP

Mika Liljeberg <[email protected]>
Newsgroups gmane.ietf.zeroconf,gmane.ietf.dhc
Message-ID <1065026476.4768.95.camel@hades>
Nice state machine, although it does not address the case where it is
uncertain whether a configured address is not working or not. In this
case a node must be able to configure a LL address, advertise it, and
allow applications to fall back on it. There are two very common ad-hoc
cases where this can happen: 1) manually configured address in an
invalid context, and 2) valid DHCP lease in an invalid context.

	MikaL

On Wed, 2003-10-01 at 11:34, Erik Guttman wrote:
> Mika Liljeberg wrote:
> > On Tue, 2003-09-30 at 20:11, Erik Guttman wrote:
> > 
> >>I do agree with you.  The DHCP client should not be broken or effected
> >>by IPv4LL.  The host stack which uses both will of course be more
> >>complex than one which does not.
> > 
> > 
> > Are you saying it is ok to run the DHCP and v4LL state machines
> > independently of each other? I just want to be absolutely clear on this.
> 
> The DHCP client state machine is not effected by IPv4LL state machine.
> The IPv4LL state machine *is* effected by the DHCP client state machine.
> 
> Note that according to section 1.7:
> 
>     Where a Link-Local IPv4 address has been configured on an interface,
>     and a routable address is later configured on the same interface, the
>     host MUST always use the routable address when initiating new
>     communications, and MUST cease advertising the availability of the
>     Link-Local IPv4 address through whatever mechanisms that address had
>     been made known to others.
> 
> This means that the DHCP state machine has succeeded in configuring
> an interface, it has implications for the IPv4 link-local interface.
> 
> We do not have a diagram of a state machine for IPv4LL, but perhaps
> that would be very useful.  I think it would look something like
> this:
> 
>       Interface is active and has no <---------------------+
>       IPv4 address configured                              |
>               |                                            |
>               v    interface has IPv4 addr configured?     |
>       +-->  INIT ---------------------------------------> EXIT
>       |       | 2.2          1.7                         ^  ^
>       |       v    <-------------------+                 |  |
>       |     SELECT <---+               |                 |  |
>       |       | 2.1    | ARP with      |                 |  |
>       |       v        | claimed       |                 |  |
>       |     CLAIM      | address     ADAGIO              |  |
>       |       ^ | 2.2.1| received      ^                 |  |
>       | 2.2.1 | v    --+               |2.2.1            |  |
>       |   CLAIM-WAIT ------------------+                 |  |
>       |       | 2.2.1 -----------------------------------+  |
>   2.5 |       v        interface has IPv4 addr configured?  | 
> 
>     DOUBT  ANNOUNCE          1.7                            | 
> 
>       ^|      | 2.4                                         |
>       |+->      v      interface has IPv4 addr configured?  |
>       +-- CONFIGURED ------------------------------> DEPRECATED
>       2.5  ^     | 2.5       1.7
> conflict! |     |
>            +-----+
>             defend
> 
>    State       Behavior
>    ==========  =============================================
>    INIT        Host has no configured IPv4 address on an
>                interface.  INIT waits before entering SELECT
>                state.  If INIT detects it has been configured
>                during this time, INIT goes to EXIT state.  See
>                Section 2.2.
> 
>    SELECT      Select a suitable address.  See Section 2.1.  The
>                only possible transition is to CLAIM state.
> 
>                A special case of SELECT is where the host has
>                woken up and previously had a link-local address
>                configured.  In this case, the previously configured
>                is selected.  See Section 2.2.
> 
>    CLAIM       Send a probe as per Section 2.2.
> 
>    CLAIM-WAIT  Wait for any ARP messages with the claimed
>                address originating from a different sender.
> 
>                If interface is configured during this wait
>                period enter EXIT state, do not configure an
>                IPv4 LL address.  See Section 1.7.
> 
>                If an ARP message indicates that the selected
>                address is in use, and this is the first through
>                nineth retry, enter SELECT state.  If this is
>                the tenth or more retry, enter ADAGIO state.
>                See Section 2.2.1.
> 
>                If no ARP message is detected as the result of
>                the probe after the wait duration ends, and this
>                is the first or second try, return to CLAIM state.
>                If this is the third try, enter the CONFIGURED
>                state.  See Section 2.2.1.
> 
>    ADDAGIO     Wait at least a minute then enter SELECT state.
> 
>    ANNOUNCE    Send ARP announcements the enter CONFIGURED
>                state.
> 
>    CONFIGURED  The link-local address has been configured for
>                the interface and is now usable.  The host must
>                respond to three events.
> 
>                If a claim is detected, respond with a defending
>                ARP.  Stay in CONFIGURED state.
> 
>                If an ARP with a conflicting assignment of the
>                configured address is detected, defense may be
>                undertaken once (enter the state of DOUBT) or
>                go directly to INIT state, surrendering the
>                configured address.
> 
>    DOUBT       If an ARP with a source address is detecting
>                which conflicts with the configured address
>                during 10 seconds, proceed to INIT state.
>                See Section 2.5.
> 
>                Otherwise, the conflicting use of the address
>                has been defended against.  Return to the
>                CONFIGURED state.  See Section 2.5.
> 
>    DEPRECATED  This state is entered when a link-local address
>                has been autoconfigured for an interface, then
>                subsequently the interface receives a configured
>                address (as from DHCP).  In this state, new
>                connections are established with the configured
>                address and the link-local address is not advertised.
>                Eventually, one SHOULD transition to EXIT state.
>                See Section 1.7.
> 
>    EXIT        Cease using the IPv4 link-local address, do not
>                attempt to configure another such address unless
>                an interface exists for which there is no IPv4
>                link-local address configured.
> 
> 
> 
> I hope that this makes it clear:  In each case where there is
> a transition marked "interface has IPv4 addr configured? 1.7"
> this could be caused by the DHCP state machine entering BOUND
> state.  It is also possible to transition from EXIT to INIT
> in the case where a configured address is no longer available.
> We do not enter into a full discussion of this transition in
> this specification.  It is considered in more detail in
> http://www.ietf.org/internet-drafts/draft-ietf-dhc-dna-ipv4-02.txt
> 
> Erik
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.