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

 
 
> Контрольная сумма UDP, Помогите понять
s.i.suprun
сообщение Jul 12 2010, 09:40
Сообщение #1


Участник
*

Группа: Validating
Сообщений: 71
Регистрация: 24-06-08
Из: Харьков
Пользователь №: 38 521



Товарищи форумчане, возникла срочная необходимость написать свою реализацию IP стека, но по ходу возникла проблема подсчета контрольной суммы UDP датаграммы. Если можна поскажите толковое руководство по алгоритму или же если не тяжело пошаговое обьяснение (за илистрацию примером из пары тройки двухбайтных слов отдельное СПАСИБО!!!!!)

Сообщение отредактировал s.i.suprun - Jul 12 2010, 09:42
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
adnega
сообщение Jul 13 2010, 10:17
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Эээ... походу это я всех смутил.
Заветные три буквы фигурировали в коде, который выложил в посте #2.
Правильнее будет заменить CRC на CS.
Добавлю: опыт показывает, что говорить о CRC-16 без явного указания начального значения, порождающего полинома, и прочих преобразований, иногда не имеет смысла (ибо реализаций CRC-16 много).
В соответствующее поле UDP заносится контрольная сумма.

Посмотрел у Таненбаума ("Компьютерные сети"):
"Контрольная сумма UDP не является обязательной. Если она не подсчитывается, ее значение равно 0 (настоящая нулевая контрольная сумма кодируется всеми единицами).
Отключать функцию подсчета контрольной суммы глупо, за исключением одного случая - когда нужна высокая производительность."

С http://www.opennet.ru/docs/RUS/tcpip/#c5_udp :
"Если поле "Контрольная сумма" UDP-заголовка содержит нулевое значение, это означает, что источник UDP-пакета контрольную сумму не подсчитывал, и приемник выполнять ее проверку не должен. Некоторые реализации протокола UDP (например, в SunOS - клоне ОС UNIX от Sun Microsystems) контрольную сумму не подсчитывают в принципе, полагаясь на возможности контроля целостности данных, реализованные в протоколах сетевого уровня (например, в Ethernet)."
Go to the top of the page
 
+Quote Post
des333
сообщение Jul 13 2010, 10:39
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



Цитата(adnega @ Jul 13 2010, 22:17) *
Посмотрел у Таненбаума ("Компьютерные сети"):
"Контрольная сумма UDP не является обязательной. Если она не подсчитывается, ее значение равно 0 (настоящая нулевая контрольная сумма кодируется всеми единицами)."


Все правильно. Только лучше в таких случаях читать не Таненбаума (хотя не спорю, что книга очень хорошая), а RFC.


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- s.i.suprun   Контрольная сумма UDP   Jul 12 2010, 09:40
- - adnega   Код#define UDP_PACKET_SIZE 8 #define IP_UDP 17 ...   Jul 12 2010, 09:49
- - Костян   QUOTE (s.i.suprun @ Jul 12 2010, 07:40) Т...   Jul 12 2010, 11:10
|- - iosifk   Цитата(Костян @ Jul 12 2010, 15:10) А как...   Jul 12 2010, 12:15
- - adnega   Если в поле CRC будет 0, то windows-socket, вроде,...   Jul 12 2010, 11:50
|- - vadimuzzz   Цитата(adnega @ Jul 12 2010, 18:50) Если ...   Jul 12 2010, 12:17
- - des333   То s.i.suprun: Пример рассчета: http://ru.wikipedi...   Jul 12 2010, 12:25
|- - vadimuzzz   Цитата(des333 @ Jul 12 2010, 19:25) Может...   Jul 12 2010, 12:31
||- - Костян   QUOTE (vadimuzzz @ Jul 12 2010, 10:31) а ...   Jul 12 2010, 12:57
||- - vadimuzzz   Цитата(Костян @ Jul 12 2010, 19:57) поясн...   Jul 12 2010, 13:18
||- - Костян   QUOTE (vadimuzzz @ Jul 12 2010, 11:18) QU...   Jul 12 2010, 14:52
||- - vadimuzzz   Цитата(Костян @ Jul 12 2010, 21:52) я не ...   Jul 12 2010, 15:30
|- - x736C   Цитата(des333 @ Jul 12 2010, 16:25) И там...   Jul 13 2010, 02:25
||- - des333   Цитата(x736C @ Jul 13 2010, 06:25) Так эт...   Jul 13 2010, 06:13
||- - x736C   Цитата(des333 @ Jul 13 2010, 18:13) Я пис...   Jul 13 2010, 09:21
||- - des333    Цитата(x736C @ Jul 13 2010, 21:21) Призн...   Jul 13 2010, 09:49
|- - s.i.suprun   2 des333 Пример рассчета: http://ru.wikipedia.org...   Jul 13 2010, 07:35
|- - des333   Цитата(s.i.suprun @ Jul 13 2010, 19:35) 2...   Jul 13 2010, 07:52
- - s.i.suprun   Спасибо большое за ответ.!!!!   Jul 13 2010, 08:10
- - vadimuzzz   Цитата(des333 @ Jul 14 2010, 01:39) Все п...   Jul 13 2010, 14:57


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

 


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


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