Предыстория: Кодирование многопользовательской игры для симулятора (Windows, .net) с использованием одноранговой передачи UDP. Этот вопрос касается не преимуществ UDP по сравнению с TCP и не заголовков пакетов. Обсуждение этого вопроса связано с здесь.
Рассмотрим: я отправляю пакет UDP с размером полезной нагрузки X, где X может быть любым значением от 1 до 500 байт.
В: Будут ли/могут ли в любой момент передачи временно добавляться резервные байты к пакету, т.е. байт в дополнение к необходимым заголовкам/полезной нагрузке? Например, может ли быть так, что какой-либо участник передачи (ОС Windows - NAT - интернет - NAT - ОС Windows) добавил байты для выполнения определенного размера блока, чтобы эти добавленные байты стали частью передачи (даже если обрезаны позже), и на самом деле передаются, потребляя такты процессора (коммутатора, сервера)?
(Причина вопроса в том, сколько усилий затрачивается на составление/разложение пакета, конечно же :-). Сожмите его до последнего бита (маленькие, более локальные циклы ЦП) вместо того, чтобы позволить пакету быть частично самоописываемым (больше, меньше локального ЦП). Обратите внимание, что размер пакета всегда меньше, чем (ближайший ко мне, который я знаю) MTU, обычно ближе к 1500 байтам)
Спасибо!