don't stop believing

Traffic Control (tc) - Up/Down Bandwidth 본문

Network

Traffic Control (tc) - Up/Down Bandwidth

Tongchun 2019. 1. 15. 16:05

이번에는 Upload와 Download의 Bandwidth를 조정해 보겠습니다.

tc를 이용한 delay와 loss 조절은 아래 정리했습니다.

Traffic Control (tc) - delay

Traffic Control (tc) - loss, corrupt, duplicate

먼저 현재 bandwidth를 확인해 보겠습니다.

사내 PC 두 대 사이의 bandwidth를 iperf로 확인합니다.

$ iperf -c 10.10.0.78
------------------------------------------------------------
Client connecting to 10.10.0.78, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[  3] local 10.10.1.168 port 55672 connected with 10.10.0.78 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   113 MBytes  94.4 Mbits/sec

현재 사내 네트워크 bandwidth는 94.4 Mbits/sec 입니다. 이전에도 얘기했듯이 측정하는 두 PC 사이에 100M 허브가 있어 94.4가 나오고 있습니다.


먼저 interface(enp4s0)의 root에 HTB qdisc를 설정합니다. 

$ sudo tc qdisc add dev enp4s0 handle 1: root htb default 11

그 다음 class를 만들어 줍니다. class를 만들대 parent는 root인 1: 로 하고 classid를 1:1로 합니다. rate 다음에는 지정할 bandwidth를 추가합니다.

rate을 20mbit로 설정했습니다.

$ sudo tc class add dev enp4s0 parent 1:1 classid 1:11 htb rate 20mbit

이제 다시 iperf로 bandwidth를 확인합니다.

$ iperf -c 10.10.0.78
------------------------------------------------------------
Client connecting to 10.10.0.78, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[  3] local 10.10.1.168 port 59546 connected with 10.10.0.78 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  22.9 MBytes  19.2 Mbits/sec

bandwidth가 19.2 Mbits/sec로 설정한 20Mbit보다는 조금 낮게 나왔습니다.


Comments