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

lost packets when server gets 'stressed' #51

Closed
jbaramidze opened this issue Jul 18, 2016 · 6 comments
Closed

lost packets when server gets 'stressed' #51

jbaramidze opened this issue Jul 18, 2016 · 6 comments

Comments

@jbaramidze
Copy link

Hello.

I'm using coturn server to relay data. I'm using TCP protocol, and when I send too much data together (ChannelData messages themself are small, but I send lot of them together), receiving side starts losing packets. question is: why does this happen? why doesn't it stop accepting new packets instead if it cannot relay them so quickly? logs don't even show any warning. How can I avoid it? is the only solution to add some layer on top of those packets to make sure they get delivered before sending new ones? like implementing 'pseudo-tcp' layer?

here's how I reproduce it:

turnutils_uclient -T -v -y -z 1 -l 500 -n 300 -u user1 -w pass1 server1

@mom040267
Copy link
Contributor

TURN was optimized for media applications. Dropping the packets is a more
efficient approach than end-to-end throughput check.

On Mon, Jul 18, 2016 at 8:06 AM, Zhani Baramidze notifications@github.com
wrote:

Hello.

I'm using coturn server to relay data. I'm using TCP protocol, and when I
send too much data together (ChannelData messages themself are small, but I
send lot of them together), receiving side starts losing packets. question
is: why does this happen? why doesn't it stop accepting new packets instead
if it cannot relay them so quickly? logs don't even show any warning. How
can I avoid it? is the only solution to add some layer on top of those
packets to make sure they get delivered before sending new ones? like
implementing 'pseudo-tcp' layer?

here's how I reproduce it:

turnutils_uclient -T -v -y -z 1 -l 500 -n 300 -u user1 -w pass1 server1


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#51, or mute the thread
https://github.com/notifications/unsubscribe-auth/AFq2UAJBREDa3bYkPT9_De5_nWcbP5S-ks5qW5aTgaJpZM4JOz5L
.

@jbaramidze
Copy link
Author

what's the point of using TCP to talk to coturn then? if packets may still get lost?

@jbaramidze
Copy link
Author

I was investigating code, can you please tell me at which part does the packets get lost?

@mom040267
Copy link
Contributor

The only real reason to use TCP is to avoid limitations that some firewalls are setting on UDP.

Sent from my iPhone

On Jul 19, 2016, at 12:59 AM, Zhani Baramidze notifications@github.com wrote:

what's the point of using TCP to talk to coturn then? if packets may still get lost?


You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

@mom040267
Copy link
Contributor

I do not have code right now before me but search for congestion control stuff.

I do not advise changing that part - the result may be unexpected and unpleasant.

Sent from my iPhone

On Jul 19, 2016, at 12:59 AM, Zhani Baramidze notifications@github.com wrote:

what's the point of using TCP to talk to coturn then? if packets may still get lost?


You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

@qvbige240
Copy link

I'm using coturn server to relay data and have the same problem. Have a reliable data transmission version or branch using TCP? if just modify the variable "tcp_congestion_control " to 0, still lost packets

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

3 participants