Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test over starlink #8

Open
dtaht opened this issue Nov 1, 2022 · 8 comments
Open

test over starlink #8

dtaht opened this issue Nov 1, 2022 · 8 comments

Comments

@dtaht
Copy link

dtaht commented Nov 1, 2022

this is 802.11n wifi on the laptop, running fq_codel, so it is bound by that on the download

davet@milliways:~/git/obudpst$ ./udpst -4 -d fremont.starlink.taht.net
UDP Speed Test
Software Ver: 7.5.0, Protocol Ver: 9, Built: Oct 31 2022 20:39:49
Mode: Client, Payload Default[Max]: 1222[8972], Authentication: Available, SendMMsg(): Available
Downstream Test Int(sec): 10, DelayVar Thresh(ms): 30-90 [RTT], Trial Int(ms): 50, Ignore OoO/Dup: Disabled, Payload: zeroes,
SendRate Index: , Cong. Thresh: 3, High-Speed Delta: 10, SeqError Thresh: 10, Algo: B, IPv4 ToS: 0
Sub-Interval1: 1, Delivered(%): 99.84, Loss/OoO/Dup: 4/0/0, OWDVar(ms): 0/74/110, RTTVar(ms): 0-138, Mbps(L3/IP): 23.53
Sub-Interval2: 2, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 0/4/13, RTTVar(ms): 0-24, Mbps(L3/IP): 11.77
Sub-Interval3: 3, Delivered(%): 99.63, Loss/OoO/Dup: 10/0/0, OWDVar(ms): 1/22/77, RTTVar(ms): 2-86, Mbps(L3/IP): 23.60
Sub-Interval4: 4, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 1/14/76, RTTVar(ms): 8-100, Mbps(L3/IP): 32.09
Sub-Interval5: 5, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 1/29/88, RTTVar(ms): 8-95, Mbps(L3/IP): 43.26
Sub-Interval6: 6, Delivered(%): 81.91, Loss/OoO/Dup: 709/0/0, OWDVar(ms): 32/183/213, RTTVar(ms): 61-220, Mbps(L3/IP): 29.32
Sub-Interval7: 7, Delivered(%): 95.97, Loss/OoO/Dup: 155/0/0, OWDVar(ms): 1/81/201, RTTVar(ms): 5-215, Mbps(L3/IP): 31.88
Sub-Interval8: 8, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 0/4/13, RTTVar(ms): 7-39, Mbps(L3/IP): 33.36
Sub-Interval9: 9, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 0/4/11, RTTVar(ms): 5-41, Mbps(L3/IP): 47.37
Sub-Interval10: 10, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 1/6/28, RTTVar(ms): 8-57, Mbps(L3/IP): 58.15
Downstream Summary Delivered(%): 97.70, Loss/OoO/Dup: 878/0/0, OWDVar(ms): 0/42/213, RTTVar(ms): 0-220, Mbps(L3/IP): 33.43
Downstream Minimum One-Way Delay(ms): 47 [w/clock difference], Round-Trip Time(ms): 39
Downstream Maximum Mbps(L3/IP): 58.15, Mbps(L2/Eth): 58.85, Mbps(L1/Eth): 60.03, Mbps(L1/Eth+VLAN): 60.23

@dtaht
Copy link
Author

dtaht commented Nov 1, 2022

./udpst -4 -u fremont.starlink.taht.net
UDP Speed Test
Software Ver: 7.5.0, Protocol Ver: 9, Built: Oct 31 2022 20:39:49
Mode: Client, Payload Default[Max]: 1222[8972], Authentication: Available, SendMMsg(): Available
Upstream Test Int(sec): 10, DelayVar Thresh(ms): 30-90 [RTT], Trial Int(ms): 50, Ignore OoO/Dup: Disabled, Payload: zeroes,
SendRate Index: , Cong. Thresh: 3, High-Speed Delta: 10, SeqError Thresh: 10, Algo: B, IPv4 ToS: 0
Sub-Interval1: 1, Delivered(%): 46.81, Loss/OoO/Dup: 884/0/0, OWDVar(ms): 0/181/401, RTTVar(ms): 0-393, Mbps(L3/IP): 6.19
Sub-Interval2: 2, Delivered(%): 97.76, Loss/OoO/Dup: 31/0/0, OWDVar(ms): 0/133/401, RTTVar(ms): 0-387, Mbps(L3/IP): 5.48
Sub-Interval3: 3, Delivered(%): 99.11, Loss/OoO/Dup: 12/0/0, OWDVar(ms): 1/96/166, RTTVar(ms): 8-158, Mbps(L3/IP): 7.42
Sub-Interval4: 4, Delivered(%): 99.40, Loss/OoO/Dup: 7/0/0, OWDVar(ms): 2/89/228, RTTVar(ms): 0-199, Mbps(L3/IP): 7.38
Sub-Interval5: 5, Delivered(%): 99.02, Loss/OoO/Dup: 12/0/0, OWDVar(ms): 1/121/272, RTTVar(ms): 5-261, Mbps(L3/IP): 5.88
Sub-Interval6: 6, Delivered(%): 98.91, Loss/OoO/Dup: 11/0/0, OWDVar(ms): 1/62/108, RTTVar(ms): 12-102, Mbps(L3/IP): 8.17
Sub-Interval7: 7, Delivered(%): 99.30, Loss/OoO/Dup: 9/0/0, OWDVar(ms): 1/116/187, RTTVar(ms): 11-176, Mbps(L3/IP): 7.76
Sub-Interval8: 8, Delivered(%): 99.56, Loss/OoO/Dup: 3/0/0, OWDVar(ms): 2/41/347, RTTVar(ms): 7-206, Mbps(L3/IP): 4.35
Sub-Interval9: 9, Delivered(%): 33.97, Loss/OoO/Dup: 655/0/0, OWDVar(ms): 339/385/401, RTTVar(ms): 349-408, Mbps(L3/IP): 1.29
Sub-Interval10: 10, Delivered(%): 99.12, Loss/OoO/Dup: 9/0/0, OWDVar(ms): 15/166/363, RTTVar(ms): 13-316, Mbps(L3/IP): 1.44
Upstream Summary Delivered(%): 86.13, Loss/OoO/Dup: 1633/0/0, OWDVar(ms): 0/139/401, RTTVar(ms): 0-408, Mbps(L3/IP): 5.54
Upstream Minimum One-Way Delay(ms): -7 [w/clock difference], Round-Trip Time(ms): 49
Upstream Maximum Mbps(L3/IP): 8.17, Mbps(L2/Eth): 8.28, Mbps(L1/Eth): 8.47, Mbps(L1/Eth+VLAN): 8.50

@dtaht
Copy link
Author

dtaht commented Nov 1, 2022

Enabling ecn via -m 2

the speed difference is mostly because I ran this back to back with the previous test and starlink had given me 24mbit of bandwidth to play with.

Bug: Doesn't track any transitions on the other side

./udpst -4 -m 2 -u fremont.starlink.taht.net
UDP Speed Test
Software Ver: 7.5.0, Protocol Ver: 9, Built: Oct 31 2022 20:39:49
Mode: Client, Payload Default[Max]: 1222[8972], Authentication: Available, SendMMsg(): Available
Upstream Test Int(sec): 10, DelayVar Thresh(ms): 30-90 [RTT], Trial Int(ms): 50, Ignore OoO/Dup: Disabled, Payload: zeroes,
SendRate Index: , Cong. Thresh: 3, High-Speed Delta: 10, SeqError Thresh: 10, Algo: B, IPv4 ToS: 2
Sub-Interval1: 1, Delivered(%): 99.66, Loss/OoO/Dup: 7/0/0, OWDVar(ms): 1/104/251, RTTVar(ms): 0-240, Mbps(L3/IP): 18.47
LOCAL WARNING: Incoming status feedback messages lost (1)
Sub-Interval2: 2, Delivered(%): 99.73, Loss/OoO/Dup: 4/0/0, OWDVar(ms): 0/113/290, RTTVar(ms): 0-292, Mbps(L3/IP): 9.44
Sub-Interval3: 3, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 0/18/33, RTTVar(ms): 7-46, Mbps(L3/IP): 11.25
Sub-Interval4: 4, Delivered(%): 99.90, Loss/OoO/Dup: 2/0/0, OWDVar(ms): 10/24/48, RTTVar(ms): 19-64, Mbps(L3/IP): 17.84
Sub-Interval5: 5, Delivered(%): 99.44, Loss/OoO/Dup: 15/0/0, OWDVar(ms): 12/57/135, RTTVar(ms): 14-119, Mbps(L3/IP): 22.47
Sub-Interval6: 6, Delivered(%): 99.48, Loss/OoO/Dup: 13/0/0, OWDVar(ms): 1/80/146, RTTVar(ms): 14-149, Mbps(L3/IP): 19.08
Sub-Interval7: 7, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 7/24/59, RTTVar(ms): 22-77, Mbps(L3/IP): 18.49
LOCAL WARNING: Incoming status feedback messages lost (1)
Sub-Interval8: 8, Delivered(%): 99.63, Loss/OoO/Dup: 10/0/0, OWDVar(ms): 25/64/137, RTTVar(ms): 33-148, Mbps(L3/IP): 19.58
Sub-Interval9: 9, Delivered(%): 99.60, Loss/OoO/Dup: 8/0/0, OWDVar(ms): 0/104/208, RTTVar(ms): 14-210, Mbps(L3/IP): 15.21
Sub-Interval10: 10, Delivered(%): 99.90, Loss/OoO/Dup: 2/0/0, OWDVar(ms): 5/22/48, RTTVar(ms): 20-75, Mbps(L3/IP): 17.03
Upstream Summary Delivered(%): 99.71, Loss/OoO/Dup: 61/0/0, OWDVar(ms): 0/61/290, RTTVar(ms): 0-292, Mbps(L3/IP): 16.89
Upstream Minimum One-Way Delay(ms): 6 [w/clock difference], Round-Trip Time(ms): 67
Upstream Maximum Mbps(L3/IP): 22.47, Mbps(L2/Eth): 22.77, Mbps(L1/Eth): 23.28, Mbps(L1/Eth+VLAN): 23.36

./udpst -4 -m 2 -d fremont.starlink.taht.net
UDP Speed Test
Software Ver: 7.5.0, Protocol Ver: 9, Built: Oct 31 2022 20:39:49
Mode: Client, Payload Default[Max]: 1222[8972], Authentication: Available, SendMMsg(): Available
Downstream Test Int(sec): 10, DelayVar Thresh(ms): 30-90 [RTT], Trial Int(ms): 50, Ignore OoO/Dup: Disabled, Payload: zeroes,
SendRate Index: , Cong. Thresh: 3, High-Speed Delta: 10, SeqError Thresh: 10, Algo: B, IPv4 ToS: 2
Sub-Interval1: 1, Delivered(%): 99.05, Loss/OoO/Dup: 25/0/0, OWDVar(ms): 0/108/203, RTTVar(ms): 0-207, Mbps(L3/IP): 24.82
Sub-Interval2: 2, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 0/11/147, RTTVar(ms): 5-126, Mbps(L3/IP): 11.94
Sub-Interval3: 3, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 0/6/21, RTTVar(ms): 5-24, Mbps(L3/IP): 26.55
Sub-Interval4: 4, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 1/21/110, RTTVar(ms): 9-87, Mbps(L3/IP): 38.11
Sub-Interval5: 5, Delivered(%): 100.00, Loss/OoO/Dup: 0/20/0, OWDVar(ms): 1/51/123, RTTVar(ms): 5-126, Mbps(L3/IP): 50.12
Sub-Interval6: 6, Delivered(%): 87.06, Loss/OoO/Dup: 642/35/0, OWDVar(ms): 15/112/207, RTTVar(ms): 34-282, Mbps(L3/IP): 40.63
Sub-Interval7: 7, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 4/37/101, RTTVar(ms): 12-110, Mbps(L3/IP): 38.64
Sub-Interval8: 8, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 4/43/132, RTTVar(ms): 14-141, Mbps(L3/IP): 42.17
Sub-Interval9: 9, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 4/89/141, RTTVar(ms): 38-175, Mbps(L3/IP): 35.51
Sub-Interval10: 10, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 3/9/21, RTTVar(ms): 11-42, Mbps(L3/IP): 30.76
Downstream Summary Delivered(%): 98.26, Loss/OoO/Dup: 667/55/0, OWDVar(ms): 0/49/207, RTTVar(ms): 0-282, Mbps(L3/IP): 33.92
Downstream Minimum One-Way Delay(ms): 47 [w/clock difference], Round-Trip Time(ms): 38
Downstream Maximum Mbps(L3/IP): 50.12, Mbps(L2/Eth): 50.73, Mbps(L1/Eth): 51.77, Mbps(L1/Eth+VLAN): 51.95

@dtaht
Copy link
Author

dtaht commented Nov 1, 2022

./udpst -4 -m 2 -u fremont.starlink.taht.net

you can set ecn and have fq_codel set it, as for what effect it has, don't know. Looks real easy to see if A) the diffserv and ecn bits are preserved and b) if there's an ecn-enable AQM on the path.

this is with the sqm-scripts set to 6mbit down and up to force fq_codel (cake in this case) to mark like crazy. It still remarkably gets the right bandwidth!!!

./udpst -4 -m 2 -u fremont.starlink.taht.net

UDP Speed Test
Software Ver: 7.5.0, Protocol Ver: 9, Built: Oct 31 2022 20:39:49
Mode: Client, Payload Default[Max]: 1222[8972], Authentication: Available, SendMMsg(): Available
Upstream Test Int(sec): 10, DelayVar Thresh(ms): 30-90 [RTT], Trial Int(ms): 50, Ignore OoO/Dup: Disabled, Payload: zeroes,
SendRate Index: , Cong. Thresh: 3, High-Speed Delta: 10, SeqError Thresh: 10, Algo: B, IPv4 ToS: 2
Sub-Interval1: 1, Delivered(%): 41.16, Loss/OoO/Dup: 905/0/0, OWDVar(ms): 0/191/359, RTTVar(ms): 0-341, Mbps(L3/IP): 5.05
Sub-Interval2: 2, Delivered(%): 86.09, Loss/OoO/Dup: 198/0/0, OWDVar(ms): 0/98/364, RTTVar(ms): 1-337, Mbps(L3/IP): 4.06
Sub-Interval3: 3, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 2/86/164, RTTVar(ms): 0-147, Mbps(L3/IP): 4.43
Sub-Interval4: 4, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 1/68/139, RTTVar(ms): 3-127, Mbps(L3/IP): 5.74
Sub-Interval5: 5, Delivered(%): 84.85, Loss/OoO/Dup: 105/0/0, OWDVar(ms): 3/109/404, RTTVar(ms): 4-409, Mbps(L3/IP): 1.84
Sub-Interval6: 6, Delivered(%): 86.04, Loss/OoO/Dup: 190/0/0, OWDVar(ms): 15/199/404, RTTVar(ms): 20-401, Mbps(L3/IP): 1.42
Sub-Interval7: 7, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 17/60/129, RTTVar(ms): 21-112, Mbps(L3/IP): 1.66
Sub-Interval8: 8, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 4/67/115, RTTVar(ms): 3-101, Mbps(L3/IP): 3.40
Sub-Interval9: 9, Delivered(%): 99.08, Loss/OoO/Dup: 6/0/0, OWDVar(ms): 17/210/370, RTTVar(ms): 21-349, Mbps(L3/IP): 2.96
Sub-Interval10: 10, Delivered(%): 99.75, Loss/OoO/Dup: 3/0/0, OWDVar(ms): 13/113/364, RTTVar(ms): 18-363, Mbps(L3/IP): 2.34
Upstream Summary Delivered(%): 87.08, Loss/OoO/Dup: 1407/0/0, OWDVar(ms): 0/120/404, RTTVar(ms): 0-409, Mbps(L3/IP): 3.29
Upstream Minimum One-Way Delay(ms): -22 [w/clock difference], Round-Trip Time(ms): 38
Upstream Maximum Mbps(L3/IP): 5.74, Mbps(L2/Eth): 5.84, Mbps(L1/Eth): 6.02, Mbps(L1/Eth+VLAN): 6.05

@acmacm
Copy link
Contributor

acmacm commented Nov 1, 2022 via email

@acmacm
Copy link
Contributor

acmacm commented Nov 1, 2022

Dave,
Sorry! I'm trying to understand "Bug: Doesn't track any transitions on the other side"
Are we talking about the test setup/configuration? Or that results don't show conditions are changing at the other host? Or ?? I'm really up the creek w/o paddle.
Thanks,
Al

@dtaht
Copy link
Author

dtaht commented Nov 2, 2022

ecn bit transitions, e.g. 2 - 3

@acmacm
Copy link
Contributor

acmacm commented Nov 2, 2022 via email

@dtaht
Copy link
Author

dtaht commented Nov 3, 2022

Here is a packet capture of sch_cake set to 6Mbits with your "B" form of test, doing ecn marking:

http://www.taht.net/~d/udptestecn.cap

It would be really cool if wireshark could plot the behavior of this protocol. And even cooler if it could detect the use of ECN, and even the underlying AQM (fq_codel/cake are deterministic, pie and fq_pie are random) I'm still amazed (having not looked at the code) that it accurately finds the real bandwidth as well as it does, and as fast as it does.

That said, it's painfully true (as discussed on the list) that bandwidth is fiddled with over time, and comes and goes rapidly over wireless transports. Here's some plots of tests of starlink from last year:

https://docs.google.com/document/d/1puRjUVxJ6cCv-rgQ_zn-jWZU9ae0jZbFATLf4PQKblM/edit

And for a few laughs as to what happened next, see: https://www.youtube.com/watch?v=c9gLo6Xrwgw

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants