LINUX.ORG.RU

История изменений

Исправление Moisha_Liberman, (текущая версия) :

Я бы вообще так делать не стал. Ни по одному пакету, ни по двум пакетам реальную скорость боюсь что не оценить. Это некая такая «статистическая величина», основанная на ряде измерений. См. iperf/iperf3.

Если бы я захотел переписать, например, свою существующую тестилку сетевой производительности, то я бы не стал выдрючиваться с крафтом пакетов «в рукопашную», а посмотрел бы на libnet. Она позволяет создавать и обрабатывать пакеты разных типов.

Т.е., написал бы клиента и сервер, которые бы гоняли меж собой трафик в каких-то разумных пределах, десятка мегабайт в принципе должно хватить и на основании этого считали бы скорость. Правда, нужно было бы отдельно учитывать латентность сети, но для случая локалки это не особо важно, для случая виртуалок на одном хосте это не важно в принципе. Собственно, так почти и сделано, но мне нужны были разные по размеру пакеты, разных типов, поэтому я на libnet и ориентировался.

В общем, как-то так.

Исходная версия Moisha_Liberman, :

Если честно...

Я бы вообще так делать не стал. Ни по одному пакету, ни по двум пакетам реальную скорость боюсь что не оценить. Это некая такая «статистическая величина», основанная на ряде измерений. См. iperf/iperf3.

Если бы я захотел переписать, например, свою существующую тестилку сетевой производительности, то я бы не стал выдрючиваться с крафтом пакетов «в рукопашную», а посмотрел бы на libnet. Она позволяет создавать и обрабатывать пакеты разных типов.

Т.е., написал бы клиента и сервер, которые бы гоняли меж собой трафик в каких-то разумных пределах, десятка мегабайт в принципе должно хватить и на основании этого считали бы скорость. Правдно, нужно было бы отдельно учитывать латентность сети, но для случая локалки это не особо важно, для случая виртуалок на одном хосте это не важно в принципе. Собственно, так почти и сделано, но мне нужны были разные по размеру пакеты, разных типов, поэтому я на libnet и ориентировался.

В общем, как-то так.