On Tue, Jun 23, 2020 at 6:55 PM Pascal Thubert via Datatracker <noreply@xxxxxxxx> wrote:
However it seems unlikely that any new transition technology would
arise and be widely adopted in any foreseeable future. Therefore
adding support for non-existing technologies seems to be suboptimal
and the proposed mechanism implies that NAT64 is used to facilitate
connectivity between IPv6 and IPv4.
"
I have a hard time with that one. Adding a byte or 2 of flags in the
IPv6-Only Preferred option to indicate that the network supports NAT64
and having the host request the address if it needs the service and it's not
there does not seem to cost a lot and protects the future.
We (the authors) did discuss this at some length and we opted for the current behaviour for reasons of simplicity. Here are a few reasons why:
- Typically, DHCP clients do not often provide information to the DHCP server in options (except perhaps the vendor class identifier). Mostly, the client puts options in the PRL, and the server includes (or not) the options that were requested. So, using only one option the client cannot easily indicate to the server "I support transition mechanisms A, B, and D". The server would have to return a bitmap of all the transition technologies that the network supports. The client would then have to check whether it supported one of those technologies, and if it did not support any, would proceed with a DHCPREQUEST as normal. This means that the server must consider the case where the client asked for the IPv6-only option but then proceed to request IPv4. This complicates server implementation compared to the current draft, where the server can simply respond with 0.0.0.0 and the client MUST NOT request it.
- A bitmask of transition mechanisms would require defining a new registry, a process for creation of new options, etc.
- A bitmask of transition mechanisms would not be sufficient if the network operator wished to place the transition mechanisms in some priority order ("use NAT64 if you support it, otherwise use 4rd and otherwise MAP-T"). This would then have to become a list of options.
That complexity is a downside of supporting multiple transition mechanisms. And the upside is limited. We do feel that the likelihood of another transition technology becoming widely used by end hosts is low, because NAT64 is already so widely deployed and so easy to implement in hosts. (In fact, if the host doesn't care about IPv4 literals or IPv4-only apps, the work required to implement NAT64 is actually zero.) Additionally, if a new transition technology does end up being widely supported by hosts, it's always possible to define a new DHCP option code for it.
So we felt that it was best to keep this option simple. IIRC (but other authors and chairs, please correct me if I'm wrong) there was not much discussion in the WG that this should be changed, so I think the WG was pretty happy with the current semantics.
Cheers,
Lorenzo
-- last-call mailing list last-call@xxxxxxxx https://www.ietf.org/mailman/listinfo/last-call