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

 
 
> Контрольная сумма 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
Ответов
des333
сообщение Jul 12 2010, 12:25
Сообщение #2


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

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



То s.i.suprun:
Пример рассчета:
http://ru.wikipedia.org/wiki/UDP#.D0.9F.D1....BC.D0.BC.D1.8B



Цитата(vadimuzzz @ Jul 12 2010, 16:17) *
для IPv4 CRC опциональна

Контрольная сумма заголовка IPv4 не опциональна. И там используется не CRC, а 16-битовое поразрядное дополнение суммы поразрядных дополнений всех 16-битовых слов заголовка. 

Может быть, Вы имели в виду, что опциональна контрольная сумма UDP? Тогда Вы правы.


--------------------
Go to the top of the page
 
+Quote Post
s.i.suprun
сообщение Jul 13 2010, 07:35
Сообщение #3


Участник
*

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



2 des333

Пример рассчета:
http://ru.wikipedia.org/wiki/UDP#.D0.9F.D1....BC.D0.BC.D1.8B


Оный пример видел, читал все понятно вод до этой строчки: "0x08c1 = 0000 1000 1100 0001 → 1111 Это и есть искомая контрольная сумма."
Извените за глупые вопросы, но откуда там взялась 0x0F - не могу ума приложить....

Нашел другую доку: http://www.faqs.org/rfcs/rfc1071.html


На счет контрольной суммы в полях заголовков: как в полях транспортных протоколов так и протоколах сетевого уровня данное поле должно быть просчитано и забито (Возможен, правда вариант не просчета этого поля в UDP). Счёт для них происходит по одному алгоритму:поразрядное дополнение до единицы суммы всех 16-битных слов с поразрядным дополнением*(Wiki).
Разница лишь в том, что для UDP, TCP и т.д., сумма считается для всей датаграммы, а в IP - лишь для заголовка. А CRC-алгоритм применяется для подсчета контрольной суммы полностью сформированого пакета (с MAC и т.д. заголовками) и размещается в конце всей посылки.

Сообщение отредактировал s.i.suprun - Jul 13 2010, 07:37
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
|- - 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
|- - des333   Цитата(s.i.suprun @ Jul 13 2010, 19:35) 2...   Jul 13 2010, 07:52
- - s.i.suprun   Спасибо большое за ответ.!!!!   Jul 13 2010, 08:10
- - adnega   Эээ... походу это я всех смутил. Заветные три букв...   Jul 13 2010, 10:17
- - des333   Цитата(adnega @ Jul 13 2010, 22:17) Посмо...   Jul 13 2010, 10:39
- - 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 - 10:04
Рейтинг@Mail.ru


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