UDT или reliable UDP

Заказчик
[no-member:pro]Stefan[/no-member:pro]Stefan
Параметры проекта
Вариант сотрудничестваОдноразовый проект
РазделРазработка программ
Предоплатабез предоплат
Способы оплатыНаличные
Приём заявокзавершён
Описание проекта
Необходимо реализовать TCP-подобный протокол на UDP
Т.е. он должен:
1) перепосылать данные в случаи потери
2) выстраивать поток данных в том же порядке, в котором они были отправлены
3) иметь Congetion Control и подстраиваться под ширину канала сети, так же как TCP
Он не должен существенно (более 1% или хуже если объясните почему невозможно лучше) уступать TCP протоколу, на любых скоростях.
Тестировать будем на разных скоростях 100Мб/10Мб/2Мб/1Мб/128Кб
Возможно использовать готовое решение UDT или другое, но необходимо в нем разобраться и исправить баги если есть.
http://udt.sourceforge.net/
http://sourceforge.net/projects/libreudp/
http://sourceforge.net/projects/rudp/
http://www.sctp.de/sctp-download.html
Возможно использовать реализацию TCP, изменив его на UDP
Вы должны быть в теме как работает TCP, на уровни пакетов и таймаутов (ОБЯЗАТЕЛЬНО), иначе не получиться сделать.
Термины в этой статьи должны быть знакомы для вас
http://habrahabr.ru/post/136926/#comment_4559184
Т.е. он должен:
1) перепосылать данные в случаи потери
2) выстраивать поток данных в том же порядке, в котором они были отправлены
3) иметь Congetion Control и подстраиваться под ширину канала сети, так же как TCP
Он не должен существенно (более 1% или хуже если объясните почему невозможно лучше) уступать TCP протоколу, на любых скоростях.
Тестировать будем на разных скоростях 100Мб/10Мб/2Мб/1Мб/128Кб
Возможно использовать готовое решение UDT или другое, но необходимо в нем разобраться и исправить баги если есть.
http://udt.sourceforge.net/
http://sourceforge.net/projects/libreudp/
http://sourceforge.net/projects/rudp/
http://www.sctp.de/sctp-download.html
Возможно использовать реализацию TCP, изменив его на UDP
Вы должны быть в теме как работает TCP, на уровни пакетов и таймаутов (ОБЯЗАТЕЛЬНО), иначе не получиться сделать.
Термины в этой статьи должны быть знакомы для вас
http://habrahabr.ru/post/136926/#comment_4559184