Как регулировать пропускную способность сетевого интерфейса Linux?

есть ли способ ограничить пропускную способность сетевого адаптера в linux? Я хотел бы иметь возможность имитировать произвольно Медленное соединение.

20
задан Tom Wijsman
25.11.2022 6:05 Количество просмотров материала 3147
Распечатать страницу

7 ответов

netem модуль ядра, управляемый iproute.

вам нужно скомпилировать Netem с ядром:

Networking -->
   Networking Options -->
     QoS and/or fair queuing -->
        Network emulator

после того, как модуль netem загружен, tc iproute позволяет вам такие вещи, как:

tc qdisc add dev  tap0 root netem delay 50ms loss 50% 

(50 % потеря пакетов, задержки 50 мс)

31
отвечен bortzmeyer 2022-11-26 13:53

на стороне клиента, верно?

ручеек должны делать то, что вы хотите. Если вы используете Ubuntu (или Debian, я думаю), вы можете установить его с помощью sudo apt-get install trickle, а затем запустить его. trickle -s -d 10 -u 10 firefox (или около того, я не использовал его в то время) будет работать firefox, ограничивая его загрузку и скорость загрузки до 10 килобайт в секунду.

27
отвечен Bernard 2022-11-26 16:10

Я нашел способ, чтобы избежать моего окна от еды всю пропускную способность, доступную в сети с помощью инструмента под названием "wondershaper" в ubuntu. Я надеюсь, что он существует и в других Linux destros тоже. Я могу ограничить пропускную способность, что мой домашний компьютер linux может потреблять с помощью следующей команды.

sudo wondershaper eth0 1000 200

это ограничивает предел загрузки до 1000 килобит и uplaod до 200 килобит. Обратитесь к Man-страницам из wondershaper дополнительные сведения/настройки.

16
отвечен harry 2022-11-26 18:27

NIST сделать сетевой симулятор под названием NistNet.

http://snad.ncsl.nist.gov/nistnet/ (ссылка, кажется, мертв)

http://cs.ecs.baylor.edu/~donahoo/инструменты/nistnet/

NistNet позволяет сделать маршрутизатор, который эмулирует связь по вашему выбору.

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

например, у меня было приложение, которое должно было работать через спутник соединение.

данные смогли пойти над соединением 2мбпс с большой латентностью. Управление должно было идти по каналу 128kbps с той же задержкой.

NistNet помогло все работает на 128 Кбит.

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

Если вы хотите сымитировать abitrary соединение, то как раз не ограничьте ширину полосы частот, ветер до задержки слишком.

Не забывайте также фрагментировать пакеты. Вы можете установить хорошие маленькие MTU на фальшивой ссылке.

IIRC добавление джиттера пакетов позволит вам узнать, можете ли вы справиться с неупорядоченными пакетами.

8
отвечен Tim Williscroft 2022-11-26 20:44

Я лично использовал wondershaper в прошлом для этого, хотя он был написан для противоположного варианта использования-максимально использовать ваше соединение ADSL.

Я должен попробовать другие упомянутые здесь, хотя.

4
отвечен Thomas Vander Stichele 2022-11-26 23:01

вы можете использовать локально установленный squid прокси для ограничения пропускной способности, например, для тестирования веб-страницы по медленной ссылке:

  1. установить squid прокси из вашего дистрибутива-на моей Fedora это было так же просто, как yum install squid.

  2. добавить /etc/squid/squid.conf:

    delay_pools 1

    delay_class 1 1

    delay_access 1 allow all

    delay_parameters 1 16000/16000

    это ограничит полосу пропускания около 128 Кбит / с (16000 бит / с).

  3. Start кальмаров:/etc/init.d/squid start

  4. настроить браузер на использование прокси-сервера localhost порт 3128.

3
отвечен Tometzky 2022-11-27 01:18

никто еще не упомянул ip_relay, С именем "iprelay" в репозиториях Debian. Он работает как TCP прокси, а не перехватывает звонки способом ручеек делает и будет работать с любым приложением, которое может использовать прокси-сервер (например, веб-браузер) или принять пользовательский порт назначения (telnet, ssh, ftp, curl, и так далее).

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

3
отвечен CodeGnome 2022-11-27 03:35

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх