Вы не можете полагаться на UDP для поставки пакетов в порядке, потому что спецификация не обеспечивает те гарантии. Даже принимая самую идеальную ситуацию, единственную часть кабеля Ethernet между двумя хостами, существует все еще вопрос ОС, сетевого стека, драйвера NIC и libc реализации что Ваша запись против.
На каждом шаге в той цепочке писатели того кода выберут NOT для приоритизации упорядочивания пакеты UDP, даже если они прибывают для простой причины, что они не имеют к.
Одним изобретенным примером могла быть структура данных, в которую читаются входящие пакеты, который мог бы быть кольцевым буфером. Пакеты, прибывающие в порядок, будут помещены в порядок в кольцевой буфер, но может быть более просто для устройства записи драйвера вывести их к верхним уровням сетевого кода в порядке памяти, следовательно рандомизировав их упорядочивание.
Брать Вашу ситуацию, виртуальная машина работает на общей инфраструктуре, которая будет выполнена для объема, не производительности, затем вероятность предсказания порядка, пакеты UDP будут получены, будет низким.
Короче говоря, если спецификация говорит, что Вы не можете полагаться на пакетное упорядочивание UDP. Вы не можете полагаться на него, и Вы не можете попытаться настроить среду для предоставления более сильной гарантии, чем спецификация, когда-либо обещанная.