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/29 08:52] – [5. [CO1] Connecting the Platform] samerqos_project [2017/11/29 10:57] – [6. [CO2] Implementing the Applications and Tools] enwan
Line 78: Line 78:
 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. 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.
  
-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:  +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: 
  
 <code bash> <code bash>
-10.0.0.0/24 dev eth0  proto kernel  scope link  src 10.0.0.1 # Loopback address+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.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)+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  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 10.0.0.2 of the TP-LINK router
 </code> </code>
 +
 +Similarly, the routing table of the TP-LINK router shows the following:
  
 <code bash> <code bash>
- 
-Routing table of GL-iNet: 
- 
 10.0.0.0/24 dev eth1  src 10.0.0.2 # connection to directly connected network 10.0.0.0/24 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  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 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 192.168.200.0/24 dev br-lan  src 192.168.200.1 # connection to our LAN 192.168.200.0/24
- 
 </code> </code>
  
-<code bash> +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.
- +
-#Configurations on TP-LINK router +
- +
-#Configuration of LAN interface : +
  
 +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' config interface 'lan'
         option type 'bridge'         option type 'bridge'
Line 114: Line 111:
         option ip6assign '60'         option ip6assign '60'
                  
-#Configuration of WAN interface :  +#Configuration of WAN interface: 
 config interface 'wan' config interface 'wan'
         option ifname 'eth1'         option ifname 'eth1'
Line 130: Line 126:
         option netmask '255.255.255.0'         option netmask '255.255.255.0'
         option gateway '10.0.0.1'         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>
 +===== -. [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 4 applications: iperf, flent, VLC, HTTP.
 +
 +Let's start with the application iperf:
 +- To activate iperf3:
 +     * Ordered List Item On the server side: <code bash> iperf3 -s </code>
 +     * On the client side: <code bash> iperf3 -c 192.168.200.192 </code>
 +
 +  * To visualize UDP trafic with a specific bandwidth:
 +   * On the client side: <code bash> iperf3 -c 192.168.200.192 -u -b 2M </code>
 +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: <code bash> iperf3 -c 192.168.200.192 -t 15 </code>
 +Note that  by default, iperf3 sets the time to 10 seconds
 +
 +  * To reverse mode(server sends, client receives):
 +   * On the Client side: <code bash> iper3 -c 192.168.200.192 -R  </code>
 +  * To send multiple flows:
 +          * On the client side: <code bash> iper3 -c 192.168.200.192 -P 2 -t 60 </code>
 +Here we are sending 2 flows in 1 min(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.
  
  
-</code> 
 ===== Extracts ===== ===== Extracts =====
 +#On TPlink router
 +<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'
 +        option interface 'lan'
 +        option start '100'
 +        option limit '150'
 +        option leasetime '12h'
 +        option dhcpv6 '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
 +        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>
 +# 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
 + 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> 
 +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)
 +
 +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>
 +#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> 
 +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>
 +#ip route on raspberry pi3
 +
 +<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.193  metric 202 
 +</code>
  
  
qos_project.txt · Last modified: 2021/08/28 09:58 by samer