openmptcprouter icon indicating copy to clipboard operation
openmptcprouter copied to clipboard

Best configuration for low latency and seamless failover

Open jamesdiener opened this issue 3 years ago • 33 comments

Expected Behavior

I would like to know what configurations I have to make in order to optimize for low latency and seemless failover

Current Behavior

The latency isn't better than without Open MPTCP Router

Specifications

  • OpenMPTCProuter version:
  • openmptcprouter-v0.58.5-r0+16336-b36068d35d-bcm27xx-bcm2711-rpi-4-ext4-factory.img
  • OpenMPTCProuter VPS version:
  • 0.1026
  • OpenMPTCProuter VPS provider:
  • netcup
  • OpenMPTCProuter platform:
  • RPI4

jamesdiener avatar Jan 05 '22 07:01 jamesdiener

Please check the wiki~

suyuan168 avatar Jan 05 '22 13:01 suyuan168

@suyuan168 I checked and found nothing about optimization for best latency

jamesdiener avatar Jan 05 '22 14:01 jamesdiener

But if you found something please share the link :)

jamesdiener avatar Jan 05 '22 14:01 jamesdiener

also wants to know!

mstrolo avatar Jan 05 '22 15:01 mstrolo

There is no best, only better. Expand the page according to the wiki。 https://github.com/Ysurac/openmptcprouter/wiki/Optimization

suyuan168 avatar Jan 05 '22 15:01 suyuan168

if I use v2ray instead of Shadowsocks it is now using the glorytun?

for me Shadowsocks is not working it saying cant get IP address so i am using v2ray on intel nuc

mstrolo avatar Jan 05 '22 16:01 mstrolo

As far as I know an optimization of latency requires a different configuration than optimization of bandwith/aggregation. That's why I would like to know which parameters I have to change or check. And I assume Congestion Control and tcp syn retries as described in the wiki are not the only relevant parameters. Further there is no information which congestion control promises better latency.

⁣Get BlueMail for Android ​

On Jan 5, 2022, 23:58, at 23:58, suyuan @.***> wrote:

There is no best, only better. Expand the page according to the wiki。 https://github.com/Ysurac/openmptcprouter/wiki/Optimization

-- Reply to this email directly or view it on GitHub: https://github.com/Ysurac/openmptcprouter/issues/2235#issuecomment-1005851812 You are receiving this because you authored the thread.

Message ID: @.***>

jamesdiener avatar Jan 05 '22 18:01 jamesdiener

You can't get a better latency than your best connection. For congestion control, you have to test: each case is different.

Ysurac avatar Jan 05 '22 20:01 Ysurac

That's what I tried to explain in my original issue. The latency is often worse than the latency of the best connection. I assume that the router doesn't utilize that connection, but also the connection with higher latency. That's why I want to know: how to optimize the system for best latency instead of best throughout/bandwith?

⁣Get BlueMail for Android ​

On Jan 6, 2022, 04:12, at 04:12, "Ycarus (Yannick Chabanois)" @.***> wrote:

You can't get a better latency than your best connection. For congestion control, you have to test: each case is different.

-- Reply to this email directly or view it on GitHub: https://github.com/Ysurac/openmptcprouter/issues/2235#issuecomment-1006043071 You are receiving this because you authored the thread.

Message ID: @.***>

jamesdiener avatar Jan 06 '22 01:01 jamesdiener

Apparently ReMDeLa protocol can achieve good latency:

https://www.researchgate.net/publication/336434800_Redundant_Multipath-TCP_Scheduling_with_Desired_Packet_Latency

⁣Get BlueMail for Android ​

On Jan 6, 2022, 04:12, at 04:12, "Ycarus (Yannick Chabanois)" @.***> wrote:

You can't get a better latency than your best connection. For congestion control, you have to test: each case is different.

-- Reply to this email directly or view it on GitHub: https://github.com/Ysurac/openmptcprouter/issues/2235#issuecomment-1006043071 You are receiving this because you authored the thread.

Message ID: @.***>

jamesdiener avatar Jan 06 '22 02:01 jamesdiener

there are two that suppose to make it happen SlothTail and ReMDeLa how do we use them?

mstrolo avatar Jan 06 '22 04:01 mstrolo

CFS is another candidate. Have to check again if one of them is already available in OMR.

⁣Get BlueMail for Android ​

On Jan 6, 2022, 12:42, at 12:42, mstrolo @.***> wrote:

there are two that suppose to make it happed SlothTail and ReMDeLa how do we use them?

-- Reply to this email directly or view it on GitHub: https://github.com/Ysurac/openmptcprouter/issues/2235#issuecomment-1006280413 You are receiving this because you authored the thread.

Message ID: @.***>

jamesdiener avatar Jan 06 '22 10:01 jamesdiener

so what is the wiki-article we are talking here? what is the current recommendation for e.g. 3 similar, stable WAN connections via broadband.

Adorfer avatar Jan 06 '22 18:01 Adorfer

Suyuan referred to this page:

https://github.com/Ysurac/openmptcprouter/wiki/Optimization

But it doesn't say much more than 'you can try another congestion control algorithm', and it doesn't say what the effect of such optimization would be.

Quote of the article:

"To optimize TCP traffic

In Network->MPTCP, you can try another TCP Congestion Control. BBR2 seems to offer a good result in many case (available only on 64bits arch), BBR give a good result only when connection are good without packets lost. Cubic work in every case but can be slower.

If you have a bad connection, you can increase TCP Syn retries."

⁣Get BlueMail for Android ​

On Jan 7, 2022, 02:30, at 02:30, Adorfer @.***> wrote:

so what is the wiki-article we are talking here? what is the current recommendation for e.g. 3 similar, stable WAN connections via broadband.

-- Reply to this email directly or view it on GitHub: https://github.com/Ysurac/openmptcprouter/issues/2235#issuecomment-1006818787 You are receiving this because you authored the thread.

Message ID: @.***>

jamesdiener avatar Jan 07 '22 00:01 jamesdiener

how do we add those protocols to omr?

mstrolo avatar Jan 07 '22 05:01 mstrolo

ECF is available in MPTCP and seems to do a good job in terms of lateny

⁣Get BlueMail for Android ​

On Jan 7, 2022, 13:54, at 13:54, mstrolo @.***> wrote:

how do we add those protocols to omr?

-- Reply to this email directly or view it on GitHub: https://github.com/Ysurac/openmptcprouter/issues/2235#issuecomment-1007159639 You are receiving this because you authored the thread.

Message ID: @.***>

jamesdiener avatar Jan 10 '22 08:01 jamesdiener

ECF is available in MPTCP and seems to do a good job in terms of latency

⁣Get BlueMail for Android ​

On Jan 5, 2022, 23:54, at 23:54, mstrolo @.***> wrote:

also wants to know!

-- Reply to this email directly or view it on GitHub: https://github.com/Ysurac/openmptcprouter/issues/2235#issuecomment-1005848451 You are receiving this because you authored the thread.

Message ID: @.***>

jamesdiener avatar Jan 10 '22 08:01 jamesdiener

what does ECF optimize? latency? speed?

mstrolo avatar Jan 10 '22 09:01 mstrolo

It means, ECF (Earliest Completion First)

Better latency is one benefit compared to standard mptcp

⁣Get BlueMail for Android ​

On Jan 10, 2022, 17:13, at 17:13, mstrolo @.***> wrote:

what does ecf opyimize? latency? speed?

-- Reply to this email directly or view it on GitHub: https://github.com/Ysurac/openmptcprouter/issues/2235#issuecomment-1008672318 You are receiving this because you authored the thread.

Message ID: @.***>

jamesdiener avatar Jan 10 '22 12:01 jamesdiener

Good discussion:

https://github.com/Ysurac/openmptcprouter/issues/972

⁣Get BlueMail for Android ​

On Jan 5, 2022, 23:54, at 23:54, mstrolo @.***> wrote:

also wants to know!

-- Reply to this email directly or view it on GitHub: https://github.com/Ysurac/openmptcprouter/issues/2235#issuecomment-1005848451 You are receiving this because you authored the thread.

Message ID: @.***>

jamesdiener avatar Jan 10 '22 13:01 jamesdiener

Good discussion:

https://github.com/Ysurac/openmptcprouter/issues/972

⁣Get BlueMail for Android ​

On Jan 10, 2022, 17:13, at 17:13, mstrolo @.***> wrote:

what does ecf opyimize? latency? speed?

-- Reply to this email directly or view it on GitHub: https://github.com/Ysurac/openmptcprouter/issues/2235#issuecomment-1008672318 You are receiving this because you authored the thread.

Message ID: @.***>

jamesdiener avatar Jan 10 '22 13:01 jamesdiener

did you manage to understand what will be best for each conifguration? like what's best for latency or what it best for ping or streaming?

mstrolo avatar Jan 15 '22 21:01 mstrolo

ECF improves latency a lot in a heterogen wan environment as it will prioritize the low latency connection. So it improved my connection a lot for rdp application which requires low latency. For uninterrupted live streaming, I'm still trying to figure out which congestion control works best in my scenario. I'd need that for solid video calls

Jan 16, 2022 5:52:56 AM mstrolo @.***>:

did you manage to understand what will be best for each conifguration? like what's best for latency or what it best for ping or streaming?

— Reply to this email directly, view it on GitHub[https://github.com/Ysurac/openmptcprouter/issues/2235#issuecomment-1013759750], or unsubscribe[https://github.com/notifications/unsubscribe-auth/AML2LDA2X7TD7ZQJSRZFW3TUWHUDPANCNFSM5LJHYRGA]. Triage notifications on the go with GitHub Mobile for iOS[https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675] or Android[https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub]. You are receiving this because you authored the thread. [data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEIAAABCCAYAAADjVADoAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAAnSURBVHic7cEBDQAAAMKg909tDwcUAAAAAAAAAAAAAAAAAAAAAPBjRFIAASHKmKkAAAAASUVORK5CYII=###24x24:true###][Tracking image][https://github.com/notifications/beacon/AML2LDCJCFAXZPBZSGN4H5DUWHUDPA5CNFSM5LJHYRGKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOHRWL6BQ.gif]

jamesdiener avatar Jan 21 '22 06:01 jamesdiener

what I am looking to achieve is 3 options

one for speed optimization one for latency and one for packets which is the video and that

mstrolo avatar Jan 21 '22 08:01 mstrolo

Interesting targets! And is there a way to switch between those 3 'profiles' in a convenient way?

Jan 21, 2022 4:15:52 PM mstrolo @.***>:

what I am looking to achieve is 3 options

one for speed optimization one for latency and one for packets which is the video and that

— Reply to this email directly, view it on GitHub[https://github.com/Ysurac/openmptcprouter/issues/2235#issuecomment-1018278784], or unsubscribe[https://github.com/notifications/unsubscribe-auth/AML2LDELD6JPAWGPWTT6ARDUXEI3NANCNFSM5LJHYRGA]. Triage notifications on the go with GitHub Mobile for iOS[https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675] or Android[https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub]. You are receiving this because you authored the thread. [data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEIAAABCCAYAAADjVADoAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAAnSURBVHic7cEBDQAAAMKg909tDwcUAAAAAAAAAAAAAAAAAAAAAPBjRFIAASHKmKkAAAAASUVORK5CYII=###24x24:true###][Tracking image][https://github.com/notifications/beacon/AML2LDFR2Y3BFMS5CAFXCB3UXEI3NA5CNFSM5LJHYRGKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOHSY3HAA.gif]

jamesdiener avatar Jan 21 '22 11:01 jamesdiener

i did it with a phone app

mstrolo avatar Jan 21 '22 12:01 mstrolo

What is qpp?

Jan 21, 2022 8:04:37 PM mstrolo @.***>:

i did it with a phone qpp

— Reply to this email directly, view it on GitHub[https://github.com/Ysurac/openmptcprouter/issues/2235#issuecomment-1018446551], or unsubscribe[https://github.com/notifications/unsubscribe-auth/AML2LDA5UKRSHJBCDKKHSI3UXFDVFANCNFSM5LJHYRGA]. Triage notifications on the go with GitHub Mobile for iOS[https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675] or Android[https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub]. You are receiving this because you authored the thread. [data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEIAAABCCAYAAADjVADoAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAAnSURBVHic7cEBDQAAAMKg909tDwcUAAAAAAAAAAAAAAAAAAAAAPBjRFIAASHKmKkAAAAASUVORK5CYII=###24x24:true###][Tracking image][https://github.com/notifications/beacon/AML2LDE26T4K4C7JK5V6URLUXFDVFA5CNFSM5LJHYRGKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOHS2EFVY.gif]

jamesdiener avatar Jan 21 '22 15:01 jamesdiener

Phone app? Which app did you use?

Jan 21, 2022 8:04:37 PM mstrolo @.***>:

i did it with a phone qpp

— Reply to this email directly, view it on GitHub[https://github.com/Ysurac/openmptcprouter/issues/2235#issuecomment-1018446551], or unsubscribe[https://github.com/notifications/unsubscribe-auth/AML2LDA5UKRSHJBCDKKHSI3UXFDVFANCNFSM5LJHYRGA]. Triage notifications on the go with GitHub Mobile for iOS[https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675] or Android[https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub]. You are receiving this because you authored the thread. [data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEIAAABCCAYAAADjVADoAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAAnSURBVHic7cEBDQAAAMKg909tDwcUAAAAAAAAAAAAAAAAAAAAAPBjRFIAASHKmKkAAAAASUVORK5CYII=###24x24:true###][Tracking image][https://github.com/notifications/beacon/AML2LDE26T4K4C7JK5V6URLUXFDVFA5CNFSM5LJHYRGKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOHS2EFVY.gif]

jamesdiener avatar Jan 21 '22 15:01 jamesdiener

Blynk And i added options to change the Congestion.

Do you have an idea for duplicate packets? I know it can bring down the delay on zoom and more like that

mstrolo avatar Jan 31 '22 18:01 mstrolo

hi how can we deal with video buffering? i have founs this: Cross-Layer Scheduler for Video Streaming over MPTCP

is this Scheduler part of the current version?

mstrolo avatar Mar 27 '22 19:03 mstrolo