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

 
 
> Контрольная сумма 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
vadimuzzz
сообщение Jul 12 2010, 12:31
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(des333 @ Jul 12 2010, 19:25) *
Может быть, Вы имели в виду, что опциональна контрольная сумма UDP? Тогда Вы правы.

да, "An all zero transmitted
checksum value means that the transmitter generated no checksum (for
debugging or for higher level protocols that don't care).
"
а вот для чего это поле нужно:
"The pseudo header conceptually prefixed to the UDP header contains the
source address, the destination address, the protocol, and the UDP
length. This information gives protection against misrouted datagrams."

http://www.faqs.org/rfcs/rfc768.html
Go to the top of the page
 
+Quote Post
Костян
сообщение Jul 12 2010, 12:57
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059



QUOTE (vadimuzzz @ Jul 12 2010, 10:31) *
а вот для чего это поле нужно:
"The pseudo header conceptually prefixed to the UDP header contains the
source address, the destination address, the protocol, and the UDP
length. This information gives protection against misrouted datagrams."

http://www.faqs.org/rfcs/rfc768.html

поясните , как то смутно...
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jul 12 2010, 13:18
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(Костян @ Jul 12 2010, 19:57) *
поясните , как то смутно...

"protection against misrouted datagrams" - заплутала дейтаграмма smile.gif при этом CRC ethernet-пакета верная.
Go to the top of the page
 
+Quote Post
Костян
сообщение Jul 12 2010, 14:52
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059



QUOTE (vadimuzzz @ Jul 12 2010, 11:18) *
QUOTE
поясните , как то смутно..

"protection against misrouted datagrams" - заплутала дейтаграмма smile.gif при этом CRC ethernet-пакета верная.


я не о переводе, как может датаграма пойти по неверному пути ? Высокоуровневая ошибка приложения ? Так FPGA в общем случае не имеет таких приложений.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jul 12 2010, 15:30
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(Костян @ Jul 12 2010, 21:52) *
я не о переводе, как может датаграма пойти по неверному пути ? Высокоуровневая ошибка приложения ? Так FPGA в общем случае не имеет таких приложений.

устройство работает только в сетях, где нет ошибок? все маршрутизаторы настроены правильно? пакеты не теряются, не дублируются, приходят в правильном порядке? этого никто не гарантирует.
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
|- - 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
- - 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 Текстовая версия Сейчас: 23rd July 2025 - 12:24
Рейтинг@Mail.ru


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