У нас есть сетевой коммутатор здесь, и мы можем легко попросить, чтобы это ограничило пропускную способность, которую это позволяет, который хорош. Было бы замечательно, если мы могли бы также попросить, чтобы это генерировало потери пакетов для нас - выполнение, это с WANem возможно, но добавляет задержки, и мы имеем дело с приложениями реального времени, таким образом, любая задержка, которую мы добавляем, плоха для нас. Кто-либо знает о сетевом коммутаторе или маршрутизаторе, который позволяет это или может быть взломан для размещения для него?
Все переключатели, которые имеют ограничение уровня или на порте или на VLAN, должны позволить Вам "моделировать" потерю пакетов. Если для Вашего приложения нужен 1 МБ трафика, затем устанавливает предел к чуть ниже этого, и переключатель должен отбросить пакеты.
Помните, что все переключатели, которые имеют эту функциональность, должны выбрать, чтобы смочь ограничить. Например: порт 1 установлен на предел 1 МБ. Порт 1 отправляет трафик 2 МБ за частью секунды. Большая часть из него, вероятно, удастся. Это вызвано тем, что, пока переключатель не может обнаружить и иметь размеры, через какое количество трафик проникает затем, он не знает, что отбросить. В зависимости от Вашего поставщика это может быть реализовано во многих отношениях, некоторый буфер и затем отбросит пакеты от буфера, и некоторые просто позволят моменту войти и и затем ограничат.
Если Вы ищете точно, как Ваше приложение ответит, я предложил бы настроить поле BSD прямо перед компьютером, на котором Вы тестируете приложение. BSD (просто, потому что я использую их для своих брандмауэров) имеет команду, названную ipfw, который позволит Вам непосредственно управлять соединением. Так позволяет, предполагают, что следующее является Вашим текущим сценарием:
+--------------------+ +----------------+ | Application Server | ---> | Client Machine | +--------------------+ +----------------+
Я понимаю, что это было бы упрощением, но оно иллюстрирует понятие. То, что можно сделать, установить туземное в середине и иметь его ограничение скорости
+--------------------+ +-----------------------+ +----------------+ | Application Server | ---> | Rate Limit Box | ---> | Client Machine | | 10.0.0.5 | | 10.0.0.6 192.168.1.1 | | 192.168.1.2 | +--------------------+ +-----------------------+ +----------------+
Еще раз я знаю, что это - упрощение. Я добавил IP так, чтобы я мог показать Вам, чем команды будут в BSD на Поле Ограничения скорости. Сначала настроенный BSD для действия как нормальный маршрутизатор Вы могли использовать смысл pf и т.д. Затем Вы могли добавить следующие команды при подсказке.
ipfw pipe 1 config bw 101Kbit ipfw add 1 pipe 1 ip from 10.0.0.5 to 192.168.1.2 ipfw add 2 pipe 1 ip from 192.168.1.2 to 10.0.0.5
Это моделировало бы соединение 101 КБ с и от клиента к серверу. Можно затем изменить это 101 значение на что-либо, чтобы смочь видеть то, что происходит в различных пределах. Реальное преимущество, которое это имеет по переключателю, который поддерживает ограничивающие функции, состоит в том, что это дешево (простой компьютер с несколькими интерфейсами) и что можно использовать wireshark для получения трафика при необходимости, чтобы затем видеть то, что точно отбрасывается и сколько. Эта информация могла быть очень полезной в разработке лучшего приложения.
по моему скромному мнению,