wikiroute

networking recipes

User Tools

Site Tools


qos_project

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
Next revisionBoth sides next revision
qos_project [2017/11/30 18:56] – [6. [CO2] Implementing the Applications and Tools] samerqos_project [2017/12/03 13:08] – [3. Software] samer
Line 12: Line 12:
  
  
-[{{ :tp-link.jpg?nolink&150 | Figure 1. GL-iNet 6461 wireless router}}]+[{{ :glinet.jpg?nolink&150 | Figure 1. GL-iNet 6461 wireless router}}][{{ :tp-link.jpg?nolink&150 | Figure 2. TP-Link WR741nd wireless router}}]
  
-[{{ :glinet.jpg?nolink&150 | Figure 2. TP-Link WR741nd wireless router}}] 
-===== -. Software ===== 
  
-The following tools can help in assessing the QoS on the platform:+===== -. Addressing =====
  
-Install and compile netperf: +The addressing plan of the platform is shown in Fig3Both routers have static addresses on their wan and lan interfacesDHCP is activated on the LAN interfaces and static leases are configured so as to obtain the addresses on the terminals according to the figure. 
-<code bash> +[{{ :qos-project.png?nolink&600 Figure 3. Addressing plan for QoS platform}}]
-wget https://github.com/HewlettPackard/netperf/archive/master.zip +
-unzip master .zip +
-cd netperf-master/ +
-./configure --enable-demo=yes +
-make +
-make install +
-</code> +
- +
-Install matplotlib and fping +
- +
-<code bash> +
-apt-get install fping +
-apt-get install python-qt4 +
-pip install matplotlib +
-</code> +
- +
-Install flent +
-<code bash> +
-pip install flent +
-</code> +
- +
-Install VLC as in this  +
-[[https://thepi.io/how-to-compile-vlc-media-player-with-hardware-acceleration-for-the-raspberry-pi/|tutorial]]. +
- +
-===== -. Addressing =====+
  
-the addressing plan of the platform is shown in Fig. 2. Both routers have static addresses on their wan and lan interfaces. DHCP is activated on the LAN interfaces and static leases are configured so as to obtain the addresses on the terminals according to the figure. 
-[{{ :qos-project.png?nolink&600 | Figure 2. Addressing plan for QoS platform}}] 
  
 ===== -. Access and Configuration ===== ===== -. Access and Configuration =====
Line 203: Line 174:
 </code> </code>
 ===== -. [CO2] Implementing the Applications and Tools ===== ===== -. [CO2] Implementing the Applications and Tools =====
 +
 +<WRAP center round info 100%>
 +  * Accomplished
 +      * Using the tools to obtain performance results of basic tests
 +      * Wiki tutorial on the tools and applications 
 +  * Exceeded
 +      * Installing tools on a new device
 +</WRAP>
 +
 In order to describe and analyze the basic steps for installing and using the tools and client/server applications, we need to look carefully to these four applications: iperf, flent, VLC, HTTP. In order to describe and analyze the basic steps for installing and using the tools and client/server applications, we need to look carefully to these four applications: iperf, flent, VLC, HTTP.
 +==== -. iperf tool ====
  
 Let us start with the application iperf. In the following, we present a short tutorial on the main functions of the perf tool. Let us start with the application iperf. In the following, we present a short tutorial on the main functions of the perf tool.
  
-  * To activate iperf3:+  * To launch iperf3:
     * On the server side: ''iperf3 -s''     * On the server side: ''iperf3 -s''
     * On the client side: ''iperf3 -c 192.168.200.192'', where 192.168.200.192is the IP address of the server.     * On the client side: ''iperf3 -c 192.168.200.192'', where 192.168.200.192is the IP address of the server.
  
-- To visualize UDP trafic with a specific bandwidth: +  * By default, the trafic sent by iperf uses TCP. In order to send UDP trafic with a specific bandwidth: 
- +    * On the client side: iperf3 -c 192.168.200.192 -u -b 2M
-  * On the client side: iperf3 -c 192.168.200.192 -u -b 2M +
- +
-Here we set the bandwidth with UDP to 2Mbit/s. +
-Note that by default ,UDP sets the bandwidth to 1Mbit/s +
- +
-- To extend the transmission time(second) as well as the number packets sent: +
-     * On the Client side: iperf3 -c 192.168.200.192 -t 15 +
-Note that  by default, iperf3 sets the time to 10 seconds +
- +
-- To reverse mode(server sends, client receives): +
-     * On the Client side: iper3 -c 192.168.200.192 -R +
  
-- To end multiple flows: +Here we set the bandwidth with UDP to 2Mbit/sNote that by default, UDP sets the bandwidth to 1Mbit/s.
-     * On the Client side: iper3 -c 192.168.200.192 -P 2 -t 60+
  
-Here we are sending 2 flows in 1 min(60 seconds) +  * To extend the transmission time(second) as well as the number packets sent: 
-Note that we need to extend more the tx time in order to have similar throughput for the 2 flows so that we don't consider it as a fairness issue.+     * On the Client side: ''iperf3 -c 192.168.200.192 -t 15''
  
-Let's analyze flent application: +Note that by default, iperf3 sets the time to 10 seconds.
-            * On the Server side: netserver & +
--To visualize one TCP stream: +
-            * On the Client side:  flent tcp_upload -p totals -l 60 -H 192.168.200.192 -t title2 -o test2.png +
--To visualize 12 TCP streams: +
-            * On the Client side:  flent tcp_12up -p totals -l 60 -H 192.168.200.192 -t title3 -o test3.png+
  
 +  * To use reverse mode (server sends the trafic and client receives):
 +    * On the Client side: ''iper3 -c 192.168.200.192 -R'' 
  
 +  * To send multiple flows:
 +    * On the Client side: ''iper3 -c 192.168.200.192 -P 2 -t 60''
  
 +Here we are sending two flows for one minute (60 seconds). We note that the average rate for the two flows can be different. However, this is not a fairness issue: we only need to extend the transmit time in order to have similar throughput for the two flows.
  
 +==== -. Flent Tool ====
  
 +Let us now analyze [[ https://flent.org/index.html | Flent]] application. Flent is a network benchmarking tools which allows to easily run network tests.
  
 +  * On the Server side: ''netserver &''
 +  * To sent one TCP stream from the client to the server:
 +    * On the Client side:  ''flent tcp_upload -p totals -l 60 -H 192.168.200.192 -t title2 -o test2.png''
 +  * To send 12 TCP streams:
 +     * On the Client side:  ''flent tcp_12up -p totals -l 60 -H 192.168.200.192 -t title3 -o test3.png''
  
  
qos_project.txt · Last modified: 2021/08/28 09:58 by samer