Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Протокол передачи с защитой от потери/ошибки
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам
MiklPolikov
Допустим, есть два устройства, обменивающиеся данными по какой-то ненадёжной линии: длинные провода / радиоканал / ИК.
Нужен протокол, обеспечивающий проверку сохранности и целостности данных. Разумеется, его можно изобрести.

Вопрос: нет ли универсального готового протокола ? В виде аппаратно-независимой библиотеки СИ ? Что бы были целые данные на входе, целые данные на выходе, а между устройствами библиотека как-то сама устанавливает связь и передаёт-проверяет пакеты?

Казалось бы, задача распространённая, много где решается в +- одном и том же виде, может быть есть готовые решения ?

uriy
Цитата
Вопрос: нет ли универсального готового протокола ?
Как он может быть универсальным??? Заранее не известно пакетная передача или поточная. Какой размер пакетов. Симплексная или дуплексная передача. Какая избыточность допустима. Готовый это TCP/IP, но для многих приложений он явно не подходит.
x893
Но в любом случае за 2-3 минуты находится готовое решение.
google.com
Главное правильно написать вопрос.
Андрей Ефимович
Цитата(MiklPolikov @ Aug 18 2018, 18:30) *
Протокол передачи с защитой от потери/ошибки, Существует ли универсальный готовый ?
Допустим, есть два устройства, обменивающиеся данными по какой-то ненадёжной линии: длинные провода / радиоканал / ИК.
Нужен протокол, обеспечивающий проверку сохранности и целостности данных. Разумеется, его можно изобрести.

Вопрос: нет ли универсального готового протокола ? В виде аппаратно-независимой библиотеки СИ ? Что бы были целые данные на входе, целые данные на выходе, а между устройствами библиотека как-то сама устанавливает связь и передаёт-проверяет пакеты?

Казалось бы, задача распространённая, много где решается в +- одном и том же виде, может быть есть готовые решения ?

Вам нужно просто определять сам факт, что данные покоцались или Вам нужен протокол возможностью исравления ошибок?

И того и того полно "стандартного", что юсается уже лет 50
MiklPolikov
Цитата(uriy @ Aug 18 2018, 20:29) *
пакетная передача или поточная. Какой размер пакетов. Симплексная или дуплексная передача.

Этот вопрос решается на стыке аппаратно-независимой библиотеки с реальным передающим железом.
Очевидно, на обеих сторонах какие-то буферы, которые как-то передаются друг в друга.

Если кто-то знает готовые решения - покажите пожалуйста.

Я понимаю, о чём речь, и что хочу:
Собственный протокол я уже делал дважды, оба раза в виде +-библиотеки.
И один раз использовал библиотеку коллеги-программиста, которую мы отлаживали совместно.
Во всех случаях что-то оставалось недоделано или неидеально - просто из-за ограниченности ресурсов на эту работу.
Вот и думаю, что вполне возможно существование готового хорошего решения.

Просьба- кто такие протоколы не делал, пожалуйста, не давайте теоретические советы.
Это вопрос к людям, которые имеют собственный опыт.
x893
В этой книжке есть ответы
https://habr.com/post/420069/
AlexandrY
Цитата(MiklPolikov @ Aug 19 2018, 17:48) *
Я понимаю, о чём речь, и что хочу:

Провоцирование к телепатии? biggrin.gif
Тогда TCP/IP v6
kovigor
Есть готовые устройства, называются "модем" sm.gif
Вообще, насколько я знаю, эти протоколы так просто, "с кондачка", не выбирают. Их выбирают или создают, имея в своем распоряжении модель конкретного канала связи.
Цитата(MiklPolikov @ Aug 18 2018, 18:30) *
длинные провода

1. Купите пару телефонных модемов, они должны сейчас копейки стоить, вроде IDC2814 или Zyxel U-1496. Одному подаем команду "ata", другому - "atd", ждем, пока они законнектятся, и дело в шляпе ...
Цитата(MiklPolikov @ Aug 18 2018, 18:30) *
/ радиоканал / ИК.

2. Радиомодемы, например, Невод - чем не решение проблемы ?

Или вы хотите сделать свой модем ? Как я понял, это именно так. Тогда вот, самое простое, наверное:

http://www.ti.com/lit/an/slaa618/slaa618.pdf

http://www.gaw.ru/html.cgi/txt/app/micros/msp430/slaa037.htm
krux
дайте повангую.
подойдёт?
MiklPolikov
Цитата(krux @ Aug 20 2018, 20:11) *
дайте повангую.
подойдёт?


Спасибо !
Оно одно такое ? На "С" без "++" ничего подобного нет ?
arhiv6
Цитата(MiklPolikov @ Aug 21 2018, 00:28) *
На "С" без "++" ничего подобного нет ?
Поиск по гитхабу выдаёт несколько вариантов.

Ещё можете посмотреть протокол RUDP.
krux
Цитата(MiklPolikov @ Aug 20 2018, 20:28) *
Спасибо !
Оно одно такое ? На "С" без "++" ничего подобного нет ?

всмысле без "++"?
оно для FPGA на стейт-машинах есть.
для high-frequency-trading для связи географически-разнесенных бирж активно используется.
AlexandrY
Цитата(krux @ Aug 20 2018, 21:19) *
всмысле без "++"?
оно для FPGA на стейт-машинах есть.
для high-frequency-trading для связи географически-разнесенных бирж активно используется.

Что-то вы видимо плохо поняли.
Это протокол для абсолютно надежных оптических сетей, быстрый только за счет упрощения процедур проверки сохранности и целостности данных.
По сути непригодный для обычных медиаканалов.
mantech
Цитата(AlexandrY @ Aug 19 2018, 19:08) *
Провоцирование к телепатии? biggrin.gif
Тогда TCP/IP v6

Слишком простой протокол для реализации biggrin.gif
AlexandrY
Цитата(mantech @ Aug 20 2018, 22:10) *
Слишком простой протокол для реализации biggrin.gif

Не будем решать за ТС.
Он же сам разработчик протоколов. 😏
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.