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

 
 
> TCP или UDP?, Подскажите способ реализации
gladov
сообщение Dec 28 2007, 06:36
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 169
Регистрация: 10-11-05
Из: Воронеж
Пользователь №: 10 687



Поздравляю всех с наступающими праздниками!!! santa2.gif

А вопрос у меня такой. Есть классическая ситуация - некоторое устройство управляется компом по сети, причем находятся они в одной локалке, т.е. все быстро и условно надежно. Устройство получает от компа команды, возвращает результаты замеров, статусы и проч. Встает вопрос что использовать: TCP или UDP?

В пользу TCP говорит тот факт, что не надо проверять доставку (а иногда важная команда должна быть обязательно доставлена, причем выполнена только один раз). Тут появляется большое "но". Фактически, те данные, которые я буду передавать (например, команды) - это пакеты. Т.е. явная пакетная передача данных. А TCP потоковый! Он мне даже не скажет, где одна команда закончилась и новая началась. Т.е. мне надо вводить некий механизм синхронизации чтобы отлавливать начало очередного пакета.
Первое что в голову приходит - самому на своем уровне добавлять в пакет его длину. Но если одна из сторон хоть раз ошибется или сетка сглючит и длина пакета окажется неправильной, то я никогда уже не поймаю начало очередного пакета.
Можно вместо длины (или вместе с ней) пометить сигнатурой начало пакета, а в самом пакете делать байт-стаффинг чтобы она там не повторилась. Не нравится - как-то тяжеловесно получается.
Можно сделать по UDP, но там придется городить подтверждение доставки и контроль на недублирование пакетов. Тоже гемор.
Короче, варианты решения я вижу, но все они мне не нравятся. Мне кажется, что есть какое-то простое и красивое решение, а я заблудился в трех соснах. Т.к. ситуация классическая для большинства встроенных систем, поделитесь плз опытом, кто как решает подобные задачи.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Rst7
сообщение Feb 10 2008, 13:00
Сообщение #2


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Когда все отработаю, естественно встанет вопрос о защите данных. Здесь возможен вариант проверки ID сессиии.... Или нет? Или еще чего? Пока не знаю


Методов есть много. Один из них - это действительно ID сессии. Однако большой минус, что логин и пасс надо передавать в открытом виде. Тут на помощь может прийти Digest-авторизация - там достаточно безопасный логин, и можно сделать так, что любой доступ к страничке будет с аутентификацией, а пользователю ввести логин с паролем нужно будет только один раз. В реализации - достаточно просто, из криптографии нужен только MD5.

Однако, такие способы не могут противостоять атакам Man-In-The-Middle (т.е. перехват и подмена траффика). Если надо противостоять таким методам взлома, надо делать SSL/TLS (HTTPS). Есть еще способ, который представляет из себя некую комбинацию. Все Ваши устройства находятся в одной сети (ну скажем /24), отделенной от большого итранета/интернета роутером. На роутере поднимается SSH-туннель в подсетку и более никакого доступа не дается. Тогда по большой сети данные ходят безопасно. Реализовывать SSL/TLS или SSH на камне в каждом устройстве я бы поберегся - надо реализовывать кучу криптографии, протоколы и т.д. - тут хорошим решением будет свой роутер (ну хоть на Rainbow wink.gif ) с поднятым линухом.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- gladov   TCP или UDP?   Dec 28 2007, 06:36
- - Postoroniy_V   Цитата(gladov @ Dec 28 2007, 15:36) Поздр...   Dec 28 2007, 07:57
|- - gladov   Цитата(Postoroniy_V @ Dec 28 2007, 10:57)...   Dec 29 2007, 21:35
|- - Postoroniy_V   Цитата(gladov @ Dec 30 2007, 06:35) Это з...   Dec 30 2007, 05:37
|- - tag   Цитата(gladov @ Dec 30 2007, 00:35) Читал...   Jan 10 2008, 07:36
|- - gladov   Цитата(tag @ Jan 10 2008, 10:36) ...есть ...   Jan 10 2008, 10:56
- - Rst7   ЦитатаНо если одна из сторон хоть раз ошибется или...   Dec 28 2007, 08:18
- - tag   ...вы противоречите сами себе. Если TCP гарантируе...   Dec 28 2007, 08:28
- - iosifk   Цитата(gladov @ Dec 28 2007, 09:36) Поздр...   Dec 28 2007, 09:30
- - KRS   Цитата(gladov @ Dec 28 2007, 09:36) А TCP...   Dec 28 2007, 11:20
- - Rst7   ЦитатаПорядок безусловно будет соблюден, но кто га...   Dec 30 2007, 12:54
- - Aprox   Может, я чего-то не понимаю в тонкостях задачи, но...   Jan 9 2008, 12:23
|- - Rst7   Цитата(Aprox @ Jan 9 2008, 14:23) Может, ...   Jan 10 2008, 06:44
|- - vvs157   Цитата(Rst7 @ Jan 10 2008, 09:44) Это хор...   Jan 10 2008, 12:03
||- - Rst7   Цитата(vvs157 @ Jan 10 2008, 14:03) Испол...   Jan 10 2008, 12:39
||- - vvs157   Цитата(Rst7 @ Jan 10 2008, 15:39) Вот тут...   Jan 10 2008, 16:58
|- - Aprox   Цитата(Rst7 @ Jan 10 2008, 09:44) Это хор...   Jan 10 2008, 17:17
- - Rst7   ЦитатаВопрос традиций Вот и я думаю, зачем челове...   Jan 11 2008, 06:28
|- - vvs157   Цитата(Rst7 @ Jan 11 2008, 09:28) Вот и я...   Jan 11 2008, 12:20
||- - Rst7   Цитата(vvs157 @ Jan 11 2008, 14:20) Весьм...   Jan 11 2008, 12:39
||- - gladov   Цитата(Rst7 @ Jan 11 2008, 15:39) Давай м...   Jan 11 2008, 20:56
||- - vvs157   Цитата(gladov @ Jan 11 2008, 23:56) Полно...   Jan 11 2008, 21:37
||- - Kirill Frolov   Цитата(gladov @ Jan 11 2008, 23:56) Полно...   Jan 12 2008, 08:46
||- - Aprox   Цитата(gladov @ Jan 11 2008, 23:56) Полно...   Jan 14 2008, 08:36
||- - blackfin   Цитата(Aprox @ Jan 14 2008, 11:36) ... до...   Jan 14 2008, 08:52
||- - Aprox   Цитата(blackfin @ Jan 14 2008, 11:52) Ага...   Jan 14 2008, 10:48
|- - Aprox   Цитата(Rst7 @ Jan 11 2008, 09:28) HTML ст...   Jan 11 2008, 13:45
- - Kirill Frolov   Цитата(gladov @ Dec 28 2007, 09:36) В пол...   Jan 11 2008, 14:01
- - Rst7   ЦитатаКогда начинаются разговоры, о том дескать, ч...   Jan 12 2008, 09:31
|- - vvs157   Цитата(Rst7 @ Jan 12 2008, 12:31) А может...   Jan 12 2008, 21:36
|- - Kirill Frolov   Цитата(Rst7 @ Jan 12 2008, 12:31) Я тоже ...   Jan 13 2008, 08:20
- - blackfin   Цитата(Kirill Frolov @ Jan 11 2008, 17:01...   Jan 12 2008, 09:36
- - Rst7   ЦитатаНа телнет неделю? Об этом - чуть ниже, не В...   Jan 13 2008, 12:31
|- - Kirill Frolov   Цитата(Rst7 @ Jan 13 2008, 15:31) Допусти...   Jan 13 2008, 17:47
|- - vvs157   Цитата(Rst7 @ Jan 13 2008, 15:31) А Вы за...   Jan 13 2008, 21:00
- - Rst7   ЦитатаУгу. Ошибка. Такое в реальной жизни не работ...   Jan 13 2008, 18:35
- - Rst7   Цитатагадить потребителю тоже не подобает серьезны...   Jan 14 2008, 06:32
- - Rst7   ЦитатаНа "низшей меге" реализовать полно...   Jan 14 2008, 09:09
|- - blackfin   Цитата(Rst7 @ Jan 14 2008, 12:09) Ну это ...   Jan 14 2008, 09:52
- - GL_basik   Вставлю свои 5 копеек.... Если надо бытро и легко ...   Jan 17 2008, 10:07
|- - Aprox   Цитата(GL_basik @ Jan 17 2008, 13:07) Вст...   Jan 17 2008, 16:12
|- - Dog Pawlowa   Без рассмотрения: - структуры прибора - объема пе...   Jan 17 2008, 16:35
|- - blackfin   Цитата(Aprox @ Jan 17 2008, 19:12) По это...   Jan 17 2008, 16:52
|- - Aprox   Цитата(blackfin @ Jan 17 2008, 19:52) Сра...   Jan 18 2008, 08:21
|- - blackfin   Цитата(Aprox @ Jan 18 2008, 11:21) Необхо...   Jan 18 2008, 09:01
|- - Aprox   Цитата(blackfin @ Jan 18 2008, 12:01) При...   Jan 18 2008, 16:13
|- - blackfin   Цитата(Aprox @ Jan 18 2008, 19:13) Делаю ...   Jan 19 2008, 10:38
|- - Aprox   Цитата(blackfin @ Jan 19 2008, 13:38) Нов...   Jan 20 2008, 16:29
- - Rst7   ЦитатаПо этой причине, конструкторам малых систем...   Jan 17 2008, 16:27
- - GL_basik   Если есть время сначала создавать устройство, пото...   Jan 18 2008, 09:09
- - Rst7   Цитатано ограничение на максимальное кол-во хостов...   Jan 19 2008, 13:46
|- - blackfin   Цитата(Rst7 @ Jan 19 2008, 16:46) Это отк...   Jan 19 2008, 17:23
- - Rst7   ЦитатаА что, существуют switch'и на большее чи...   Jan 19 2008, 18:27
- - prottoss   Привет всем! Прочитал в теме про упоминание A...   Feb 8 2008, 13:22
|- - Aprox   Цитата(prottoss @ Feb 8 2008, 16:22) Прив...   Feb 9 2008, 15:04
|- - Aprox   Цитата(Aprox @ Feb 9 2008, 18:04) Я польз...   Feb 10 2008, 08:13
|- - prottoss   Цитата(Aprox @ Feb 10 2008, 15:13) дабы н...   Feb 10 2008, 09:21
- - Rst7   ЦитатаВозможно у кого нибудь есть наработки по это...   Feb 8 2008, 13:42
|- - prottoss   Цитата(Rst7 @ Feb 8 2008, 20:42) Наработо...   Feb 8 2008, 13:51
- - prottoss   Все оказалось на много проще, чем я думал....пока ...   Feb 8 2008, 15:46


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

 


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


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