Pull to refresh

Comments 16

Последний раз, когда я тестировал на 20Г очень модную железку очень модного вендора (не сиськи), производительность стека Linux была наименьшей из проблем, с которой эта железка столкнулась.

Согласны, можно разрабатывать и тестировать сетевые устройства и без DPDK. В нашем проекте реализация этой технологии была включена в список требований заказчика, благодаря чему и появилась эта заметка для Хабра. :)
В чем отличие решения Cisco TRex от решений IXIA, не считая стоимости?
А если сравнивать с аппаратными решениями от IXIA?
У Ixia несравнимо более продвинутые продукты, так как это лидер в индустрии testing. По ссылке выше TRex сравнивают c базовым софтом Ixia IxExplorer, естественно ничего не говоря о преимуществах Ixia, среди которых advanced tracking, sequence checking, обнаружение ошибок, наносекундная погрешность вычисления latency, что обеспечивается специализированной аппаратной платформой и зрелым функциональным софтом. Кроме этого Ixia имеет поддержку всех routing и MPLS протоколов, возможность эмулировать множество IPsec VPN, application flow с реалистичным payload из базы приложений, быстрые предконфигурированные тесты (RFC2889, RFC2544,. ...) и т.д.
Ixia chassis
image
К примеру при разработке управляемого коммутатора L3 какой инструмент целесообразно использовать TRex, IxExplorer или аппаратные решения?
Я бы однозначно рекомендовал использовать серьёзные коммерческие решения типа Ixia, тем более если вы вендор и делаете своё сетевое железо. Для тестирования L2-L3 существует продукт IxNetwork, который можно запускать как на аппаратной платформе, так и имеется виртуальная версия IxNetwork VE, которая запускается на VMware или KVM машинах. Виртуальной версии зачастую достаточно для как для compliance тестирования, так и нагрузочного. Если интересуетесь решением для тестирования сетевого оборудования, могу помочь с выбором, пишите в личные сообщения.

Теперь времена изменились,T-Rex один из лучших вариантов для софтовой генерации трафика :)

Интересная вещь. Подскажите, а нагрузить по максимуму тестируемое устройство этой штукой можно? На практике проблем с производительностью нет? Также подскажите, умеет ли в rfc-2544? Поддерживает ли сети выше 10Гбит/с, например 40 и 100Гбит/с?
Да, можно попробовать выжать до 40 Гбит/с, это заявлено на сайте разработчиков TRex. Они поддерживают интерфейсы до 100 Гбит/с, по скоростям — до 22 миллионов пакетов в секунду (mpps).

На нашем железе — Intel® Core(TM) i7-7700 CPU @ 3.60GHz — получилось максимум выжимать 10 Гбит/с. Дальше при увеличении количества потоков скорость уже не росла. Это из-за того, что процессор поддерживает всего 8 потоков работы с данными.
Выжать 10Gbps на 20 потоках можно и при помощи iperf3.
А вот как получить 1,5Mpps?
У меня насущная потребность…
1,5 Mpps — это 1500000 пакетов в секунду. По коду есть параметры генерируемого потока «mode=STLTXCont(bps_L2=4500000000)»

Параметр может быть задан в pps, bps_L1, bps_L2
# pps: float
# Packets per second
#
# bps_L1: float
# Bits per second L1 (with IPG)
#
# bps_L2: float
# Bits per second L2 (Ethernet-FCS)

Что бы получить 1,5Mpps, соотвественно, необходимо задать bps_L2=1500000.

Подскажите, можно оценить количество потерянных пакетов при переключении маршрутов с основного на резервный и обратно?

Есть ли возможность создать конфигурацию для работы TRex в нескольких netns?
Есть хост с двумя сетевыми картами, у которых по два интерфейса.

На одной карте каждый интерфейс выделен в отдельное сетевое пространство имён (netns). На схеме это trex_trafficgen и trex_analyzer

Интерфейсы DUT оставлены в глобальном пространстве.

Линки, маршруты настроены и пакеты ходят. Хочется натравить на это TRex, но запуск сервера вылетает с ошибкой. Без дополнительных netns сервер поднимается без проблем, только пакеты не ходят.

Sign up to leave a comment.

Articles