PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ANALISIS PENGARUH CONGESTION CONTROL DCCP CCID2 TERHADAP TCP TAHOE
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika
R.B. Ignasius Satryo Husodo Fahik Moruk Hale 105314070
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2016
i
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ANALYSIS OF EFFECT OF DCCP CCID2 CONGESTION CONTROL TOWARDS TCP TAHOE
A THESIS
Presented as Partial fullfillment of the Requirements to Obtain the Sarjana Komputer Degree in Informatics Engineering Study Program
R.B. Ignasius Satryo Husodo Fahik Moruk Hale 105314070
INFORMATICS ENGINERRING STUDY PROGRAM FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY YOGYAKARTA 2016
ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN MOTTO
“Kesuksesan hanya dapat diraih dengan segala upaya dan usaha yang disertai doa”
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma : Nama : R.B. Ignasius Satryo Husodo Fahik Moruk Hale NIM : 105314070 Demi pengembangan ilmu pengetahuan, saya memberikan kepada perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul : “Analisis Pengaruh Congestion Control DCCP CCID 2 Terhadap TCP Tahoe” Bersama perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa perlu memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis. Demikian pernyataan ini saya buat dengan sebenarnya.
Yogyakarta, ..................... Penulis,
R.B. Ignasius Satryo Husodo Fahik Moruk Hale
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRAK
Pada umumnya, internet menggunakan Transmission Control Protocol (TCP) dan User Datagram Protocol (UDP) sebagai protokol transport untuk mengirimkan data. Ketika penggunaan trafik UDP menjadi lebih banyak dibandingkan dengan trafik TCP, terjadi masalah fairness karena trafik TCP tidak memperoleh bandwidth yang cukup. Oleh karena itu, Internet Engineering Task Force (IETF) mengajukan Datagram Congestion Control (DCCP) sebagai protokol alternatif untuk menggantikan UDP. Pada penelitian ini, akan diamati pengaruh congestion control DCCP CCID 2 terhadap trafik TCP Tahoe menggunakan simulator NS 2. Hasil penelitian menunjukan bahwa DCCP CCID 2 lebih bersahabat terhadap TCP Tahoe (TCPFriendly) dibandingkan UDP terhadap TCP Tahoe. Namun, DCCP CCID 2 lebih banyak menggunakan resource yang ada meskipun DCCP CCID 2 dan TCP Tahoe sama-sama memiliki congestion control.
Kata kunci : DCCP, CCID2, TCP Tahoe, Congestion control, TCP Friendly, Fairness.
viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRACT
In general, the internet uses Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) as the transport protocol for sending data. When using UDP traffic becomes more than the TCP traffic, fairness problem occurs because TCP traffic does not obtain sufficient bandwidth. Therefore, the Internet Engineering Task Force (IETF) proposed Datagram Congestion Control (DCCP) as an alternative to replace the UDP protocol. In this study, we will be observed the effect of DCCP CCID 2 congestion control towards TCP Tahoe traffic using NS 2 simulator. The results showed that the DCCP CCID 2 is more friendly to the Tahoe TCP (TCP-Friendly) than UDP to TCP Tahoe. However, DCCP CCID 2 use more resources although DCCP CCID 2 and TCP Tahoe have the same congestion control.
Keywords : DCCP, CCID2, TCP Tahoe, Congestion control, TCP Friendly, Fairness.
ix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
KATA PENGANTAR
Puji syukur kepada Tuhan Yang Maha Esa atas segala karunia, rahmat dan bimbingan yang diberikan sehingga penulis dapat menyelesaikan skripsi “Analisis Pengaruh Congestion Control DCCP CCID 2 Terhadap TCP Tahoe”. Dalam menyelesaikan skripsi ini, bantuan banyak diberikan dari sejumlah pihak, oleh sebab itu penulis ingin mengucapkan terima kasih kepada : 1. Allah Bapa yang Maha Kuasa, yang telah menjawab doa, memberi bimbingan dan mencurahkan rahmat dengan perantaraan Yesus Kristus dan Bunda Maria sehingga penulis dapat menyelesaikan skripsi ini. 2. Bapak Henricus Agung Hernawan, S.T., M.Kom., selaku dosen pembimbing yang telah membantu dalam proses pengerjaan skripsi ini. 3. Bapak Bambang Soelistijanto, Ph.D., dan Bapak Puspaningtyas Sanjoyo Adi, S.T., M.T., selaku panitia penguji yang telah memberikan saran dan masukan yang berguna dalam skripsi ini. 4. Kedua orang tua serta adik-adikku yang telah banyak memberikan bantuan baik dalam bentuk materi maupun dukungan dan doa. 5. Helena Christi Widiasrumana, yang telah menyemangati penulis ketika rasa malas dan jenuh datang dalam proses pengerjaan skripsi ini. 6. Teman – teman seperjuangan TI angkatan 2010 yang telah berbagi cerita hidup selama menimba ilmu di Program Studi Teknik Informatika
x
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Universitas Sanata Dharma. Terima kasih untuk cerita yang telah kita lakukan bersama. 7. Untuk pihak – pihak yang tidak saya sebutkan satu persatu. Penulis mengucapkan terima kasih atas bantuannya sehingga penulis dapat menyelesaikan skripsi ini. Penulis menyadari masih banyak kekurangan dalam penyusunan tugas akhir ini. Saran dan kritik sangat diharapkan untuk perbaikan yang akan datang. Akhir kata, penulis berharap tugas akhir ini dapat bermanfaat bagi kemajuan dan perkembangan ilmu pengetahuan.
Yogyakarta, ........................ Penulis, R.B. Ignasius Satryo Husodo Fahik Moruk Hale
xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR ISI
ANALISIS PENGARUH CONGESTION CONTROL DCCP CCID2 TERHADAP TCP TAHOE...................................................................................... i ANALYSIS OF EFFECT OF DCCP CCID2 CONGESTION CONTROL TOWARDS TCP TAHOE ...................................................................................... ii HALAMAN PERSETUJUAN ............................... Error! Bookmark not defined. HALAMAN PENGESAHAN................................ Error! Bookmark not defined. PERNYATAAN KEASLIAN KARYA ................ Error! Bookmark not defined. HALAMAN MOTTO ............................................................................................ vi PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ............................................................................ vii ABSTRAK ........................................................................................................... viii ABSTRACT ........................................................................................................... ix KATA PENGANTAR ............................................................................................ x DAFTAR ISI ......................................................................................................... xii DAFTAR GAMBAR ............................................................................................ xv DAFTAR TABEL ............................................................................................... xvii BAB I ...................................................................................................................... 1
xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PENDAHULUAN .................................................................................................. 1 1.1.
Latar Belakang .................................................................................... 1
1.2.
Rumusan Masalah ............................................................................... 3
1.3.
Tujuan Penelitian ................................................................................ 3
1.4.
Batasan Masalah.................................................................................. 3
1.5.
Metode Penelitian................................................................................ 4
1.6.
Sistematika Penulisan ......................................................................... 4
BAB II ..................................................................................................................... 6 LANDASAN TEORI .............................................................................................. 6 2.1.
Transmission Control Protocol (TCP) ................................................ 6
2.2.
Datagram Congestion Control Protocol (DCCP)............................. 10
2.3.
Network Simulator 2 ......................................................................... 14
BAB III ................................................................................................................. 17 PERANCANGAN SIMULASI JARINGAN........................................................ 17 3.1.
Diagram Alur Penelitian ................................................................... 17
3.2.
Topologi Simulasi ............................................................................. 19
3.3.
Parameter Simulasi............................................................................ 20
3.4.
Skenario Pengujian............................................................................ 21
3.5.
Parameter Pengujian.......................................................................... 26
BAB IV ................................................................................................................. 27 DATA DAN ANALISIS HASIL SIMULASI ...................................................... 27
xiii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4.1.
Pengambilan Data ............................................................................. 27
4.2.
Analisis Data Hasil Simulasi............................................................. 29
BAB V................................................................................................................... 37 KESIMPULAN DAN SARAN ............................................................................. 37 5.1.
Kesimpulan ....................................................................................... 37
5.2.
Saran.................................................................................................. 38
LAMPIRAN .......................................................................................................... 41
xiv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR GAMBAR
Gambar 2.1.1 Fase Slow starts ................................................................................ 7 Gambar 2.1.2 Fase Congestion Avoidance ............................................................. 8 Gambar 2.1.3 Aturan Congestion TCP Tahoe ........................................................ 9 Gambar 2.1.4 Grafik cwnd TCP Tahoe ................................................................ 10 Gambar 2.2.1 Aturan DCCP congestion ............................................................... 13 Gambar 2.2.2 Grafik cwnd DCCP CCID 2 ........................................................... 13 Gambar 2.3.1 Format file trace ............................................................................. 14 Gambar 3.1.1 Diagram Alur penelitian ................................................................. 18 Gambar 3.2.1 Topologi simulasi ........................................................................... 19 Gambar 3.4.1 Topologi skenario TCP tanpa gangguan ....................................... 22 Gambar 3.4.2 Topologi skenario TCP1 vs TCP2 ................................................ 23 Gambar 3.4.3 Topologi Skenario TCP vs UDP ................................................... 24 Gambar 3.4.4 Topologi skenario TCP vs DCCP CCID 2 .................................... 25 Gambar 4.1.1 Grafik CWND pada skenario TCP1 vs TCP2 ................................ 28 Gambar 4.1.2 Grafik CWND TCP pada skenario TCP vs UDP ........................... 28 Gambar 4.1.3 Grafik CWND TCP pada skenario TCP vs DCCP ........................ 28 Gambar 4.2.1 Grafik CWND skenario TCP1 vs TCP2 ........................................ 29 Gambar 4.2.2 Grafik CWND skenario TCP vs UDP ............................................ 30 Gambar 4.2.3 Grafik CWND skenario TCP vs DCCP ......................................... 31 Gambar 4.2.4 Grafik perbandingan rata-rata byte transfer/cwnd ........................ 32 Gambar 4.2.5 Grafik rata-rata throughput ........................................................... 33
xv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.2.6 Grafik rata-rata end-to-end delay .................................................. 34 Gambar 4.2.7 Grafik jumlah packet drop ............................................................. 36
xvi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR TABEL
Tabel 3.3.1 Parameter simulasi ............................................................................. 20 Tabel 4.1.1 Data Hasil Simulasi............................................................................ 27
xvii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB I PENDAHULUAN
1.1. Latar Belakang Pada umumnya, internet menggunakan Transmission Control Protocol (TCP) dan User Datagram Protocol (UDP) sebagai protokol transport untuk mengirimkan data. TCP biasanya digunakan aplikasi-aplikasi non real-time seperti HTTP, SMTP, atau FTP. Sedangkan UDP adalah protokol transport yang paling banyak digunakan untuk aplikasi real-time seperti game online, video conference, streaming video dan audio [1]. TCP merupakan protokol yang berorientasi koneksi (connection-oriented), mendukung full-duplex, multiplexing, handal (reliable), byte stream, memiliki flow control dan congestion control. UDP merupakan protokol yang tidak berorientasi koneksi (connectionless), tidak handal (unreliable), half duplex. Keunggulan UDP adalah protokol ini memiliki mekanisme yang sederhana, tidak memiliki mekanisme yang rumit seperti congestion control. Akan tetapi, tidak memiliki mekanisme congestion control menyebabkan masalah fairness terhadap TCP. Ketika penggunaan trafik UDP menjadi lebih banyak dibandingkan dengan trafik TCP, masalah fairness menjadi parah karena trafik TCP tidak memperoleh bandwidth yang cukup. Bahkan trafik UDP dapat menggunakan hampir seluruh bandwidth yang ada sehingga trafik TCP tidak memperoleh bandwidth sama sekali yang berakibat pada congestion collaps. Oleh karena itu, Internet
1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Engineering Task Force (IETF) mengajukan Datagram Congestion Control (DCCP) sebagai protokol alternatif untuk menggantikan UDP [4]. DCCP merupakan protokol transport untuk komunikasi real-time yang mengimplementasi mekanisme congestion control agar lebih TCP-friendly karena trafik TCP masih dominan di internet saat ini. Mekanisme congestion control DCCP menyerupai congestion control pada TCP. Akan tetapi, DCCP tidak menjamin data yang terkirim sampai tujuan (unreliable data delivery). Keunggulan DCCP adalah protokol ini memiliki beberapa pilihan algoritma congestion control yang dilambangkan dengan Congestion Control ID (CCID). Saat ini, 3 CCID yang telah distandarisasi oleh IETF. CCID 2 [6] menggunakan algoritma TCP-like congestion control, CCID 3 [7] menggunakan algoritma TCPFriendly Rate Control (TFRC), dan CCID 4 [8] menggunakan algoritma TCPFriendly Rate Control for Small Packet (TFRC-SP). Berdasarkan uraian diatas, penulis akan melakukan penelitian dengan fokus mengamati pengaruh congestion control DCCP CCID 2 terhadap trafik TCP menggunakan simulator NS 2. Varian TCP yang digunakan dalam penelitian ini adalah TCP Tahoe. Parameter-parameter yang diamati yaitu congestion window, rata-rata throughput, rata-rata end-to-end delay dan packet drop. Hasil penelitian ini diharapkan dapat bermanfaat sebagai referensi penelitian dan pengembangan terkait mekanisme congestion control DCCP dan mekanisme congestion control yang TCP-friendly lainnya.
2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1.2. Rumusan Masalah Berdasarkan latar belakang yang telah diuraikan, rumusan masalah yang didapat adalah: Bagaimana pengaruh congestion control DCCP CCID 2 terhadap TCP berdasarkan parameter Congestion Window (CWND), rata-rata Throughput, ratarata End-to-End Delay dan Packet Drop ? 1.3. Tujuan Penelitian Tujuan dari penelitian ini adalah untuk mengetahui pengaruh mekanisme congestion control DCCP CCID 2 terhadap
TCP berdasarkan parameter
Congestion Window (CWND), rata-rata Throughput, rata-rata End-to-End Delay dan Packet Drop. 1.4. Batasan Masalah Batasan masalah dalam tugas akhir ini adalah sebagai berikut: 1. Pengujian dilakukan menggunakan simulator Network Simulator 2 versi 2.35-allinone yang diinstal pada Linux Ubuntu 14.02. 2. Varian TCP yang digunakan pada penelitian ini adalah TCP Tahoe. 3. Protokol DCCP yang digunakan adalah DCCP CCID 2. 4. Jenis antrian yang digunakan adalah Drop Tail dengan ukuran buffer pada router adalah 30. 5. Jumlah node yang digunakan adalah 6 node, 2 node sebagai node pengirim , 2 node sebagai node penerima dan 2 sebagai node router.
3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6. Parameter pengujian adalah Congestion Window (CWND), rata-rata Throughput, rata-rata End to End Delay dan Packet Drop. 1.5. Metode Penelitian Metode-metode penelitian yang dilakukan pada penelitian ini adalah sebagai berikut: 1. Studi Literatur. a. Teori TCP b. Teori TCP Tahoe c. Teori DCCP d. Teori DCCP CCID 2 e. Teori NS 2 2. Perancangan dan pembangunan simulasi pengujian. 3. Pengukuran dan pengumpulan data. 4. Analisis data dan pembahasan. 1.6. Sistematika Penulisan Sistematika penulisan yang digunakan dalam penyusunan Tugas Akhir ini adalah sebagai berikut : BAB I PENDAHULUAN Bab ini berisi latar belakang, rumusan masalah, metode penelitian dan sistematika penulisan. BAB II LANDASAN TEORI
4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Bab ini berisi tentang landasan teori yang berkaitan dengan penelitian. BAB III PERANCANGAN SIMULASI JARINGAN Bab ini berisi perencanaan simulasi jaringan yang berkaitan dengan topologi simulasi, parameter simulasi dan skenario pengujian. BAB IV ANALISIS DATA SIMULASI Bab ini berisi pelaksanaan dan hasil analisis data simulasi. BAB V KESIMPULAN DAN SARAN Bab ini berisi kesimpulan yang didapat dan saran-saran berdasarkan hasil analisis yang telah dilakukan.
5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB II LANDASAN TEORI
2.1. Transmission Control Protocol (TCP) Transmission Control Protocol adalah suatu protokol yang berada di lapisan transport (baik dalam model OSI maupun DARPA) yang berorientasi sambungan (connection-oriented) karena sebelum mentransmisikan data antara dua host, keduanya harus melakukan negosiasi untuk membuat sesi koneksi. Simulasi koneksi pada one way TCP dilakukan dengan menggunakan 2 agents yang berpasangan, yaitu TCP source dan TCP sink, TCP source berfungsi sebagai pengirim dan TCP sink bertugas mengirim ACK per paket yang diterima dari TCP source pasangannya. Aplikasi yang dipakai pada TCP adalah FTP yang biasanya digunakan untuk mewakili aplikasi yang berbasis nrt-VBR (non realtime Variable Bit Rate) yang bersifat bursty dan tidak sensitif terhadap delay. 2.1.1. TCP Tahoe TCP Tahoe adalah algoritma yang paling sederhana dari TCP varian lainnya. TCP Tahoe didasarkan pada tiga algoritma, yaitu Slow Start (SS), Congestion Avoidance (CA), dan fast retransmit. 2.1.1.1. Slow start Pada fase slow start, TCP pengirim menginisialisasi congestion window (cwnd) = 1 MSS (Maximum Segmen Size). Ini artinya, TCP pengirim hanya dapat mengirim 1 paket saja sampai pengirim menerima ACK. Ketika TCP pengirim
6
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
menerima ACK, ukuran cwnd akan bertambah 1 MSS, yang berarti cwnd saat ini = 2 MSS. Sekarang TCP pengirim dapat mengirim 2 paket. Ketika setiap pesan ACK diterima, cwnd akan bertambah 1 MSS. Jadi, saat ini ukuran cwnd akan bertambah menjadi 4. Dan seterusnya sampai cwnd mencapai batas ssthresh. Pada fase slow start, cwnd akan meningkat secara exponensial.
Gambar 2.1.1 Fase Slow starts
7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2.1.1.2.Congestion Avoidance Ketika ukuran cwnd mencapai ssthresh, fase slow start berhenti dan memasuki fase congestion avoidance. Pada fase congestion avoidance, setiap seluruh paket pada cwnd di ACK, cwnd bertambah 1. Pada fase ini, cwnd akan meningkat secara linier.
Gambar 2.1.2 Fase Congestion Avoidance
8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
TCP pengirim menetapkan timer untuk setiap paket yang dikirim ke tujuan. Jika TCP pengirim tidak menerima ACK sebelum timer habis, TCP mengasumsi bahwa telah terjadi paket hilang. Kemudian TCP melakukan hal berikut ketika timer habis :
Gambar 2.1.3 Aturan Congestion TCP Tahoe 1. Nilai dari ssthresh diturunkan menjadi ½ dari besarnya cwnd, ssthresh = cwnd/2. 2. Paket yang hilang dikirim ulang. 3. Cwnd diturunkan menjadi = 1. 4. Mengulang slow start.
9
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 2.1.4 Grafik cwnd TCP Tahoe
2.2. Datagram Congestion Control Protocol (DCCP) DCCP merupakan protokol transport yang memiliki congestion control, tapi tidak menjamin pengiriman data yang reliable pada komunikasi real-time [3][4]. DCCP memiliki beberapa pilihan algoritma congestion control yang sudah distandarisasi yaitu CCID 2 [6] menggunakan algoritma TCP-like congestion control, CCID 3 [7] menggunakan algoritma TCP-Friendly Rate Control (TFRC), dan CCID 4 [8] menggunakan algoritma TCP-Friendly Rate Control for Small Packet (TFRC-SP). Pada penelitian ini akan menggunakan DCCP CCID 2. Simulasi koneksi pada DCCP CCID2 dilakukan dengan menggunakan 2 agents yang berpasangan, yaitu DCCP source dan DCCP sink, DCCP source berfungsi sebagai pengirim dan DCCP sink bertugas mengirim Ack paket yang
10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
diterima dari DCCP source pasangannya. Aplikasi yang dipakai pada DCCP adalah CBR yang mewakili trafik real-time dengan bit-rate yang tetap. 2.2.1. Perbedaan antara DCCP dengan TCP Berikut adalah perbedaan-perbedaan antara DCCP dan TCP [5].
Packet stream. DCCP adalah packet stream protocol, bukan bytestream protocol.
Unreliability. DCCP tidak mengirim ulang paket.
Packet sequence number. Pada DCCP, sequence number merujuk pada paket, bukan byte.
Pilihan pada congestion control. Salah satu fitur DCCP adalah mekanisme congestion control yang digunakan untuk koneksi. Pada DCCP, 2 endpoint dapat menggunakan mekanisme congestion control yang berbeda. Contohnya : pada koneksi A<-> B, data dikirim dari A -> B menggunakan CCID 2, dan data yang dikirim dari B -> A dapat menggunakan CCID 3.
Format acknowledgement yang berbeda. CCID untuk setiap koneksi menentukan berapa banyak informasi ACK yang dibutuhkan untuk dikirim. Pada CCID 2, 1 ACK per 2 paket, dan setiap ACK harus mendeklarasikan paket mana yang diterima. Sedangkan pada DCCP CCID 3, 1 ACK per RTT.
Tidak memiliki receive window. DCCP adalah congestion control protocol, bukan flow control protocol.
11
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2.2.2. Congestion Control ID 2 (CCID 2): TCP-like Congestion Control Algoritma congestion control CCID2 menyerupai TCP congestion control [6][11]. Ketika penerima menerima paket DCCP, penerima mengirim kembali pesan Ack kepada pengirim. Setelah menerima paket Ack, penerima menambah ukuran window-nya. Perbedaan utama antara TCP dan DCCP CCID2 adalah TCP mengirim ulang paket yang hilang sedangkan DCCP CCID 2 tidak mengirim ulang. Algoritma CCID 2 berdasarkan algoritma AIMD untuk mengontrol windownya. Sama seperti TCP, DCCP CCID 2 juga memiliki parameter congestion window (cwnd) yaitu maksimum jumlah paket yang diperbolehkan pada jaringan. Sama seperti TCP, DCCP pengirim mulai dengan fase slow start, dimana cwnd bertambah 1 untuk setiap ACK yang diterima oleh DCCP pengirim. Cwnd DCCP meningkat secara eksponensial hingga mencapai ssthresh atau dideteksi adanya paket hilang. Pengirim kemudian memasuki fase congestion avoidance dimana cwnd akan meningkat secara linier sampai adanya paket hilang. Ketika paket hilang dideteksi karena timeout, cwnd diturunkan menjadi 1 dan mengulang slow start. Sedangkan jika paket hilang dideteksi melalui 3 duplikat ACK, cwnd diturunkan menjadi sama dengan nilai ssthresh, dimana ssthresh = cwnd/2.
12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 2.2.1 Aturan DCCP congestion
Gambar 2.2.2 Grafik cwnd DCCP CCID 2
13
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2.3. Network Simulator 2 Network simulator 2 (NS2) merupakan perangkat lunak yang dibangun untuk kepentingan riset. NS2 bersifat open-source dibawah GPL (Gnu Public License), sehingga dapat di-download secara gratis melalui web NS2 [9]. NS2 di bangun dari 2 bahasa pemrograman. Pertama yaitu C++, sebagai library yang berisi event scheduler, protokol, dan network component yang diimplementasikan pada simulasi oleh user. Kedua yaitu Tcl/Otcl yang digunakan pada script simulasi yang ditulis oleh NS user. Setelah simulasi dijalankan, keluaran dari hasil NS2 berupa file trace berekstensi “.tr”. file trace ini dapat diolah ataupun dianalisa menggunakan cara manual maupun dengan bantuan tools lain seperti Awk script dan perl. File trace tersebut terdiri dari kolom-kolom hasil record yang dijelaskan berikut : Event
Time
From
To
Node Node
Packet Type
Packet Size
Flags
Flow ID
Source Addr
Dest. Addr
Seq. Number
Gambar 2.3.1 Format file trace 1. Event Kejadian yang dicatat oleh NS, yaitu
r : receive (paket yang diterima node tujuan)
+ : enqueue (paket masuk antrian)
- : dequeue (paket keluar antrian)
d : drop (paket dibuang di antrian)
2. Time 14
Packet ID
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Mengindikasikan waktu terjadinya suatu kejadian dalam hitungan detik setelah start. 3. From Node dan To Node Menyatakan keberadaan paket saat suatu kejadian dicatat. 4. Packet Type Menginformasikan tipe paket yang dikirim. Contohnya seperti cbr, TCP, ack. 5. Packet Size Ukuran paket dalam byte. 6. Flags Flag digunakan sebagai penanda. Macam-macam flag yang digunakan yaitu :
E : mengindikasikan terjadi congestion (Congestion Experienced (CE)).
N : mengindikasikan ECN-Capable-Transport pada header IP.
C : mengindikasikan ECN-Echo.
A : mengindikasikan pengurangan cwnd pada header TCP.
P : mengindikasikan prioritas.
F : mengindikasikan TCP fast start.
7. Flow ID Memberi nomor unik untuk mengidentifikasikan tiap aliran data. 8. Source Addr
15
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Alamat asal paket dengan format node.port. Contohnya : 2.0 artinya node ke 2 port 0. 9. Dest. Addr Alamat tujuan paket dengan format node.port. Contohnya : 2.0 artinya node ke 2 port 0 10. Sequence Number Nomor urut paket 11. Packet ID Nomor unik untuk setiap paket.
16
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB III PERANCANGAN SIMULASI JARINGAN
3.1. Diagram Alur Penelitian Dalam merancang suatu simulasi, ada beberapa langkah yang dilakukan agar hasil simulasi yang didapat sesuai dengan yang diharapkan. Pertama, menentukan topologi jaringan yang akan digunakan. Faktor-faktor yang menjadi pertimbangan antara lain model jaringan wired atau wireless, jumlah node, posisi node sumber dan node tujuan. Topologi simulasi akan dibahas pada subbab 3.2. Kedua, menentukan parameter-parameter simulasi. Parameter-parameter simulasi antara lain bandwidth dan delay link, jenis dan ukuran antrian, jenis aplikasi, protokol transport, serta waktu simulasi. Parameter-parameter simulasi yang digunakan pada penelitian ini akan dibahas pada subbab 3.3. Ketiga, menentukan skenario pengujian. Skenario pengujian merupakan gambaran secara keseluruhan tentang penelitian yang akan dilakukan agar memperoleh hasil yang sesuai dengan tujuan penelitian. Rancangan skenario simulasi pada penelitian ini akan dibahas pada subbab 3.4. Keempat, membuat script simulasi dan menjalankan simulasi. Script *.tcl dibangun berdasarkan topologi, parameter-parameter dan skenario pengujian yang telah direncanakan. Jika simulasi berhasil, maka akan dihasilkan file trace. . File trace kemudian diolah menggunakan script *.awk untuk mendapatkan nilai parameter pengujian. Parameter pengujian dibahas pada subbab 3.5. Jika simulasi
17
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
gagal, maka harus dilakukan troubleshooting terhadap script *.tcl yang telah dibuat dan kemudian memperbaikinya. Setelah itu simulasi dijalankan kembali. Contoh script *.tcl dan *.awk tersedia pada Halaman Lampiran
Start
Menentukan Topologi Simulasi
Tidak
Pembuatan Script awk
Menentukan Parameter Simulasi
Berhasil
Ya
Menentukan Skenario Pengujian
Tidak
Data Hasil Simulasi (nilai cwnd, throughput, endtoend delay & packet drop)
Pembuatan Script Simulasi & Menjalankan Simulasi Analisis & Kesimpulan
Berhasil End Ya
Output/File Trace, NAM
Gambar 3.1.1 Diagram Alur penelitian
18
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.2. Topologi Simulasi Topologi simulasi menggunakan model topologi yang sederhana yaitu topologi dumb-bell. Topologi ini umumnya digunakan untuk mempelajari efek jalur bottleneck yang dilewati oleh banyak node pengirim. Berikut desain topologi yang digunakan:
Gambar 3.2.1 Topologi simulasi
Topologi ini menggunakan 6 node yang disimbolkan dengan n0, n1, n2, n3, n4 dan n5. Node n0 dan n1 bertindak sebagai node pengirim, node n2 dan n3 bertindak sebagai node router sedangkan node n4 dan n5 bertindak sebagai penerima. Node n0 akan dipasangkan dengan node n4 dan node n1 akan dipasangkan dengan node n5.
19
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.3. Parameter Simulasi Pada penelitian ini, parameter simulasi dikondisikan agar terjadi congestion disisi router. Parameter- parameter ini bersifat konstan dan digunakan sesuai dengan skenario pengujian yang ditentukan. Parameter simulasi yang digunakan pada penelitian ini dapat dilihat pada tabel 3.3.1. Tabel 3.3.1 Parameter simulasi Parameter Simulasi
Nilai Bandwidth : 10 Mbps
Link Source n0, n1– Router n2 Delay Propagation : 10 ms Bandwidth : 5 Mbps Link Router n2 – Router n3 Delay Propagation : 10 ms Bandwidth : 10 Mbps Link Router n3 – Sink n4, n5 Delay Propagation : 10 ms Protokol Transport
TCP, UDP, DCCP CCID 2
Model Antrian
Drop Tail
Ukuran Buffer pada Router
30 FTP : -
Aplikasi/Sumber Trafik
Waktu Simulasi
Ukuran : 1000 byte
CBR : -
Ukuran : 1000 byte
-
Rate : 5 Mbps
500 s
20
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Aplikasi yang digunakan TCP adalah FTP yang mewakili aplikasi yang berbasis nrt-VBR (non real-time Variable Bit Rate) yang bersifat bursty dan tidak sensitif terhadap delay. Sedangkan UDP dan DCCP menggunakan trafik CBR (Constant Bit Rate) yang mewakili trafik real-time dengan bit-rate yang tetap.
3.4. Skenario Pengujian Pada penelitian ini, untuk mengamati congestion window (cwnd), rata-rata throughput, rata-rata end-to-end delay dan packet drop pada TCP dibagi menjadi 4 skenario. Skenario pertama TCP akan berjalan sendiri tanpa adanya gangguan, skenario kedua menggunakan 2 protokol TCP dimana TCP1 akan diganggu oleh TCP2, skenario ketiga menggunakan protokol TCP dan UDP dimana TCP akan diganggu oleh UDP, sedangkan skenario keempat menggunakan protokol TCP dan DCCP CCID 2 dimana TCP akan diganggu oleh DCCP.
21
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.4.1. Skenario TCP tanpa gangguan
Gambar 3.4.1 Topologi skenario TCP tanpa gangguan Pada skenario pertama, trafik TCP akan berjalan sendiri tanpa gangguan trafik lain selama 500 detik. Skenario 1 bertujuan untuk mengamati TCP memaksimalkan penggunaan resource yang ada. Hasil dari skenario pertama akan menjadi benchmark.
22
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.4.2. Skenario TCP1 vs TCP2
Gambar 3.4.2 Topologi skenario TCP1 vs TCP2 Pada skenario kedua, trafik TCP1 akan diganggu oleh trafik TCP2. Trafik TCP1 akan mulai lebih dahulu yaitu pada detik ke 0.1 kemudian diikuti oleh trafik TCP2 yang mulai pada detik ke 100.1 sampai waktu simulasi berakhir pada detik 500. Skenario ini bertujuan untuk mengamati pengaruh trafik TCP2 terhadap trafik TCP1. Rancangan topologi skenario kedua dapat dilihat pada gambar 3.4.2.
23
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.4.3. Skenario TCP vs UDP
Gambar 3.4.3 Topologi Skenario TCP vs UDP Pada skenario ketiga, trafik TCP akan diganggu oleh trafik UDP. trafik TCP akan mulai lebih dahulu yaitu pada detik ke 0.1 kemudian diikuti oleh trafik UDP yang mulai pada detik ke 100.1 sampai waktu simulasi berakhir pada detik 500. Skenario ini bertujuan untuk mengamati pengaruh trafik UDP terhadap trafik TCP. Rancangan topologi skenario ketiga dapat dilihat pada gambar 3.4.3.
24
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.4.4. Skenario TCP vs DCCP
Gambar 3.4.4 Topologi skenario TCP vs DCCP CCID 2 Pada skenario keempat, Trafik TCP akan diganggu oleh trafik DCCP. Trafik TCP akan mulai lebih dahulu yaitu pada detik ke 0.1 kemudian diikuti oleh trafik DCCP yang mulai pada detik ke 100.1 sampai waktu simulasi berakhir pada detik 500. Skenario ini bertujuan untuk mengamati pengaruh trafik DCCP terhadap trafik TCP. Topologi skenario keempat dapat dilihat pada gambar 3.4.4.
25
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.5. Parameter Pengujian Parameter pengujian yang diamati dalam penelitian ini yaitu: 3.5.1. Congestion Window (CWND). Cwnd merupakan variabel yang digunakan dalam membatasi jumlah data yang dapat dikirim oleh Transport Protocol. Nilai cwnd ditentukan oleh ACK yang diterima oleh pengirim. Analisis cwnd akan di lakukan dengan mengamati perubahan cwnd TCP ketika trafik lain mulai berjalan. Selain itu, akan dihitung rata-rata byte transfer per cwnd. 3.5.2. Rata-rata Throughput Rata-rata throughput adalah jumlah data yang diterima oleh node tujuan per satuan waktu dalam suatu jaringan. Satuan yang digunakan rata-rata throughput jaringan pada penelitian ini yaitu KBps (Kilobyte per second). Nilai dari rata-rata throughput akan semakin baik jika nilainya semakin besar. 3.5.3. Rata-rata End-to-end Delay Rata-rata End-to-end Delay adalah rata-rata selisih waktu pengiriman paket saat dikirimkan dengan saat paket tersebut diterima oleh node tujuan. Nilai Endto-end delay akan semakin baik jika nilainya semakin kecil. 3.5.4. Packet Drop Packet drop adalah paket yang dibuang saat melewati router dikarenakan buffer antrian penuh. Jumlah total paket yang dibuang selama simulasi berlangsung akan dihitung. 26
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB IV DATA DAN ANALISIS HASIL SIMULASI
Simulator yang digunakan pada simulasi ini adalah Network Simulator 2 versi 2.35-allinone. Modul protokol TCP, UDP maupun DCCP sudah tersedia di dalam ns2. Setelah simulasi dijalankan, output dari simulasi penelitian ini berupa file trace berekstensi “.tr, .xg, dan .nam”. file trace ini dapat diolah atau dianalisis menggunakan tools awk script untuk menghitung nilai rata-rata byte/cwnd, ratarata throughput, rata-rata end-to-end delay dan packet drop. 4.1. Pengambilan Data Pengambilan data akan dilakukan sesuai dengan skenario simulasi yang telah dirancang pada BAB III. Berikut ditampilkan data hasil simulasi yang diambil dari 1 kali pengujian per skenario. Tabel 4.1.1 Data Hasil Simulasi Skenario TCP
TCP vs TCP
TCP vs UDP
TCP vs DCCP
1.991,070
559,772
91,520
412,448
Avg Throughput (KBps)
572,218
282,220
0,192
230,438
Avg End-to-end Delay (s)
0,0687888
0,0805617
32,5194000
0,0870757
115
203
38
224
Parameter Avg Byte transferred / cwnd (KB/cwnd)
Total Packet Drop
27
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Snapshot cwnd pada skenario TCP1 vs TCP2.
Gambar 4.1.1 Grafik CWND pada skenario TCP1 vs TCP2 Snapshot cwnd pada skenario TCP vs UDP.
Gambar 4.1.2 Grafik CWND TCP pada skenario TCP vs UDP Snapshot cwnd pada skenario TCP vs DCCP.
Gambar 4.1.3 Grafik CWND TCP pada skenario TCP vs DCCP
28
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4.2. Analisis Data Hasil Simulasi 4.2.1. Analisis Congestion Window (CWND) Pada simulasi penelitian ini, model antrian yang digunakan adalah Drop Tail. Pada drop tail, ketika antrian penuh, paket baru yang datang akan dibuang sampai antrian memiliki ruang untuk menampung paket yang datang. Pada TCP tahoe, adanya paket yang dibuang menyebabkan timeout yang mengindikasikan adanya congestion sehingga TCP menurunkan cwnd = 1 dan memulai kembali slow start.
Gambar 4.2.1 Grafik CWND skenario TCP1 vs TCP2 Pada simulasi skenario TCP1 vs TCP2, trafik TCP1 diganggu oleh trafik TCP2. Setiap paket TCP1 dan TCP2 akan melewati router yang sama dan ditampung dalam buffer antrian. Paket-paket TCP1 dan TCP2 datang secara berurutan hingga buffer antrian penuh. Ketika buffer antrian penuh, paket TCP1 dan TCP2 dibuang bersamaan. Akibatnya TCP1 dan TCP2 menurunkan cwnd
29
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
menjadi 1 dan memulai kembali slow start pada waktu yang sama. Hal ini akan terjadi berulang-ulang sehingga ukuran cwnd TCP1 dan TCP2 sama besar.
Gambar 4.2.2 Grafik CWND skenario TCP vs UDP Sedangkan pada skenario TCP vs UDP, ketika trafik TCP diganggu oleh trafik UDP, paket-paket UDP akan mendominasi penggunaan buffer antrian sehingga tidak ada ruang buffer yang tersedia untuk paket TCP dan akhirnya paket TCP dibuang. UDP tidak memiliki congestion control sehingga tidak mempedulikan adanya paket yang dibuang dan terus mengirim dengan kecepatan yang konstan. Sedangkan pada TCP, adanya paket yang didrop menyebabkan timeout. Hal ini mengindikasikan adanya congestion sehingga TCP menurunkan cwnd menjadi 1 dan memulai kembali slow start dan melakukan retransmit. Akan tetapi, paket yang di-retransmit juga dibuang karena tidak ada ruang buffer yang tersedia sehingga TCP berhenti mengirim.
30
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.2.3 Grafik CWND skenario TCP vs DCCP Pada skenario TCP vs DCCP, ketika trafik TCP diganggu dengan trafik DCCP, terlihat bahwa cwnd DCCP lebih besar dibandingkan cwnd TCP. Hal ini karena pada TCP tahoe, congestion hanya dideteksi dari timeout dan kemudian menurunkan cwnd menjadi 1 dan memulai kembali slow start. Sedangkan pada DCCP CCID2, jika congestion dideteksi karena timeout, DCCP akan memulai kembali fase slow start sama seperti TCP tahoe. Tetapi jika congestion dideteksi karena duplikat 3 ack, DCCP langsung memasuki fase congestion avoidance. Hal ini menyebabkan DCCP mengirim paket lebih banyak daripada TCP sehingga buffer antrian pun lebih banyak digunakan oleh DCCP daripada TCP.
31
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Perbandingan rata-rata Byte Transfer / CWND 2.000,000
1.991,070
kB / cwnd
1.500,000 TCP TCP vs TCP
1.000,000
TCP vs UDP 559,772 412,448
500,000
TCP vs DCCP
91,520 0,000
Gambar 4.2.4 Grafik perbandingan rata-rata byte transfer/cwnd Grafik pada gambar 4.2.4 menunjukan bahwa rata-rata byte transfer per cwnd pada TCP mengalami penurunan karena adanya trafik pengganggu. Penurunan yang besar terjadi ketika TCP diganggu oleh UDP. Hal ini karena UDP tidak memiliki congestion control sehingga UDP terus mengirimkan paket dan tidak mempedulikan adanya paket yang hilang. Akibatnya UDP menggunakan seluruh buffer yang ada sehingga paket TCP selalu dibuang yang menyebabkan cwnd TCP jatuh dan tidak berubah. Sedangkan ketika TCP diganggu dengan TCP2 maupun DCCP, TCP masih dapat mengirimkan paket karena baik TCP2 maupun DCCP memiliki mekanisme congestion control sehingga mampu mendeteksi adanya congestion. Ketika TCP dan DCCP mendeteksi terjadi congestion, keduanya merespon dengan menurunkan cwnd-nya. TCP mengulang fase slow start sedangkan DCCP
32
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
langsung memasuki fase congestion avoidance menyebabkan DCCP mengirimkan paket lebih banyak sehingga ruang buffer lebih banyak terpakai oleh DCCP. Inilah yang menyebabkan rata-rata byte transfer per cwnd TCP ketika TCP diganggu oleh DCCP mengalami penurunan dibandingkan ketika TCP diganggu TCP2. 4.2.2. Rata-rata Throughput
Perbandingan Rata-rata Throughput 700,000 600,000
572,218
500,000 kBps
TCP 400,000 300,000
TCP vs TCP 282,220
TCP vs UDP 230,438
TCP vs DCCP
200,000 100,000 0,000
0,192
Gambar 4.2.5 Grafik rata-rata throughput Grafik pada gambar 4.2.5 menunjukan bahwa rata-rata throughput pada TCP mengalami penurunan karena adanya trafik pengganggu. Penurunan yang sangat besar terjadi ketika TCP diganggu oleh UDP. Nilai throughput TCP menjadi kecil karena seluruh bandwidth terpakai oleh UDP. Hal ini karena UDP tidak memiliki congestion control sehingga UDP terus mengirimkan paket dan tidak mempedulikan adanya paket yang hilang. Akibatnya UDP menggunakan
33
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
seluruh buffer yang ada sehingga paket TCP selalu dibuang yang menyebabkan tidak ada paket TCP yang terkirim. Sedangkan ketika TCP diganggu oleh TCP2 maupun DCCP, rata-rata throughput TCP lebih baik dibandingkan ketika diganggu oleh UDP. Hal ini karena baik TCP2 maupun DCCP memiliki congestion control sehingga ketika buffer antrian penuh dan terjadi paket drop, keduanya mampu mendeteksi adanya congestion dan menurunkan cwnd. Akan tetapi, DCCP recovery dari congestion lebih cepat dibandingkan TCP sehingga DCCP mengirim lebih banyak paket dari pada TCP. Bandwidth yang ada lebih banyak terpakai oleh DCCP dari pada TCP. Inilah yang menyebabkan rata-rata throughput TCP ketika TCP diganggu oleh DCCP mengalami penurunan dibandingkan ketika TCP diganggu oleh TCP2. 4.2.3. Rata-rata End-to-end Delay
Perbandingan Rata-rata End-to-end Delay 32,520
End-to-end Delay (s)
35,000 30,000 25,000
TCP
20,000
TCP vs TCP
15,000
TCP vs UDP
10,000
TCP vs DCCP
5,000
0,069
0,081
0,088
0,000
Gambar 4.2.6 Grafik rata-rata end-to-end delay
34
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Grafik pada gambar 4.2.6 menunjukan bahwa rata-rata end-to-end delay meningkat karena adanya trafik pengganggu. Sebagai catatan, delay paket yang dihitung adalah delay paket yang sampai node tujuan. Besarnya nilai end-to-end delay dipengaruhi oleh delay antrian karena paket harus menunggu untuk ditransmisikan. Jumlah paket yang dikirim juga mempengaruhi lamanya proses diantrian. Setiap paket memiliki variasi delay. Jika paket datang ketika buffer antrian kosong maka tidak ada delay yang terjadi. Tetapi jika paket datang ketika masih ada paket yang mengantri maka delay akan bertambah besar karena paket akan menunggu lebih lama. Hal ini dapat dilihat pada skenario TCP diganggu dengan UDP, nilai end-to-end delay TCP meningkat sangat drastis karena paket TCP datang ketika banyak paket-paket UDP yang sedang menunggu untuk ditransmisikan. UDP tidak memiliki congestion control sehingga kecepatan pengiriman paket UDP tidak dapat dikontrol mengakibatkan buffer antrian selalu penuh. Sedangkan ketika TCP diganggu dengan TCP2 dan DCCP, nilai end-to-end delay TCP kedua skenario relatif sama. Hal karena TCP2 dan DCCP memiliki congestion control yang mengatur jumlah paket yang dapat dikirim sehingga buffer antrian tidak penuh setiap saat.
35
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4.2.4. Packet Drop
Perbandingan Total Packet Drop 250
224
Total Packet Drop
203 200 TCP 150
TCP vs TCP
115
TCP vs UDP
100 38
50
TCP vs DCCP
0
Gambar 4.2.7 Grafik jumlah packet drop Grafik pada gambar 4.2.7 menunjukan bahwa jumlah total packet drop pada TCP meningkat ketika TCP diganggu oleh TCP2 maupun DCCP. Hal ini karena semakin banyak paket yang dikirim, buffer antrian akan semakin cepat penuh dan paket drop akan sering terjadi. DCCP recovery dari congestion lebih cepat daripada TCP sehingga cwnd DCCP lebih besar dari pada cwnd TCP. Artinya paket DCCP yang dikirim akan lebih banyak menyebabkan buffer antrian akan dipenuhi oleh paket-paket DCCP dan paket drop akan sering terjadi. Sehingga total paket drop TCP ketika TCP diganggu oleh DCCP menjadi lebih banyak dibandingkan ketika TCP diganggu oleh TCP2. Ketika TCP diganggu oleh UDP yang tidak memiliki congestion control, paket drop TCP menurun. Hal ini disebabkan karena TCP berhenti mengirim untuk beberapa saat sehingga jumlah paket TCP yang dikirim menjadi sedikit dan paket drop pun menjadi lebih kecil.
36
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB V KESIMPULAN DAN SARAN 5.1. Kesimpulan Berdasarkan hasil simulasi dan analisis yang telah dilakukan, dapat diambil kesimpulan bahwa: 1. DCCP CCID 2 lebih bersahabat terhadap TCP (TCP-Friendly) dibandingkan
UDP
terhadap
TCP.
Hal
ini
karena
DCCP
mengimplementasikan algoritma congestion control. 2. DCCP CCID 2 dan TCP tahoe sama-sama memiliki congestion control. Namun, ketika keduanya berbagi jalur yang sama, DCCP CCID 2 lebih banyak menggunakan resources yang ada karena algoritma congestion control CCID 2 lebih advance.
37
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5.2. Saran Adapun saran-saran yang dapat diberikan untuk pengembangan penelitian ini berikutnya adalah : 1. Membandingkan DCCP CCID 2 dengan varian TCP Reno yang memiliki algoritma congestion control yang sama. 2. Melakukan pengujian lebih lanjut pada varian DCCP lain yaitu CCID 3 yang memiliki algoritma congestion control yang berbeda dengan CCID 2. 3. Pengujian menggunakan pola distribusi paket yang berbeda. Contoh: pola distribusi paket random.
38
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR PUSTAKA
[1]
Stalling, W. (2003). Data and Computer Communication, 5th Edition, hal 585. Prentice-Hall
[2]
Forouzan, B. A. (2007). Data communications and Networking, 4thEdition. McGraw-hill
[3]
Kohler, E., Handley M., & Floyd S. (2006). Designing: Congestion Control Without Reliablility. SIGCOMM ’06, September 11-15. Pisa, Italy.
[4]
Kohler, E., Handley M., & Floyd S. (2006). Datagram Congestion Control Protocol (DCCP). [online]. Tersedia: http://tools.ietf.org/html/rfc4340 [18 juni 2015]
[5]
Kohler, E., & Floyd, S. Datagram Congestion Control Protocol (DCCP) Overview. ICIR 9 July 2003
[6]
Floyd, S., & Kohler, E. (2006). Profile for Datagram Congestion Control Protocol (DCCP) Congestion Control ID 2 : TCP-Like Congestion Control”. [online]. Tersedia: http://tools.ietf.org/html/rfc4341 [18 juni 2015]
[7]
Floyd, S., & Kohler, E. (2006). Profile for Datagram Congestion Control Protocol (DCCP) Congestion Control ID 3: TCP-Friendly Rate Control (TFRC). [online]. Tersedia: http://tools.ietf.org/html/rfc43412 [18 juni 2015]
39
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
[8]
Floyd, S., & Kohler, E. (2007). Profile for Datagram Congestion Control Protocol (DCCP) Congestion ID 4: TCP-Friendly Rate Control for Small Packet (TFRC-SP). [online]. Tersedia:
https://tools.ietf.org/html/draft-ietf-DCCP-
CCID4-05 [18 juni 2015] [9]
Network Simulator 2. [online]. Tersedia: http://www.isi.edu/nsnam/ns/ [18 juni 2015]
[10]
DCCP Agents. [online]. Tersedia: http://www.isi.edu/nsnam/ns/doc/node496.html
[11]
Mattsson, Nils-Erik. 2004. A DCCP modul for ns-2, Sweden
[12]
Comer, Douglas E. (2000). Vol I : Internetworking with TCP/IP
Principles,
Protocols,
and
Architectures,
4thEdition. Prentice-Hall, Inc [13]
Takeuchi, S., Koga, H., Kadobayashi Y., Yamaghuchi S. (2005). Performance Evaluations of DCCP for Bursty Traffic in Real-time Applications. SAINT 2005, Italy.
[14]
Bhatti, S., Bateman M., & Miras D. (2008). A Comparative Performance Evaluation of DCCP. SPECTS 2008
40
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN 1. Skenario1.tcl #Skenario percobaan 1 : TCP tanpa gangguan #Declare New Simulator set ns [new Simulator]
#Setting Procedure Finish proc finish {} { global ns tr nf $ns flush-trace close $nf close $tr exit 0 }
#Setting output file set tr [open skenario1.tr w] $ns trace-all $tr set nf [open skenario1.nam w] $ns namtrace-all $nf
#Setting Node set n0 [$ns node] set n1 [$ns node] set n2 [$ns node] 41
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
set n3 [$ns node] set n4 [$ns node] set n5 [$ns node]
# Setting Link $ns duplex-link $n0 $n2 10Mb 10ms DropTail $ns duplex-link $n1 $n2 10Mb 10ms DropTail $ns duplex-link $n2 $n3 5Mb 10ms DropTail $ns duplex-link $n3 $n4 10Mb 10ms DropTail $ns duplex-link $n3 $n5 10Mb 10ms DropTail
# Setting Node Position $ns duplex-link-op $n0 $n2 orient right-down $ns duplex-link-op $n1 $n2 orient right-up $ns duplex-link-op $n2 $n3 orient right $ns duplex-link-op $n3 $n4 orient right-up $ns duplex-link-op $n3 $n5 orient right-down
# Setting Queue Length $ns queue-limit $n2 $n3 30
# Setting TCP1 & TCP2 Agent set tcp1 [new Agent/TCP] $ns attach-agent $n0 $tcp1 set tcpsink1 [new Agent/TCPSink]
42
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
$ns attach-agent $n4 $tcpsink1 $ns connect $tcp1 $tcpsink1 $tcp1 set window_ 1000 $tcp1 set fid_ 1 $ns color 1 Red
#Setting FTP Application set ftp1 [new Application/FTP] $ftp1 attach-agent $tcp1
#tcp trace $tcp1 attach $tr $tcp1 tracevar cwnd_
# Setting Time Schedule of Simulation $ns at 0.1 "$ftp1 start" $ns at 500.0 "$ftp1 stop" $ns at 500.0 "finish"
# Plot Congestion Window proc plotWindow {tcpSource outfile} { global ns set cwnd [$tcpSource set cwnd_ ] set now [$ns now] puts $outfile "$now $cwnd"
43
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
$ns at [expr $now+0.1] "plotWindow $tcpSource $outfile" }
set outfile [open "cwndTCPS1.xg" w] $ns at 0.0 "plotWindow $tcp1 $outfile"
#run simulasi $ns run
2. Skenario2.tcl #Skenario percobaan 2 : TCP vs TCP #Declare New Simulator set ns [new Simulator]
#Setting Procedure Finish proc finish {} { global ns tr nf $ns flush-trace close $nf close $tr exit 0 }
#Setting output file set tr [open skenario2.tr w]
44
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
$ns trace-all $tr set nf [open skenario2.nam w] $ns namtrace-all $nf
#Setting Node set n0 [$ns node] set n1 [$ns node] set n2 [$ns node] set n3 [$ns node] set n4 [$ns node] set n5 [$ns node]
# Setting Link $ns duplex-link $n0 $n2 10Mb 10ms DropTail $ns duplex-link $n1 $n2 10Mb 10ms DropTail $ns duplex-link $n2 $n3 5Mb 10ms DropTail $ns duplex-link $n3 $n4 10Mb 10ms DropTail $ns duplex-link $n3 $n5 10Mb 10ms DropTail
# Setting Node Position $ns duplex-link-op $n0 $n2 orient right-down $ns duplex-link-op $n1 $n2 orient right-up $ns duplex-link-op $n2 $n3 orient right $ns duplex-link-op $n3 $n4 orient right-up $ns duplex-link-op $n3 $n5 orient right-down
45
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
# Setting Queue Length $ns queue-limit $n2 $n3 30
# Setting TCP1 & TCP2 Agent set tcp1 [new Agent/TCP] $ns attach-agent $n0 $tcp1 set tcpsink1 [new Agent/TCPSink] $ns attach-agent $n4 $tcpsink1 $ns connect $tcp1 $tcpsink1 $tcp1 set window_ 1000 $tcp1 set fid_ 1 $ns color 1 Red
set tcp2 [new Agent/TCP] $ns attach-agent $n1 $tcp2 set tcpsink2 [new Agent/TCPSink] $ns attach-agent $n5 $tcpsink2 $ns connect $tcp2 $tcpsink2 $tcp2 set window_ 1000 $tcp2 set fid_ 2 $ns color 2 Blue
#Setting FTP Application set ftp1 [new Application/FTP]
46
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
$ftp1 attach-agent $tcp1 set ftp2 [new Application/FTP] $ftp2 attach-agent $tcp2
#tcp trace $tcp1 attach $tr $tcp1 tracevar cwnd_
# Setting Time Schedule of Simulation $ns at 0.1 "$ftp1 start" $ns at 100.1 "$ftp2 start" $ns at 500.0 "$ftp1 stop" $ns at 500.0 "$ftp2 stop" $ns at 500.0 "finish"
# Plot Congestion Window proc plotWindow {tcpSource outfile} { global ns set cwnd [$tcpSource set cwnd_ ] set now [$ns now] puts $outfile "$now $cwnd" $ns at [expr $now+0.1] "plotWindow $tcpSource $outfile" }
set outfile [open "cwndTCP1S2.xg" w]
47
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
set outfile2 [open "cwndTCP2S2.xg" w] $ns at 0.0 "plotWindow $tcp1 $outfile" $ns at 100.0 "plotWindow $tcp2 $outfile2"
#run simulasi $ns run
3. Skenario3.tcl #Skenario percobaan 3 : TCP vs UDP #Declare New Simulator set ns [new Simulator]
#Setting Finish Procedure proc finish {} { global ns tr nf $ns flush-trace close $nf close $tr exit 0 }
#Setting output file set tr [open skenario3.tr w] $ns trace-all $tr set nf [open skenario3.nam w]
48
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
$ns namtrace-all $nf
#Setting Node set n0 [$ns node] set n1 [$ns node] set n2 [$ns node] set n3 [$ns node] set n4 [$ns node] set n5 [$ns node]
# Setting Link $ns duplex-link $n0 $n2 10Mb 10ms DropTail $ns duplex-link $n1 $n2 10Mb 10ms DropTail $ns duplex-link $n2 $n3 5Mb 10ms DropTail $ns duplex-link $n3 $n4 10Mb 10ms DropTail $ns duplex-link $n3 $n5 10Mb 10ms DropTail
# Setting Node Position $ns duplex-link-op $n0 $n2 orient right-down $ns duplex-link-op $n1 $n2 orient right-up $ns duplex-link-op $n2 $n3 orient right $ns duplex-link-op $n3 $n4 orient right-up $ns duplex-link-op $n3 $n5 orient right-down
# Setting Queue Length
49
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
$ns queue-limit $n2 $n3 30
# Setting TCP Agent set tcp1 [new Agent/TCP] $ns attach-agent $n0 $tcp1 set tcpsink1 [new Agent/TCPSink] $ns attach-agent $n4 $tcpsink1 $ns connect $tcp1 $tcpsink1 $tcp1 set window_ 1000 $tcp1 set fid_ 1 $ns color 1 Red
# Setting UDP Agent set udp1 [new Agent/UDP] $ns attach-agent $n1 $udp1 set udpsink1 [new Agent/Null] $ns attach-agent $n5 $udpsink1 $ns connect $udp1 $udpsink1 $udp1 set fid_ 2 $ns color 2 Blue
#Setting FTP Application set ftp1 [new Application/FTP] $ftp1 attach-agent $tcp1
50
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
#Setting CBR Application set cbr1 [new Application/Traffic/CBR] $cbr1 attach-agent $udp1 $cbr1 set packet_size_ 1000 $cbr1 set rate_ 5Mb
#tcp trace $tcp1 attach $tr $tcp1 tracevar cwnd_
# Setting Time Schedule of Simulation $ns at 0.1 "$ftp1 start" $ns at 100.1 "$cbr1 start" $ns at 500.0 "$ftp1 stop" $ns at 500.0 "$cbr1 stop" $ns at 500.0 "finish"
# Plot Congestion Window proc plotWindow {tcpSource outfile} { global ns set cwnd [$tcpSource set cwnd_ ] set now [$ns now] puts $outfile "$now $cwnd" $ns at [expr $now+0.1] "plotWindow $tcpSource $outfile" }
51
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
set outfile [open "cwndTCP1S3.xg" w] $ns at 0.0 "plotWindow $tcp1 $outfile"
#run simulasi $ns run
4. Skenario4.tcl #Skenario percobaan 4 : TCP vs DCCP #Declare New Simulator set ns [new Simulator]
#Setting Procedure Finish proc finish {} { global ns tr nf $ns flush-trace close $nf close $tr exit 0 }
#Setting output file set tr [open skenario4.tr w] $ns trace-all $tr set nf [open skenario4.nam w] $ns namtrace-all $nf
52
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
#Setting Node set n0 [$ns node] set n1 [$ns node] set n2 [$ns node] set n3 [$ns node] set n4 [$ns node] set n5 [$ns node]
# Setting Link $ns duplex-link $n0 $n2 10Mb 10ms DropTail $ns duplex-link $n1 $n2 10Mb 10ms DropTail $ns duplex-link $n2 $n3 5Mb 10ms DropTail $ns duplex-link $n3 $n4 10Mb 10ms DropTail $ns duplex-link $n3 $n5 10Mb 10ms DropTail
# Setting Node Position $ns duplex-link-op $n0 $n2 orient right-down $ns duplex-link-op $n1 $n2 orient right-up $ns duplex-link-op $n2 $n3 orient right $ns duplex-link-op $n3 $n4 orient right-up $ns duplex-link-op $n3 $n5 orient right-down
# Setting Queue Length $ns queue-limit $n2 $n3 30
53
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
# Setting TCP Agent set tcp1 [new Agent/TCP] $ns attach-agent $n0 $tcp1 set tcpsink1 [new Agent/TCPSink] $ns attach-agent $n4 $tcpsink1 $ns connect $tcp1 $tcpsink1 $tcp1 set window_ 1000 $tcp1 set fid_ 1 $ns color 1 Red
# Setting DCCP Agent set dccp1 [new Agent/DCCP/TCPlike] $ns attach-agent $n1 $dccp1 set dccpsink1 [new Agent/DCCP/TCPlike] $ns attach-agent $n5 $dccpsink1 $ns connect $dccp1 $dccpsink1 $dccp1 set window_ 1000 $dccp1 set fid_ 2 $ns color 2 Blue
#Setting FTP Application set ftp1 [new Application/FTP] $ftp1 attach-agent $tcp1
54
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
#Setting CBR Application set cbr1 [new Application/Traffic/CBR] $cbr1 attach-agent $dccp1 $cbr1 set packet_size_ 1000 $cbr1 set rate_ 5Mb
#tcp trace $tcp1 attach $tr $tcp1 tracevar cwnd_
# Setting Time Schedule of Simulation $ns at 0.1 "$ftp1 start" $ns at 100.0 "$dccpsink1 listen" $ns at 100.1 "$cbr1 start" $ns at 500.0 "$ftp1 stop" $ns at 500.0 "$cbr1 stop" $ns at 500.0 "finish"
# Plot Congestion Window proc plotWindow {tcpSource outfile} { global ns set cwnd [$tcpSource set cwnd_ ] set now [$ns now] puts $outfile "$now $cwnd" $ns at [expr $now+0.1] "plotWindow $tcpSource $outfile"
55
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
}
set outfile [open "cwndTCP1S4.xg" w] $ns at 0.0 "plotWindow $tcp1 $outfile" set outfile2 [open "cwndDCCP1S4.xg" w] $ns at 100.0 "plotWindow $dccp1 $outfile2"
#run simulasi $ns run
5. Avgbpc.awk
BEGIN { countcwnd = 0 sendsize = 0 } { event = $1 time = $2 timecwnd=$1 fromNode = $3 toNode = $4 pkt_type = $5 pkt_size = $6 cwnd = $6
56
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
cwndvalue = $7 if (timecwnd >= 100.1 && cwndvalue == 1.000 && cwnd == "cwnd_" && toNode == 4) { countcwnd++ }
if (time >= 100.1 && pkt_type == "tcp" && event == "+" && fromNode == 0) { sendsize += pkt_size } }
END { print" Total cwnd = " (countcwnd) print" Avg Byte transferred/cwnd = " (sendsize/countcwnd)/1000 "KB/cwnd" }
6. Avgthroughput.awk
BEGIN { recvdSize = 0 startTime = 100.1 stopTime = 500.0 } {
57
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
event = $1 time = $2 fromNode = $3 toNode = $4 pkt_type = $5 pkt_size = $6
if (event == "r" && time >= 100.1 && pkt_type == "tcp" && toNode==4) { recvdSize += pkt_size } }
END { print"Average startTime) "kBps"
TCP
Throughput
=
"
(recvdSize/1000)/(stopTime-
}
7. Avge2edelay.awk BEGIN { num_sample = 0; total_delay = 0; } { event = $1 time = $2
58
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
fromNode = $3 toNode = $4 pkt_type = $5 f_id = $8
if (event == "+" && time >=100.1 && fromNode == 0 && pkt_type == "tcp" && f_id==1){ p_id==$12 t_dep[$12] = time } if (event == "r" && time >=100.1 && toNode == 4 && pkt_type == "tcp" && f_id==1){ if (p_id = $12){ t_arr[$12] = time num_sample++ delay = t_arr[$12] - t_dep[$12] total_delay += delay } } } END{ avg_delay = total_delay/num_sample; print "Average end to end delay = " avg_delay " s"; }
59
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8. Avgpacketdrop.awk BEGIN { pkt_drops_tcp1 = 0 } { event = $1 time = $2 pkt_type = $5 pkt_fid = $8
if (event == "d" && time >= 100.1 && pkt_type=="tcp" && pkt_fid==1) pkt_drops_tcp1++ } END { printf("Paket Drop TCP1 =%d\n", pkt_drops_tcp1); }
60