|
|
  |
Редкая передача данных - что выбрать CDS или GPRS?, Питание - от аккумулятора |
|
|
|
Nov 23 2011, 07:04
|
Местный
  
Группа: Свой
Сообщений: 403
Регистрация: 29-04-11
Из: Украина
Пользователь №: 64 682

|
Не согласен абсолютно. Яркий пример - кардшаринг в спутниковом тв. Смена ключа каждые 10 сек, за это время надо отослать запрос на сервер и успеть получить ключ. Сервер находится за тысячи км от клиента, зачастую для анонимизации применяются редиректы. И на ДЕСЯТКАХ ТЫСЯЧ хардварных клиентах на трубах Siemens, на SIM300 и SIM900 видно, что использование UDP-based протокола в сети GPRS дает суммарно лучшие результаты по надежности, чем TCP. Тут факт на лицо - при не восстановленной потере пакета - на экране ТВ малевич, и юзер в гневе. Я статистически анализировал логи паралельно с нескольких клиентов, определяя таким образом места потерь и т.д. Тем более, что TCP изначально предназначен для ГАРАНТИРОВАННОЙ доставки данных, это нужно для работы базирующихся на нем протоклов верхнего уровня HTTP, FTP и т.п. Если в нем часть данных выпадает, то сокет пытается восстановить целостность, и если не получается, то закрывает сессию, надо открывать снова. А для реалтайм-передачи в мультимедийных задачах лучше UDP. Многие телеметрические задачи именно такого плана, например, трекинг: если точка не передана до пояления новой точки, то забыли про старую и передаем новую.
Так что не стоит недооценивать UDP. Тем более, если смотреть шире, то и UDP, и TCP базируются на IP-транспорте, и маршрутизируются именно IP-пакеты. А выше (уровень сокета) надстраивается UDP или TCP. Т.о. вероятность потери IP-пакета та же.
|
|
|
|
|
Nov 23 2011, 07:42
|
Группа: Новичок
Сообщений: 6
Регистрация: 21-11-11
Пользователь №: 68 420

|
Цитата Хочу еще добавить: используйте UDP, а не TCP. Честно говоря, хотелось бы какое-то более высокоуровневное решение, даже, чем TCP, т.к. реализация проверки и переотправки через UDP требует много времени на разработку. Если в дальнейшем будем писать свое решение, обязательно попробуем. Спасибо! Цитата( @ Nov 22 2011, 17:15)  Откровенно говоря, я бы не использовал GSM модем в серверном режиме - во-первых, это надо с оператором договариваться о внешнем IP либо вообще о выделенной сети, а во-вторых, это сложнее в программной реализации, хотя и ненамного. Лучше если GSM модуль будет слать пакеты по расписанию. Скорее всего у нас будет выделенная сеть со статическими внутренними адресами, так проще делать программную реализацию. Или тут есть подводные камни? Цитата(Baser) Я бы сделал модем клиентом, который всегда стремиться подключиться к серверу. А при наличии коннекта и сервер может инициировать обмен. И применял бы пакетную передачу в командном режиме. Получается, что это наиболее оптимальный вариант, т.к. частота опроса, как я уже понял, для сетей GSM у нас вполне высокая, а, учитывая режим экономии при подключенной сессии GPRS, все вроде неплохо получается. Не могли бы вы посоветовать какое-то готовое для покупки решение - сегодня я наткнулся на M2M Gate. Вроде прозрачный ком-порт (мы, например, можем настроить посылку байта от сервера, при получении которой, плата, подключенная ко COM-порту, будет высылать обратно текущие данные). Но не знаю, эффективно ли оно по потреблению энергии, когда данные не пересылаются, переводит ли оно модем в режим экономии в сессии GPRS. Возможно, есть какое-то другое готовое решение? Честно говоря, смущает тот факт, что когда обычным сотовым подключаешься к GPRS и ничего не качаешь, батарея разряжается очень быстро. Он не включает режим экономии?
|
|
|
|
|
Nov 23 2011, 10:34
|

Гуру
     
Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463

|
Цитата(GeGeL @ Nov 23 2011, 11:04)  Не согласен абсолютно. Яркий пример - кардшаринг в спутниковом тв. Смена ключа каждые 10 сек, за это время надо отослать запрос на сервер и успеть получить ключ. Сервер находится за тысячи км от клиента, зачастую для анонимизации применяются редиректы. И на ДЕСЯТКАХ ТЫСЯЧ хардварных клиентах на трубах Siemens, на SIM300 и SIM900 видно, что использование UDP-based протокола в сети GPRS дает суммарно лучшие результаты по надежности, чем TCP. Тут факт на лицо - при не восстановленной потере пакета - на экране ТВ малевич, и юзер в гневе. Я статистически анализировал логи паралельно с нескольких клиентов, определяя таким образом места потерь и т.д. Тем более, что TCP изначально предназначен для ГАРАНТИРОВАННОЙ доставки данных, это нужно для работы базирующихся на нем протоклов верхнего уровня HTTP, FTP и т.п. Если в нем часть данных выпадает, то сокет пытается восстановить целостность, и если не получается, то закрывает сессию, надо открывать снова. А для реалтайм-передачи в мультимедийных задачах лучше UDP. Многие телеметрические задачи именно такого плана, например, трекинг: если точка не передана до пояления новой точки, то забыли про старую и передаем новую.
Так что не стоит недооценивать UDP. Тем более, если смотреть шире, то и UDP, и TCP базируются на IP-транспорте, и маршрутизируются именно IP-пакеты. А выше (уровень сокета) надстраивается UDP или TCP. Т.о. вероятность потери IP-пакета та же. Так в том то и суть, потеряли данные и нет возможности их востановить, для медийности непроблема. UDP не для гарантированной передачи данных. Многих это не устраивает. Тех же охранно-пожарные компаний не пользуют UDP если есть инет железки. А уронить ваш UDP достаточно просто, что и наблюдаем часто в инете. ... вероятность потери TCP, IP-пакета меньше чем у UDP, поскольку у них гарантированная доставка.
|
|
|
|
|
Nov 23 2011, 11:25
|
Частый гость
 
Группа: Участник
Сообщений: 142
Регистрация: 20-08-07
Из: Тула
Пользователь №: 29 919

|
Цитата(Aner @ Nov 23 2011, 14:34)  Так в том то и суть, потеряли данные и нет возможности их востановить, для медийности непроблема. UDP не для гарантированной передачи данных. Многих это не устраивает. Тех же охранно-пожарные компаний не пользуют UDP если есть инет железки. Мне кажется, что бодрый и уверенный тон Ваших сообщений основывается только на Вашем сугубо поверхностном знании и сетевых протоколов, и охранно-пожарных тактик.
Сообщение отредактировал stream - Nov 23 2011, 11:26
|
|
|
|
|
Nov 23 2011, 11:46
|
Знающий
   
Группа: Свой
Сообщений: 693
Регистрация: 19-11-04
Пользователь №: 1 177

|
QUOTE (aaarrr @ Nov 23 2011, 15:11)  Для помянутых ста байт телеметрии UDP - самое то. Механизм подтверждения и повторной передачи пугать не должен, он предельно прост в таком случае. Ну не "предельно прост" если пытаться еще и трафик экономить и учитывать некоторые тонкости сотовых провайдеров, но достаточно прост чтобы не бояться. Я сам сторонник именно UDP для телеметрии. И вопросы резервирования серверов решаются проще, и можно более оптимально механизм перепосылок сделать, учитывая особенности транспорта... Вот только как показывает практика не все производители GPRS модулей вообще думают о том, как их встроенные TCP/IP стеки с UDP использовать.
|
|
|
|
|
Nov 23 2011, 15:49
|
Местный
  
Группа: Свой
Сообщений: 403
Регистрация: 29-04-11
Из: Украина
Пользователь №: 64 682

|
Я анализировал поведение конкретного тсп-сокета в конкретной ОС при потере IP-пакета вне окна. Он запрашивал/отсылал дубли (с тем же SEQ) с прогрессивно увеличивающимися интервалами от 0.5 сек до 32 сек (всего 7 повторов), затем слал FIN. На сколько я в курсе, это жестко не регламентировано RFC, зависит от реализации сокета. В случае UDP можно сделать свой более "умный" алго, компромиссно учитывая тайминги задачи, требования надежности, энергосбережения, экономии трафика и т.п. и это в итоге будет лучше, чем стандартный тсп-сокет. Универсальных вещей хороших не бывает...
Сообщение отредактировал GeGeL - Nov 23 2011, 15:56
|
|
|
|
|
Nov 23 2011, 18:35
|
Группа: Новичок
Сообщений: 6
Регистрация: 21-11-11
Пользователь №: 68 420

|
Не могли бы вы, пожалуйста, посоветовать какое-нибудь готовое энергоэффективное решение по передаче данных, чтобы не писать самому?
|
|
|
|
|
Nov 24 2011, 10:19
|
Группа: Новичок
Сообщений: 6
Регистрация: 21-11-11
Пользователь №: 68 420

|
Огромное всем спасибо! :-) Вы мне очень помогли!
|
|
|
|
|
Nov 24 2011, 11:55
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
Цитата(molecul @ Nov 21 2011, 13:13)  Вообще-то он называется счетчик перерегистраций в сети. Обычно имеет значение 10000, соответственно после 10 тыс. включений (а для m2m это не так и много) симка требует замены. В чип-симах этот счесчик отключен. Скажите пожалуйста, как этот счетчик называется в английском варианте? Где почитать про него? Чем/кем определяется и как его применение согласуется с договором, который я подписал с оператором? Я запросто представляю ситуацию, когда мобильник, работая на границе зоны приема или в условиях частовозникающих помех, теряет связь много раз в час, и, соответственно, много раз в час проходит регистрацию в сети по новой. И что, в какой-то момент мне откажут в регистрации?
|
|
|
|
|
Nov 25 2011, 06:06
|

Знающий
   
Группа: Свой
Сообщений: 567
Регистрация: 19-01-11
Из: СПб
Пользователь №: 62 326

|
Цитата(Ruslan1 @ Nov 24 2011, 15:55)  Скажите пожалуйста, как этот счетчик называется в английском варианте? Где почитать про него? Чем/кем определяется и как его применение согласуется с договором, который я подписал с оператором? Я запросто представляю ситуацию, когда мобильник, работая на границе зоны приема или в условиях частовозникающих помех, теряет связь много раз в час, и, соответственно, много раз в час проходит регистрацию в сети по новой. И что, в какой-то момент мне откажут в регистрации? В какой-то момент SIM карта просто перестает работать, только и всего. Как это называется официально в англоязычной документации, не знаю. Но наличие такого счетчика подтвердили все представители "Большой тройки". А при чем здесь договор? Замена неисправной симки практически у всех операторов бесплатна и делается моментально, поэтому если это произошло в телефоне, проблемы никакой нет.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|