Subject: [dhcwg] Multiple IPv6 addresses in IA_NA vs. one IA_NA per address

From: Henri Wahl <[email-masked]>
Date: Thu, 21 Mar 2013 16:51:26 +0100

Hi all,

We want to deliver multiple addresses to clients via DHCPv6 which raises
some questions. RFC 3315 is somehow unclear, how multiple addresses have
to be delivered to clients via DHCPv6. Section 22.4 states:

"...The Identity Association for Non-temporary Addresses option (IA_NA
option) is used to carry an IA_NA, the parameters associated with the
IA_NA, and the non-temporary addresses associated with the IA_NA....".

This lets assume that the server sends multiple address options in one
IA_NA. On the other hand section 17.1.1:

"...The client uses IA_NA options to request the assignment of
non-temporary addresses and uses IA_TA options to request the assignment
of temporary addresses...".

This lets assume that clients have to send IA_NA options for every
address they want to have. This is for another aspect a bad situation:
why should not the server decide which addresses a client deserves?

How do you interprete RFC 3315 at this point? How do servers and clients?

We run a network with aproximately 500 IPv6 clients which get their
addresses via stateful DHCPv6. We use our self-written server
(http://dhcpy6d.ifw-dresden.de), what allowed us, to decide as in
section 22.4 and deliver several addresses in one IA_NA. This works well
with Windows 7+ clients, dhclient and dibbler-client.

Best regards
Henri Wahl

-- 
Henri Wahl

IT Department
Leibniz-Institut für Festkörper- u.
Werkstoffforschung Dresden

tel: (03 51) 46 59 - 797
email: [email-masked]
http://www.ifw-dresden.de

Nagios status monitor Nagstamon:
http://nagstamon.ifw-dresden.de

DHCPv6 server dhcpy6d:
http://dhcpy6d.ifw-dresden.de

IFW Dresden e.V., Helmholtzstraße 20, D-01069 Dresden
VR Dresden Nr. 1369
Vorstand: Prof. Dr. Ludwig Schultz, Dr. h.c. Dipl.-Finw. Rolf Pfrengle

---

From: Wuyts Carl <[email-masked]>
Date: Thu, 21 Mar 2013 16:55:36 +0100

If you need more IA_NA's, you just request the # you want, and the server sends the option multiple times (as many as being served) into its return messages, so you'll see multiple entries of ia_na
E.g. The DHCPv6 client configuration on our CPEs allow to set a number of IA_NA requested.

Regs
Carl

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of Henri Wahl
Sent: donderdag 21 maart 2013 16:51
To: [email-masked]
Subject: [dhcwg] Multiple IPv6 addresses in IA_NA vs. one IA_NA per address

Hi all,

We want to deliver multiple addresses to clients via DHCPv6 which raises some questions. RFC 3315 is somehow unclear, how multiple addresses have to be delivered to clients via DHCPv6. Section 22.4 states:

"...The Identity Association for Non-temporary Addresses option (IA_NA
option) is used to carry an IA_NA, the parameters associated with the IA_NA, and the non-temporary addresses associated with the IA_NA....".

This lets assume that the server sends multiple address options in one IA_NA. On the other hand section 17.1.1:

"...The client uses IA_NA options to request the assignment of non-temporary addresses and uses IA_TA options to request the assignment of temporary addresses...".

This lets assume that clients have to send IA_NA options for every address they want to have. This is for another aspect a bad situation:
why should not the server decide which addresses a client deserves?

We run a network with aproximately 500 IPv6 clients which get their addresses via stateful DHCPv6. We use our self-written server (http://dhcpy6d.ifw-dresden.de), what allowed us, to decide as in section 22.4 and deliver several addresses in one IA_NA. This works well with Windows 7+ clients, dhclient and dibbler-client.

Best regards
Henri Wahl

--
Henri Wahl

IT Department

tel: (03 51) 46 59 - 797

DHCPv6 server dhcpy6d:

IFW Dresden e.V., Helmholtzstraße 20, D-01069 Dresden VR Dresden Nr. 1369
Vorstand: Prof. Dr. Ludwig Schultz, Dr. h.c. Dipl.-Finw. Rolf Pfrengle

---

From: Tomek Mrugalski <[email-masked]>
Date: Thu, 21 Mar 2013 17:59:01 +0100

> How do you interprete RFC 3315 at this point? How do servers and clients?

You may also want to read section 11 of RFC3315. This particular piece
is interesting:
   "A server selects addresses to be assigned to an IA according to the
   address assignment policies determined by the server administrator"

Note the plural/singular form: [many] addresses to an [single] IA.

So technically speaking both "many addresses in a single IA_NA" and
"many IA_NAs, each with one address" are valid and how you assign them
is a matter of assignment policy. The question here is really about how
common those 2 approaches are. My understanding is that "many IA_NAs" is
much more popular and supported by many more implementations, so I'd
recommend doing that for better interoperability.

The problem with having multiple addresses assigned is usually a client
business, because it is a client that knows that more than one address
is needed, e.g. because some extra services will be provided. There is
no easy way for the client to communicate to the server that it wants
specific number of addresses in a given IA_NA. Dibbler client can send
multiple addresses and Dibbler server will understand and honor it, but
I have serious doubts other implementations will behave that way. One
reason I chose to implement this is that including an address is the
only way for the client to specify its preference for preferred and
valid lifetimes. Dibbler server tries to accept those hints if possible.

Perhaps this is something that could be clarified in stateful-issues
draft? If not, this is definitely another thing for 3315bis work.

Tomek

---

From: Ole Troan <[email-masked]>
Date: Thu, 21 Mar 2013 18:11:31 +0100

> draft? If not, this is definitely another thing for 3315bis work.

agree.
in RFC3633 multiple IA_PDs versus multiple IAPrefixes inside one IA_PD are very different things.

the example given in both 3315 and 3633 for multiple IAIDs are the one where a client requests an
address or prefix for a different interface.

cheers,
Ole

---

From: "Bernie Volz (volz)" <[email-masked]>
Date: Thu, 21 Mar 2013 17:59:29 +0000

There are two things here - one is server policy which allows the server to deliver 0 to n addresses (or prefixes). The other is the client's policy which might want more than one.

I think a client has two choices - send multiple IA_* options with unique IAID values in the request or send one and if it needs more, send separate requests.

- Bernie

On Mar 21, 2013, at 12:59 PM, "Tomek Mrugalski" <[email-masked]> wrote:

> _______________________________________________
> dhcwg mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/dhcwg

---

From: Henri Wahl <[email-masked]>
Date: Thu, 21 Mar 2013 22:00:57 +0100

> Note the plural/singular form: [many] addresses to an [single] IA.

Sorry I missed that - so even in RFC 3315 both ways are OK.
> is needed, e.g. because some extra services will be provided. 
Depends... on the clients' role in the network. If it has no right to
chose at all and gets all its configuration from server the
one-IA_NA-to-rule-them-all-approach is OK. Wouldn't this be normally the
case if you use stateful DHCPv6 instead of SLAAC ?
> There is
> specific number of addresses in a given IA_NA. 
Agree.
> Dibbler client can send
Regards

-- 
Henri Wahl

IT Department

tel: (03 51) 46 59 - 797

DHCPv6 server dhcpy6d:

IFW Dresden e.V., Helmholtzstraße 20, D-01069 Dresden
VR Dresden Nr. 1369
Vorstand: Prof. Dr. Ludwig Schultz, Dr. h.c. Rolf Pfrengle

---

From: Henri Wahl <[email-masked]>
Date: Thu, 21 Mar 2013 22:02:27 +0100

> I think a client has two choices - send multiple IA_* options with unique IAID values in the request or send one and if it needs more, send separate requests.
With different IAIDs or the same in every request?

-- 
Henri Wahl

IT Department

tel: (03 51) 46 59 - 797

DHCPv6 server dhcpy6d:

---

From: "Bernie Volz (volz)" <[email-masked]>
Date: Thu, 21 Mar 2013 21:06:37 +0000

This requires a different IAID value.

- Bernie

-----Original Message-----
From: Henri Wahl [mailto:[email-masked]] 
Sent: Thursday, March 21, 2013 5:02 PM
To: Bernie Volz (volz)
Cc: Tomek Mrugalski; [email-masked]
Subject: Re: [dhcwg] Multiple IPv6 addresses in IA_NA vs. one IA_NA per address

-- 
Henri Wahl

IT Department

tel: (03 51) 46 59 - 797

DHCPv6 server dhcpy6d:

---

From: "Bernie Volz (volz)" <[email-masked]>
Date: Thu, 21 Mar 2013 21:10:45 +0000

> Dibbler client can send
> multiple addresses and Dibbler server will understand and honor it, 
> but I have serious doubts other implementations will behave that way. 
> One reason I chose to implement this is that including an address is 
> the only way for the client to specify its preference for preferred 
> and valid lifetimes. Dibbler server tries to accept those hints if possible.

And, our server for one, ignores these requests (for :: addresses) -- though if configured, we do consider the lifetimes (though we would only consider one of the values).

The addresses to assign or prefixes to delegate for a single binding is a server issue - it might be that there are multiple prefixes (ULA + GLA or multiple GLA/ULAs if renumbering or multi-homed) from which the addresses were allocated or prefixes were delegated.

- Bernie

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of Henri Wahl
Sent: Thursday, March 21, 2013 5:01 PM
To: Tomek Mrugalski
Cc: [email-masked]
Subject: Re: [dhcwg] Multiple IPv6 addresses in IA_NA vs. one IA_NA per address

> is a matter of assignment policy. The question here is really about 
> how common those 2 approaches are. My understanding is that "many 
> IA_NAs" is much more popular and supported by many more 
> implementations, so I'd recommend doing that for better interoperability.
>
> The problem with having multiple addresses assigned is usually a 
> client business, because it is a client that knows that more than one 
> address is needed, e.g. because some extra services will be provided.
Depends... on the clients' role in the network. If it has no right to chose at all and gets all its configuration from server the one-IA_NA-to-rule-them-all-approach is OK. Wouldn't this be normally the case if you use stateful DHCPv6 instead of SLAAC ?
Agree.
> Dibbler client can send
> multiple addresses and Dibbler server will understand and honor it, 
> but I have serious doubts other implementations will behave that way. 
> One reason I chose to implement this is that including an address is 
> the only way for the client to specify its preference for preferred 
> and valid lifetimes. Dibbler server tries to accept those hints if possible.
>
Regards

--
Henri Wahl

IT Department

tel: (03 51) 46 59 - 797

DHCPv6 server dhcpy6d: