Нужно построить лабораторию, которая будет эмулировать реальную сеть с задержками, джиттером, потерями.
Задача — подключить к этой железке несколько серверов и задать задержки, потери, джиттер, возможно реордеринг.
Поискал специализированные железки 1U в стойку.
Но есть проблема:
1) Таких железок мало в продаже
2) Цены по запросу
3) Цены высокие от $10к — $40к за железку.
Вот что-то типа этого:
ixiacom.com/products/network-emulator-ii
Можно ли сделать нечто подобное на обычном Linux сервере? или найти б/у железку по нормальной цене (до $1к).
Здравствуйте, Yodo, Вы писали:
Y>Нужно построить лабораторию, которая будет эмулировать реальную сеть с задержками, джиттером, потерями. Y>Задача — подключить к этой железке несколько серверов и задать задержки, потери, джиттер, возможно реордеринг.
Сколько я не читал научных статей на тему "сравнительное исследование новомодного алгоритма XXX на фоне 20-и старомодных", все ссылаются на NS-2 Network simulator.
Но эта штука, насколько я понимаю, симулирует не аппаратную ситуацию, а позволяет просимулировать поведение сетевых протоколов, подменив в их реализации аппаратный транспорт (драйвер сетевой карты) на какую-то хреновину, привязывающую их к симулятору.
Но на самом деле, если есть возможность проводить работы не в аппаратном, а в виртуальном окружении, в этом есть свои плюсы. Например, можно уложиться во в разы меньший бюджет. Скажем, виртуальная сеть из нескольких десятков узлов легко поместится в одном компьютере, но если попытаться реализовать ее в железе, займет несколько комнат.
Здравствуйте, Yodo, Вы писали:
Y>Нужно построить лабораторию, которая будет эмулировать реальную сеть с задержками, джиттером, потерями. Y>Задача — подключить к этой железке несколько серверов и задать задержки, потери, джиттер, возможно реордеринг.
Y>Можно ли сделать нечто подобное на обычном Linux сервере? или найти б/у железку по нормальной цене (до $1к).
Принципиально можно, но тебе будет тяжело это настроить, если не сталкивался ранее. Как отправная точка посмотри . Первоисточники — Linux Advanced Routing & Traffic Control HOWTO и документация на Iptables.
Я бы советовал глянуть на VmWare Workstation. С 11 или 12 версии они добавили это — кнопка Advanced в настройках сетевой карты. Это самый простой способ.
Здравствуйте, Yodo, Вы писали:
Y>Нужно построить лабораторию, которая будет эмулировать реальную сеть с задержками, джиттером, потерями. Y>Задача — подключить к этой железке несколько серверов и задать задержки, потери, джиттер, возможно реордеринг.
На самом деле нетривиальная задача и нам не удалось ее полностью решить
Y>Можно ли сделать нечто подобное на обычном Linux сервере? или найти б/у железку по нормальной цене (до $1к).
Делали две сети (и физические и виртуальные, особой разницы не было), на машине поднимали по интерфейсу в каждую сеть, ставили Network Simulator (к сожалению ссылки на ПО не осталось, но думаю в инете есть варианты). Дальше конфигурировали различные проблемы (потери, реордеринг, дуплицирование, задержки, пропускную способность и тп), и пускали траффик через эту машину. Установка технически проста. А вот настройка проблем это самое сложное. Все эти проблемы получаются как бы регулярными, а в реальной сети все проблемы не регулярны. Но для отладки конкретных проблем очень удобно. А для эмуляции "реальной" сети мы использовали еще один подход — пускли трафик не через линукс машину, а через wifi где точки стояли на границе слышимости друг друга, а конфигурирование состояло в перемещении одной из точек ближе дальше