qos_project
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
qos_project [2017/11/29 09:04] – [5. [CO1] Connecting the Platform] samer | qos_project [2017/12/03 13:08] – [3. Software] samer | ||
---|---|---|---|
Line 12: | Line 12: | ||
- | [{{ :tp-link.jpg? | + | [{{ :glinet.jpg? |
- | [{{ : | ||
- | ===== -. Software ===== | ||
- | |||
- | The following tools can help in assessing the QoS on the platform: | ||
- | |||
- | Install and compile netperf: | ||
- | <code bash> | ||
- | wget https:// | ||
- | unzip master .zip | ||
- | cd netperf-master/ | ||
- | ./configure --enable-demo=yes | ||
- | make | ||
- | make install | ||
- | </ | ||
- | |||
- | Install matplotlib and fping | ||
- | |||
- | <code bash> | ||
- | apt-get install fping | ||
- | apt-get install python-qt4 | ||
- | pip install matplotlib | ||
- | </ | ||
- | |||
- | Install flent | ||
- | <code bash> | ||
- | pip install flent | ||
- | </ | ||
- | |||
- | Install VLC as in this | ||
- | [[https:// | ||
===== -. Addressing ===== | ===== -. 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. | + | The addressing plan of the platform is shown in Fig. 3. 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. |
- | [{{ : | + | [{{ : |
===== -. Access and Configuration ===== | ===== -. Access and Configuration ===== | ||
Line 81: | Line 52: | ||
<code bash> | <code bash> | ||
- | 10.0.0.0/24 dev eth0 proto kernel | + | 10.0.0.0/24 dev eth0 proto kernel |
- | 192.168.8.0/ | + | 192.168.8.0/ |
- | 192.168.100.0/ | + | 192.168.100.0/ |
- | 192.168.200.0/ | + | 192.168.200.0/ |
10.0.0.2 of the TP-LINK router | 10.0.0.2 of the TP-LINK router | ||
</ | </ | ||
Line 126: | Line 97: | ||
option netmask ' | option netmask ' | ||
option gateway ' | option gateway ' | ||
- | |||
</ | </ | ||
- | <file bash / | + | Similarly, the configuration |
- | # | + | |
- | All the network configuration on both routers (routing & addressing) are taken from / | + | |
- | On router | + | * The WiFi interface is configured with a static IP address 192.168.8.1/ |
+ | * The WAN interface is configured with a static IP address 10.0.0.1/ | ||
+ | * A static route enables | ||
+ | <file bash / | ||
config interface ' | config interface ' | ||
option force_link ' | option force_link ' | ||
Line 143: | Line 114: | ||
option _orig_ifname ' | option _orig_ifname ' | ||
option _orig_bridge ' | option _orig_bridge ' | ||
- | This interface (wifi) is configured with a static IP address 192.168.8.1/ | ||
config interface ' | config interface ' | ||
Line 151: | Line 121: | ||
option ipaddr ' | option ipaddr ' | ||
option netmask ' | option netmask ' | ||
- | This interface (connected to the other router) is configured with a static IP address 10.0.0.1/24 | ||
config route | config route | ||
Line 158: | Line 127: | ||
option netmask ' | option netmask ' | ||
option gateway ' | option gateway ' | ||
- | This route enables GL-iNET to reach the network 192.168.200.0/24 via 10.0.0.2 of the other router. | + | |
+ | </file> | ||
+ | The two routers allocate IP addresses using DHCP. In order to facilitate the usage of the platform, fixed allocations are configured for the end hosts. This is configured in ''/ | ||
+ | <file / | ||
+ | config dhcp ' | ||
+ | option interface ' | ||
+ | option start ' | ||
+ | option limit ' | ||
+ | option leasetime ' | ||
+ | option dhcpv6 ' | ||
+ | option ra ' | ||
+ | |||
+ | config host | ||
+ | option name ' | ||
+ | option mac ' | ||
+ | option ip ' | ||
+ | |||
+ | config host | ||
+ | option name ' | ||
+ | option mac ' | ||
+ | option ip ' | ||
</ | </ | ||
- | ===== Extracts | + | |
+ | Finally, we verify the routing and addressing on the Raspberry Pi devices using '' | ||
+ | |||
+ | <code bash> | ||
+ | pi@raspberrypi: | ||
+ | eth0 Link encap: | ||
+ | inet addr: | ||
+ | inet6 addr: fdd5: | ||
+ | inet6 addr: fe80:: | ||
+ | inet6 addr: fdd5: | ||
+ | UP BROADCAST RUNNING MULTICAST | ||
+ | RX packets: | ||
+ | TX packets:983 errors:0 dropped:0 overruns:0 carrier:0 | ||
+ | collisions: | ||
+ | RX bytes: | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | pi@raspberrypi: | ||
+ | default via 192.168.200.1 dev eth0 metric 202 | ||
+ | 192.168.200.0/ | ||
+ | </ | ||
+ | ===== -. [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 | ||
+ | </ | ||
+ | |||
+ | In order to describe and analyze the basic steps for installing and using the tools and client/ | ||
+ | ==== -. 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. | ||
+ | |||
+ | * To launch iperf3: | ||
+ | * On the server side: '' | ||
+ | * On the client side: '' | ||
+ | |||
+ | * 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 | ||
+ | |||
+ | 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: '' | ||
+ | |||
+ | Note that by default, iperf3 sets the time to 10 seconds. | ||
+ | |||
+ | * To use reverse mode (server sends the trafic and client receives): | ||
+ | * On the Client side: '' | ||
+ | |||
+ | * To send multiple flows: | ||
+ | * On the Client side: '' | ||
+ | |||
+ | 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:// | ||
+ | |||
+ | * On the Server side: '' | ||
+ | * To sent one TCP stream from the client to the server: | ||
+ | * On the Client side: '' | ||
+ | * To send 12 TCP streams: | ||
+ | * On the Client side: '' | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
qos_project.txt · Last modified: 2021/08/28 09:58 by samer