Битый пакет по идее не должен приняться, но11.03.08 13:15 Число просмотров: 2885 Автор: Ustin <Ustin> Статус: Elderman Отредактировано 11.03.08 14:09 Количество правок: 2
> Датаграмма, переданная сабжевой функцией sendto(), будет > иметь контрольную сумму? > Т.е. следует ли мне при приёме датаграмм самому > контролировать их целостность, или понадеяться на протокол > и на OS? Контрольная сумма вставляется на канальном уровне в заголовок (или трейлер) кадра ethernet и в заголовок IP-пакета на сетевом уровне, которые не дойдут до recv на уровень приложений. Их проверяет транспортный модуль UDP и принимает решение о передаче данных выше.
Но в некоторых реализациях КС (IP-пакета) может не считаться, поэтому, опять-таки, раз изобретается протокол, гарантирующий доставку, желательно заиметь свою кс в данных.
Выставляется ли контрольная сумма UDP датаграммы при использовании "обычных" функций WinSock при её передаче?11.03.08 12:43 Автор: HandleX <Александр М.> Статус: The Elderman Отредактировано 11.03.08 12:47 Количество правок: 2
> Датаграмма, переданная сабжевой функцией sendto(), будет > иметь контрольную сумму? > Т.е. следует ли мне при приёме датаграмм самому > контролировать их целостность, или понадеяться на протокол > и на OS? Контрольная сумма вставляется на канальном уровне в заголовок (или трейлер) кадра ethernet и в заголовок IP-пакета на сетевом уровне, которые не дойдут до recv на уровень приложений. Их проверяет транспортный модуль UDP и принимает решение о передаче данных выше.
Но в некоторых реализациях КС (IP-пакета) может не считаться, поэтому, опять-таки, раз изобретается протокол, гарантирующий доставку, желательно заиметь свою кс в данных.