[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [GLOBAL-V6] IPV4 to IPv6 migration
On 2008-06-04 09:00, Gert Doering wrote:
> Hi,
>
> On Tue, Jun 03, 2008 at 04:54:34PM -0400, Alain Durand wrote:
>> On 6/3/08 4:46 PM, "Gert Doering" <gert@space.net> wrote:
>>
>>> Long-lived applications doing an explicit bind() to addresses will need
>>> to be notified - that's true.
>> That means most things listening to a socket...
>
> No. There's nothing wrong with bind() ing to INADDR_ANY - for the TCP
> case, there is no strong reason for using an explicit address for the
> bind().
>
> As I already said, for UDP it's different, but the most prominent case
> (bind, the program) handles the case of changing interface addresses
> perfectly well already.
Gert is completely correct that this can be done properly, although
I think in the end it requires the application to include a network
access library that is capable of detecting non-reachability and then
switching to a different address (which will mean restarting the
transport connection except in the unlikely event of using SCTP).
There are existence proofs that such code can be written. (Lotus Notes
is one.) But it's also certainly true that many applications don't
contain this logic, and do need to be manually restarted after
an IP(v6) prefix becomes unreachable. I'm sorry, but I don't see
how that is worse than what we live with today, with unpredictable
application failures due to loss of NAT state. At least IPv6
prefix changes can be planned, and announced to users like any
other planned maintenance.
Brian