LINUX.ORG.RU
ФорумTalks

UDP такое UDP


0

1

Что даже не гарантирует доставку адреса источника. При том что источник и приемник в одной сети, но разделены вайфаем.

примерно 25% неверно определенных адресов источника на простейшем echo сервере.

★★★★★

В чём разница между TCP и UDP? В том, что UDP — это такой болид из «Формулы-1»: очень быстрый, но никто не гарантирует, что ты доедешь целиком, одним куском мяса (и туда, куда нужно). TCP же — это как «Жигули», надёжное, доедет куда надо, но постоянно проверяет на ходу суммы всех частей, и при неисправности — начинает путь сначала. Зато доедет. Всегда.

Как-то так ;)

DoctorSinus ★★★★★ ()

Ну, стандарт для того и сделан, чтобы ничего не гарантировать

т.е. если бы была гарантия верной доставки адреса источника, это уже был бы не UDP, поскольку пришлось бы тратиться на дополнительные пакеты подтверждения и проверки.

Adonai ★★★ ()

UDP нужен, когда контроль за целостностью ты берешь на себя.

При том что источник и приемник в одной сети, но разделены вайфаем.

примерно 25% неверно определенных адресов источника на простейшем echo сервере.

Это проблемы WiFi а не UDP.

Dobriy_i_Prostoy ()

в IP/UDP заголовках есть контрольная сумма (в UDP опционально, но linux заполняет), поэтому вангую что проблема не в UDP.

AptGet ★★★ ()

навеяло

О, сколько нам открытий чудных
Готовят просвещенья дух
И опыт, сын ошибок трудных,
И гений, парадоксов друг,
И случай, бог изобретатель.

yax123 ★★★★ ()

примерно 25% неверно определенных адресов источника на простейшем echo сервере.

Wi-Fi сам по себе обеспечивает обнаружение и коррекцию ошибок, а также повторную передачу пакета в случае чего. Так что он довольно надежен в этом смысле. Если у вас такой процент битых пакетов, значит, что-то сильно неисправно.

Deleted ()
Ответ на: комментарий от DoctorSinus

«Жигули», надёжное

4.2 :).

UDP не гарантирует доставки, поэтому потери вполне могут быть.

UDP использует простую модель передачи, без неявных «рукопожатий» для обеспечения надёжности, упорядочивания или целостности данных. Таким образом, UDP предоставляет ненадёжный сервис, и датаграммы могут прийти не по порядку, дублироваться или вовсе исчезнуть без следа.

pztrn ★★★★ ()
Ответ на: комментарий от Deleted

Коррекция сама по себе может приводить к ошибкам на более высоком уровне. Видел стабильный поток дубликатов пакетов на нестабильном wi-fi канале.

aidaho ★★★★★ ()

фигня какая то. в UDP не гарантируется доставка и последовательность, но корректность доставленного должна же по идее проверятся, не должны битые пакеты приходить, раз битые то отбрасываться должны и не доходить до приложения. может правда какой то роутер made by microsoft ?

quest ★★★★ ()

накрайняк пиши адрес источника в сам пакет и закрывай пакет контрольной суммой, но все это очень странно, imho у тебя ошибка где то.

quest ★★★★ ()
Ответ на: комментарий от DoctorSinus

это как «Жигули», надёжное, доедет куда надо

Не-не-не, очень неудачное сравнение. Надо так:

Это как «транспорт номер 11»: надёжные, дойдут, куда надо, но скорость не гарантируют и при отсутствии какой-нибудь части «в покетах» приходится возвращаться и начинать сначала.

DeVliegendeHollander ★★ ()
Ответ на: комментарий от thesame

При потерях TCP начинает охреневать и сбавляет скорость передачи.

Chaser_Andrey ★★★★★ ()
Ответ на: комментарий от thesame

С чего это вдруг udp быстрее tcp? Там пакеты заряженные что ли?

Facepalm. Подумай, почему это вдруг он быстрее. Авось угадаешь даже.

tazhate ★★★★★ ()
Ответ на: комментарий от Chaser_Andrey

статья полнейший кретинизм, не удивлен, что автор - русский.

фактически, он предлагает переизобрести MPLS на уровне TCP, изменив логику работы ВСЕХ промежуточных устройств. нахера? самое забавное, что с проблемой high delay + high throughput каналов современные механизмы SACK и модерации окна успешно справляются, а автор застрял в 80-х, на BSD Reno и книгах Стивенса первой редакции. Характерно для российских «доцентов»-нанотехнологов. Про правильное, кардинальное и уже давно внедряющееся решение, SCTP, он, конечно, не слышал. Особенно умиляет список references.

топикстартеру: проверь, что у тебя правильно работает checksum offloading на твоей сетевой, посниффай пакеты и посмотри, заполнено ли поле checksum в заголовках IP и UDP. некоторые железки его декларируют, и ОС на это полагается, но фактически это не работает. если это так, просто его выключи и заставь стек считать чексуммы самому.

val-amart ★★★★★ ()
Ответ на: комментарий от thesame

Там пакеты заряженные что ли?

Квантово-запутанные частицы используются .

ymuv ★★★★ ()

Вот что бывает, когда влом читать спецификации.

segfault ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.