Как я моделирую низкую пропускную способность, высокую среду задержки?

Я знаю, что у вас есть пара хороших надежных ответов, но знаете ли вы о # -операторе в препроцессоре C?

Это позволяет вам сделать это:

#define MACROSTR(k) #k

typedef enum {
    kZero,
    kOne,
    kTwo,
    kThree
} kConst;

static char *kConstStr[] = {
    MACROSTR(kZero),
    MACROSTR(kOne),
    MACROSTR(kTwo),
    MACROSTR(kThree)
};

static void kConstPrinter(kConst k)
{
    printf("%s", kConstStr[k]);
}
197
задан JohnFx 1 October 2009 в 08:55
поделиться

7 ответов

Мы использовали это программное обеспечение однажды в Виртуальной машине, чтобы сделать некоторое тестирование масштаба пропускной способности:

http://www.softinengines.com/index.php?section=download&langu=en

Это не свободно, но действительно имеет 30-дневную пробную версию.

0
ответ дан Bob King 23 November 2019 в 05:16
поделиться

Попробуйте , WANem

WANem является Эмулятором Глобальной вычислительной сети, предназначенным для обеспечения реального опыта Глобальной вычислительной сети / Интернет, во время разработки приложений / тестирующий по среде LAN.

13
ответ дан epatel 23 November 2019 в 05:16
поделиться

Charles

я произвел впечатление Charles сеть, отладив приложение прокси и имел большой успех в эмуляции сетевой задержки. Это работает над Windows, Mac и Linux.

Charles on Mac

дроссель Пропускной способности / средство моделирования Пропускной способности

Charles может использоваться для корректировки пропускной способности и задержки Интернет-соединения. Это позволяет Вам моделировать модемные условия с помощью высокоскоростного соединения.

пропускную способность можно отрегулировать к любым произвольным байтам в секунду. Это позволяет любой скорости соединения моделироваться.

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

DummyNet

Вы могли также использовать VMware для выполнения BSD или Linux и попытки эта статья (DummyNet) или этот.

21
ответ дан Eugene Yokota 23 November 2019 в 05:16
поделиться

В прошлом я использовал мост с помощью Linux Netem (Сетевая Эмуляция) функциональность. Это высоконастраиваемо - разрешение введения задержек (первый пример для WAN), потеря пакетов, повреждение, и т.д.

РЕДАКТИРОВАНИЕ: существует также веб-интерфейс MasterShaper для управления настройками.

я отмечаю, что Netem работал очень хорошо на мои приложения, но я также закончил тем, что использовал WANem несколько раз. Обеспеченный загрузочный ISO (и изображения виртуального устройства) сделал его довольно удобным.

26
ответ дан Kris Kumler 23 November 2019 в 05:16
поделиться

Существует превосходная рецензия установки машины FreeBSD, чтобы сделать просто, это - берет Ваш стандартный старый рабочий стол, бросает в дополнительном NIC и сборке.

рецензия доступна в http://www.freebsd.org/doc/en/articles/filtering-bridges/article.html .

На шаге 5 вышеупомянутых инструкций, Вы включаете брандмауэр. Для того, чтобы просто моделировать различное IP-соединение, Вы могли (например), сделать следующее:

Создают файл /etc/rc.firewall.56k, который содержит следующее:

ipfw add pipe 1 ip from any to any out
ipfw add pipe 2 ip from any to any in    
ipfw pipe 1 config bw 56Kbit/s   
ipfw pipe 2 config bw 56Kbit/s

И изменение /etc/rc.conf... заменяют строку

firewall_type="open"

с [1 111]

firewall_type="/etc/rc.firewall.56k"

перезагрузка, и у Вас есть самостоятельно мост 56K!

, Если Вы, оказывается, работаете от Macintosh, что ОС имеет ipfw, встроенный в него по умолчанию. Я сделал то же самое путем маршрутизации сетевого трафика по Аэропорту и через Ethernet, установки его так, чтобы что-либо прибывающее через аэропорт имело те же характеристики как, независимо от того, что я пытаюсь эмулировать. Можно вызвать команды ipfw непосредственно от терминала и получить те же эффекты.

37
ответ дан Stu Thompson 23 November 2019 в 05:16
поделиться

Если вы работаете в Linux, я считаю, что программа Traffic Control очень помогает в подобных делах.

1
ответ дан 23 November 2019 в 05:16
поделиться

Я бы попробовал использовать netem в Linux. С его помощью вы можете моделировать дополнительную задержку, повреждение, потерю пакетов и дублирование. Он работает даже с устройством обратной петли.

7
ответ дан 23 November 2019 в 05:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: