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

 
 
> FTP сервер на STM-ке, подход к верификации данных
Danis
сообщение Nov 19 2014, 15:50
Сообщение #1


Twilight Zone
***

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



Привет, коллеги!
Недавно поднял на STM32Fxx FTP сервер и удаленно через Internet пишу файлы во внешнюю flash память. Все неплохо работает, есть вопрос с подходом к верификации данных в принятых файлах. Я использую ftp passive mode, и по сути, аппаратно верифицируются только пакеты пришедшие с Ethernet, можно конечно и проверить пакет после записи на SD. Но этого не достаточно для полного убеждения о целостности файла. Я тут вижу два пути, сначала записать удаленно файл, и скачать обратно, сравнить их Hash (долго, если файл большой). Второй, научить STM-ку считать Hаsh уже записанных файлов по команде (возможно не стандартной) FTP и создавать *.txt файл с Hаsh суммами файлов в текущей директории. После чего можно скачать этот файл и проверить. Но наверняка, есть более красивый и правильный подход, которого я не знаю, так что буду рад подсказке, спасибо!


--------------------
Magic Friend
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Golikov A.
сообщение Nov 20 2014, 05:54
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Цитата
А почему нельзя хитрую контрольную сумму поместить в первый файл?


потому что не понятно как будет использоваться файл, может формат жестко задан. Но в целом верно то что сказал jcxz не понятно контроль чего нужен...


Цитата
Вы считаете x0+x1+...+xN (ну плюс ещё переносы из старших разрядов) неплохим контролем?

да, потому что XOR по 8 битам считаю плохим, а этот считаю не плохим... не супер, но не плохим...


кстати еще хорош стандартный метод, зажать выходной файл зипом, передать, а на приемной стороне разархивировать. Тем самым выполняются оба контроля. Архивированный файл содержит внутри контрольную сумму, если он разархивировался значит и был передан правильно, и приемная сторона узнает что сумма сошлась.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Nov 20 2014, 07:35
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Golikov A. @ Nov 20 2014, 11:54) *
кстати еще хорош стандартный метод, зажать выходной файл зипом, передать, а на приемной стороне разархивировать. Тем самым выполняются оба контроля. Архивированный файл содержит внутри контрольную сумму, если он разархивировался значит и был передан правильно, и приемная сторона узнает что сумма сошлась.

Ну да, реализовать на удалённой системе поддержку распаковки ZIP-формата. А потом ещё и дорабатывать это каждый раз, как в ZIP-формат вводятся какие-то нововведения (новые методы сжатия и т.п.).
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Danis   FTP сервер на STM-ке   Nov 19 2014, 15:50
- - jcxz   CRC32 вполне достаточно в этом случае.   Nov 19 2014, 16:15
- - scifi   Ну да, если файл передаётся через интернет, то кон...   Nov 19 2014, 16:23
|- - Danis   Цитата(scifi @ Nov 19 2014, 19:23) Ну да,...   Nov 19 2014, 17:14
- - AlexandrY   Цитата(Danis @ Nov 19 2014, 17:50) Но это...   Nov 19 2014, 17:48
- - Golikov A.   ЦитатаВот смысла закачки файла с контрольной суммо...   Nov 19 2014, 20:46
|- - Aleksandr Baranov   Цитата(Golikov A. @ Nov 19 2014, 16:46) в...   Nov 19 2014, 21:10
|- - jcxz   Цитата(Golikov A. @ Nov 20 2014, 02:46) Н...   Nov 20 2014, 02:59
- - Golikov A.   я может ошибаюсь, но вроде бы для распаковки предо...   Nov 20 2014, 07:42
|- - jcxz   Цитата(Golikov A. @ Nov 20 2014, 13:42) Т...   Nov 20 2014, 09:01
- - Danis   Коллеги, большое спасибо за идеи и рассуждения. Ду...   Nov 20 2014, 09:04
|- - jcxz   Цитата(Danis @ Nov 20 2014, 15:04) Просто...   Nov 20 2014, 09:41
- - WitFed   Про TCP я читал очень давно, как там дополнительно...   Nov 20 2014, 10:11
|- - jcxz   Цитата(WitFed @ Nov 20 2014, 16:11) Про T...   Nov 20 2014, 10:21
|- - kolobok0   Цитата(jcxz @ Nov 20 2014, 13:21) ...где ...   Nov 20 2014, 12:12
|- - jcxz   Цитата(kolobok0 @ Nov 20 2014, 18:12) Вы ...   Nov 20 2014, 16:45
- - Golikov A.   На самом деле я что-то тоже в какой-то момент нача...   Nov 20 2014, 12:26
- - Сергей Борщ   Хорошо, в TCP простая сумма. Но этот TCP идет пове...   Nov 20 2014, 13:12
- - Golikov A.   Вот оно откуда воспоминание о CRC32, ведь помнил ч...   Nov 20 2014, 13:58


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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 15:31
Рейтинг@Mail.ru


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