Иногда мне нужно смоделировать среду WAN между моим клиентом и сервером. Я имею в виду, в частности, от самого важного к меньшему:
Желательно, чтобы симулятор WAN мог действовать как прокси - я направляю своего клиента на симулятор WAN, и симулятор WAN общается с сервером. Я потратил много времени на поиск в Google, пытаясь найти что-то, что будет делать это, но нашел очень мало.
Конечно, я знаю, что есть различные решения, которые я могу реализовать, управляя топологией сети и вставляя устройства посередине, но ИТ-отдел контролирует сеть. Я просто разработчик.
Какие бесплатные или недорогие инструменты, о которых вы знаете, могут помочь имитировать WAN?
Если вы используете Linux, вы можете использовать tc - программу управления трафиком. Он должен быть стандартным в вашем дистрибутиве. Например, чтобы установить максимальную скорость загрузки (в данном случае 100 кбит в секунду):
$ sudo tc qdisc add dev eth1 root tbf rate 100kbit latency 600ms burst 1540
чтобы установить максимальную скорость загрузки (в данном случае 500 кбит в секунду):
$ sudo tc qdisc add dev eth0 root tbf rate 500kbit latency 600ms burst 1540
tc может гораздо больше. Я не могу найти ссылку прямо сейчас, но вы можете сбрасывать пакеты и т. Д. С помощью tc. Чтобы узнать больше, вы можете прочитать как управлять трафиком.
В качестве альтернативы вы можете посмотреть tcng - Следующее поколение управления трафиком - использует tc на низком уровне, но имеет немного более приятный язык, чтобы указать, что вы делаете. Не пользовался, но есть tcng howto и tcng руководство.
Есть компания под названием Шунра который специализируется на этом материале. У меня нет опыта с ними, но они существуют уже некоторое время.
DummyNet это бесплатное программное обеспечение, которое можно использовать для моделирования различных сетевых условий. Если у вас есть запасная машина, установите FreeBSD и DummyNet и поместите ее между вашим клиентом и сервером. Затем вы можете настроить DummyNet, чтобы изменить задержку, дрожание и потери, которые вы испытываете.
РЕДАКТИРОВАТЬ: просто перечитайте вопрос и поняли, что вы не владеете своей сетью. В этом случае настройте DummyNet на машине с двумя сетевыми адаптерами и превратите ее в маршрутизатор, у которого ваша корпоративная глобальная сеть с одной стороны и ваша рабочая станция - с другой. Просто не забудьте сначала поговорить со своим ИТ-отделом, чтобы убедиться, что у них нет никаких проблем с вами!
Оборачивает tc для обеспечения случайного ненадежного поведения сети.
Бьюсь об заклад, вы могли бы построить Скрипач плагин для имитации чего-то подобного, но я не знаю готового решения.