Исправление
Moisha_Liberman,
(текущая версия)
:
Я бы вообще так делать не стал. Ни по одному пакету, ни по двум пакетам реальную скорость боюсь что не оценить. Это некая такая «статистическая величина», основанная на ряде измерений. См. iperf/iperf3.
Если бы я захотел переписать, например, свою существующую тестилку сетевой производительности, то я бы не стал выдрючиваться с крафтом пакетов «в рукопашную», а посмотрел бы на libnet. Она позволяет создавать и обрабатывать пакеты разных типов.
Т.е., написал бы клиента и сервер, которые бы гоняли меж собой трафик в каких-то разумных пределах, десятка мегабайт в принципе должно хватить и на основании этого считали бы скорость. Правда, нужно было бы отдельно учитывать латентность сети, но для случая локалки это не особо важно, для случая виртуалок на одном хосте это не важно в принципе. Собственно, так почти и сделано, но мне нужны были разные по размеру пакеты, разных типов, поэтому я на libnet и ориентировался.
В общем, как-то так.
Исходная версия
Moisha_Liberman,
:
Я бы вообще так делать не стал. Ни по одному пакету, ни по двум пакетам реальную скорость боюсь что не оценить. Это некая такая «статистическая величина», основанная на ряде измерений. См. iperf/iperf3.
Если бы я захотел переписать, например, свою существующую тестилку сетевой производительности, то я бы не стал выдрючиваться с крафтом пакетов «в рукопашную», а посмотрел бы на libnet. Она позволяет создавать и обрабатывать пакеты разных типов.
Т.е., написал бы клиента и сервер, которые бы гоняли меж собой трафик в каких-то разумных пределах, десятка мегабайт в принципе должно хватить и на основании этого считали бы скорость. Правдно, нужно было бы отдельно учитывать латентность сети, но для случая локалки это не особо важно, для случая виртуалок на одном хосте это не важно в принципе. Собственно, так почти и сделано, но мне нужны были разные по размеру пакеты, разных типов, поэтому я на libnet и ориентировался.
В общем, как-то так.