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

uTP Input + Output #6

Closed
wants to merge 8 commits into from
Closed

uTP Input + Output #6

wants to merge 8 commits into from

Conversation

lmangani
Copy link
Member

Micro Transport Protocol or µTP (sometimes also uTP) is an open UDP-based variant of the BitTorrent peer-to-peer file sharing protocol intended to mitigate poor latency and other congestion control issues found in conventional BitTorrent over TCP, while providing reliable, ordered delivery.

@amark
Copy link
Collaborator

amark commented Sep 25, 2017

Ordered delivery over UDP based messaging, now that is a tall request!

@lmangani
Copy link
Member Author

uTP sequence number when delivering back to the application and has a smooth congestion control which seems ideal for monitoring when we don't want the stream to interfere with other types of network applications - an interesting protocol: http://www.bittorrent.org/beps/bep_0029.html

The motivation for uTP is for BitTorrent clients to not disrupt internet connections, while still utilizing the unused bandwidth fully.

... 

uTP solves this problem by using the modem queue size as a controller for its send rate. When the queue grows too large, it throttles back.

This lets it utilize the full upload capacity when there is no competition for it, and it lets it throttle back to virtually nothing when there is a lot of interactive traffic.

@lmangani lmangani changed the title uTP support uTP Input + Output Oct 29, 2017
@lmangani lmangani closed this Jan 19, 2020
@spady7 spady7 mentioned this pull request Dec 17, 2020
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

Successfully merging this pull request may close these issues.

None yet

2 participants