172 похожих чатов

Добрый день. Вопрос не по теме, но хз где спросить.

Касательно udp сегментов, они фрагментируются, если размер пакета превышает mtu?

12 ответов

10 просмотров

MTU - канальный уровень, UDP - транспортный. UDP-сегменты в любом случае будут фрагментироваться, чтобы "упаковаться" сначала в IP-пакеты, а потом в ethernet-фреймы.

Sel'va
MTU - канальный уровень, UDP - транспортный. UDP-...

вопрсо по пути если где-то мту режется... аля иптаблесовский mss to pmtu

Anton Gorlov
вопрсо по пути если где-то мту режется... аля ипт...

"а давай поиграем в интересную игру" или "ебись, Антон, траблшуть!"

Первая же ссылка в гугле: Any IP datagram can be fragmented if it is larger than the MTU. Whether it contains UDP, TCP, ICMP, etc. does not matter. Most Ethernet networks support a 1500 byte MTU. With the IPv4 header being 20 bytes and the UDP header being 8 bytes, the payload of a UDP packet should be no larger than 1500 - 20 - 8 = 1472 bytes to avoid fragmentation. Пользуйтесь поиском! https://en.wikipedia.org/wiki/IP_fragmentation

DI- Автор вопроса
Evgeny Kovalskiy
Первая же ссылка в гугле: Any IP datagram can be...

Эт все я читал, но это строка засомневаться заставила.

DI
screenshot Эт все я читал, но это строка засомневаться застав...

UDP в целом не гарантирует доставку, что не так то? Я может сейчас вас расстрою, но и ethernet тоже не гарантирует доставку :) оно с потерями by design.

DI- Автор вопроса
Evgeny Kovalskiy
UDP в целом не гарантирует доставку, что не так то...

Я про целостное состояние сегмента. При MTU целостность сегмента теряется.

DI
Я про целостное состояние сегмента. При MTU целост...

Либо вы хотите разговор ради разговора, либо я не понимаю что вам нужно. Что мешает собрать лабу прям на столе и вдуть туда траффик? Посмотреть что будет приминительно конкретно к вашему кейсу?

DI- Автор вопроса
Evgeny Kovalskiy
Либо вы хотите разговор ради разговора, либо я не ...

Вроде по моим вопросам и так понятно, что мне нужно. Я хочу узнать, надо ли бороться с фрагментациями при разработке протокола поверх UDP. Я не сетевик и какой-либо лабы под рукой нету.

DI
Я про целостное состояние сегмента. При MTU целост...

Целостность UDP-сегмента будет теряться в любом случае, если его размер после "заворачивания" в IP-пакет, а затем и в ethernet-фрейм, составит более 1500 байт. Поправьте, если не права. P.S. Очень большой процент провайдеров MTU больше 1500 не пропускает, да и не все свитчи умеют в jumbo frame...

DI- Автор вопроса
Sel'va
Целостность UDP-сегмента будет теряться в любом сл...

Ладно. Спасибо. Почти везде такая же инфа. Буду исходить из этого

DI
Вроде по моим вопросам и так понятно, что мне нужн...

>> Вроде по моим вопросам и так понятно, что мне нужно В вашем оргиниальном сообщение нигде не сказано кто вы 🙂 >> Я хочу узнать, надо ли бороться с фрагментациями при разработке протокола поверх UDP. Это вопрос не технике, это вопрос к дизайну. В сетевом мире обычно стараются избегать фрагментации по возможности. Пример ipsec туннели, зная что в интернете бывают проблемы с большим MTU принято занижать mss/mtu, дабы избежать фрагментации. Если вы контроллируете протокол. т.е. по сути и клиент и сервер, я бы сделал возможность выбора размера, так чтобы если пользователю нужно, он мог уменьшить, а если нет, то пользоваться значением "по умолчанию". Сильно занижать врядли стоит - потеряете пропускную способность, но дать возможность в интервале от 500 до 1500 крутить смысл есть. Сколько это будет стоить в части разработки это нужно считать вам. В любом случае проверка "на живую" даст вам ответы и на влияние и поможет оценить необходимость добавления функционала. Если не хватает экспертизы, напишите в личку. Если есть бюджет - помогу.

Похожие вопросы

Обсуждают сегодня

Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
40
Проблема с Windows scripting control Множество объектов получают iDispatch обертки и отдаются в скрипты. При этом скрипты могут эти обертки держать живыми очень долго, наприм...
Arioch The
16
Скажите, можно ли как-то "переместить" динамический массив из одной переменной в другую? Скажем, переместить из TList<> в TArray<>. Именно переместить, а не скопировать. Если ...
Eugene Krasnikov (ᴊɪɴ x)
37
Я тут пытаюсь переработать архитектуру подсистемы памяти ядра во что-то осмысленное. Есть pmm, который создает набор range’ей(пока что только для ядра, потом для юзерспейса), ...
Evg Resh
9
комрады, че-та лыжы не едут var tmpFont: TFont; begin tmpFont:= TFont.Create; try case rgFontColor.ItemIndex of 0: tmpFont.Color:= clWindowText; 1: tmpFo...
Ed Doc
34
Вот еще криповенькая штука. uMain.pas(517,3) Warning: Case statement does not handle all possible cases И ЧО? 😂
Александр (Rouse_) Багель
20
Интересно, нет ли какого-то способа получить из dll не адрес самой метки, а адрес со смещением?
The Bird of Hermes
54
то есть у тебя там Лазарь, не делфя?
Handatros
8
М-да. Почему бы просто со stringlist не работать?
Michael Longneck
23
коллеги, а есть простой способ определить, что программу из под Delphi запускают?
Михаил
10
Карта сайта