On Jul 9, 2015, at 11:08 PM, Owen DeLong <o...@delong.com> wrote:

> 
>> On Jul 9, 2015, at 15:55 , Ricky Beam <jfb...@gmail.com> wrote:
>> 
>> On Thu, 09 Jul 2015 18:23:29 -0400, Naslund, Steve <snasl...@medline.com> 
>> wrote:
>>> That would be Tivo's fault wouldn't it.
>> 
>> Partially, even mostly... it's based on Bonjour. That's why the shit doesn't 
>> work "over the internet".
>> 
>> (It's just http/https, so it will, in fact, work, but their apps aren't 
>> designed to work that way. Many 3rd party control apps have no problems.)
> 
> Correct… It _IS_ TiVO’s fault. However, the reality I’m trying to point out 
> is that application developers make assumptions based
> on the commonly deployed environment that they expect in the world.
> 
> If we create a limited environment, then that is what they will code to.
> 
> If we deliver /48s, then they will come up with innovative ways to make use 
> of those deployments. If we deliver /56s, then innovation will be constrained 
> to what can be delivered to /56s, even for sites that have /48s.
> 
> Owen
> 

I would love to see things go Owen's way.. /48s everywhere, everyone agrees 
it's a good idea, and we can just assume that it will work.  We can move on, 
this is one less thing to stress about.

On the other hand, I do wonder how this will work, even if most people are 
getting /48s.  Perhaps in a few years we'll be past all this, and there will be 
a well accepted standard way.  Maybe it will be RIPng.  Maybe some thing that 
we haven't seen yet.  Or maybe there will be 800 ways of doing it, because the 
protocol spec allows that, and so we should complicate our lives further by 
requiring everyone to support every possibility of combinations.  This is the 
worst possible outcome because it means unnecessary complexity, more work for 
everyone involved, and less reliability.

If you're writing an application, do you bother supporting /48, /56, RA, DHCP, 
etc, while also supporting an https polling mechanism for the times when none 
of that stuff works?  We can pretend that it doesn't matter and that software 
should 'just work' with any network, but that's simply not possible for many 
applications.  I think as an application developer, you're much better off 
aiming for the least common denominator, accepting the limitations of that, and 
just moving on.  This means polling, reflectors, NAT, proxyarp, etc.  Things 
that you can control, to make your app work.  Supporting a bunch of different 
ways is a waste of everyone's time and just makes your application less 
reliable and harder to test.  Unless your specific application benefits greatly 
from a more capable network, it's probably not worth even thinking about, as 
long as you know that you will still have to support the 'bad' ones.

A music streaming application can use a hardcoded well known server name to 
access a centralized service.  It can even communicate with other users by 
using that central server as a database or reflector.  It would be 'nice' if it 
could ask the network for a prefix and use a different address for each peer it 
talks to, but what's the point in developing that, if you still have to support 
the other case?

A wifi hotspot device would benefit from prefix delegation, but it could of 
course use NAT or proxying without the cooperation of the network.  This is one 
application where it might be worth supporting all the different combinations, 
but it means that all those different methods need to be tested, and they can 
break in different ways, and there's no way to be sure it's right.

Choice is good, you can run your own network any way you want, etc, but it's 
not good when people are making choices just for the sake of being different 
and incompatible.  After all, the point of the internet is to communicate with 
everyone else, which means we all need to agree on how we will communicate.  
How can we expect everyone to embrace IPv6 if we can't even provide a 
straightforward procedure to get connected to it?

-Laszlo



Reply via email to