RE: [dhcwg] dhcpv6-24: movement detection and Confirm message

"Bound, Jim" <> Mon, 13 May 2002 02:13 UTC

Received: from ( [] (may be forged)) by (8.9.1a/8.9.1a) with ESMTP id WAA10605 for <>; Sun, 12 May 2002 22:13:14 -0400 (EDT)
Received: (from daemon@localhost) by (8.9.1a/8.9.1) id WAA21873 for; Sun, 12 May 2002 22:13:25 -0400 (EDT)
Received: from (localhost []) by (8.9.1a/8.9.1) with ESMTP id WAA21770; Sun, 12 May 2002 22:11:04 -0400 (EDT)
Received: from (odin []) by (8.9.1a/8.9.1) with ESMTP id WAA21696 for <>; Sun, 12 May 2002 22:10:58 -0400 (EDT)
Received: from ( []) by (8.9.1a/8.9.1a) with ESMTP id WAA10504 for <>; Sun, 12 May 2002 22:10:46 -0400 (EDT)
Received: from ( []) by (Postfix) with ESMTP id 94BB560CB; Sun, 12 May 2002 22:10:56 -0400 (EDT)
Received: from ([]) by with Microsoft SMTPSVC(5.0.2195.2966); Sun, 12 May 2002 22:10:56 -0400
x-mimeole: Produced By Microsoft Exchange V6.0.5762.3
content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Subject: RE: [dhcwg] dhcpv6-24: movement detection and Confirm message
Date: Sun, 12 May 2002 22:10:55 -0400
Message-ID: <>
Thread-Topic: [dhcwg] dhcpv6-24: movement detection and Confirm message
Thread-Index: AcH5uj4AaEXiABjyQWWcD12h7889+gAaJNhg
From: "Bound, Jim" <>
To: "Bernie Volz (EUD)" <>, Thomas Narten <>, Ralph Droms <>
X-OriginalArrivalTime: 13 May 2002 02:10:56.0700 (UTC) FILETIME=[6AE0C7C0:01C1FA23]
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by id WAA21697
X-Mailman-Version: 1.0
Precedence: bulk
List-Id: <>
Content-Transfer-Encoding: 8bit


Please use ascii text.  thanks.

I did not say that the server could not figure it out like a router does.  But a server should not have to be a router.  This is new to IPv6 dhcp.  What I am saying is that there is no inherent assumption clients can make about addresses from the server as I can for addresses received from stateless router via the prefix advertisements.  Not that I should be doing that either but I did.

Hence, forcing that as a requirement or benefit to support Confirm is not a valid protocol argument here in a standards forum.  

An implementation note that it could be done is fine.  I just did not want folks to think we had an interoperable wide mechanism to determine this fact.


-----Original Message-----
From: Bernie Volz (EUD) []
Sent: Sunday, May 12, 2002 9:38 AM
To: Bound, Jim; Thomas Narten; Ralph Droms
Subject: RE: [dhcwg] dhcpv6-24: movement detection and Confirm message 

>We have no way as a server to know prefixes so kill #2 as argument. 
Huh? How could it be set up to provide addresses on a link for which it doesn't know the prefixes? There may well be a "not authoritative" setting (using the ISC DHCP server configuration concepts) that would tell a server it may not have complete information for a link - and in this case the server could not send a "NotOnLink" response to a Confirm.
- Bernie 
-----Original Message----- 
From: Bound, Jim [] 
Sent: Sunday, May 12, 2002 12:58 AM 
To: Bernie Volz (EUD); Thomas Narten; Ralph Droms 
Subject: RE: [dhcwg] dhcpv6-24: movement detection and Confirm message 

We have no way as a server to know prefixes so kill #2 as argument.  We CANNOT assume prefix length for any IPv6 address unless the client tells us and it does not now.  Nor should it IMO.
-----Original Message----- 
From: Bernie Volz (EUD) [] 
Sent: Thursday, May 09, 2002 9:24 AM 
To: 'Thomas Narten'; Ralph Droms 
Subject: RE: [dhcwg] dhcpv6-24: movement detection and Confirm message 

My desire for the Confirm would be as follows: 
- Client can send a Confirm to help in movement detection. It shouldn't be required for the client to do this since it may have other means of doing this.
- A server that does implement Confirm handles the message in three ways: 
1. If it has the binding for the client and the addresses are valid, it can send a Reply with the success indication. This would be the case if the client hasn't really moved.
2. If it doesn't have a binding but in comparing the addresses provided in the Confirm, the server can determine that the prefixes for the addresses are NOT valid for the link, the server can Reply to the client that the addresses are bad.
3. The server discards the Confirm since it can not verify that the addresses are truely valid for the client. 
(We could allow another Reply from the server that would indicate to the client that the prefixes appear to be valid, but it can't confirm the actual addresses. However, this isn't really necessary since no response to the Confirm essentially means that and it could give false information at times; that is why it would be best not to have servers do this.)
- While I think servers SHOULD implement Confirm, they don't have to. If they don't, they won't enhance movement detection but since there are other mechanisms that can help with this, it is not required.
- Confirm processing is much different than a Renew/Rebind. There is much less work involved on the server - it is only verifying the information. A Confirm can NOT be used to extend address lifetimes/leases. IMHO, it should only be used to help the client determine whether it moved.
- Bernie 
-----Original Message----- 
From: Thomas Narten [] 
Sent: Thursday, May 09, 2002 9:00 AM 
To: Ralph Droms 
Subject: Re: [dhcwg] dhcpv6-24: movement detection and Confirm message 

> Confirm - client has detected it may have moved, sends 
>            Confirm to any available server to determine 
>            if configuration is still valid 
> Renew   - client unicasts to assigning server to extend 
>            lease on IA 
> Rebind  - client sends to any available server to extend 
>            lease on IA 
Including the above in the overview would be very helpful. It's not 
clearly described there, and the above description really helps me to 
understand why/how the messages differ. 
> Thomas - rereading your original question, I'm not sure if you're 
> suggesting that a client not try to detect if it has moved to a new link, 
> or if it use a Renew instead of a Rebind when it detects it may have moved 
> to a new link. 
I believe a client should definitely try to detect when it has 
moved. What I was wondering about is whether DHC should be specifying 
*how* it does movement detection (since this is a general topic), and 
whether DHC should provide explicit mechanisms (beyond other existing 
message types) that help the client determine if it has moved. 
Seems to me the Confirm is (maybe?) just an optimization. Couldn't the 
client just send a Renew to the assigning server? 
I gather that one advantage of the Confirm is that it is sent to all 
servers, so one will respond quickly. If the client sends a Renew to a 
specific server, but the client has moved, the Renew will presumably 
time out, which takes a lot longer. But in terms of the amount of work 
a server has to do when processing Confirm vs. Renew, the work is 
pretty much the same, I would think.  I assume that this is the 
motivation for Confirm. 
Question: when one sends a confirm, does only the server that has that 
information respond, or are all servers expected to respond? 
The text says: 
>    In any situation when a client may have moved to a new link, the 
>    client MUST initiate a Confirm/Reply message exchange.  The client 
>    includes any IAs, along with the addresses associated with those IAs, 
>    in its Confirm message.  Any responding servers will indicate the 
>    acceptability of the addresses with the status in the Reply message 
>    it returns to the client. 

But how do other servers know that they are to respond positively? I 
would expect that only server that originally allocated the addresses 
to be able to respond positively that the config is valid. Maybe the 
text isn't explicit enough about what a server does when it gets a 
Confirm. Does it just check that the  addresses are on the link as 
indicated by the link-address field in the relayed packet? This would 
be sufficient to verify that client hasn't moved. If it needs to 
verify that the actual addresses have been assigned  it's not clear 
that any server can do that. This makes me wonder if this is really 
very much better than just  using Renew (if only one server can 
respond anyway). 
The text says (under server processing): 
>    If the server finds that the information for the client does not 
>    match what is in the binding for that client or the configuration 
>    information is not valid, the server sends a Reply message containing 
>    a Status Code option with the value ConfNoMatch. 
I think more text would be good to make it clear that a server can also 
respond positively even if it can't verify the actual 
binding. Likewise, a positive response in that case DOSE NOT actually 
confirm the binding, just that the node hasn't moved. 
Make sense? 
> I think from: 
> >if a client detects that it has 
> >moved, then just have it redo the normal DHC exchanges. 
> you mean keep movement detection but use different DHCP messages.  Exactly 
> what did you have in mind for "normal DHCP exchange"? 
Renew, Rebind and or just restarting with solicit. 
> The idea behind 
> Confirm is (as is the case in DHCPv4) if the client has not moved (e.g., 
> the client has been power cycled), the client uses a two message exchange 
> with any available server rather than a four message exchange. 
This assumes that *any* server is in a position to respond 
definitively. This is not immediately clear to me per above. 
> Perhaps Confirm overlaps with Rapid Commit? 
dhcwg mailing list 

dhcwg mailing list