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

Next revision
Previous revision
Next revisionBoth sides next revision
qos_project [2017/11/29 09:30] – [Extracts] carineqos_project [2017/11/30 19:02] – [6. [CO2] Implementing the Applications and Tools] samer
Line 128: Line 128:
 </file> </file>
  
-Similarly, the configuration of the GL-iNET router +Similarly, the configuration of the GL-iNET router below shows the following: 
 + 
 +  * The WiFi interface is configured with a static IP address 192.168.8.1/24 
 +  * The WAN interface is configured with a static IP address 10.0.0.1/24 
 +  * A static route enables GL-iNET to reach the network 192.168.200.0/24 via 10.0.0.2 of the other router.
  
 <file bash /etc/config/network> <file bash /etc/config/network>
Line 139: Line 143:
         option _orig_ifname 'eth1'         option _orig_ifname 'eth1'
         option _orig_bridge 'false'         option _orig_bridge 'false'
-This interface (wifi) is configured with a static IP address 192.168.8.1/24 
  
 config interface 'wan' config interface 'wan'
Line 147: Line 150:
         option ipaddr '10.0.0.1'         option ipaddr '10.0.0.1'
         option netmask '255.255.255.0'         option netmask '255.255.255.0'
-This interface (connected to the other router) is configured with a static IP address 10.0.0.1/24 
  
 config route config route
Line 154: Line 156:
         option netmask '255.255.255.0'         option netmask '255.255.255.0'
         option gateway '10.0.0.2'         option gateway '10.0.0.2'
-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 ''/etc/config/dhcp'' on each router as in the following.  
  
-</file> 
-===== Extracts ===== 
-#On TPlink router 
 <file /etc/config/dhcp> <file /etc/config/dhcp>
-config dnsmasq 
-        option domainneeded '1' 
-        option boguspriv '1' 
-        option filterwin2k '0' 
-        option localise_queries '1' 
-        option rebind_protection '1' 
-        option rebind_localhost '1' 
-        option local '/lan/' 
-        option domain 'lan' 
-        option expandhosts '1' 
-        option nonegcache '0' 
-        option authoritative '1' 
-        option readethers '1' 
-        option leasefile '/tmp/dhcp.leases' 
-        option resolvfile '/tmp/resolv.conf.auto' 
-        option localservice '1' 
- 
 config dhcp 'lan' config dhcp 'lan'
         option interface 'lan'         option interface 'lan'
Line 185: Line 169:
         option dhcpv6 'server'         option dhcpv6 'server'
         option ra 'server'         option ra 'server'
- 
-config dhcp 'wan' 
-        option interface 'wan' 
-        option ignore '1' 
- 
-config odhcpd 'odhcpd' 
-        option maindhcp '0' 
-        option leasefile '/tmp/hosts/odhcpd' 
-        option leasetrigger '/usr/sbin/odhcpd-update' 
  
 config host config host
Line 205: Line 180:
         option ip '192.168.200.193'         option ip '192.168.200.193'
 </file> </file>
-# DHCP configuration on router GL-iNet: 
-<file /etc/config/dhcp> 
-config dnsmasq 
- option domainneeded '1' 
- option boguspriv '1' 
- option localise_queries '1' 
- option rebind_protection '1' 
- option rebind_localhost '1' 
- option local '/lan/' 
- option domain 'lan' 
- option expandhosts '1' 
- option authoritative '1' 
- option readethers '1' 
- option leasefile '/tmp/dhcp.leases' 
- option resolvfile '/tmp/resolv.conf.auto' 
- 
-config dhcp 'lan' 
- option interface 'lan' 
- option start '100' 
- option limit '150' 
- option leasetime '12h' 
- option dhcpv6 'server' 
- option ra 'server' 
- option ra_management '1' 
- 
-config dhcp 'wan' 
- option interface 'wan' 
- option ignore '1' 
- 
-config odhcpd 'odhcpd' 
- option maindhcp '0' 
- option leasefile '/tmp/hosts/odhcpd' 
- option leasetrigger '/usr/sbin/odhcpd-update' 
  
-config dhcp +Finally, we verify the routing and addressing on the Raspberry Pi devices using ''ifconfig'' (or ''ip addr show'') and ''ip route'' commands
- option start '100' +
- option leasetime '12h' +
- option limit '150' +
- option interface 'eth1' +
- +
-config domain 'localhost' +
- option name 'console.gl-inet.com' +
- option ip '192.168.8.1' +
-</file> +
- +
-#ifconfig on raspberry pi2+
  
 <code bash>  <code bash> 
Line 264: Line 195:
           collisions:0 txqueuelen:1000           collisions:0 txqueuelen:1000
           RX bytes:229130 (223.7 KiB)  TX bytes:121127 (118.2 KiB)           RX bytes:229130 (223.7 KiB)  TX bytes:121127 (118.2 KiB)
- 
-lo        Link encap:Local Loopback 
-          inet addr:127.0.0.1  Mask:255.0.0.0 
-          inet6 addr: ::1/128 Scope:Host 
-          UP LOOPBACK RUNNING  MTU:65536  Metric:1 
-          RX packets:221 errors:0 dropped:0 overruns:0 frame:0 
-          TX packets:221 errors:0 dropped:0 overruns:0 carrier:0 
-          collisions:0 txqueuelen:1 
-          RX bytes:20606 (20.1 KiB)  TX bytes:20606 (20.1 KiB) 
- 
- 
 </code> </code>
-#ifconfig on raspberry pi3 
- 
-<code bash> 
-pi@raspberrypi:~ $ ifconfig 
-eth0      Link encap:Ethernet  HWaddr b8:27:eb:20:aa:54   
-          inet addr:192.168.200.193  Bcast:192.168.200.255  Mask:255.255.255.0 
-          inet6 addr: fe80::c7d8:36cf:a404:2c5/64 Scope:Link 
-          inet6 addr: fdd5:bc83:a776:0:7379:7bf5:f8c5:b6ff/64 Scope:Global 
-          inet6 addr: fdd5:bc83:a776::193/128 Scope:Global 
-          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 
-          RX packets:745 errors:0 dropped:3 overruns:0 frame:0 
-          TX packets:394 errors:0 dropped:0 overruns:0 carrier:0 
-          collisions:0 txqueuelen:1000  
-          RX bytes:66979 (65.4 KiB)  TX bytes:48816 (47.6 KiB) 
- 
-lo        Link encap:Local Loopback   
-          inet addr:127.0.0.1  Mask:255.0.0.0 
-          inet6 addr: ::1/128 Scope:Host 
-          UP LOOPBACK RUNNING  MTU:65536  Metric:1 
-          RX packets:256 errors:0 dropped:0 overruns:0 frame:0 
-          TX packets:256 errors:0 dropped:0 overruns:0 carrier:0 
-          collisions:0 txqueuelen: 
-          RX bytes:20736 (20.2 KiB)  TX bytes:20736 (20.2 KiB) 
-</code> 
-#ip route on raspberry pi2 
  
 <code bash>  <code bash> 
Line 307: Line 202:
 192.168.200.0/24 dev eth0  proto kernel  scope link  src 192.168.200.192  metric                                                                                                                                                              202 192.168.200.0/24 dev eth0  proto kernel  scope link  src 192.168.200.192  metric                                                                                                                                                              202
 </code> </code>
-#ip route on raspberry pi3+===== -. [CO2] Implementing the Applications and Tools ===== 
 +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. 
 + 
 +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: ''iperf3 -s'' 
 +    * On the client side: ''iperf3 -c 192.168.200.192'', where 192.168.200.192is the IP address of the server. 
 + 
 +  * 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: ''iperf3 -c 192.168.200.192 -t 15'' 
 + 
 +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: ''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 2 flows in for one minute (60 seconds). 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. 
 + 
 +Let's analyze flent application: 
 +            * 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 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
  
-<code bash> 
  
-</code> 
  
  
qos_project.txt · Last modified: 2021/08/28 09:58 by samer