|
UDP vs TCP |
|
|
|
Sep 10 2010, 11:27
|

Знающий
   
Группа: Свой
Сообщений: 857
Регистрация: 14-05-05
Из: Украина
Пользователь №: 4 998

|
 даешь каждой машине по трекеру ) Я держал раньше 2 конекта один UDP второй TCP. основная масса шла по UDP. потом плюнули вырезали все лишнее перевели в Бинарник. сжали что можно. проработали протокол. и отставили только TCP / к тому-же трафик уже конкретно подешевел.
|
|
|
|
|
Sep 10 2010, 11:41
|

Знающий
   
Группа: Свой
Сообщений: 512
Регистрация: 17-02-09
Пользователь №: 44 983

|
Цитата(av-master @ Sep 10 2010, 14:27)   даешь каждой машине по трекеру ) Я держал раньше 2 конекта один UDP второй TCP. основная масса шла по UDP. потом плюнули вырезали все лишнее перевели в Бинарник. сжали что можно. проработали протокол. и отставили только TCP / к тому-же трафик уже конкретно подешевел. Да я все это тоже понимаю, но их технический директор уперся в udp и все логичные доводы просто игнорирует. нам то по большому счету все одно, есть реализованные протоколы и на udp и на tcp, но ведь хочется людям показать, как правильно все таки. P.S. у нас именно такая цель и стоит - ДАЕШЬ КАЖДОЙ МАШИНЕ ПО ТРЕКЕРУ
|
|
|
|
|
Sep 10 2010, 11:56
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(Иванов Андрей Николаевич @ Sep 10 2010, 15:05)  Т.к. трафик стоит денег, то мы не можем слать впустую пакеты, т.к. все считается. Поэтому я считаю, что необходимо использовать tcp, по крайне мере есть определенный процент вероятности, что пакет дойдет. Надо бы еще посмотреть, сколько накладных расходов добавит TCP сам по себе. Вполне может оказаться, что выгоднее тупо гнать UDP раз в десять секунд. Ну и иногда запрашивать квитирование, чтобы быть уверенным хоть в частичной доставке. P.S. Мы решаем сходную задачу (хоть и не трекер) - пока UDP, все от всех валится на один порт...
|
|
|
|
|
Sep 10 2010, 12:46
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(Иванов Андрей Николаевич @ Sep 10 2010, 16:12)  сколько расходво добавляет tcp мы знаем, преимущества и недостатки udp и tcp тоже знаем, только заказчик их особо слушать не хочет. вопрос в том, можете ли вы перечислить, какими доводами вы руководствовались выбирая udp или tcp. Ну, выбирал не я (у меня-то закладывается на выбор, TCP/UDP), тот, кто делал серверную часть, решил, что UDP ему обрабатывать проще...
|
|
|
|
|
Sep 10 2010, 17:50
|

Знающий
   
Группа: Свой
Сообщений: 857
Регистрация: 14-05-05
Из: Украина
Пользователь №: 4 998

|
Цитата ДАЕШЬ КАЖДОЙ МАШИНЕ ПО ТРЕКЕРУ - это не только ваша цель )) я выбирал tcp сам. не особо парясь в стоимости. у меня пакеты умные и упакованые. если на бакс в месяц нашлепает то хороше. больше внимания ИМХО питанию надо уделять ))) и защите входов. палят их постоянно. )) и джамеров накупили кучу. вабще жизни не дают.
|
|
|
|
|
Sep 10 2010, 18:46
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(Иванов Андрей Николаевич @ Sep 10 2010, 13:48)  Господа, возникла такая ситуация. Технический представитель заказчика в конструкции gps-gsm трекера предлагает использовать udp протокол, мы же склоняем его к использованию tcp. не могли бы вы привести факты, плюсы-минусы с вашей точки зрения, по выбору или udp или tcp протокола? заранее спасибо за конструктивную информацию. Тут наверно сценарии применения имеют бОльшее значение чем нюансы протокола. Работу напрямую с проприетарными серверными решениями как бы не рассматриваем в виду того что просто ничего о них не знаем и они часто могут скрывать элементарные, примитивные и нефункциональные решения. А если посмотреть с какими открытыми сервисами могут работать трекеры то все довольно ясно. Чтобы работать с Google maps или другими онлайн картами нужен протокол HTTP который работает поверх TCP. Чтобы находить страницы с картами Google Maps нужен протокол DNS который базируется на UDP. По UDP также работают клиенты точного времени. Если нужна защита канала связи то повсеместно применяют SSL, а SSL требует TCP. Если нужна закачка файлов на FTP или работа с почтовыми серверами то нужен TCP. Однако если нужно получить канал связи между двумя модемами без фиксированных IP и без промежуточного выделенного для этой задачи сервера то надо применять UDP. Также UDP применяется при использовании технологии тонелей. Кстати, все это реализовано на вот таком многофункциональном трекере: ARMGeoSpyder
|
|
|
|
|
Sep 12 2010, 09:38
|

Гуру
     
Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874

|
Цитата(Иванов Андрей Николаевич @ Sep 10 2010, 15:41)  нам то по большому счету все одно, есть реализованные протоколы и на udp и на tcp, но ведь хочется людям показать, как правильно все таки. А как на самом деле "правильно"? UDP - он более низкоуровневый. На нем можно реализовать всё, что позволяет TCP, особенно это несложно, если пакеты небольшие и фиксированного размера. TCP, с другой стороны, гарантирует доставку пакета в наиболее распространенных сценариях. Но на ненадежных каналах этот сервис может сыграть злую шутку: пакеты, нагенерированные источником в реальном времени, забьют канал. Да и переоткрытие TCP соединения в случае разрыва связи тоже требует специальной обработки пользователем. Поэтому сервисы реального времени обычно всё-таки делают на UDP, реализуя мягкую обработку потерь пакетов.
--------------------
Пишите в личку.
|
|
|
|
|
Sep 12 2010, 10:02
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(Oldring @ Sep 12 2010, 12:38)  А как на самом деле "правильно"?
UDP - он более низкоуровневый. На нем можно реализовать всё, что позволяет TCP, особенно это несложно, если пакеты небольшие и фиксированного размера. TCP, с другой стороны, гарантирует доставку пакета в наиболее распространенных сценариях. Но на ненадежных каналах этот сервис может сыграть злую шутку: пакеты, нагенерированные источником в реальном времени, забьют канал. Да и переоткрытие TCP соединения в случае разрыва связи тоже требует специальной обработки пользователем. Поэтому сервисы реального времени обычно всё-таки делают на UDP, реализуя мягкую обработку потерь пакетов. IMHO, но UDP интересен прежде всего логикой его обработки NAT-ами провайдеров. А именно тем, что они пропускают к модему внешние пакеты с IP отличных от того на который прошел первый пакет от модема. Это сильно упрощает межмодемное общение. Может только эту особенность и имел в виду заказчик. А особенности протокола тут не причем. Ну а утверждать что доморощенные решения на UDP вдруг окажутся эффективнее десятки лет совершенствовавшегося TCP стека немного не логично. Даже те протоколы тоннелей которые сидят на UDP типа PPTP работают в GSM сетях гораздо хуже чем TCP .
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|