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/23 14:56] – [5. [CO1] Connecting the Platform] carineqos_project [2017/11/30 19:01] – [6. [CO2] Implementing the Applications and Tools] samer
Line 75: Line 75:
      
 </WRAP> </WRAP>
-Routing table of GL-iNet: 
  
-10.0.0.0/24 dev eth0  proto kernel  scope link  src 10.0.0.1 : Loopback address +In order to analyse the addressing and routing on the platform, we need to look carefully on the interface configuration and routing tables of the different devices. 
-192.168.8.0/24 dev wlan0  proto kernel  scope link  src 192.168.8.1 connection to the wifi interface + 
-192.168.100.0/24 dev eth1  proto kernel  scope link  src 192.168.100.1 connection to our LAN 192.168.100.0/24 (HP is part of this network) +Let us start with the routing devices. The routing table of the GL-iNet is shown using the command ''ip route'' and gives the following:  
-192.168.200.0/24 via 10.0.0.2 dev eth0  proto static :static route to the 192.168.200.0/24 network via the interface 10.0.0.2 of the TP-LINK router+ 
 +<code bash> 
 +10.0.0.0/24 dev eth0  proto kernel  scope link  src 10.0.0.1 # loopback address 
 +192.168.8.0/24 dev wlan0  proto kernel  scope link  src 192.168.8.1 connection to the wifi interface 
 +192.168.100.0/24 dev eth1  proto kernel  scope link  src 192.168.100.1 connection to the LAN 192.168.100.0/24 
 +192.168.200.0/24 via 10.0.0.2 dev eth0  proto static static route to the 192.168.200.0/24 network via the interface  
 +10.0.0.2 of the TP-LINK router 
 +</code> 
 + 
 +Similarly, the routing table of the TP-LINK router shows the following: 
 + 
 +<code bash> 
 +10.0.0.0/24 dev eth1  src 10.0.0.2 # connection to directly connected network 10.0.0.0/24 
 +192.168.100.0/24 via 10.0.0.1 dev eth1 # static route to the network 192.168.100.0/24 via the interface  
 +10.0.0.1 of the GL-iNet router 
 +192.168.200.0/24 dev br-lan  src 192.168.200.1 # connection to our LAN 192.168.200.0/24 
 +</code> 
 + 
 +We note on the two routers that static routes are used in order to give access to the two LANs. Particularly, the configuration of the routers is given in the ''/etc/config/network'' files as on a typical OpenWrt system. 
 + 
 +As given below, the configuration of the TP-Link router shows the static addressing of the interface ''eth0'' (LAN interface) and the interface ''eth1'' (WAN interface). We also note the section ''route'' that configures a static routers towards the LAN connected to the TP-LINK router. 
 +  
 +<file bash /etc/config/network> 
 +#Configuration of LAN interface: 
 +config interface 'lan' 
 +        option type 'bridge' 
 +        option ifname 'eth0' 
 +        option proto 'static' 
 +        option ipaddr '192.168.200.1' 
 +        option netmask '255.255.255.0' 
 +        option ip6assign '60' 
 +         
 +#Configuration of WAN interface:  
 +config interface 'wan' 
 +        option ifname 'eth1' 
 +#       option proto 'dhcp' 
 +        option proto 'static' 
 +        option ipaddr '10.0.0.2' 
 +        option netmask '255.255.255.0' 
 + 
 +#Configuration of the static route :  
 + 
 +config route 
 +        option interface 'wan' 
 +        option target '192.168.100.0' 
 +        option netmask '255.255.255.0' 
 +        option gateway '10.0.0.1' 
 +</file> 
 + 
 +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> 
 +config interface 'lan' 
 +        option force_link '1' 
 +        option proto 'static' 
 +        option ipaddr '192.168.8.1' 
 +        option netmask '255.255.255.0' 
 +        option ip6assign '60' 
 +        option _orig_ifname 'eth1' 
 +        option _orig_bridge 'false' 
 + 
 +config interface 'wan' 
 +        option ifname 'eth0' 
 +        option hostname 'GL-iNet-b2d' 
 +        option proto 'static' 
 +        option ipaddr '10.0.0.1' 
 +        option netmask '255.255.255.0' 
 + 
 +config route 
 +        option interface 'wan' 
 +        option target '192.168.200.0' 
 +        option netmask '255.255.255.0' 
 +        option gateway '10.0.0.2' 
 +  
 +</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 /etc/config/dhcp> 
 +config dhcp 'lan' 
 +        option interface 'lan' 
 +        option start '100' 
 +        option limit '150' 
 +        option leasetime '12h' 
 +        option dhcpv6 'server' 
 +        option ra 'server' 
 + 
 +config host 
 +        option name 'pi2' 
 +        option mac 'b8:27:eb:0f:f8:95' 
 +        option ip '192.168.200.192' 
 + 
 +config host 
 +        option name 'pi3' 
 +        option mac 'b8:27:eb:20:aa:54' 
 +        option ip '192.168.200.193' 
 +</file> 
 + 
 +Finally, we verify the routing and addressing on the Raspberry Pi devices using ''ifconfig'' (or ''ip addr show'') and ''ip route'' commands.  
 + 
 +<code bash>  
 +pi@raspberrypi:~ $ ifconfig 
 +eth0      Link encap:Ethernet  HWaddr b8:27:eb:0f:f8:95 
 +          inet addr:192.168.200.192  Bcast:192.168.200.255  Mask:255.255.255.0 
 +          inet6 addr: fdd5:bc83:a776:0:2377:1496:eb81:1433/64 Scope:Global 
 +          inet6 addr: fe80::20ae:134e:ae88:4bc5/64 Scope:Link 
 +          inet6 addr: fdd5:bc83:a776::192/128 Scope:Global 
 +          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 
 +          RX packets:1216 errors:0 dropped:3 overruns:0 frame:0 
 +          TX packets:983 errors:0 dropped:0 overruns:0 carrier:0 
 +          collisions:0 txqueuelen:1000 
 +          RX bytes:229130 (223.7 KiB)  TX bytes:121127 (118.2 KiB) 
 +</code> 
 + 
 +<code bash>  
 +pi@raspberrypi:~ $ ip route 
 +default via 192.168.200.1 dev eth0  metric 202 
 +192.168.200.0/24 dev eth0  proto kernel  scope link  src 192.168.200.192  metric                                                                                                                                                              202 
 +</code> 
 +===== -. [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 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
qos_project.txt · Last modified: 2021/08/28 09:58 by samer