On Thu, Dec 18, 2014 at 7:38 PM, Brian E Carpenter
<brian.e.carpen...@gmail.com> wrote:
> On 19/12/2014 14:49, Juliusz Chroboczek wrote:
>>>> Boutier's version of mosh builds connections across all source/destination
>>>> pairs, and picks the one with lowest RTT.
>>
>>> Sounds interesting. In the ideal world, that would be a pluggable
>>> policy algorithm. Lowest RTT may not always be the best choice.
>>
>> It is, in our particular context.  That's the nice thing about working at
>> the application layer -- you are the application, so you have a pretty
>> good idea of what the desirable properties are.  Mosh is an interactive
>> shell, and in this particular context it's latency you want to optimise
>> for.
>
> Are you sure?

For mosh, which is a very low bandwidth, highly interactive application,
lowest RTT is the right choice.

> Suppose I open a file transfer window (which as a matter
> of fact I do almost every time I use SSH these days). For large file
> transfers
> I might want to specify "cheapest" not "fastest".

I would argue that a transfer over LTE (which is the most expensive option),
would generally exhibit higher RTT over any other method.

lowest financial cost does not have a whole lot of meaning otherwise
along the edge. Highest bandwidth or least congested might be other
selectors...

But: in kicking off this thread, what I was mostly thinking about was
making a choice between 9 or more ipv6 addresses to choose from, what
to start with, and when to give up. (and which ones should end up in
DNS)

It seemed to me that I should longest prefix match, except when other
characteristics of the route interfered. As one example it made sense
to choose a native connection over a tunneled one. As another example,
when there was a vpn in play (with it's own address range) to try to
use the vpn rather than any public addresses that existed. And then
there is a choice to try and prefer stabler addresses (infinite
lifetime) over addresses with shorter lifetimes.

And then, in order to have a better choice of multi-path connectivity,
for an app like mosh or something using mptcp, to chose addresses that
are wildly different. I would argue for an app that wants multiple
forms of connectivity to pick 3-5 addresses total (and for mosh, to
ensure it did ipv4 and ipv6).

I tossed hip in there just to make things difficult, as arguably hip
addresses should only be used when trying to contact another device in
the hip address range ( 2001:10::/28 )

>> Once we gain some real-world experience from mosh, we can think about
>> making something more generic.  But I, at least, don't feel comfortable
>> about doing that.
>
> Understood. But all I'm thinking is that you might make that bit a
> self-contained
> module.

Well, I think I was seeking a new API here. But writing a select or
poll loop for 9 addresses is not much harder than 2.

>
>     Brian



-- 
Dave Täht

thttp://www.bufferbloat.net/projects/bloat/wiki/Upcoming_Talks

_______________________________________________
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet

Reply via email to