1
Stefan
нет рекомендаций
нет жалоб
Завершён
Название проекта: UDT или reliable UDP
Вариант сотрудничества: Одноразовый проект
Раздел: Разработка программ
Предоплата: без предоплат
Способы оплаты: Наличные
Прием заявок: завершен
Вариант сотрудничества: Одноразовый проект
Раздел: Разработка программ
Предоплата: без предоплат
Способы оплаты: Наличные
Прием заявок: завершен
Описание проекта:
Необходимо реализовать 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
Необходимо реализовать 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