Jak zmniejszyć przepustowość w Linuksowym interfejsie sieciowym?

Czy jest sposób na ograniczenie przepustowości na NIC w Linuksie? Chciałbym móc symulować dowolnie wolne połączenie.

Author: Tamara Wijsman, 2008-08-28

7 answers

Moduł jądra netem , kontrolowany przez iproute.

Musisz skompilować Netem z jądrem:

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

Po załadowaniu modułu netem, tc iproute pozwala na takie rzeczy jak:

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

(50% utrata pakietów, dodatkowe opóźnienie 50 ms)

 33
Author: bortzmeyer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-28 09:14:32

Po stronie klienta, tak?

Trickle powinien robić, co chcesz. Jeśli używasz Ubuntu (lub Debiana, myślę), możesz go zainstalować za pomocą sudo apt-get install trickle, a następnie uruchomić. trickle -s -d 10 -u 10 firefox (lub tak, nie używałem go od jakiegoś czasu) uruchomi Firefoksa, ograniczając jego prędkość pobierania i wysyłania do 10 kilobajtów na sekundę.

 28
Author: Bernard,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-25 01:42:18

Znalazłem sposób, aby uniknąć mojego pudełka z jedzenia całej przepustowości dostępnej w sieci za pomocą narzędzia o nazwie "wondershaper" w ubuntu. Mam nadzieję, że istnieje również w innych Linuksach. Mogę ograniczyć przepustowość, jaką może zużywać mój domowy komputer z Linuksem, używając następującego polecenia.

sudo wondershaper eth0 1000 200

Ogranicza to limit pobierania do 1000 kilobitów, a uplaod do 200 kilobitów. Więcej informacji/opcji można znaleźć na stronach podręcznika wondershaper.

 17
Author: harry,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-12-20 09:34:14

NIST stwórz symulator sieci o nazwie NistNet.

Http://snad.ncsl.nist.gov/nistnet/ (link wydaje się martwy)

Http://cs.ecs.baylor.edu / ~ donahoo / tools / nistnet /

NistNet pozwala na stworzenie routera, który emuluje dowolne łącze komunikacyjne.

Do najprostszej operacji masz go na pudełku z dwiema nickami między dwiema sieciami.

Na przykład, miałem aplikację, która musiała pracować przez łącze satelitarne.

Dane mogą przejść przez a Łącze 2Mbps z dużym opóźnieniem. Kontrola musiała przejść przez łącze 128kbps, z tym samym opóźnieniem.

NistNet pomógł uruchomić to wszystko na 128kbps.

Używając NistNet mogłem symulować nie tylko przepustowość, ale także opóźnienie, a także upuści pakiety dla Ciebie, symulując zajęty lub zawodny link.

Jeśli chcesz symulować abitralne połączenie, nie ograniczaj tylko przepustowości, podkręć też opóźnienie.

Nie zapomnij też fragmentować pakietów. Możesz Ustaw ładne małe MTU na fałszywym linku.

IIRC dodanie jittera pakietów pozwoli Ci dowiedzieć się, czy możesz poradzić sobie z pakietami poza zamówieniem.

 8
Author: Tim Williscroft,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-28 03:08:08

Ja osobiście używane wondershaper w przeszłości do tego, choć został napisany dla przeciwnego przypadku użycia - making the most of your ADSL connection.

Będę musiał spróbować innych wymienionych tutaj choć.

 4
Author: Thomas Vander Stichele,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-01 20:34:51

Możesz użyć lokalnie zainstalowanego squid proxy, aby ograniczyć przepustowość, na przykład do testowania strony na wolnym łączu:

  1. Zainstaluj squid proxy z twojej dystrybucji - na mojej Fedorze było to tak proste jak yum install squid.

  2. Dodaj do /etc/squid/squid.conf:

    delay_pools 1
    delay_class 1 1
    delay_access 1 allow all
    delay_parameters 1 16000/16000

    To ograniczy przepustowość do około 128 kbps (16000 Bps).

  3. Start squid : /etc/init.d/squid start

  4. Skonfiguruj przeglądarkę tak, aby używała portu serwera proxy localhost 3128.

 3
Author: Tometzky,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-05-19 11:58:34

Nikt jeszcze nie wspomniał o ip_relay o nazwie "iprelay" w repozytoriach Debiana. Działa jako serwer proxy TCP, zamiast przechwytywać połączenia w sposób, w jaki działa trickle i będzie działać z każdą aplikacją, która może używać serwera proxy (np. przeglądarki internetowej) lub akceptować zdefiniowany przez użytkownika port docelowy (telnet, ssh, ftp, curl, itd. ).

Jest to trochę trudniejsze do skonfigurowania, ale często działa w sytuacjach, w których trickle nie będzie.]}
 3
Author: CodeGnome,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-18 23:51:05