daftar pustaka - repository.telkomuniversity.ac.id file32 daftar pustaka [1] braden, r., dan teman...
TRANSCRIPT
32
Daftar Pustaka
[1] Braden, R., dan teman teman. 1998. "Recommendations on Queue
Management and Congestion Avoidance in the Internet, RFC2309
(Informational), Internet Engineering Task Force." Internet Engineering
Task Force, RFC2309 (Informational). April.
http://www.ietf.org/rfc/rfc2309.txt.
[2] Gettys, J., Kathleen N. 2011. "Bufferbloat: Dark Buffers in the Internet."
AQM Queue. November. http://queue.acm.org/detail.cfm?id=2071893.
[3] Gettys, J., Kathleen, N., dan teman-teman. 2014.
http://www.bufferbloat.net. Agustus 12. http://www.bufferbloat.net/.
[4] Greg W., Dan R. 2013. "Active Queue Management Algorithms DOCSIS
3.0." CableLabs. April. http://www.cablelabs.com/wp-
content/uploads/2013/11/Active_Queue_Management_Algorithms_DOCS
IS_3_0.pdf.
[5] Hoiland-Jorgensen, Toke. 2012. "Battling Bufferbloat: An experimental
comparison of four approaches to queue management in Linux Master
module project Computer Science." RUDAR (Roskilde University Digital
Archive. Desember. http://rudar.ruc.dk/handle/1800/9322.
[6] Høiland-Jørgensen, Toke. 2014. "Netperf Wrapper - Python wrapper to
run multiple simultaneous netperf instances and aggregate the results."
Accessed November 2014. github.com/tohojo/netperf-wrapper.
[7] Jacobson, V., Kathleen, N. 2012. "Controlling Queue Delay - A modern
AQM is just one piece of the solution to bufferbloat." Asscociation for
Computing Machinery (ACM Queue). Mei 6.
http://queue.acm.org/detail.cfm?id=2209336.
[8] Naeem, K., David, R., Michael, W. 2014. "The new AQM kids on the
block: An experimental evaluation of CoDel and PIE." IEEE Xplore 85-
90.
[9] Nichols, K., Jacobson, V. 2014. "Controlled Delay Active Queue
Management draft-ietf-aqm-codel-00." Internet Engineering Task Force.
Oktober 24. http://www.ietf.org/id/draft-ietf-aqm-codel-00.txt.
[10] Preethi Rao V., Mohit P. Tahiliani, Udaya Kumar K. Shenoy. 2014.
"Analysis of sfqCoDel for Active Queue Management." IEEE Xplore 262-
267.
[11] Radika, V., Jason, B., Grenville, A. 2014. "Buffer size estimation of TP
LINK TL-PA211KIT HomePlug AV adapters." Centre for Advanced
Internet Architectures (CAIA) in the Faculty of Science, Engineering and
Technology at Swinburne University of Technology. September.
http://caia.swin.edu.au/reports/130417A/CAIA-TR-130417A.pdf.
33
[12] Raghuvanshi, D.M., B. Annappa, and Mohit P. T. 2013. "On the
Effectiveness of CoDel for Active Queue Management." IEEE Computer
Society, In Proceedings of Third International Conference on Advanced
Computing & Communication Technologies, ACCT 107114.
[13] Ryu, Seungwan. 2002. "Active Queue Management (AQM) based Internet
Congestion ControlU." University at Buffalo. 1 Oktober.
http://www.cse.buffalo.edu/~qiao/cse620/fall04/AQM-Fall04.pdf.
[14] Sally, F., Van, J. 1993. "Random Early Detection Gateways for
Congestion Avoidance." Lawrence Berkeley Laboratory. Agustus.
http://www.icir.org/floyd/papers/early.twocolumn.pdf.
[15] Sharma, Tanvi. 2014. "Controlling Queue Delay (CoDel) to counter the
Bufferbloat Problem in Internet." INPRESSCO International Journal of
Current Engineering and Technology. Juni 5. http://inpressco.com/wp-
content/uploads/2014/07/Paper1992210-2215.pdf.
[16] Speedy. 2014. Sepintas Teknologi ADSL. November 1.
http://opensource.telkomspeedy.com/wiki/index.php/Sepintas_Teknologi_
ADSL.
[17] Taht, Dave. 2012. "RFC: Realtime Response Under Load (rrul) test
specification." GMANE. September 6.
http://article.gmane.org/gmane.network.routing.bufferbloat/940/.
[18] Tannenbaum, A.S. 2011. "Computer Network 5th Edition." 393. New
Jersey: Prentice Hall, Inc.
34
LAMPIRAN A: Data Hasil Pengujian
Drop Tail
Bottleneck (Mbps)
Latency (ms) Throughput
(Mbps) Packet Loss
Min Max Mean Up Down TX RX Persentase
0.25 0.50 24.96 3485.73 848.00 0.08 0.42 350 331 5.43%
0.40 1.00 25.12 2067.23 434.24 0.18 0.94 350 347 0.86%
0.50 2.00 24.70 1729.79 349.21 0.29 2.03 350 332 5.14%
Skenario 1 – Low Congestion
Bottleneck 1: 0.25/0.50 Mbps
Target (ms)
Interval (ms)
Latency (ms) Throughput
(Mbps) Packet Loss
Min Max Mean Up Down TX RX Persentase
1 25 24.80 180.00 107.00 0.23 0.41 350 322 8.00%
2 50 25.20 240.00 106.00 0.21 0.40 350 323 7.71%
5 100 25.10 493.00 134.00 0.23 0.39 350 335 4.29%
7 150 25.90 510.00 157.00 0.24 0.39 350 323 7.71%
10 200 25.00 654.00 183.00 0.24 0.40 350 343 2.00%
12 250 25.50 708.00 221.00 0.24 0.41 350 346 1.14%
15 300 25.00 964.00 229.00 0.23 0.39 350 343 2.00%
17 350 26.20 662.00 220.00 0.24 0.39 350 339 3.14%
20 400 25.00 928.00 257.00 0.23 0.40 350 342 2.29%
22 450 24.90 763.00 237.00 0.24 0.40 350 333 4.86%
25 500 25.50 819.00 285.00 0.24 0.41 350 343 2.00%
35
Bottleneck 2: 0.40/1.00 Mbps
Target (ms)
Interval (ms)
Latency (ms) Throughput
(Mbps) Packet Loss
Min Max Mean Up Down TX RX Persentase
1 25 25.00 182.00 74.20 0.35 0.75 350 331 5.43%
2 50 25.10 246.00 83.80 0.36 0.76 350 333 4.86%
5 100 24.70 387.00 116.00 0.36 0.75 350 344 1.71%
7 150 25.00 313.00 138.00 0.37 0.74 350 343 2.00%
10 200 25.40 385.00 155.00 0.37 0.76 350 337 3.71%
12 250 25.00 470.00 147.00 0.37 0.74 350 347 0.86%
15 300 24.50 451.00 156.00 0.36 0.74 350 341 2.57%
17 350 24.80 377.00 158.00 0.37 0.70 350 342 2.29%
20 400 25.40 344.00 182.00 0.38 0.72 350 344 1.71%
22 450 24.50 438.00 203.00 0.38 0.75 350 345 1.43%
25 500 24.90 462.00 185.00 0.37 0.73 350 346 1.14%
Bottleneck 3: 0.50/2.00 Mbps
Target (ms)
Interval (ms)
Latency (ms) Throughput
(Mbps) Packet Loss
Min Max Mean Up Down TX RX Persentase
1 25 25.30 146.00 65.30 0.42 1.37 350 331 5.43%
2 50 24.90 158.00 73.50 0.44 1.35 350 336 4.00%
5 100 24.70 269.00 99.00 0.43 1.33 350 342 2.29%
7 150 25.10 383.00 104.00 0.44 1.25 350 341 2.57%
10 200 25.10 241.00 100.00 0.45 1.20 350 339 3.14%
12 250 25.20 319.00 119.00 0.43 1.26 350 335 4.29%
15 300 25.10 270.00 117.00 0.45 1.11 350 340 2.86%
17 350 25.10 306.00 115.00 0.45 1.09 350 341 2.57%
20 400 25.20 316.00 115.00 0.37 1.13 350 337 3.71%
22 450 25.20 310.00 139.00 0.43 1.16 350 339 3.14%
25 500 24.80 333.00 150.00 0.45 1.32 350 342 2.29%
36
Skenario 2 – Medium Congestion
Bottleneck 1: 0.25/0.50 Mbps
Target (ms)
Interval (ms)
Latency (ms) Throughput
(Mbps) Packet Loss
Min Max Mean Up Down TX RX Persentase
1 25 22.20 222.00 96.70 0.18 0.28 350 195 44.29%
2 50 25.20 255.00 109.00 0.15 0.36 350 258 26.29%
5 100 26.00 639.00 160.00 0.14 0.39 350 270 22.86%
7 150 25.90 915.00 216.00 0.13 0.42 350 285 18.57%
10 200 25.60 1072.00 251.00 0.13 0.41 350 285 18.57%
12 250 25.30 1437.00 300.00 0.12 0.42 350 282 19.43%
15 300 25.30 1644.00 331.00 0.11 0.40 350 281 19.71%
17 350 25.30 1706.00 446.00 0.12 0.41 350 306 12.57%
20 400 25.30 1479.00 457.00 0.12 0.41 350 300 14.29%
22 450 25.70 1805.00 535.00 0.12 0.42 350 302 13.71%
25 500 25.60 1854.00 629.00 0.12 0.43 350 316 9.71%
Bottleneck 2: 0.40/1.00 Mbps
Target (ms)
Interval (ms)
Latency (ms) Throughput
(Mbps) Packet Loss
Min Max Mean Up Down TX RX Persentase
1 25 25.40 150.00 85.60 0.27 0.60 350 271 22.57%
2 50 25.90 367.00 96.00 0.27 0.65 350 281 19.71%
5 100 25.60 832.00 155.00 0.24 0.84 350 302 13.71%
7 150 25.50 924.00 168.00 0.25 0.85 350 301 14.00%
10 200 25.10 1032.00 198.00 0.25 0.84 350 307 12.29%
12 250 25.50 1109.00 239.00 0.23 0.82 350 309 11.71%
15 300 25.70 1138.00 260.00 0.24 0.84 350 322 8.00%
17 350 25.40 1172.00 299.00 0.25 0.82 350 320 8.57%
20 400 25.70 1267.00 350.00 0.24 0.81 350 319 8.86%
22 450 25.90 1225.00 389.00 0.23 0.77 350 323 7.71%
25 500 24.90 1247.00 378.00 0.24 0.82 350 326 6.86%
37
Bottleneck 3: 0.50/2.00 Mbps
Target (ms)
Interval (ms)
Latency (ms) Throughput
(Mbps) Packet Loss
Min Max Mean Up Down TX RX Persentase
1 25 25.30 200.00 77.50 0.35 1.53 350 275 21.43%
2 50 25.30 310.00 95.70 0.33 1.66 350 282 19.43%
5 100 25.50 665.00 120.00 0.33 1.65 350 293 16.29%
7 150 25.50 736.00 143.00 0.33 1.63 350 298 14.86%
10 200 25.40 960.00 184.00 0.32 1.49 350 294 16.00%
12 250 25.80 936.00 201.00 0.32 1.70 350 315 10.00%
15 300 25.50 1018.00 221.00 0.33 1.69 350 314 10.29%
17 350 25.60 975.00 242.00 0.33 1.65 350 313 10.57%
20 400 25.40 1052.00 277.00 0.33 1.68 350 314 10.29%
22 450 25.50 1113.00 293.00 0.34 1.69 350 309 11.71%
25 500 25.40 1103.00 294.00 0.33 1.65 350 317 9.43%
Skenario 3 – High Congestion
Bottleneck 1: 0.25/0.50 Mbps
Target (ms)
Interval (ms)
Latency (ms) Throughput
(Mbps) Packet Loss
Min Max Mean Up Down TX RX Persentase
1 25 25.00 225.00 90.30 0.15 1.19 350 174 50.29%
2 50 25.00 312.00 115.00 0.11 1.07 350 246 29.71%
5 100 25.00 632.00 173.00 0.12 1.36 350 251 28.29%
7 150 25.40 1265.00 265.00 0.12 1.46 350 269 23.14%
10 200 24.80 2483.00 346.00 0.10 1.48 350 269 23.14%
12 250 25.30 2257.00 416.00 0.09 1.47 350 278 20.57%
15 300 24.80 2112.00 459.00 0.09 1.35 350 279 20.29%
17 350 24.80 2461.00 571.00 0.09 1.37 350 288 17.71%
20 400 24.90 2624.00 615.00 0.08 1.34 350 287 18.00%
22 450 25.20 2729.00 827.00 0.08 1.36 350 285 18.57%
25 500 25.00 2818.00 835.00 0.08 1.43 350 276 21.14%
38
Bottleneck 2: 0.40/1.00 Mbps
Target (ms)
Interval (ms)
Latency (ms) Throughput
(Mbps) Packet Loss
Min Max Mean Up Down TX RX Persentase
1 25 25.50 148.00 82.20 0.19 0.62 350 258 26.29%
2 50 25.00 236.00 101.00 0.16 0.65 350 252 28.00%
5 100 25.60 781.00 165.00 0.19 0.74 350 289 17.43%
7 150 24.90 957.00 208.00 0.14 0.65 350 288 17.71%
10 200 25.50 1526.00 253.00 0.17 0.71 350 297 15.14%
12 250 25.50 1624.00 304.00 0.13 0.73 350 296 15.43%
15 300 25.20 1704.00 365.00 0.14 0.72 350 305 12.86%
17 350 25.70 1628.00 414.00 0.14 0.67 350 288 17.71%
20 400 25.40 1962.00 524.00 0.15 0.67 350 311 11.14%
22 450 24.90 2037.00 591.00 0.15 0.71 350 315 10.00%
25 500 25.10 2020.00 660.00 0.13 0.67 350 304 13.14%
Bottleneck 3: 0.50/2.00 Mbps
Target (ms)
Interval (ms)
Latency (ms) Throughput
(Mbps) Packet Loss
Min Max Mean Up Down TX RX Persentase
1 25 25.00 155.00 80.50 0.28 0.19 350 254 27.43%
2 50 25.30 327.00 92.50 0.21 0.32 350 255 27.14%
5 100 25.00 822.00 141.00 0.21 0.37 350 283 19.14%
7 150 24.50 1133.00 175.00 0.19 0.34 350 292 16.57%
10 200 25.20 1356.00 206.00 0.20 0.29 350 293 16.29%
12 250 24.50 1846.00 241.00 0.19 0.31 350 302 13.71%
15 300 24.80 1328.00 292.00 0.19 0.31 350 306 12.57%
17 350 25.30 1577.00 325.00 0.17 0.35 350 305 12.86%
20 400 25.00 1630.00 411.00 0.19 0.32 350 288 17.71%
22 450 24.90 1727.00 404.00 0.18 0.29 350 306 12.57%
25 500 24.70 1743.00 431.00 0.19 0.06 350 311 11.14%
39
Skenario 4 – Very High Congestion
Bottleneck 0.50 Mbps/ 2.00 Mbps
Target (ms)
Interval (ms)
Latency (ms) Throughput
(Mbps) Packet Loss
Min Max Mean Up Down TX RX Persentase
1 25 32.50 251.00 95.80 0.40 0.41 350 222 36.57%
2 50 25.90 499.00 155.00 0.37 0.31 350 228 34.86%
5 100 25.40 621.00 148.00 0.40 0.25 350 249 28.86%
7 150 25.90 760.00 182.00 0.37 0.31 350 234 33.14%
10 200 65.70 1680.00 232.00 0.39 0.38 350 262 25.14%
12 250 105.00 535.00 245.00 0.38 0.42 350 249 28.86%
15 300 126.00 809.00 249.00 0.36 0.35 350 259 26.00%
17 350 168.00 702.00 255.00 0.37 0.34 350 257 26.57%
20 400 24.90 1194.00 254.00 0.38 0.20 350 255 27.14%
22 450 25.00 1038.00 266.00 0.38 0.22 350 238 32.00%
25 500 25.40 1050.00 265.00 0.38 0.16 350 248 29.14%
40
LAMPIRAN B: Script Untuk Skenario Pengujian
START CODEL
#!/bin/sh
s=$(date +%s) #start time
tc=/sbin/tc
eth0=eth0 #engress
eth1=eth1 #ingress
# Pengaturan bottleneck
# Bottleneck 1 - up:250kbps down:500kbps
# Bottleneck 2 - up:400kbps down:1000kbps
# Bottleneck 3 - up:500kbps down:2000kbps
# Bila NIC mendukung BQL, nilainya dapat diset di sini
# untuk < 100 Mbps BQL = 3000
# untuk < 10 Mbps BQL = 1514
# bql=1514
# Dalam konfiguarsi TC kbit sama dengan kbps (bit)
ext_up=$2kbit # argumen 2 untuk UP
ext_down=$3kbit # argumen 3 untuk DOWN
# Variasi Nilai Target dan Interval untuk INGRESS dan ENGRESS
# target = 5% dari Interval
# interval = 25 50 100 150 200 250 300 350 400 450 500
start() {
# Semua fitur offload hardware dimatikan,
# agar semua handling paket dilakukan di kernel
#ethtool -K $eth0 tso off # TCP Segment Offload
#ethtool -K $eth0 ufo off
#ethtool -K $eth0 lro off
#ethtool -K $eth0 lfo off
#ethtool -K $eth1 tso off # TCP Segment Offload
#ethtool -K $eth1 ufo off
#ethtool -K $eth1 lro off
#ethtool -K $eth1 lfo off
ethtool -K $eth0 gro off # Generic Reassembly Offload
ethtool -K $eth0 gso off # Generic Segment Offload
ethtool -K $eth1 gro off # Generic Reassembly Offload
ethtool -K $eth1 gso off # Generic Segment Offload
# Set nilai BQL pada eth0 dan eth1
41
# echo $bql > /sys/class/net/eth0/queues/tx-0/byte_queue_limits/limit
# echo $bql > /sys/class/net/eth1/queues/tx-0/byte_queue_limits/limit
# INGRESS ETH1
$tc qdisc add dev $eth1 root handle 1: htb default 1
$tc class add dev $eth1 parent 1: classid 1:1 htb rate $ext_up
# EGRESS ETH0
$tc qdisc add dev $eth0 root handle 1: htb default 1
$tc class add dev $eth0 parent 1: classid 1:1 htb rate $ext_down
{
# ITERASI TARGET dan INTERVAL
for i in 25 50 100 150 200 250 300 350 400 450 500
do
echo ".:######Target $(($i/20))ms Interval $(($i))ms ....######:.\n"
$tc qdisc add dev eth1 parent 1:1 handle 11: codel target $(($i/20))ms interval $(($i))ms
$tc qdisc add dev eth0 parent 1:1 handle 11: codel target $(($i/20))ms interval $(($i))ms
{
# eksekusi NETPERF di client (SSH)
ssh client@<ip-address> " traffic_loader.sh $ext_up $ext_down $(($i/20)) $i"
}
$tc qdisc del dev eth1 parent 1:1 handle 11: codel
$tc qdisc del dev eth0 parent 1:1 handle 11: codel
echo ".:######Target done ....######:.\n"
done
}
}
stop() {
$tc qdisc del dev $eth1 root
$tc qdisc del dev $eth0 root
}
restart() {
stop
sleep 1
start
}
show() {
$tc -s qdisc show
}
case "$1" in
start)
if [ $# -le 2 ]; then
{
echo "\n\nArgumen kurang : \n";
echo "\tCara Penggunaan (ingress-bw dan exgress-bw dalam kbit) ";
echo "\t$0 start ingress-bw exgress-bw \n\n";
42
}
else
{
echo -n "Starting: \n"
start
echo "done"
}
fi
;;
stop)
echo -n "Stopping: "
stop
echo "done"
;;
restart)
echo -n "Restarting: "
restart
echo "done"
;;
show)
echo -n "Status for $IF:\n"
show
echo ""
;;
*)
pwd=$(pwd)
echo "Usage: $(/usr/bin/dirname $pwd)/tc.bash {start|stop|restart|show}"
;;
esac
e=$(date +%s) #end time
echo "\n\nIt takes $(($e-$s)) seconds to complete this...\n"
exit 0
START DROP TAIL
#!/bin/sh
# Mengukur Drop Tail terhadap bottleneck
s=$(date +%s) #start time
tc=/sbin/tc
eth0=eth0 #engress
eth1=eth1 #ingress
ext_up=$2kbit # argumen 2 untuk UP
ext_down=$3kbit # argumen 3 untuk DOWN
start() {
ethtool -K $eth0 gro off # Generic Reassembly Offload
43
ethtool -K $eth0 gso off # Generic Segment Offload
ethtool -K $eth1 gro off # Generic Reassembly Offload
ethtool -K $eth1 gso off # Generic Segment Offload
# INGRESS ETH1
$tc qdisc add dev $eth1 root pfifo_fast
# EGRESS ETH0
$tc qdisc add dev $eth0 root pfifo_fast
ssh client@<ip-address> " traffic_loader.sh $ext_up $ext_down $(($i/20)) $i"
stop() {
$tc qdisc del dev $eth1 root
$tc qdisc del dev $eth0 root
}
restart() {
stop
sleep 1
start
}
show() {
$tc -s qdisc show
}
case "$1" in
start)
if [ $# -le 2 ]; then
{
echo "\n\nArgumen kurang : \n";
echo "\tCara Penggunaan (ingress-bw dan exgress-bw dalam kbit) ";
echo "\t$0 start ingress-bw exgress-bw \n\n";
}
else
{
echo -n "Starting: \n"
start
echo "done"
}
fi
;;
stop)
echo -n "Stopping: "
stop
echo "done"
;;
restart)
echo -n "Restarting: "
44
restart
echo "done"
;;
show)
echo -n "Status for $IF:\n"
show
echo ""
;;
*)
pwd=$(pwd)
echo "Usage: $(/usr/bin/dirname $pwd)/tc.bash {start|stop|restart|show}"
;;
esac
e=$(date +%s) #end time
echo "\n\nIt takes $(($e-$s)) seconds to complete this task...\n"
exit 0
STOP ALL
#!/bin/sh
tc qdisc del dev eth0 root
tc qdisc del dev eth1 root
ssh client@<ip-address> "sudo pkill -9 tcpdump ; sudo pkill -9 netperf ; sudo pkill -9 fping"