mesh portal discovery

david at lang.hm david at lang.hm
Thu Jan 10 19:50:33 EST 2008


On Thu, 10 Jan 2008, Dan Williams wrote:

> On Fri, 2008-01-11 at 00:09 +0000, david at lang.hm wrote:
>> On Thu, 10 Jan 2008, Dan Williams wrote:
>>
>>>>
>>>> In the server-based backend, an IP address change *will* cause a
>>>> disconnect and reconnect. This is definitely unavoidable, since XMPP
>>>> uses a long-lived TCP connection to the server.
>>>
>>> IP addresses are going to change; that's a fact of life.  The best
>>> anyone can do is try to not make an IP address change a traumatic
>>> experience for the user, and provide mechanisms to ensure that whatever
>>> the user was working on at the time doesn't just disappear in a puff of
>>> smoke.
>>>
>>
>> this means changing every app to be aware of IP changes so that they know
>> that they need to re-connnect to the far end. and for many apps,
>> modifying them to be able to pick up where they left off (and to do so in
>> a secure way so that bad guys can't claim to be you on a new IP address
>> and connect into an authenticated session)
>>
>> good luck in re-writing the world.
>>
>> now, if you are willing to throw way all existing software (and solve the
>> reconnect security problems) you may be able to make it work, but there
>> are no apps that work this way today that I am aware of.
>
> The world changed underneath the apps, but the apps weren't modified to
> handle it.  It's not 1997 anymore.  People no longer only use desktop
> workstations with static IP addresses.  Laptops are everywhere.  You
> don't keep the same IP address when you walk from Starbucks to Panera.

but you don't continue to use your laptop as you walk from starbucks to 
panera, you close your laptop at starbucks, walk to panera and open it 
again. or starbucks and panera are part of the same network so you don't 
actually change addresses asyou move between them.

and when you suspend and resume there are going to be apps that quit on 
you.

> Mobile IP may mostly solve this; and that's fine.  But until then, the
> apps are going to suck if they don't handle address changes which are
> simply a fact of life.
>
> It's not that hard to write an app that notices and handles IP address
> changes.  Not handling this in apps that are written for or ported to
> the XO is just plain laziness.  When porting or writing, you need to
> handle the always-fullscreen-window case, you need to handle the
> security system, and you need to be aware of IP address changes.

you have to modify both the client and the server to survive the changes. 
you can't just modify the client when you port it to the XO.

> Welcome to 2008.

but even the XO apps loose the connection to their peers and require 
manual actions to re-establish them when they change their IP address. you 
say 'welcome to 2008' I say none of your software works the way you claim 
it does.

you are probably thinking of web based things, and HTTP is designed so 
that every request-response pair can be a seperate TCP connection (with 
state held via other means), that will survive IP changes (although even 
there they will loose any transactions in flight and require them to be 
manually restarted, including laarge transfers)

there are very few (if any) applications that use long-term connections 
that will handle IP changes (frankly, most of them won't handle their 
connection being interrupted at all)

if you think that I am wrong and there are lots of apps that use long-term 
connections and recover from IP changes, please provide examples.

David Lang




More information about the Devel mailing list