Касательно udp сегментов, они фрагментируются, если размер пакета превышает mtu?
MTU - канальный уровень, UDP - транспортный. UDP-сегменты в любом случае будут фрагментироваться, чтобы "упаковаться" сначала в IP-пакеты, а потом в ethernet-фреймы.
вопрсо по пути если где-то мту режется... аля иптаблесовский mss to pmtu
"а давай поиграем в интересную игру" или "ебись, Антон, траблшуть!"
Первая же ссылка в гугле: 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
Эт все я читал, но это строка засомневаться заставила.
UDP в целом не гарантирует доставку, что не так то? Я может сейчас вас расстрою, но и ethernet тоже не гарантирует доставку :) оно с потерями by design.
Я про целостное состояние сегмента. При MTU целостность сегмента теряется.
Либо вы хотите разговор ради разговора, либо я не понимаю что вам нужно. Что мешает собрать лабу прям на столе и вдуть туда траффик? Посмотреть что будет приминительно конкретно к вашему кейсу?
Вроде по моим вопросам и так понятно, что мне нужно. Я хочу узнать, надо ли бороться с фрагментациями при разработке протокола поверх UDP. Я не сетевик и какой-либо лабы под рукой нету.
Целостность UDP-сегмента будет теряться в любом случае, если его размер после "заворачивания" в IP-пакет, а затем и в ethernet-фрейм, составит более 1500 байт. Поправьте, если не права. P.S. Очень большой процент провайдеров MTU больше 1500 не пропускает, да и не все свитчи умеют в jumbo frame...
Ладно. Спасибо. Почти везде такая же инфа. Буду исходить из этого
>> Вроде по моим вопросам и так понятно, что мне нужно В вашем оргиниальном сообщение нигде не сказано кто вы 🙂 >> Я хочу узнать, надо ли бороться с фрагментациями при разработке протокола поверх UDP. Это вопрос не технике, это вопрос к дизайну. В сетевом мире обычно стараются избегать фрагментации по возможности. Пример ipsec туннели, зная что в интернете бывают проблемы с большим MTU принято занижать mss/mtu, дабы избежать фрагментации. Если вы контроллируете протокол. т.е. по сути и клиент и сервер, я бы сделал возможность выбора размера, так чтобы если пользователю нужно, он мог уменьшить, а если нет, то пользоваться значением "по умолчанию". Сильно занижать врядли стоит - потеряете пропускную способность, но дать возможность в интервале от 500 до 1500 крутить смысл есть. Сколько это будет стоить в части разработки это нужно считать вам. В любом случае проверка "на живую" даст вам ответы и на влияние и поможет оценить необходимость добавления функционала. Если не хватает экспертизы, напишите в личку. Если есть бюджет - помогу.
Обсуждают сегодня