реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> UDP vs TCP
Arthur_Sh
сообщение Sep 10 2010, 10:48
Сообщение #1


Знающий
****

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



Господа, возникла такая ситуация. Технический представитель заказчика в конструкции gps-gsm трекера предлагает использовать udp протокол, мы же склоняем его к использованию tcp. не могли бы вы привести факты, плюсы-минусы с вашей точки зрения, по выбору или udp или tcp протокола? заранее спасибо за конструктивную информацию.
Go to the top of the page
 
+Quote Post
DS
сообщение Sep 10 2010, 10:55
Сообщение #2


Гуру
******

Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250



Подробней распишите задачу.
Если нужна более-менее гарантированная доставка пакета - TCP. Если устройство тупо шлет пакет каждую секунду, а на другом конце не обязательно получить 100% пакетов (допустим, достаточно перерисовывать координаты раз в 10 секунд) - можно и UDP использовать.


--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
Go to the top of the page
 
+Quote Post
Arthur_Sh
сообщение Sep 10 2010, 11:05
Сообщение #3


Знающий
****

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



Цитата(DS @ Sep 10 2010, 13:55) *
Подробней распишите задачу.
Если нужна более-менее гарантированная доставка пакета - TCP. Если устройство тупо шлет пакет каждую секунду, а на другом конце не обязательно получить 100% пакетов (допустим, достаточно перерисовывать координаты раз в 10 секунд) - можно и UDP использовать.

Т.к. трафик стоит денег, то мы не можем слать впустую пакеты, т.к. все считается. Поэтому я считаю, что необходимо использовать tcp, по крайне мере есть определенный процент вероятности, что пакет дойдет. данные отправляются раз в 30 сек или по событию - пройдено 100метров например.
Go to the top of the page
 
+Quote Post
av-master
сообщение Sep 10 2010, 11:27
Сообщение #4


Знающий
****

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



wacko.gif даешь каждой машине по трекеру )

Я держал раньше 2 конекта один UDP второй TCP.
основная масса шла по UDP.

потом плюнули вырезали все лишнее перевели в Бинарник. сжали что можно. проработали протокол. и отставили только TCP /
к тому-же трафик уже конкретно подешевел.
Go to the top of the page
 
+Quote Post
Arthur_Sh
сообщение Sep 10 2010, 11:41
Сообщение #5


Знающий
****

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



Цитата(av-master @ Sep 10 2010, 14:27) *
wacko.gif даешь каждой машине по трекеру )

Я держал раньше 2 конекта один UDP второй TCP.
основная масса шла по UDP.

потом плюнули вырезали все лишнее перевели в Бинарник. сжали что можно. проработали протокол. и отставили только TCP /
к тому-же трафик уже конкретно подешевел.

Да я все это тоже понимаю, но их технический директор уперся в udp и все логичные доводы просто игнорирует. нам то по большому счету все одно, есть реализованные протоколы и на udp и на tcp, но ведь хочется людям показать, как правильно все таки.
P.S. у нас именно такая цель и стоит - ДАЕШЬ КАЖДОЙ МАШИНЕ ПО ТРЕКЕРУ 1111493779.gif
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Sep 10 2010, 11:56
Сообщение #6


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(Иванов Андрей Николаевич @ Sep 10 2010, 15:05) *
Т.к. трафик стоит денег, то мы не можем слать впустую пакеты, т.к. все считается. Поэтому я считаю, что необходимо использовать tcp, по крайне мере есть определенный процент вероятности, что пакет дойдет.

Надо бы еще посмотреть, сколько накладных расходов добавит TCP сам по себе. Вполне может оказаться, что выгоднее тупо гнать UDP раз в десять секунд. Ну и иногда запрашивать квитирование, чтобы быть уверенным хоть в частичной доставке.

P.S. Мы решаем сходную задачу (хоть и не трекер) - пока UDP, все от всех валится на один порт...
Go to the top of the page
 
+Quote Post
Arthur_Sh
сообщение Sep 10 2010, 12:12
Сообщение #7


Знающий
****

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



сколько расходво добавляет tcp мы знаем, преимущества и недостатки udp и tcp тоже знаем, только заказчик их особо слушать не хочет. вопрос в том, можете ли вы перечислить, какими доводами вы руководствовались выбирая udp или tcp.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Sep 10 2010, 12:46
Сообщение #8


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



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

Ну, выбирал не я (у меня-то закладывается на выбор, TCP/UDP), тот, кто делал серверную часть, решил, что UDP ему обрабатывать проще...
Go to the top of the page
 
+Quote Post
av-master
сообщение Sep 10 2010, 17:50
Сообщение #9


Знающий
****

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



Цитата
ДАЕШЬ КАЖДОЙ МАШИНЕ ПО ТРЕКЕРУ
- это не только ваша цель ))
я выбирал tcp сам. не особо парясь в стоимости. у меня пакеты умные и упакованые. если на бакс в месяц нашлепает то хороше.

больше внимания ИМХО питанию надо уделять ))) и защите входов. палят их постоянно. )) и джамеров накупили кучу. вабще жизни не дают.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Sep 10 2010, 18:46
Сообщение #10


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
Go to the top of the page
 
+Quote Post
=F8=
сообщение Sep 11 2010, 10:27
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954



А зачем собственно убеждать? Хотят UDP сделайте UDP.
Go to the top of the page
 
+Quote Post
smalcom
сообщение Sep 11 2010, 21:39
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 292
Регистрация: 26-06-07
Пользователь №: 28 718



в трекере лучше использовать UDP протокол. меньше оверхеда в пакетах.
Go to the top of the page
 
+Quote Post
Arthur_Sh
сообщение Sep 12 2010, 08:22
Сообщение #13


Знающий
****

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



Цитата(smalcom @ Sep 12 2010, 00:39) *
в трекере лучше использовать UDP протокол. меньше оверхеда в пакетах.

Если пакеты "умные и правильные" (простите за цитирование), то это не проблема. Вообщем, программист-технический директор заказчика захотел Udp, так и сделали уже. Всем спасибо за комментарии.
Go to the top of the page
 
+Quote Post
Oldring
сообщение Sep 12 2010, 09:38
Сообщение #14


Гуру
******

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



Цитата(Иванов Андрей Николаевич @ Sep 10 2010, 15:41) *
нам то по большому счету все одно, есть реализованные протоколы и на udp и на tcp, но ведь хочется людям показать, как правильно все таки.


А как на самом деле "правильно"?

UDP - он более низкоуровневый. На нем можно реализовать всё, что позволяет TCP, особенно это несложно, если пакеты небольшие и фиксированного размера. TCP, с другой стороны, гарантирует доставку пакета в наиболее распространенных сценариях. Но на ненадежных каналах этот сервис может сыграть злую шутку: пакеты, нагенерированные источником в реальном времени, забьют канал. Да и переоткрытие TCP соединения в случае разрыва связи тоже требует специальной обработки пользователем. Поэтому сервисы реального времени обычно всё-таки делают на UDP, реализуя мягкую обработку потерь пакетов.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Sep 12 2010, 10:02
Сообщение #15


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 .
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 14th July 2025 - 18:42
Рейтинг@Mail.ru


Страница сгенерированна за 0.01472 секунд с 7
ELECTRONIX ©2004-2016