Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol. 2, No. 3, Maret 2018, hlm. 1099-1108
e-ISSN: 2548-964X http://j-ptiik.ub.ac.id
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:
[email protected],
[email protected],
[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
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
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 Fakultas Ilmu Komputer Universitas Brawijaya
1099
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
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 Fakultas Ilmu Komputer, Universitas Brawijaya
1100
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 slow start, dimana algoritma slow start
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
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 retransmission 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).
1101
berikutnya yaitu fase congestion avoidance. (Cheng, 2005). Keluarnya fase slow start menunjukkan bahwa koneksi TCP sudah dalam keadaan stabil dimana congestion window hatihati 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 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 Fakultas Ilmu Komputer, Universitas Brawijaya
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
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
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 Gambar 3.
digambarkan pada
1102
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. 3
π½ πΆ
K = βππππ₯ β ( ) π
(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
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 Fakultas Ilmu Komputer, Universitas Brawijaya
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,
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
ο·
tanpa menunggu untuk time out kadaluarsa. Fase congestion avoidance akan bekerja lagi. Fast recovery. Pada fase ini akan bekerja dengan 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.
3.
4.
5. 6.
1103
expectedRate = congestion Window / baseRTT. Dimana congestion Window adalah sejumlah data yang dikirimkan tapi belum mendapatkan acknowledged. 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 Menentukan threshold Ξ± dan Ξ², dimana Ξ± mendefinisikan data yang terlalu kecil dan Ξ² mendefinisikan terlalu banyak data. Jika diff < Ξ±, kemudian congestion window = congestion window + 1 Jika diff > Ξ², kemudian congestion window = congestion window β 1
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, Fakultas Ilmu Komputer, Universitas Brawijaya
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 maksimum
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
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 Menetapkan traffic TCP menggunakan iperf TCP Probe menangkap lalu lintas jaringan Menampilkan cwnd dan ssthresh dengan grafik menggunakan Gnulpot dan menampilkan throughput dengan grafik
Analisa Hasil
End
Gambar 5. Diagram Alir Gambaran Umum Sistem
1104
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
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: Fakultas Ilmu Komputer, Universitas Brawijaya
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 di mode client dan bottleneck dilakukan di sisi ini juga. Ini termasuk menggunakan tcpprobe untuk menangkap semua data yang akan dianalisa
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
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
1105
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
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 Fakultas Ilmu Komputer, Universitas Brawijaya
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
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
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.
1106
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 Pada lingkungan jaringan SLA Qwest
Fakultas Ilmu Komputer, Universitas Brawijaya
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
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 Fakultas Ilmu Komputer, Universitas Brawijaya
1107
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 paket loss 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 fast recovery dan fast retransmit nilai cwnd
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
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. Fakultas Ilmu Komputer, Universitas Brawijaya
1108
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.