-
Notifications
You must be signed in to change notification settings - Fork 43
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
[Feature request] Multicast UDP #8
Comments
I haven't used this feature in a long time, but you should be able to use broadcast UDP by specifying a broadcast address as the destination. The problem with multicast/broadcast over WiFi is that most WiFi routers turn off all low-level retransmission mechanisms for multicast packets (since they would need to keep track of multiple receivers). In our experiments, this increased the packet drop rate so much that it simply was not worth it. TLDR: We won't work on this, but PRs are welcome. |
Did you try IPv6 multicast during your tests? The internet is very enthusiastic about IPv6 for multicast but I only experimented IPv4. As ROS2 is using DDS, it seems to be capable of UDP multicast. What do you think of the following architecture? |
No, we did not test IPv6 multicast. I expect the same problems as with IPv4 multicast.
It depends on the task you are trying to solve. nimbro_network is designed for high-latency, high-loss networks. DDS will not work well in this context, since it does not have forward error correction (to my knowledge). If your network has low latency, you can certainly try it. |
Thanks @xqms for the fast answer! We are working on both use-cases: mobile network (using Zerotier as a VPN) and single WiFi access points. It is good to know that it might not work to use DDS with a mobile network due to the high latency. |
In many multi-robot applications, we need few up-downlink for data to the central system and some from the central-system to all the robots which is inconvenient if we are not using Multicast/Broadcast.
The text was updated successfully, but these errors were encountered: