wikiroute

networking recipes

User Tools

Site Tools


extension_d_un_reseaux_sans-fil

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
extension_d_un_reseaux_sans-fil [2015/07/26 09:22] – [4- Limitation du débit] samerextension_d_un_reseaux_sans-fil [2015/07/27 14:17] (current) – [4.2- Activation au démarrage] samer
Line 135: Line 135:
 </code> </code>
  
-Nous choisissons de limiter le débit montant à 200 Kbits/sec et descendant à 2 Mbits/sec. Pour cela, nous avons recours à l'outil ''tc'' de contrôle de trafic. Commençons par installer les modules nécessaires pour OpenWrt. +==== -- Mise en place ==== 
 + 
 +Nous choisissons de limiter le débit montant à 200 Kbits/sec et descendant à 2 Mbits/sec. Pour cela, nous avons recours à l'outil ''tc'' de contrôle de trafic. Commençons par installer les modules nécessaires pour OpenWrt sur le point d'accès sans-fil
  
 <code> <code>
-opkg update +root@ap-openwrt:~# opkg update 
-opkg install tc iptables-mod-ipopt +root@ap-openwrt:~# opkg install tc iptables-mod-ipopt 
-opkg kmod-sched +root@ap-openwrt:~# opkg install kmod-sched
-insmod sch_tbf+
 </code> </code>
  
 +Activons le module de gestion de files d'attentes en saut à jetons:
 <code> <code>
-root@OpenWrt:~# tc qdisc add dev wlan0-1 root tbf rate 200kbit burst 10kb latency 50ms peakrate 350kbit minburst 1540+root@ap-openwrt:~# insmod sch_tbf
 </code> </code>
  
 +Ensuite, appliquons une règle de limitation du trafic montant sur l'interface logique ''wlan0-1'' (interface sortante du point d'accès). Le débit maximal choisi est 200 Kbits/sec avec des pics jusuqu'à 350 Kbits/s. Les paquets qui séjournent plus que 50 msec dans la file d'attente sont supprimés.
 <code> <code>
-root@OpenWrt:~# tc qdisc add dev br-lan root tbf rate 2mbit burst 10kb latency 50ms peakrate 4mbit minburst 1540+root@ap-openwrt:~# tc qdisc add dev wlan0-root tbf rate 200kbit burst 10kb latency 50ms peakrate 350kbit minburst 1540
 </code> </code>
 +
 +<WRAP center round tip 100%>
 +Les noms des interfaces logiques du point d'accès peuvent être identifiés dans le résultat de la commande ifconfig.
 +</WRAP>
 +
 +De même, appliquons une règle de limitation du trafic descendant à 2 Mbit/sec sur l'interface br-lan (interface entrante du point d'accès):
 +<code>
 +root@ap-openwrt:~# tc qdisc add dev br-lan root tbf rate 2mbit burst 10kb latency 50ms peakrate 4mbit minburst 1540
 +</code>
 +
 +Vérifions la mise en place des règles de limitation de trafic:
 +<code>
 +root@ap-openwrt:~# tc -s qdisc ls dev br-lan
 +qdisc tbf 8004: root refcnt 2 rate 2000Kbit burst 10Kb peakrate 4000Kbit minburst 1540b lat 50.0ms 
 + Sent 10180 bytes 35 pkt (dropped 0, overlimits 9 requeues 0) 
 + backlog 0b 0p requeues 0 
 +root@ap-openwrt:~# tc -s qdisc ls dev wlan0-1
 +qdisc tbf 8003: root refcnt 5 rate 200000bit burst 10Kb peakrate 350000bit minburst 1540b lat 50.0ms 
 + Sent 3682 bytes 28 pkt (dropped 0, overlimits 0 requeues 0) 
 + backlog 0b 0p requeues 0 
 +</code>
 +
 +Afin de valider la limitation du débit, nous utilisons à nouveau le logiciel iperf3. Les résultats suivants montrent clairement que le débit montant est maintenant limité à 184 Kbits/sec et le débit descendant à 2.02 Mbits/sec.
  
 <code> <code>
-simurgh:iperf-3.0.11 simurgh$ iperf3 -c iperf.testdebit.info+PC-test-guest-network$ iperf3 -c iperf.testdebit.info
 Connecting to host iperf.testdebit.info, port 5201 Connecting to host iperf.testdebit.info, port 5201
 [  6] local 192.168.66.156 port 58340 connected to 89.84.127.54 port 5201 [  6] local 192.168.66.156 port 58340 connected to 89.84.127.54 port 5201
Line 173: Line 199:
  
 iperf Done. iperf Done.
-simurgh:iperf-3.0.11 simurgh$ iperf3 -Rc iperf.testdebit.info+ 
 +PC-test-guest-network$ iperf3 -Rc iperf.testdebit.info
 Connecting to host iperf.testdebit.info, port 5201 Connecting to host iperf.testdebit.info, port 5201
 Reverse mode, remote host iperf.testdebit.info is sending Reverse mode, remote host iperf.testdebit.info is sending
Line 194: Line 221:
  
 iperf Done. iperf Done.
- 
 </code> </code>
  
 +==== -- Activation au démarrage ====
 +
 +Dans ce paragraphe, il s'agit d'automatiser la limitation du début à l'aide d'un script utilisant les commandes précédentes.
 +
 +Commençons par créer deux fichiers qui rassemblent les commandes d'activation et de suppression de la limitation de débit. Ces fichiers sont nommés ''tc_qdisc_start.sh'' et ''tc_qdisc_stop.sh'' respectivement. Notons le chargement du module ''sch_tbf'' indispensable pour le bon fonctionnement de la gestion des files d'attentes.
 + 
 +<file autoconf /etc/tc_qdisc_start.sh>
 +#!/bin/sh
 +
 +insmod sch_tbf
 +tc qdisc add dev wlan0-1 root tbf rate 200kbit burst 10kb latency 50ms peakrate 350kbit minburst 1540
 +tc qdisc add dev br-lan root tbf rate 2mbit burst 10kb latency 50ms peakrate 4mbit minburst 1540
 +</file>
 +
 +<file autoconf /etc/tc_qdisc_stop.sh>
 +#!/bin/sh
 +
 +tc qdisc del dev br-lan root
 +tc qdisc del dev wlan0-1 root
 +rmmod sch_tbf
 +</file>
 +
 +Rendons ces fichiers exécutables:
 <code> <code>
-root@OpenWrt:~# ifconfig +root@ap-openwrt:~# chmod +x /etc/tc_qdisc_start.sh /etc/tc_qdisc_stop.sh 
-br-lan    Link encap:Ethernet  HWaddr F8:D1:11:BD:62:CE   +</code>
-          inet addr:192.168.66.1  Bcast:192.168.66.255  Mask:255.255.255.0 +
-          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 +
-          RX packets:30190 errors:0 dropped:27 overruns:0 frame:0 +
-          TX packets:36740 errors:0 dropped:0 overruns:0 carrier:0 +
-          collisions:0 txqueuelen:0  +
-          RX bytes:5436590 (5.1 MiB)  TX bytes:48095681 (45.8 MiB)+
  
-eth0      Link encap:Ethernet  HWaddr F8:D1:11:BD:62:CE   +Créons le fichier ''/etc/init.d/ratelimit'' qui permet d'exécuter les scripts précédents. 
-          UP BROADCAST MULTICAST  MTU:1500  Metric:1 +   
-          RX packets:0 errors:0 dropped:0 overruns:0 frame:0 +<file autoconf /etc.init.d/ratelimit> 
-          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 +#!/bin/sh /etc/rc.common
-          collisions:0 txqueuelen:1000  +
-          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B) +
-          Interrupt:+
  
-lo        Link encap:Local Loopback   +START=50 
-          inet addr:127.0.0.1  Mask:255.0.0.0 +  
-          UP LOOPBACK RUNNING  MTU:16436  Metric:1 +start() { 
-          RX packets:44 errors:0 dropped:0 overruns:0 frame:0 +        echo "Starting traffic control" 
-          TX packets:44 errors:0 dropped:0 overruns:0 carrier:0 +        /etc/tc_qdisc_start.sh 
-          collisions:0 txqueuelen: +} 
-          RX bytes:3636 (3.5 KiB)  TX bytes:3636 (3.5 KiB)+                    
 +stop() { 
 +       echo "Stopping traffic control" 
 +       /etc/tc_qdisc_stop.sh 
 +
 +</file>
  
-wlan0     Link encap:Ethernet  HWaddr F8:D1:11:BD:62:CE   +Ainsi, un appel de la commande suivante permet de lancer le script ''/etc/tc_qdisc_start.sh'', et par conséquent active la limitation de débit:
-          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 +
-          RX packets:30196 errors:0 dropped:0 overruns:0 frame:0 +
-          TX packets:36936 errors:0 dropped:0 overruns:0 carrier:0 +
-          collisions:0 txqueuelen:32  +
-          RX bytes:5859574 (5.5 MiB)  TX bytes:48873065 (46.6 MiB)+
  
-wlan0-1   Link encap:Ethernet  HWaddr FA:D1:11:BD:62:CF   +<code> 
-          inet addr:192.168.1.41  Bcast:192.168.1.255  Mask:255.255.255.0 +root@ap-openwrt:~# /etc/init.d/ratelimit start
-          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 +
-          RX packets:42792 errors:0 dropped:185 overruns:0 frame:0 +
-          TX packets:29883 errors:0 dropped:0 overruns:0 carrier:0 +
-          collisions:0 txqueuelen:32  +
-          RX bytes:52446827 (50.0 MiB)  TX bytes:6401871 (6.1 MiB)+
 </code> </code>
  
 +Alors que la commande ''stop'' lance le script ''/etc/tc_qdisc_stop.sh'' et supprime la limitation de débit:
  
 <code> <code>
-root@OpenWrt:~# tc -s qdisc ls dev br-lan +root@ap-openwrt:~# /etc/init.d/ratelimit stop
-qdisc tbf 8004: root refcnt 2 rate 2000Kbit burst 10Kb peakrate 4000Kbit minburst 1540b lat 50.0ms  +
- Sent 10180 bytes 35 pkt (dropped 0, overlimits 9 requeues 0)  +
- backlog 0b 0p requeues 0  +
-root@OpenWrt:~# tc -s qdisc ls dev wlan0-1 +
-qdisc tbf 8003: root refcnt 5 rate 200000bit burst 10Kb peakrate 350000bit minburst 1540b lat 50.0ms  +
- Sent 3682 bytes 28 pkt (dropped 0, overlimits 0 requeues 0)  +
- backlog 0b 0p requeues 0 +
 </code> </code>
  
-<code bash+Pour terminer, il ne reste plus qu'à lancer le script ''ratelimit'' et l'activer automatiquement au démarrage du point d'accès avec les commandes suivantes: 
-tc -s qdisc ls dev eth0 + 
-tc qdisc del dev eth0 root+<code> 
 +root@ap-openwrt:~# /etc/init.d/ratelimit start 
 +root@ap-openwrt:~# /etc/init.d/ratelimit enable 
 +</code> 
 + 
 +Si besoin, les commandes suivantes permettent de supprimer la limitation du débit et désactiver le lancement automatique au démarrage: 
 + 
 +<code> 
 +root@ap-openwrt:~# /etc/init.d/ratelimit stop 
 +root@ap-openwrt:~# /etc/init.d/ratelimit disable
 </code> </code>
extension_d_un_reseaux_sans-fil.1437895349.txt.gz · Last modified: 2015/07/26 09:22 by samer