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

Question about iperf #13

Open
yutailin1993 opened this issue Jun 27, 2024 · 1 comment
Open

Question about iperf #13

yutailin1993 opened this issue Jun 27, 2024 · 1 comment

Comments

@yutailin1993
Copy link

yutailin1993 commented Jun 27, 2024

Hi,

I was trying to run iPerf between 2 different ground stations with Starlink constellation of 100 satellites and 36 ground stations. The two ground stations are node 101 and node 104. I found that, even though, node 101 can perform iPerf as a client to 104 (as a server), it does not work the other way around. They can ping each other, and their routing tables are the same and are shown as follows:

node 101:

9.104.104.0/24  proto bird  metric 32
        nexthop via 9.1.32.50  dev B101-eth32 weight 1
        nexthop via 9.1.88.50  dev B101-eth88 weight 1

node 104:

9.101.101.0/24  proto bird  metric 32
        nexthop via 9.4.32.50  dev B104-eth32 weight 1
        nexthop via 9.4.88.50  dev B104-eth88 weight 1

I also used traceroute to understand the routing hops for both directions. The packets from 101 can reach node 104 through 1 satellite hop, but packets from 104 cannot reach 101. The results from traceroute are shown as follows:

101 to 104:

traceroute to 9.104.104.10 (9.104.104.10), 30 hops max, 60 byte packets
 1  ovs_container_32.GSL_32-101 (9.1.32.50)  35.379 ms  35.363 ms  35.370 ms
 2  9.104.104.10 (9.104.104.10)  70.115 ms  70.126 ms  70.131 ms

104 to 101:

traceroute to 9.101.101.10 (9.101.101.10), 30 hops max, 60 byte packets
 1  * * *
 2  * * *
 3  * * *
 4  * * *
 5  * * *

Does anyone know what might go wrong in my setup?

Thank you.

@xiex386
Copy link
Contributor

xiex386 commented Jul 3, 2024

It seems that you use the main branch of StarryNet. Depending on the OS release and Docker version, Docker may apply some filter rules to packets with specific address, port or other conditions. I guess that's why iperf packets are intercepted.

We recommend that you use the dev branch of StarryNet,which deprecates Docker for its high memory consumption and long start-up time. For your problem, it doesn't apply filter rules anymore so the iperf packets can reach the other end. This branch is experimental and we will continue to improve it.

If you are interested in the filter rules mentioned above, you can check the nftable or iptable rules for verification. Use Linux command nft or iptables to check those rules related to Docker.

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