Имитация высокоскоростного сетевого подключения - PullRequest
0 голосов
/ 15 марта 2011

Я создал приложение для измерения пропускной способности интернет-трафика. Мне нужно протестировать приложение с относительно высокой скоростью передачи данных, например, 4 Мбит / с. У меня медленное интернет-соединение, поэтому мне нужен симулятор для тестирования моего приложения, чтобы увидеть поведение с высокой пропускной способностью.

Ответы [ 2 ]

0 голосов
/ 15 марта 2011

Есть коммерческие генераторы пакетов , которые делают это, а также несколько свободно доступных, таких как PackETH и Bit-Twist .

Есть и другие креативные решения. Например, должны ли пакеты быть IP-пакетами для вашей цели? Если нет, вы всегда можете получить «тупой» коммутатор или концентратор (без связующего дерева или другой защиты контура) и подключить к нему перекрестный кабель . (или прямой Ethernet-кабель будет работать, если коммутатор поддерживает Auto-MDIX ). Идея заключается в том, что при наличии петли в вашей сети концентратор / коммутатор заполнит сеть до 100%, поскольку он будет постоянно пересылать одни и те же пакеты.

Если вы попробуете это, убедитесь, что ваш компьютер является единственным в сети, поскольку эта техника фактически сделает его бесполезным. ;-)

Вы всегда можете отправить несколько пакетов IP-широковещания, чтобы "заполнить" цикл. В противном случае, первое, что вы, вероятно, увидите, это широковещательные пакеты ARP, которые не помогут, если вы измеряете только трафик layer 3 .

Наконец, (и особенно если это звучит как слишком много проблем), я рекомендую вам прочитать внедрение зависимостей и реорганизовать свой код, чтобы вы могли протестировать его без необходимости высокоскоростного интерфейса. Конечно, вам все равно нужно будет тестировать свой код в реальной высокоскоростной среде, но это даст вам гораздо большую уверенность в вашем коде.

0 голосов
/ 15 марта 2011

Как вариант, вы можете запустить несколько HTTP-серверов на одной виртуальной машине с сетевым адаптером NAT и протестировать свой измеритель пропускной способности на хост-системе или аналогичной виртуальной машине.

...