Fakultas Ilmu Komputer
Universitas Brawijaya
1099
Analisa Kinerja Algoritma TCP Congestion Control Cubic, Reno, Vegas
Dan Westwood+
Aria Tanzila Harfad1, Sabriansyah Rizqika Akbar2, Adhitya Bhawiyuga3 Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya
Email: 1[email protected], 2[email protected], 3[email protected] Abstrak
Transmisi control protocol (TCP) adalah protokol di layer transpor yang menyediakan mekanisme
transfer data yang reliable, sehingga aliran data yang dibaca TCP receiver tidak rusak, tanpa duplikasi, dan berurutan. Untuk menyediakan transfer data yang reliable, TCP menyediakan layanan error
checking dan flow control. Ketika TCP sender mengirimkan data lebih cepat daripada yang bisa
ditangani TCP receiver, maka akan terjadi congestion. TCP mengimplementasikan mekanisme
congestion control untuk kontrol lalu lintas jaringan sehingga tidak terjadi congestion. Penelitian ini
membandingkan performa empat varian TCP congestion control, yaitu TCP Cubic, Reno, Vegas dan Westwood+. Pengujian yang dilakukan adalah menganalisa cwnd, ssthresh dan throughput empat jenis algoritma TCP Congestion Control. Penulis menggunakan dua perangkat sebagai sender dan receiver. Keduanya dihubungkan dengan kabel ethernet yang memiliki koneksi dengan bandwidth 100Mbit/s. Data TCP dikumpulkan di sisi sender menggunakan TCP Probe dan hasilnya ditampilkan berupa grafik denga Gnuplot. Hasil dari penelitian ini menunjukkan bahwa TCP Westwood+ adalah yang terbaik diantara ketiga TCP lainnya di semua lingkungan Service level agreement (SLA) service provider dengan mekanisme Bandwidth Estimation yang digunakannya.
Kata kunci: TCP congestion control algoritma, Vegas, Reno, Cubic, Westwood+, cwnd, ssthresh, throughput
Abstract
Transmission control protocol (TCP) is a protocol at the transport layer that provides a reliable data transfer mechanism, so that the data stream reads TCP receiver is not corrupted, without duplication, and sequentially. To provide reliable data transfer, TCP provides error checking and flow control services. When the TCP sender sends data faster than the TCP receiver can handle, congestion will occur. TCP implements a congestion control mechanism for network traffic control so no congestion occurs. This study compares the performance of four variants of TCP congestion control, namely TCP Cubic, Reno, Vegas and Westwood +. The test is to analyze cwnd, ssthresh and throughput of four types of TCP Congestion Control algorithm. The author uses two devices as a sender and receiver. Both are connected with an ethernet cable that has a connection with 100Mbit/s bandwidth. TCP data is collected on the sender side using TCP Probe and the result is shown as a graph with Gnuplot. The results of this study indicate that TCP Westwood + is the best among the three other TCPs in all Service Center agreement (SLA) service provider environments with Bandwidth Estimation mechanisms they use.
Keywords: TCP congestion control algorithm, Vegas, Reno, Cubic, Westwood+, cwnd, ssthresh, throughput
1. PENDAHULUAN
Transmisi control protocol (TCP) adalah
protokol di layer transpor yang menyediakan mekanisme transfer data yang reliable, sehingga aliran data yang dibaca TCP receiver tidak rusak, tanpa duplikasi, dan berurutan. Untuk menyediakan transfer data yang reliable, TCP menyediakan layanan error checked dan flow
control. Layanan error checking memungkinkan
deteksi beberapa kesalahan dan rekontruksi data menjadi data asli. Layanan flow control digunakan TCP untuk memastikan TCP sender tidak mengirimkan paket lebih cepat daripada yang dapat ditampung TCP receiver. Ketika TCP sender mengirimkan data lebih cepat daripada yang bisa ditangani TCP receiver, maka akan terjadi congestion. (James Kurose & Keith Ross, 2010)
Salah satu dari aspek paling penting untuk kontrol lalu lintas jaringan adalah berurusan
Fakultas Ilmu Komputer, Universitas Brawijaya dengan congestion. TCP mengimplementasikan mekanisme congestion control untuk kontrol lalu lintas jaringan sehingga tidak terjadi
congestion. Pada congestion control, TCP sender mentransmisikan segmen data dibawah
batasan congestion window (cwnd) yang diterima oleh TCP receiver. Congestion window adalah variabel TCP yang membatasi jumlah data yang dapat dikirimkan ke jaringan sebelum menerima ACK. Nilai congestion window meningkat ketika sender menerima ACK dan menurun ketika mendeteksi congestion. (Mateen & Ahmad, 2016)
Mekanisme congestion control
diklasifikasikan kedalam 4 fase, yaitu slow start,
congestion avoidance, fast retransmit dan fast recovery. Fase slow start digunakan oleh TCP sender untuk menyesuaikan laju aliran data ke
TCP receiver dimana periode slow start baru dimulai dengan setiap acknowledgement (ACK) yang diterima dari TCP receiver. Fase
congestion avoidance diimplementasikan ketika
ukuran congestion window lebih besar daripada
threshold slow start. Fast retransmit dan fast recovery menyediakan mekanisme untuk mempercepat koneksi. Mekanisme ini adalah metode recovery yang digunakan oleh TCP untuk menghindari waktu tunggu saat pengiriman ulang ketika time out terjadi setiap segmen hilang. Selama sepuluh tahun, pendekatan dan teknik baru telah diteliti di jaringan yang kompleks. Masalah ini membawa kedalam penemuan-penemuan baru dan peneliti masih aktif untuk mengembangkan metode efektif pada domain TCP. (Gaur Shrivastava, Agarwal &Prasad, 2016)
Saat ini ada beberapa varian TCP congestion
control yang telah diperkenalkan. Varian congestion control yang berbeda akan menghasilkan bentuk traffic yang berbeda. Penelitian ini membandingkan performa empat varian TCP congestion control, yaitu TCP Cubic, Reno, Vegas dan Westwood+ yang secara umum telah digunakan dengan waktu yang lama. TCP Cubic adalah algoritma TCP
default di GNU/Linux. Perbedaan TCP Cubic
dengan varian TCP lainnya berada pada skalabilitas dan terutama fakta bahwa update
window independen dari RTT, yang mengakibatkan distribusi bandwidth lebih baik diantara semua session aktif (Feyzabadi, 2012). TCP Reno adalah penerus varian TCP lama yang dilakukan perbaikan diatasnya dengan mempertahankan semua fitur utama, yaitu slow
start, congestion avoidance, fast retransmit, dan
fast recovery. Kenaikan dan penurunan ukuran congestion window tergantung pada apakah
segmen tersebut ACK atau loss. TCP Vegas menghitung perbedaan antara rate ekspetasi dengan rate sebenarnya untuk memperkirakan
bandwidth yang tersedia. TCP Vegas bertujuan
untuk mendeteksi congestion yang terjadi diantara TCP sender dan TCP receiver sebelum
packet loss terjadi dan menurunkan rate
transmisi ketika loss terdeteksi (Marrone & Barbieri, 2013). TCP Westwood+ bekerja hanya pada sisi pengirim, yang bertujuan untuk menangani jalur dengan bandwith tinggi delay dengan potensial paket loss karena transmisi atau error lainnya. TCP Westwood+ menganalisa paket ACK yang kembali untuk memperkirakan bandwidth yang tersedia untuk koneksi TCP (Karvonen& Siddharth., 2015).
Meskipun prinsip kerja dasar TCP tidak berbeda, tapi cara setiap versi TCP menangani
congestion window dan algoritma untuk control congestion sedikit bervariasi dan hal ini
mempengaruhi performa. Peneliti telah mempertimbangkan TCP Cubic, TCP Reno, TCP Vegas dan TCP Westwood+ untuk eksperimen. Peneliti telah melakukan eksperimen untuk empat versi TCP, analisa dan evaluasi dilakukan pada Service Level Agreement (SLA) service provider.
Perbandingan dilakukan berdasarkan ukuran
congestion window, ssthresh dan throughput di
bermacam-macam latency, jitter dan packet loss.
2. DASAR TEORI
2.1 TCP (Transmission Control Protocol)
Transmission Control Protocol (TCP)
adalah salah satu protokol utama dari paket protokol Internet. TCP menyediakan pengiriman paket reliable, sehingga aliran data yang dibaca TCP receiver tidak rusak, tanpa duplikasi, dan berurutan. Algoritma TCP Congestion Control adalah faktor kunci yang memainkan peran penting dalam performa dan sejumlah data yang dikirimkan dalam jaringan. Congestion terjadi ketika sejumlah paket yang diterima lebih dari kapasitas receiver (Shirazi, 2009). Mekanisme
congestion control diklasifikasikan menjadi 4
tahapan utama, yaitu Slow start, Congestion
Avoidance, Fast retransmit dan Fast recovery.
2.2 Fase Slow Start
Tahap awal implementasi TCP adalah fase
digunakan oleh TCP sender untuk menyesuaikan laju aliran data ke receiver dimana periode slow
start baru dimulai dengan setiap ACK yang
diterima dari TCP receiver. Ini berarti tingkat transmisi dari TCP sender sepenuhnya tergantung pada ACK yang dikembalikan oleh TCP receiver. Umumnya, setelah
re-transmission time out, tahap slow start
diluncurkan di lokasi pengiriman koneksi TCP, dan setelahnya, ini akan secara signifikan mempengaruhi kinerja koneksi secara keseluruhan. Secara langsung tujuan mekanisme
slow start adalah membantu sender memperoleh bandwith pada jalur jaringan. Dengan cara ini, bottleneck koneksi dengan aliran besar dari
segmen dapat dihindari (Wang et al, 2000).
Gambar 1. Peningkatan TCP Slow Start dengan RTT
Dengan mengacu pada Gambar 1, slow
start dimulai dengan satu segmen untuk cwnd
(cwnd= 1 segmen), dan setiap ack diterima secara berturut-turut, cwnd meningkat sebesar satu (cwnd baru=cwnd sebelumnya +1). Pertumbuhan cwnd secara eksponensial dengan masing-masing RTT akan menduplikasi ukuran cwnd (cwnd baru = cwnd sebelumnya X 2), hingga cwnd mencapai titik congestion di link. TCP slow start diterapkan melalui dua variabel,
congestion window (cwnd) dan slow start threshold (ssthresh). Variabel ssthresh adalah
nilai threshold dimana TCP meninggalkan periode slow start. Jika pada satu titik waktu ketika cwnd naik diluar ssthresh, periode TCP pada titik waktu tersebut keluar dari fase slow
start. Dengan lebih interaksi RTT, cwnd
akhirnya akan melampaui ssthresh, dan session akan keluar dari periode slow start. Pada titik waktu ini, TCP source masuk ke tahap
berikutnya yaitu fase congestion avoidance. (Cheng, 2005). Keluarnya fase slow start menunjukkan bahwa koneksi TCP sudah dalam keadaan stabil dimana congestion window hati-hati meningkatkan besar jalur jaringan.
2.3 Fase Congestion Avoidance
Setiap nilai threshold melebihi ssthresh, TCP memperlambat laju peningkatan ukuran
window. Setelah periode tertentu tingkat
transmisi TCP melebihi kapasitas link jaringan dan dengan demikian mengakibatkan TCP loss. TCP akan segera mendeteksi packet loss dan mengurangi ukuran congestion window hampir setengah dari nilai sebenarnya (Vallamsunda, 2007). Mekanisme congestion avoidance
diimplementasikan ketika ukuran congestion
window lebih besar daripada threshold slow start. Dalam congestion avoidance, congestion window diperbesar satu segmen setiap RTT, dan
kemudian mengurangi setengah dari sebelumnya ketika TCP sender merasakan congestion (packet loss) (Sarolahti, 2007).
Gambar 2 adalah diagram aktivitas mekanisme TCP congestion control. Gambar tersebut menggambarkan bahwa TCP sender menggandakan ukuran congestion untuk setiap RTT hingga ukuran window size lebih besar dari ssthresh. Dari point itu, congestion window meningkat satu segmen setiap RTT.
Gambar 2. Ilustrasi Congestion Avoidance
2.4 Fase Fast Recovery Dan Fast Transmit
Fast retransmit dan fast recovery
menyediakan mekanisme untuk mempercepat
retrieval (pengambilan) koneksi. Mekanisme ini
adalah metode recovery yang digunakan oleh TCP untuk menghindari waiting time
pengiriman ulang time out setiap segmen loss (Olse 2003). Mekanisme fast recovery
Fakultas Ilmu Komputer, Universitas Brawijaya menyesuaikan pengiriman segmen baru hingga
non duplicate ACK diterima oleh pengirim.
Dapat dikatakan setelah menerima paket (urutan nomor 1), receiver mengirimkan
acknowledgement dengan menambahkan nilai 1
ke urutan nomor (nomor urut = 1+1=2), yang berarti bahwa receiver menerima paket nomor 1 dan nomor paket 2 dari sender.
Dengan asumsi tiga paket berikutnya telah hilang, receiver menerima nomer paket 5. Setelah menerima nomor paket 5, receiver mengirimkan sebuah Acknowledgement dengan urutan nomor 2 dan 6. Ketika receiver menerima paket nomor 6, receiver akan mengirimkan
Acknowledgement dengan urutan nomor 2 dan 7.
Dengan cara ini, sender menerima lebih dari satu
Acknowledgement dengan sama nomor urutan 2,
yang disebut duplikat Acknowledgement.
Dengan proses ini, clocking Acknowledgement dapat dijaga, dan ketika non duplicate ACK sampai, fast recovery telah selesai, dan cwnd dikosongkan.
Mekanisme fast retransmit
untuk TCP Tahoe digambarkan pada
Gambar 3.
Gambar 3. Mekanisme Fast Transmit Tahoe
2.5 TCP Cubic
Perbedaan dengan varian lainnya berada pada skalabilitas dan terutama fakta bahwa
update window independen dari RTT, yang
mengakibatkan distribusi bandwidth lebih baik diantara semua session aktif. Pada saat loss, setting congestion window (cwnd) memiliki nilai
sebagai 𝑊𝑚𝑎𝑥 dan window menurun dengan
factor β = 0.2. Dengan demikian window baru dapat dihitung dengan persamaan (1)
W (t) = 𝐶(𝑡 − 𝐾)3 + 𝑊𝑚𝑎𝑥 (1)
Nilai C adalah scaling factor, t adalah waktu yang berlalu dari pengurangan window, 𝑊𝑚𝑎𝑥 adalah ukuran window sebelum
pengurangan window dan K adalah waktu yang diperlukan oleh window mencapai nilai 𝑊𝑚𝑎𝑥
dengan tidak ada loss. K = √𝑊𝑚𝑎𝑥∗ (
𝛽
𝐶) 𝑍
3
(2)
Hal ini kemudian menetapkan nilai W(t) dan nilai window yang akan datang dengan TCP standar, 𝑊𝑇𝐶𝑃(𝑡) seperti persamaan (3)
𝑊𝑇𝐶𝑃(𝑡) = 𝑊𝑚𝑎𝑥 * (1-β) + 3 * 𝛽
2−𝛽 *
𝑡
𝑅𝑇𝑇 (3)
Pertumbuhan window untuk setiap ACK yang diterima sebagai berikut:
Jika W(t) < 𝑊𝑇𝐶𝑃(𝑡), kemudian TCP Cubic beroperasi mendukung mode friendly
(ramah), pengaturan window sesuai dengan nilai dari 𝑊𝑇𝐶𝑃(𝑡)
Jika W(t) < 𝑊𝑚𝑎𝑥, kemudian TCP Cubic
beroperasi mendukung mode stabil. Window disesuaikan dengan W(t).
Jika W(t) > 𝑊𝑚𝑎𝑥, kemudian TCP Cubic
beroperasi mendukung mode eksplorasi.
Window disesuaikan menurut W(t).
2.6 TCP Reno
TCP Reno menyesuaikan window menurut fase sebagai berikut:
Slow start. Sesi dimulai dengan jendela yang meningkat satu segmen dengan setiap segmen divalidasi melalui ACK. Fase ini juga dimulai setelah loss dideteksi oleh timeout. Batas fase ini ketika window mencapai threshold yang dijuluki Start
Threshold (ssthresh).
Congestion Avoidance (CA). Pada fase ini dimulai saat berakhirnya slow start atau setelah loss dideteksi oleh penerima duplikat ACK. TCP terus meningkatkan congestion
window sebagai 1/CWND
(CWND=Congestion Window) setiap kali menerima ACK.
Fast retransmit. Ketika paket loss terdeteksi atau ketika time out kadaluarsa dan paket belum dikonfirmasi dengan penerimaan tiga duplikat ACK (4 paket ACK yang sama). Pada kasus ini, harus ditransmisikan ulang hanya paket yang loss, tapi tidak sisa paket,
tanpa menunggu untuk time out kadaluarsa. Fase congestion avoidance akan bekerja lagi.
Fast recovery. Pada fase ini akan bekerjadengan urutan yang pertama adalah slow
start threshold (ssthresh) ditetapkan setengah nilai congestion window saat ini. Kedua, congestion window menetapkan nilai ssthresh plus 3 kali ukuran paket. Ketiga, setiap kali sender menerima duplikat ACK, cwnd meningkat satu paket dan mengirimkan paket baru. Keempat, ketika non duplikat ACK pertama sampai, cwnd ditetapkan sesuai nilai ssthresh. Semua ini adalah langkah-langkah mekanisme fast
recovery.
2.7 TCP Westwood+
TCP westwood+ merupakan modifikasi TCP New Reno, yang bekerja hanya pada sisi
sender, yang bertujuan untuk menangani jalur
dengan bandwith tinggi delay, dengan potensial paket loss karena transmisi atau error lainnya (pipa bocor), dan beban dinamik (dynamic pipe). TCP Westwood menganalisa paket
acknowledgement yang kembali untuk memperkirakan bandwidth yang tersedia untuk koneksi TCP. Algoritma Westwood+ diperlihatkan pada Gambar 4.
Gambar 4. Algoritma Westwood+
2.8 TCP Vegas
TCP Vegas bertujuan untuk mendeteksi
congestion yang terjadi diantara source dan destination sebelum packet loss terjadi dan
menurunkan rate transmisi linear (bukan seperti AIMD) ketika loss terdeteksi. Algoritma digunakan oleh vegas sebagai berikut:
1. Menentukan base round trip time (baseRTT). Hal ini ditentukan oleh minimal RTT yang diukur selama koneksi.
2. Menghitung transmisi rate yang diharapkan (expectedRate) sebagai berikut,
expectedRate = congestion Window / baseRTT. Dimana congestion Window
adalah sejumlah data yang dikirimkan tapi belum mendapatkan acknowledged.
3. Menghitung perbedaan (diff) diantara
expectedRate dan actualRate, dimana actualRate = congestion Window / RTT dan
RTT adalah round trip time sebenarnya. Dengan kata lain: Diff = congestion Window
/ RTT
4. Menentukan threshold α dan β, dimana α mendefinisikan data yang terlalu kecil dan β mendefinisikan terlalu banyak data.
5. Jika diff < α, kemudian congestion window
= congestion window + 1
6. Jika diff > β, kemudian congestion window
= congestion window – 1
2.9 Service Level Agreement (SLA)
Service level agreement (SLA) adalah
kontrak antara penyedia layanan dan pelanggan internal atau eksternal yang mendokumentasikan layanan apa yang akan diberikan penyedian layanan dan menentukan standar kinerja yang wajib dipenuhi oleh penyedia layanan. Pada penelitian ini, kami menggunakan Service level
agreement yang diberikan service provider,
yaitu Axiawave, Internap, Verio, dan Qwest. Hal-hal yang perlu dipertimbangkan adalah: 1. Latency: Delay (Penundaan) untuk
pengiriman paket
2. Jitter: Variasi pada delay pengiriman paket 3. Packet loss: Terlalu banyak lalu lintas di
jaringan yang menyebabkan jaringan drop (menjatuhkan) paket
Berikut ini latensi maksimum tiap-tiap
service provider:
1. SLA Axiowave 65ms latensi maksimum 2. SLA Internap 45ms latensi maksimum 3. SLA Qwest 50ms latensi maksimum 4. SLA Verio 55ms latensi maksimum Berikut ini jitter maksimum tiap-tiap service
provider:
1. SLA Axiowave 0.5ms jitter maksimum 2. SLA Internap 0.5ms jitter maksimum 3. SLA Qwest 2ms jitter maksimum 4. SLA Verio 0.5ms jitter maksimum Berikut ini paket loss maksimum tiap-tiap
service provider:
1. SLA Axiowave 0% paket loss maksimum 2. SLA Internap 0.3% paket loss maksimum 3. SLA Qwest 0.5% paket loss maksimum
4.
SLA Verio 0.1% paket loss maksimumFakultas Ilmu Komputer, Universitas Brawijaya
3. PERANCANGAN DAN IMPLEMENTA SI
3.1. Gambaran Umum Sistem
Start
Memilih versi TCP pada TCP sender dan TCP receiver
Mengaktifkan TCP Probe
Menetapkan latency, loss dan jitter menggunakan netem
Menampilkan cwnd dan ssthresh dengan grafik menggunakan
Gnulpot dan menampilkan throughput dengan grafik
Analisa Hasil
End Menetapkan traffic TCP
menggunakan iperf
TCP Probe menangkap lalu lintas jaringan
Gambar 5. Diagram Alir Gambaran Umum Sistem
Perancangan dari sistem analisa algoritma TCP Congestion Control disesuaikan dengan gambaran umum yang telah dibuat melalui diagram alir. Pada gambar 5 digambarkan bahwa proses pertama pada sistem ini adalah sender dan
receiver memilih salah satu algoritma TCP Congestion Control, setelah algoritma TCP
ditetapkan, maka sender mengaktifkan TCP
probe dan menetapkan paket loss, latency, dan jitter dengan tool netem. Kemudian, sender dan receiver mengaktifkan iperf yang berfungsi
sebagai traffic control di kedua sisi. Hasil dari kedua traffic selanjutnya dilaporkan pada sisi
sender dan kemudian di-representasikan menjadi grafik dengan menggunakan tool gnuplot.
3.2. Analisa Kebutuhan Perangkat Keras Dan Lunak
Kebutuhan perangkat keras maupun perangkat lunak yang dibutuhkan, adalah sebagai berikut:
1. Kebutuhan perangkat keras, antara lain:
TCP Sender
CPU: Intel Core i7-5500U, up to 3.0GHz Operating system: Ubuntu Linux
RAM: 4GB Hardisk: 1TB
Network cards: 100 Mbit (Eth0)
TCP Receiver
CPU: Intel CoreTM i5 480M Operating system: Ubuntu Linux RAM: 4GB
Hardisk: 500GB
Network cards: 100 Mbit (Eth0)
2. Kebutuhan perangkat lunak, antara lain: Iperf
Netem TCP Probe Gnuplot
Ukuran: 16 MB
3.3 Perancangan Topologi Jaringan
Infrakstruktur pada sistem pengujian algoritma TCP Congestion Control terutama terdiri oleh dua laptop yang berfungsi sebagai
sender dan receiver. Gambar 6 menunjukkan
skema dasar tentang bagaimana mesin saling terhubung bersama-sama.
Sender dan Bottleneck Emulator
Receiver Kabel Ethernet
100Mbit/s (Eth0) 100Mbit/s (Eth0)
Gambar 6. Arsitektur Utama yang Digunakan Pada Penelitian Ini
Peran yang diperlihatkan pada Gambar 6 dijelaskan sebagai berikut:
1. Receiver: Menjalankan iperf dalam mode server
2. Bottleneck Emulator: Digunakan untuk mensimulasikan link yang berbeda dengan nilai latency yang berbeda, maksimum
throughput, packet loss, dan lain-lainnya
diantara sender dan receiver.
3.
Sender: Sender harus menjalankan iperf dimode client dan bottleneck dilakukan di sisi ini juga. Ini termasuk menggunakan tcpprobe untuk menangkap semua data yang akan dianalisa
4. Network Interface Card (NIC) dikonfigurasi untuk 100Mbits/s
4. HASIL DAN ANALISIS 4.1 SLA Axiowave
Pada lingkungan jaringan SLA Axiowave memiliki maksimum latency, jitter dan paket loss untuk memenuhi kebutuhan Servis Level Agreement (SLA), yaitu 65ms maksimum
latency, 0.5ms maksimum jitter, dan 0%
maksimum paket loss. Pada lingkungan ini peneliti mencoba menerapkan empat algoritma TCP, yaitu TCP Cubic, Reno, Vegas, dan Westwood+.
Gambar 7. Perbandingan Cwnd Empat TCP di SLA Axiowave
Gambar 8. Perbandingan Throughput Empat TCP di SLA Axiowave
Pada penelitian di lingkungan SLA Axiowave dapat dilihat bahwa pada TCP Cubic, Reno, Vegas, dan Westwood+ tidak terdapat paket loss yang menimbulkan penurunan cwnd (congestion window), sehingga pada lingkungan tersebut TCP Cubic, Reno, Vegas, dan Westwood+ hanya menjalankan 2 fase seperti TCP pada umumnya, yaitu fase slow start dan fase congestion avoidance. Pada Gambar 8 dari penelitian tersebut TCP Westwood+ memiliki
throughput terbesar di setiap detiknya melebihi
ketiga TCP lainnya. Hasil throughput rata-rata TCP Cubic 67.9 Mbit/s, TCP Reno 67.4 Mbit/s, TCP Vegas 65.8 Mbit/s, dan TCP Westwood+ 91.4 Mbit/s. Hal ini dikarenakan TCP
Westwood+ memang berorientasi bandwidth untuk menangani jaringan BDP (Bandwidth Delay Product). TCP Westwood+ mengembangkan estimasi bandwidth yang tersedia (BWE) dan menggunakan BWE tersebut untuk menetapkan ssthresh dan cwnd. TCP Westwood menganalisa packet
Acknowledgement yang kembali untuk memperkirakan BWE yang tersedia untuk koneksi TCP. Pada Gambar 7 dari penelitian ini dapat dilihat bahwa TCP Westwood+ memiliki ssthresh 617 dari awal koneksi hingga akhir koneksi. Nilai ssthresh yang besar ini membuat TCP Westwood+ lebih unggul dibandingkan TCP lainnya yang hanya memiliki ssthresh 350. Nilai ssthresh yang jauh lebih besar dibandingkan TCP lainnya membuat nilai cwnd TCP Westwood+ menjadi lebih besar juga dibandingkan TCP lainnya. Nilai cwnd yang besar menyebabkan throughput TCP Westwood+ diatas TCP lainnya, sehingga menempatkan TCP Westwood+ menjadi yang terbaik di lingkungan SLA Axiowave. Pada percobaan yang dilakukan selama 10 detik, data yang dapat dikirimkan sebesar 81.2 Mbytes untuk TCP Cubic, 67.4 Mbytes untuk TCP Reno, 78.5 Mbytes untuk TCP Vegas, dan 109 Mbytes untuk TCP Westwood+. TCP Westwood+ dapat mengirimkan data yang lebih banyak dikarenakan memiliki throughput terbesar diantara TCP lainnya.
4.2 SLA Verio
Pada lingkungan jaringan SLA Verio memiliki maksimum latency, jitter dan paket loss untuk memenuhi kebutuhan Servis Level Agreement (SLA) service provider, yaitu 55ms maksimum latency, 0.5ms maksimum jitter, dan 0.1% maksimum paket loss
.
Gambar 9. Perbandingan Cwnd Empat TCP di SLA Verio
Fakultas Ilmu Komputer, Universitas Brawijaya
Gambar 10. Perbandingan Throughput Empat TCP di SLA Verio
Pada Gambar 10 dari penelitian tersebut TCP Westwood+ memiliki throughput terbesar melebihi ketiga TCP lainnya, meskipun pada detik ke 2 disaat paket loss pertama terjadi, TCP Westwood+ mengalami penurunan dibawah TCP Cubic, tetapi setelah itu throughput TCP Westwood+ menjadi yang terbesar hingga detik ke 10. Dari penelitian tersebut, mendapatkan
throughput rata-rata TCP Cubic 7.69 Mbit/s,
TCP Reno 6.83 Mbit/s, TCP Vegas 7.82 Mbit/s, dan TCP Westwood+ 22.9 Mbit/s. Pada fase
slow start cwnd akan naik hingga cwnd=ssthresh
dan kemudian memasuki fase congestion
avoidance. Nilai ssthresh yang besar membuat
nilai cwnd akan terus meningkat hingga melebihi nilai ssthresh. Nilai cwnd mempengaruhi besarnya throughput di jaringan, karena nilai cwnd merupakan banyaknya segmen yang dapat dikirimkan ke receiver. Pada Gambar 9, ssthresh fase slow start TCP Westwood+ memiliki nilai 325 yang merupakan nilai terbesar diantara ketiga TCP lainnya, sehingga pada fase slow start TCP Westwood+ memiliki throughput terbesar diantara ketiga TCP lainnya. Nilai cwnd 225 dan nilai ssthresh 223 TCP Westwood+ pada akhir koneksi mengungguli ketiga TCP lainnya yang rata-rata dibawah 100. Pada percobaan yang dilakukan selama 10 detik, data yang dapat dikirimkan sebesar 9.25 Mbytes untuk TCP Cubic, 6.83 Mbytes untuk TCP Reno, 9.75 Mbytes untuk TCP Vegas, dan 27.4 Mbytes untuk TCP Westwood+.
4.3 SLA Internap
Pada lingkungan jaringan SLA Internap memiliki maksimum latency, jitter dan paket loss untuk memenuhi kebutuhan Servis Level Agreement (SLA) service provider, yaitu 45ms maksimum latency, 0.5ms maksimum jitter, dan 0.3% maksimum paket loss.
Gambar 11. Perbandingan Cwnd Empat TCP di SLA Internap
Gambar 12. Perbandingan Throughput Empat TCP di SLA Internap
Pada Gambar 12 dari penelitian tersebut TCP Westwood+ memiliki throughput terbesar melebihi ketiga TCP lainnya, meskipun pada detik 0-1 disaat awal koneksi terjadi, TCP Westwood+ mengalami nilai throughput
dibawah TCP Cubic, tetapi setelah itu
throughput TCP Westwood+ menjadi yang
terbesar hingga 10s. Dari penelitian tersebut mendapatkan hasil throughput rata-rata TCP Cubic 6.51Mbit/s, TCP Reno 4.15 Mbit/s, TCP Vegas 4.20 Mbit/s, TCP Westwood+ 20 Mbit/s. Dari hasil tersebut dapat dilihat bahwa TCP Westwood+ memiliki throughput rata-rata terbaik diantara ketiga TCP lainnya. Pada Gambar 11, cwnd TCP Westwood+ setelah mengalami paket loss memiliki nilai yang lebih besar dibandingkan TCP lainnya karena pengaruh bandwidth estimasi. Nilai cwnd dan ssthresh 170 pada TCP Westwood+ di akhir koneksi mengungguli ketiga TCP lainnya yang rata-rata dibawah 25. Pada percobaan yang dilakukan selama 10 detik, data yang dapat dikirimkan sebesar 8 Mbytes untuk TCP Cubic, 5.12 Mbytes untuk TCP Reno, 5.25 Mbytes untuk TCP Vegas, dan 23.9Mbytes untuk TCP Westwood+.
4.4 SLA Qwest
memiliki maksimum latency, jitter dan paket loss untuk memenuhi kebutuhan VOIP Servis Level Agreement (SLA service provider, yaitu 50ms maksimum latency, 2ms maksimum jitter, dan 0.5% maksimum paket loss
.
Gambar 13. Perbandingan Cwnd Empat TCP di SLA Qwest
Gambar 14. Perbandingan Throughput Empat TCP di SLA Qwest
Pada Gambar 14 dari penelitian tersebut TCP Westwood+ memiliki throughput terbesar melebihi ketiga TCP lainnya dari detik 0-10. Dari penelitian tersebut mendapatkan hasil
throughput rata-rata TCP Cubic 3.63Mbit/s,
TCP Reno 5.28 Mbit/s, TCP Vegas 3.18 Mbit/s, TCP Westwood+ 15 Mbit/s. Pada Gambar 13 cwnd TCP Westwood+ setelah mengalami paket
loss memiliki nilai yang lebih besar dibandingkan TCP lainnya karena pengaruh
bandwidth estimasi. Nilai cwnd 79 dan ssthresh
77 TCP Westwood+ pada akhir koneksi mengungguli ketiga TCP lainnya yang rata-rata dibawah 20. Pada percobaan yang dilakukan selama 10 detik, data yang dapat dikirimkan sebesar 4.75 Mbytes untuk TCP Cubic, 6.62 Mbytes untuk TCP Reno, 4.12 Mbytes untuk TCP Vegas, dan 18.4 Mbytes untuk TCP Westwood+.
5. KESIMPULAN
1. Pada kondisi jaringan yang memiliki latency dan delay besar tetapi 0% paket loss seperti pada SLA Axiowave (65ms maksimum
latency, 0.5ms maksimum jitter, dan 0%
maksimum paket loss), empat TCP Congestion control hanya menjalankan 2 fase, yaitu fase slow start dan fase
congestion avoidance. Fase slow start terjadi
ketika cwnd (congestion window) < slow
start threshold (ssthresh). Fase congestion avoidance terjadi ketika cwnd (congestion window) ≥ slow start threshold (ssthresh).
Pada kondisi jaringan ini TCP Westwood+ memiliki nilai throughput terbaik dibandingkan TCP lainnya. Hal ini dikarenakan faktor terbesar dari TCP Westwood adalah Bandwidth Estimation (BWE) yang menentukan besarnya ssthresh, sedangkan TCP lainnya menentukan ssthresh berdasarkan kondisi jaringan. TCP Westwood menganalisa packet
Acknowledgement (ACK) yang kembali
untuk memperkirakan BWE yang tersedia untuk koneksi TCP. Apabila BWE memiliki nilai yang besar ketika ACK diterima oleh TCP sender, maka nilai ssthresh di awal fase
slow start akan bernilai besar yang melebihi
TCP lainnya. Nilai ssthresh besar mempengaruhi nilai cwnd, karena fase slow
start akan berhenti hingga cwnd=ssthresh
dan nilai cwnd yang besar menyebabkan nilai throughput besar juga, karena nilai congestion window (cwnd) adalah besarnya segmen yang dapat dikirimkan menuju TCP receiver. Oleh karena itu, pada fase slow
start TCP Westwood+ memiliki nilai
terbesar hingga fase congestion avoidance yang cwnd diperbesar satu segmen setiap RTT.
2.
Pada kondisi jaringan yang memiliki paketloss seperti pada SLA Verio (0.1%
maksimum paket loss), SLA Internap (0.3% maksimum paket loss), dan SLA Qwest (0.5% maksimum paket loss) TCP Westwood+ memiliki nilai throughput terbaik dibandingkan TCP lainnya. Pada TCP Westwood+ ketika duplikat ACK diterima (terjadi paket loss) oleh sender maka diterapkan fase fast recovery dan fast
retransmit. Pada fase ini menetapkan
ssthresh setengah congestion window dan
congestion window akan terus berkurang
hingga memiliki nilai sama dengan ssthresh. Setelah fase fast recovery dan fast
retransmit, maka ssthresh = (Bandwidth
Estimation × 𝑅𝑇𝑇𝑚𝑖𝑛) / segmen size dan
nilai cwnd=ssthresh, sehingga setelah fase
Fakultas Ilmu Komputer, Universitas Brawijaya dan ssthresh akan langsung memiliki nilai besar sesuai algoritma tersebut, sedangkan TCP lainnya setelah terjadi paket loss, maka diterapkan fase fast recovery dan fast
retransmit sama seperti TCP Westwood+,
tetapi setelah fase tersebut selesai maka TCP lainnya menjalankan fase congestion avoidance dengan menambahkan
congestion window ukuran satu segmen
setiap RTT. Dari perbedaan mekanisme setelah fase fast recovery dan fast retransmit di tiga TCP congestion control dengan TCP Westwood+, maka ketiga TCP congestion
control lainnya akan memiliki nilai cwnd
dan ssthresh yang lebih kecil setelah paket
loss. Nilai cwnd yang lebih besar tersebut
membuat TCP Westwood+ memiliki
throughput terbaik dibandingkan TCP
lainnya.
6. DAFTAR PUSTAKA
Gerhard, D. & Girardi, D., 2012. Experimental
analysis of the TCP Westwood+ and TCP CUBIC congestion control algorithms. Universitas Trento, Italia.
Han, G.W., 2013. Experimental Implementation
Of The New Tcp Prototype In Linux.
Universitas Florida Atlantic, Amerika. Marrone, L. & Barbieri, A., 2013. TCP
Performance Cubic, Vegas & Reno.
Universitas de la plata, Argentina. Gaur, N., Shrivastava, S., Agarwal, S., Prasad,
R., 2016. Analysis the Different TCP
Traffic Scenario. Satya College of
Engineering and Technology, India. Mateen, A. & Ahmad, J., 2016. Effective Internet
Traffic Management by Reducing Congestion in TCP Cubic Through Proactive Approach. University Faisalabad, Pakistan.
Feyzabadi, S., 2012. Identifyng TCP Congestion
Control Mechanisms Using Active Probing. University Bremen, Jerman.
A, Sarika., J, Aarshi., C, Ankit., 2013. CUBIC
High Speed Algorithms Implemented In Linux. International Journal Of Innovate
Research & Development.
W, Eric. & F, Wuchun., 2013. A Cae ForTCP
Vegas in High Performance Computational Grids. Department of
Computer & Information Science Ohio State University, Amerika.
S, Shakti., 2014. TCP CUBIC Congestion
Control Transport Protocol.
International Journal of in Multidisciplinary and Academy Research.
K, Karvonen. & P, Siddharth., 2015. Analysis of
Congestion Control Algorithm in Linux Supported TCP Versions. Department of
Computer Science Aalto University School of Science, Finland.
A, Mudasar., N, Asri., M, Murtadha., 2015.
Experimental Evaluatin of TCP Congestion Control Mechanisms in Short and Long Distance Networks.
Universiti Teknologi Malaysia, Malaysia.
N, Syed., 2014. Problems of TCP in High
Bandwidth Delay Networks. JJT University, India.
Bao, Wei., Wong, Vincent., Leung, Victor., 2012. A Model for Steady State
Throughput of TCP Cubic. The
University of British Columbia, Canada. C, Pooja., K, Sachin., 2017. A Review of
Comparative Analysis of TCP Variants for Congestion Control in Network.
Department of Computer Science & Engineering, India.