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

 
 
 
Reply to this topicStart new topic
> Можно ли при расчете crc эзернет пакета поменять слова местами?
novartis
сообщение Nov 23 2016, 05:44
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 309
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845



При формировании UDP пакета мне не известна CRC на IP заголовок и CRC на UDP пакет, но их нужно прописать почти в самом начале эзернет пакета.

Я сначала формирую весь пакет, эти неизвестные CRC пропускаю.
Параллельно веду расчет CRC на эзернет пакет, неизвестные CRC пропускаю.

После формирования пакета рассчитываю CRC на IP заголовок и CRC на UDP пакет и вставляю их в нужные места.
И досчитываю CRC эзернет пакета.
То есть поменял порядок следования слов.
В результате CRC эзернет пакета не совпадает с нужной.

Можно ли это как то обойти?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 23 2016, 06:43
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 7 739
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (novartis @ Nov 23 2016, 08:44) *
неизвестные CRC пропускаю.
Вот для борьбы с такими ошибками и придумана CRC. Обойти это нельзя.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Кнкн
сообщение Nov 23 2016, 07:11
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 627
Регистрация: 21-06-04
Пользователь №: 71



Цитата(novartis @ Nov 23 2016, 08:44) *
Можно ли это как то обойти?


Существуют методы коррекции CRC без полного перерасчета.
Забросил на ftp upload/DOC/misc/CRC.zip подборку статей по расчету CRC.
Go to the top of the page
 
+Quote Post
k155la3
сообщение Nov 23 2016, 07:29
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 386
Регистрация: 8-03-09
Из: Днепропетровск
Пользователь №: 45 848



Цитата(novartis @ Nov 23 2016, 08:44) *
. . . .
(1)Параллельно веду расчет CRC на эзернет пакет, неизвестные CRC пропускаю.
. . . . .
(2)Можно ли это как то обойти?

(1) Еслиб это была бухгалтерия, то главбух бы сдавала отчет без 99% информации.
(2) CRC базируется на двоичной математике, а именно "деление на полином". Я об этом имею очень общее представление.
Возможно есть ф-лы в контексте бинарного деления, вроде базовых арифметических, F = (A+B+C)/D = A/D + B/D +C/D
Но думаю просто это не будет, а скорее наоборот.
Go to the top of the page
 
+Quote Post
novartis
сообщение Nov 23 2016, 18:29
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 309
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845



Спасибо за ответы, и спасибо за архив с кучей доков.

Понял, что порядок слов менять нельзя.
Поборол свою проблему другим способом.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th January 2017 - 12:53
Рейтинг@Mail.ru


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