Какой инструмент (ы) я могу использовать для моделирования WAN для HTTP-трафика?

13

Иногда мне нужно смоделировать среду WAN между моим клиентом и сервером. Я имею в виду, в частности, от самого важного к наименьшему:

  • Предел общей пропускной способности,
  • Случайные длительные (много десятков секунд) задержки
  • дрожание

Предпочтительно симулятор WAN может выступать в качестве прокси-сервера - я указываю своему клиенту на симулятор WAN, и симулятор WAN общается с сервером. Я потратил много времени на поиск в Google, чтобы найти что-то, что будет делать это, и нашел очень мало.

Конечно, я знаю, что есть различные решения, которые я могу реализовать, управляя топологией сети и вставляя устройства посередине, но ИТ контролирует сеть. Я просто разработчик.

Какие бесплатные или недорогие инструменты, о которых вы знаете, могут помочь имитировать WAN?

Эдди
источник
Какую среду вы используете? Есть несколько вещей, которые вы можете сделать с сетевым стеком, если вы используете Linux ...
Хэмиш Даунер

Ответы:

6

http://communities.vmware.com/blogs/Knorrhane/2008/01/23/how-to-simulate-wan-connections-in-your-own-test-lab-for-free

  • VMware Workstation для симуляции сети - $ 189
  • Netlimiter 2 Pro замедлит работу сети - $ 29,95
  • Tmurgent для симуляции потери пакетов (и задержки) - бесплатно!
saschabeaumont
источник
В статье упоминается, что Tmurgent также вводит задержку для тестирования. Это ключ. С нашим внутренним приложением мы нашли трудный путь, чтобы пропускная способность не была главной проблемой, это была задержка. Мы должны быть очень осторожны при построении наших объектов на клиенте, потому что все вызовы SQL могут привести к реальным затратам в среде WAN с задержкой.
Аарон
7

Если вы используете 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. Чтобы узнать больше, вы можете прочитать инструкции по управлению движением .

В качестве альтернативы вы можете взглянуть на tcng - Traffic Control Next Generation - он использует tc на низком уровне, но имеет немного более приятный язык для указания того, что вы делаете. Я не использовал его, но есть tcng HOWTO и руководство tcng .

Хэмиш Даунер
источник
3

Есть компания под названием Shunra, которая специализируется на этом. У меня нет никакого опыта с ними, но они были вокруг некоторое время.

Джоэл Спольски
источник
2

DummyNet - это бесплатное программное обеспечение, которое можно использовать для моделирования различных условий сети. Если у вас есть запасной компьютер, установите FreeBSD и DummyNet и вставьте их между клиентом и сервером. Затем вы можете настроить DummyNet для изменения задержки, дрожания и потери, которые вы испытываете.

РЕДАКТИРОВАТЬ: просто перечитайте вопрос и понял, что вы не являетесь владельцем вашей сети. В этом случае настройте DummyNet на компьютере с двумя сетевыми картами и превратите его в маршрутизатор, на одной стороне которого есть корпоративная глобальная сеть, а на другой - рабочая станция. Обязательно сначала поговорите со своим ИТ-отделом, чтобы убедиться, что у вас нет проблем с этим!

Мурали Суриар
источник
2

lagfactory

Обертки tc для обеспечения случайного ненадежного поведения сети.

Cawflands
источник
1

Могу поспорить, что вы могли бы создать плагин Fiddler для имитации чего-то подобного, но я не знаю решения из коробки.

jj33
источник