Re: Babel RTT mechanism [Was: [RESEND PATCH v3] Babel: allow choosing link quality estimation] algorithm]

2023-11-08 Thread Ondrej Zajicek
On Wed, Nov 08, 2023 at 11:56:32AM -0500, Nick Cao wrote:
> I think it is the intended design. Link quality is about packet losses,
> while RTT is about, well, RTT, they cover different characteristics of the
> link, which should all be taken into account for metric calculation.

RTT has two sources, propagation delay (which is just a question of
distance) and queuing/retransmission/MAC delay (which depends on link
quality). On wifi with worsening link quality / congestion it starts with
raising RTT (due to MAC delay and L2 retransmissions) and fluently
continues with raising packet loss, so i would say that both packet loss
and RTT are parameters of link quality and should be handled together by
one mechanism, instead of two independent mechanisms.

> And babeld the reference implementation also allows enabling link quality
> estimation and the RTT extension at the same time, matching the current
> behavior of bird.

I agree that it make sense to handle both packet loss and RTT information
for purposes of metric estimation. I just do not think it makes sense to
estimate two separate metrics and then sum it.

Considering that ETX estimates number of retransmissions, then for
algorithm that takes into account both RTT and packet loss it makes more
sense to have RTT metric multiplied by ETX coeficient?

> On 11/8/23 11:44, Ondrej Zajicek wrote:
> > On Sat, Oct 28, 2023 at 09:24:56PM -0400, Nick Cao via Bird-users wrote:
> > > Resend of the patch in 
> > > http://trubka.network.cz/pipermail/bird-users/2023-June/017058.html
> > > 
> > > ETX link quality estimation algorithm is useful for link types other than 
> > > wireless,
> > > especially when using babel with tunnels where packet losses do occur.
> > 
> > Hi
> > 
> > I looked at your patch with intent of merging it, i like a separate
> > option for selection of dynamic metric algorithm, but i noticed that i
> > misunderstood how recently added RTT mechanism interacts with the rest.
> > 
> > I thought we have three alternative link quality / metric estimation
> > algorithms:
> > 
> >   - fixed (k-out-of-j)
> >   - ETX
> >   - RTT
> > 
> > But in fact RTT is independent metric, which is added on top of fixed/ETX
> > metric.
> > 
> > Is this intentional? Does it make sense?
> > 
> > (This is mainly a question for Toke or Juliusz)
> > 

-- 
Elen sila lumenn' omentielvo

Ondrej 'Santiago' Zajicek (email: santi...@crfreenet.org)
OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net)
"To err is human -- to blame it on a computer is even more so."


Re: Babel RTT mechanism [Was: [RESEND PATCH v3] Babel: allow choosing link quality estimation] algorithm]

2023-11-08 Thread Nick Cao via Bird-users
I think it is the intended design. Link quality is about packet losses, 
while RTT is about, well, RTT, they cover different characteristics of 
the link, which should all be taken into account for metric calculation.
And babeld the reference implementation also allows enabling link 
quality estimation and the RTT extension at the same time, matching the 
current behavior of bird.


On 11/8/23 11:44, Ondrej Zajicek wrote:

On Sat, Oct 28, 2023 at 09:24:56PM -0400, Nick Cao via Bird-users wrote:

Resend of the patch in 
http://trubka.network.cz/pipermail/bird-users/2023-June/017058.html

ETX link quality estimation algorithm is useful for link types other than 
wireless,
especially when using babel with tunnels where packet losses do occur.


Hi

I looked at your patch with intent of merging it, i like a separate
option for selection of dynamic metric algorithm, but i noticed that i
misunderstood how recently added RTT mechanism interacts with the rest.

I thought we have three alternative link quality / metric estimation
algorithms:

  - fixed (k-out-of-j)
  - ETX
  - RTT

But in fact RTT is independent metric, which is added on top of fixed/ETX
metric.

Is this intentional? Does it make sense?

(This is mainly a question for Toke or Juliusz)



Re: Babel RTT mechanism [Was: [RESEND PATCH v3] Babel: allow choosing link quality estimation] algorithm]

2023-11-08 Thread Juliusz Chroboczek
>> And babeld the reference implementation also allows enabling link quality
>> estimation and the RTT extension at the same time, matching the current
>> behavior of bird.

Exactly right.

> Considering that ETX estimates number of retransmissions, then for
> algorithm that takes into account both RTT and packet loss it makes more
> sense to have RTT metric multiplied by ETX coeficient?

The current algorithm is described here:

  https://datatracker.ietf.org/doc/html/draft-ietf-babel-rtt-extension

My intuition is that it doesn't matter much.  The goal is not to have an
accurate model of reality, the goal is to choose optimal paths.  And
I would guess that in any realistic topology, the two algorithms will
yield the same or almost the same set of paths.

It looks like your intuition is different from mine: that's exciting, and
it means that we need to design an experiment in order to find out who's
right.  Can you design a topology in which the algorithm described in the
draft and the algorithm that you propose yield different sets of paths,
and where your proposed algorithm leads to significantly better performance?

If it turns out that you're right, I'll be thrilled to write a successor
RFC, perhaps with you as co-author.

-- Juliusz


Babel RTT mechanism [Was: [RESEND PATCH v3] Babel: allow choosing link quality estimation] algorithm]

2023-11-08 Thread Ondrej Zajicek
On Sat, Oct 28, 2023 at 09:24:56PM -0400, Nick Cao via Bird-users wrote:
> Resend of the patch in 
> http://trubka.network.cz/pipermail/bird-users/2023-June/017058.html
> 
> ETX link quality estimation algorithm is useful for link types other than 
> wireless,
> especially when using babel with tunnels where packet losses do occur.

Hi

I looked at your patch with intent of merging it, i like a separate
option for selection of dynamic metric algorithm, but i noticed that i
misunderstood how recently added RTT mechanism interacts with the rest.

I thought we have three alternative link quality / metric estimation
algorithms:

 - fixed (k-out-of-j)
 - ETX
 - RTT

But in fact RTT is independent metric, which is added on top of fixed/ETX
metric.

Is this intentional? Does it make sense?

(This is mainly a question for Toke or Juliusz)

-- 
Elen sila lumenn' omentielvo

Ondrej 'Santiago' Zajicek (email: santi...@crfreenet.org)
OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net)
"To err is human -- to blame it on a computer is even more so."