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
Last revisionBoth sides next revision
qos_project [2017/12/14 10:09] – [7. [PO2] Implementing QoS] carineqos_project [2017/12/19 09:11] – [8. [PO3] Analyzing QoS] carine
Line 284: Line 284:
 Supposing we have two types of traffic: Video UDP associated with class 1:40 running on destination port 1234, and iperf UDP with class 1:50 running on destination port 5201. In the first case, the dedicated bandwidth is ((87/100)*8000)= 6960 Kbit and in the second case it's 1040 Kbit. Supposing we have two types of traffic: Video UDP associated with class 1:40 running on destination port 1234, and iperf UDP with class 1:50 running on destination port 5201. In the first case, the dedicated bandwidth is ((87/100)*8000)= 6960 Kbit and in the second case it's 1040 Kbit.
 The following commands are used: The following commands are used:
-<code bash> tc class add dev eth1 parent 1:1 classid 1:40 hfsc ls rate 6960kbit ul rate 6960kbit </code> +<code bash> tc class add dev eth1 parent 1:1 classid 1:40 hfsc ls rate 6960kbit ul rate 8000kbit </code> 
-<code bash> tc class add dev eth1 parent 1:1 classid 1:50 hfsc ls rate 1040kbit ul rate 1040kbit </code> +<code bash> tc class add dev eth1 parent 1:1 classid 1:50 hfsc ls rate 1040kbit ul rate 8000kbit </code> 
-<code bash> iptables -t mangle -A -POSTROUTING -o eth1 -p udp --dport 1234 -j CLASSIFY --set-class 1:40 </code> +<code bash> iptables -t mangle -A POSTROUTING -o eth1 -p udp --dport 1234 -j CLASSIFY --set-class 1:40 </code> 
-<code bash> iptables -t mangle -A -POSTROUTING -o eth1 -p udp --dport 5201 -j CLASSIFY --set-class 1:50 </code>+<code bash> iptables -t mangle -A POSTROUTING -o eth1 -p udp --dport 5201 -j CLASSIFY --set-class 1:50 </code>
      
 +To see the iptables commands excecuted on the router we can use:
  
- +<code bash> iptables -t mangle -L </code> 
 + 
 +===== -. [PO3] Analyzing QoS  ===== 
 + In this section, we have to consider different congestion scenarios: The link between the two routers will have a bandwidth of 16 Mb/s, 8 Mb/s and 5 Mb/s.For each case, we will be considering both the implementation and the absence of QoS. 
 + 
 +__**1. 16Mb/s**__ 
 + 
 +- __Without QoS:__ 
 + 
 +We have to create two different classes with exactly the same bandwidth allocated for each as if no QoS is applied. The following commands are used: 
 +<code bash> tc class add dev eth1 parent 1:1 classid 1:10 hfsc ls rate 16000kbit ul rate 16000kbit </code> 
 +<code bash> tc class add dev eth1 parent 1:1 classid 1:20 hfsc ls rate 16000kbit ul rate 16000kbit </code> 
 +<code bash> iptables -t mangle -A POSTROUTING -o eth1 -p udp --dport 1234 -j CLASSIFY --set-class 1:10 </code> 
 +<code bash> iptables -t mangle -A POSTROUTING -o eth1 -p udp --dport 5201 -j CLASSIFY --set-class 1:10 </code> 
 +<code bash> iptables -t mangle -A POSTROUTING -o eth1 -p tcp --dport 5202 -j CLASSIFY --set-class 1:20 </code> 
 + 
 +- __With QoS:__ 
 + 
 +First, we have to create a common class 1:1 for all types of traffic, as before. 
 +Then, the following commands are executed in order to create two classes: 1:20 for video udp traffic with a bandwidth of ((87*16000)/100) and 1:30 for iperf tcp and udp traffic with a bandwidth of ((13*16000)/100). 
 +<code bash> tc class add dev eth1 parent 1:1 classid 1:20 hfsc ls rate 13920kbit ul rate 16000kbit </code> 
 +<code bash> tc class add dev eth1 parent 1:1 classid 1:30 hfsc ls rate 2080kbit ul rate 16000kbit </code> 
 +<code bash> iptables -t mangle -A POSTROUTING -o eth1 -p udp --dport 1234 -j CLASSIFY --set-class 1:20 </code> 
 +<code bash> iptables -t mangle -A POSTROUTING -o eth1 -p udp --dport 5201 -j CLASSIFY --set-class 1:30 </code> 
 +<code bash> iptables -t mangle -A POSTROUTING -o eth1 -p tcp --dport 5202 -j CLASSIFY --set-class 1:30 </code> 
 +We will be running three types of traffic:  
 + 
 +  * VLC video udp 
 +  * iperf udp traffic on destination port 5201 
 +**On the client side:** 
 +<code bash> iperf3 -c 192.168.100.111 -u -b 50M -P 3 -t 80 -p 5201 </code> 
 +  * iperf tcp traffic on destination port 5202, using the following commands: 
 + 
 +**On the server side:** 
 +<code bash> iperf3 -s -p 5202 </code> 
 +**On the client side:** 
 +<code bash> iperf3 -c 192.168.100.111 -P 3 -p 5202 -t 75 </code> 
 +The same commands found above are applied when configuring the link with a bandwidth of 4Mb/s and 8Mb/s.
qos_project.txt · Last modified: 2021/08/28 09:58 by samer