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

what is the bandwidth of the datachannel under Local Network? #1291

Open
pppaulpeter opened this issue Nov 21, 2024 · 3 comments
Open

what is the bandwidth of the datachannel under Local Network? #1291

pppaulpeter opened this issue Nov 21, 2024 · 3 comments

Comments

@pppaulpeter
Copy link

Hi Louis,

may i know have you test the bandwidth of the datachannel with libdatachannel? have you test it under arm device like raspberry pi4? it seems there is limitation in sctp library. this is the issue on sctp library
sctplab/usrsctp#245
@paullouisageneau

@paullouisageneau
Copy link
Owner

Locally data channel throughput will CPU-limited, mostly because of encryption. SCTP was a CPU bottleneck earlier because it had to calculate CRC32, however this is not the case anymore.

In practice between two desktop computers a data channel should be able to reach 700Mbit/s to 1Gbit/s with libdatachannel built in release mode provided the local network is fast enough, but it depends on the crypto library (from my experience it is significantly faster with GnuTLS than with OpenSSL). Of course throughput will be lower if one side is a less powerful machine or runs WebRTC in a browser.

@pppaulpeter
Copy link
Author

Locally data channel throughput will CPU-limited, mostly because of encryption. SCTP was a CPU bottleneck earlier because it had to calculate CRC32, however this is not the case anymore.

In practice between two desktop computers a data channel should be able to reach 700Mbit/s to 1Gbit/s with libdatachannel built in release mode provided the local network is fast enough, but it depends on the crypto library (from my experience it is significantly faster with GnuTLS than with OpenSSL). Of course throughput will be lower if one side is a less powerful machine or runs WebRTC in a browser.

Hi Louis,
thanks for your reply, have you test it on any embedded device?

@paullouisageneau
Copy link
Owner

thanks for your reply, have you test it on any embedded device?

From experience, on a Raspberry Pi 4 it can send close to 100Mbit/s, it's limited by encryption. It should be way faster on Raspberry Pi 5 which has hardware cryptography extensions.

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