Jump to content

    
asen

Посоветуйте легкий стек TCP/IP

Recommended Posts

48 minutes ago, rkit said:

В ftp нет защиты от потерь или повреждения данных. Совершенно недопустимо. Протокол следовало похоронить еще 20 лет назад.

А в http он есть? Напомню, что ftp, что http работают по TCP, и именно он гарантирует целостность данных.

Более того, tftp, работая через UDP тоже вполне гарантирует правильность данных в пределах пакета, а повторы потерянных пакетов там заложены в протокол.

Ну и речь вообще идет о заливке прошивки. Очень было бы нифигово вообще хэши/эцп прошивки проверять перед тем, как ее применять. Независимо от того, каким способом она прилетела.

Share this post


Link to post
Share on other sites
5 minutes ago, Rst7 said:

А в http он есть? Напомню, что ftp, что http работают по TCP, и именно он гарантирует целостность данных.

Речь, возможно, об изменении пакетов на пути передачи. Так например делает китайская стена.
Т.е. TCP не защищает от  изменения содержимого пакетов. 
Гарантировать аутентичность пакетов может например TLS с шифрованием AES-GCM.
В спецификации FTPS однако сказано, что некоторые стены не терпят такого шифрования и после завершения сессии передачи пароля требуют возврата на незашифрованный обмен. 
Т.е. FTP и FTPS не совсем то на что можно положиться.  
 

Share this post


Link to post
Share on other sites
31 minutes ago, AlexandrY said:

Т.е. FTP и FTPS не совсем то на что можно положиться.  

Еще раз и сначала. Мы тут беседуем о буткоре. Вы передаете прошивку в свои приборы нешифрованную и неподписанную? Оставляете все на совесть протоколов передачи данных?

Share this post


Link to post
Share on other sites
38 minutes ago, Rst7 said:

Еще раз и сначала. Мы тут беседуем о буткоре. Вы передаете прошивку в свои приборы нешифрованную и неподписанную? Оставляете все на совесть протоколов передачи данных?

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

Share this post


Link to post
Share on other sites
3 minutes ago, AlexandrY said:

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

Тут, кстати, ТС нас бы просветил, у него вообще клиент или сервер. А то из стартового поста не очень понятно, мне привиделось, что сервер. И мне пофиг на всякие стены и прочее. А Вам, походу, что клиент. И Вас теперь это беспокоит :biggrin:

Share this post


Link to post
Share on other sites

В http можно ОДНИМ запросом скачать новую прошивку, или получить ответ, что ее нет (If-Modified-Since).

Есть content-length и digest для валидации, не нужно колдовать с двумя портами, нет 5 бесполезных режимов передачи.

ftp давно пора похоронить.

Share this post


Link to post
Share on other sites
6 hours ago, rkit said:

В http можно ОДНИМ запросом скачать новую прошивку, или получить ответ, что ее нет (If-Modified-Since).

Это если Ваше устройство - клиент. А если сервер?

6 hours ago, rkit said:

ftp давно пора похоронить.

Да конкретно Вас никто не заставляет пользоваться ftp. Более того, я, например, вообще обновляю через tftp у себя, полностью отдельным буткором, там что-то килобайта полтора кода вообще на все, если отладочный printf выбросить. Потому что у меня устройство может в интернет и не попасть, а вот с софтом верхнего уровня коммуницировать всегда будет (у него работа такая), вот софт верхнего уровня через tftp при необходимости в девайс прошивку и зальет.

Share this post


Link to post
Share on other sites
22 hours ago, Rst7 said:

Тут, кстати, ТС нас бы просветил, у него вообще клиент или сервер. А то из стартового поста не очень понятно, мне привиделось, что сервер. И мне пофиг на всякие стены и прочее. А Вам, походу, что клиент. И Вас теперь это беспокоит :biggrin:

Меня не беспокоит.
У меня дивайсы прошиваются через SD, UART, CAN, USB MSD и RNDIS, через FTP и FTPS (и клиент и сервер, и пасивный и активный режимы) и конечно через MQTT 
Вот последний вариант я бы рекомендовал. 
В отличии от передачи подписанной прошивки которую надо всю скачать и сохранить где-то чтобы проверить подпись, MQTT с TLS позволяет прошивать пакеты сразу. 
С pre-shared key (PSK)  займет дополнительно килобайт 10. Что гораздо меньше всего хозяйства требуемого для RSA или ECC 
Ну и плюс дикие преимущества при работе с парками устройств и через глобальные сети. 

Share this post


Link to post
Share on other sites
21 hours ago, AlexandrY said:

В отличии от передачи подписанной прошивки которую надо всю скачать и сохранить где-то чтобы проверить подпись, MQTT с TLS позволяет прошивать пакеты сразу. 

Особенно, когда связь разорвется на середине передачи прошивки, прям замечательно будет. Хоть с подписями, хоть без.

Share this post


Link to post
Share on other sites
29.12.2020 в 17:10, mantech сказал:

Тоже не понимаю, что все  хттпшные загрузчики в моде стали - это ж не для этого протокол вообще, всегда по FTP делаю

http всегда разрешен в корпоративных сетях. Устройство делаешь клиентом, поднимаешь http сервер с прошивкой где-нибудь в интернете (ну или локально в сети), устройство само проверяет доступность прошивки по http и предлагает пользователю скачать и обновить. А возиться с этими tftp и ftp...

Share this post


Link to post
Share on other sites
22 minutes ago, Quasar said:

поднимаешь http сервер с прошивкой где-нибудь в интернете (ну или локально в сети)

Да, это еще одна скверная особенность решений с сервером в интернете.
Оно вынуждает хранить драгоценные файлы на стороннем сервере, админить их там. Т.е. стирать ( а ведь на самом деле ничего там не стирается), добавлять, каталогизировать,  переименовывать, думать о файрволе и т.д.
Решения с брокерами выглядят гораздо более защищенными.   

Share this post


Link to post
Share on other sites
10 часов назад, AlexandrY сказал:

Да, это еще одна скверная особенность решений с сервером в интернете.
Оно вынуждает хранить драгоценные файлы на стороннем сервере, админить их там. Т.е. стирать ( а ведь на самом деле ничего там не стирается), добавлять, каталогизировать,  переименовывать, думать о файрволе и т.д.
Решения с брокерами выглядят гораздо более защищенными.   

Какой брокер, чего брокер? Если я вобью в гугле http я найду все, что нужно мне знать об этом. Если я вобью в гугле брокер, найду чего угодно, рядом нестоящее к ембедеду. Вы в каждом первом посте пытаетесь показать, насколько далеко от вас серые массы? К чему все эти рекламно-маркетинговые вбросы?

 

28.12.2020 в 13:52, AlexandrY сказал:

Скажем все спасибо участнику dxp. 

Спасибо!

 

Share this post


Link to post
Share on other sites
11 часов назад, Quasar сказал:

устройство само проверяет доступность прошивки по http и предлагает пользователю скачать и обновить. А возиться с этими tftp и ftp...

А зачем с ними возиться, они стандартные, раз сделал и все. А хттп - это парсить кучу текста, нестандартый протокол передачи файлов и пр... Ну вообщем на вкус и цвет...

26 минут назад, Quasar сказал:

Какой брокер, чего брокер?

Да у него всегда одни брокеры... как на бирже))))))))))

Share this post


Link to post
Share on other sites
1 час назад, mantech сказал:

 А хттп - это парсить кучу текста, нестандартый протокол передачи файлов и пр...

 

Конечно, может быть я чего не понимаю, но в устройстве с GSM-модемом мне оказалось проще написать все самому, чем использовать готовый, встроенный в модем движок. Какую "кучу текста" там надо парсить ? Мне потребовалось знать только код ответа (200) и тэг "Content-Length:". А зачем что-то еще ?

И что значит "нестандартный протокол передачи файлов" ? Файл льется как есть. Длину знаем, столько и принимаем и сохраняем. Приняли - проверяем целостность и шьем.

Share this post


Link to post
Share on other sites
28 минут назад, rx3apf сказал:

Файл льется как есть.

Это как интересно? Т.е. на пакеты не бьем, КС не формируем и не проверяем? Оригинально, интересно, у вас там инет идеальный или с какого раза успешно принимается файл, скажем килобайт 200-300?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.