Analisis unjuk kerja TCP Tahoe Congestion Control pada antrian red dan droptail.

(1)

ABTRAK

Pada umumnya, internet menggunakan protokol TCP sebagai protokol transport untuk mengirimkan data. Lalu lintas data yang besar, diperlukan sebuah mekanisme untuk meminimalisir kemacetan salah satunya dengan menerapkan antrian. Model Antrian yang biasa dipakai yakni model antrian droptail. Trafik lalu lintas yang besar tentunya diperlukan ruang antrian yang besar untuk dapat mengakomodasi paket-paket yang datang. Tentunya hal tersebut akan menimbulkan delay yang besar dan akan berpengaruh terhadap metric performance yang lain. Sally Floyd dan Van Jacobson membuat sebuah manajemen antrian RED. RandomEarly Detection (RED) merupakan sebuah manajemen antrian yang mana model antrian ini dikembangkan untuk menangani lalulintas data dalam jumlah besar. Gateway akan memberikan notifikasi secara acak terhadap koneksi tertentu untuk menurunkan ukuran window. RED mendeteksi jaringan sibuk berdasarkan rerata bergerak. Apabila rerata bergerak melebihi batas threshold maka paket yang masuk dibuang ataupun ditandai berdasarkan probabilitas.

Hasil penelitian menunjukkan bahwa RED memiliki rata-rata throughput, rata-rata end to end delay lebih baik dibandingkan droptail walaupun RED memiliki rata-rata byte percongestion window lebih kecil. Dari sisi jumlah packet drop RED memiliki packet drop yang lebih sedikit dibandingkan droptail

Kata kunci : RED, Random Early Drop, Random Early Detection, Droptail, Congestion Avoidance.


(2)

ABSTRACT

In general, the Internet using TCP as the transport protocol for sending data. If data traffic high, we need a mechanism to minimize congestion either by applying the queue. Queues are commonly used models that droptail queuing models. Traffic volume which are certainly needed a room large queue to accommodate packets coming. Of course, it will cause a high delay and will affect other performance metrics. Sally Floyd and Van Jacobson develop a RED queue management. Random Early Detection (RED) is a management queue which the queue model is developed to handle large amounts of data traffic. Gateway will provide notification randomly against a particular connection to reduce the size of the window. RED detects a busy network is based on moving averages. If the moving average exceeds the threshold level then the incoming packet discarded or marked based on probability.

The results showed that RED has an average throughput, average end to end delay is better than droptail although RED has a small average byte percongestion window than droptail. In terms of the number of packet drop packet drop RED has fewer than droptail.

Keywords: RED, Random Early Drop, Random Early Detection, Droptail, Congestion Avoidance.


(3)

i

ANALISIS UNJUK KERJA TCP TAHOE CONGESTION

CONTROL PADA ANTRIAN RED DAN DROPTAIL

SKRIPSI

Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer

Program Studi Teknik Informatika

Oleh :

Emanuel Prihmardoyo 115314054

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA


(4)

ii

PERFORMANCE ANALYSIS OF TCP CONGESTION

CONTROL IN QUEUE RED AND DROPTAIL

A THESIS

Presented as Partial Fulfillment of the Requirements to Obtain Sarjana Komputer Degree

in Informatics Engineering Study Program

By :

Emanuel Prihmardoyo 115314054

INFORMATICS ENGINEERING STUDY PROGRAM

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA


(5)

iii


(6)

iv


(7)

v


(8)

vi

HALAMAN MOTTO

Spread your wings, across the universe

It's your time to, it's your time to shine


(9)

vii

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS


(10)

viii ABTRAK

Pada umumnya, internet menggunakan protokol TCP sebagai protokol transport untuk mengirimkan data. Lalu lintas data yang besar, diperlukan sebuah mekanisme untuk meminimalisir kemacetan salah satunya dengan menerapkan antrian. Model Antrian yang biasa dipakai yakni model antrian droptail. Trafik lalu lintas yang besar tentunya diperlukan ruang antrian yang besar untuk dapat mengakomodasi paket-paket yang datang. Tentunya hal tersebut akan menimbulkan delay yang besar dan akan berpengaruh terhadap metric performance yang lain. Sally Floyd dan Van Jacobson membuat sebuah manajemen antrian RED. RandomEarly Detection (RED) merupakan sebuah manajemen antrian yang mana model antrian ini dikembangkan untuk menangani lalulintas data dalam jumlah besar. Gateway akan memberikan notifikasi secara acak terhadap koneksi tertentu untuk menurunkan ukuran window. RED mendeteksi jaringan sibuk berdasarkan rerata bergerak. Apabila rerata bergerak melebihi batas threshold maka paket yang masuk dibuang ataupun ditandai berdasarkan probabilitas.

Hasil penelitian menunjukkan bahwa RED memiliki rata-rata throughput, rata-rata end to end delay lebih baik dibandingkan droptail walaupun RED memiliki rata-rata byte percongestion window lebih kecil. Dari sisi jumlah packet drop RED memiliki packet drop yang lebih sedikit dibandingkan droptail

Kata kunci : RED, Random Early Drop, Random Early Detection, Droptail, Congestion Avoidance.


(11)

ix ABSTRACT

In general, the Internet using TCP as the transport protocol for sending data. If data traffic high, we need a mechanism to minimize congestion either by applying the queue. Queues are commonly used models that droptail queuing models. Traffic volume which are certainly needed a room large queue to accommodate packets coming. Of course, it will cause a high delay and will affect other performance metrics. Sally Floyd and Van Jacobson develop a RED queue management. Random Early Detection (RED) is a management queue which the queue model is developed to handle large amounts of data traffic. Gateway will provide notification randomly against a particular connection to reduce the size of the window. RED detects a busy network is based on moving averages. If the moving average exceeds the threshold level then the incoming packet discarded or marked based on probability.

The results showed that RED has an average throughput, average end to end delay is better than droptail although RED has a small average byte percongestion window than droptail. In terms of the number of packet drop packet drop RED has fewer than droptail.

Keywords: RED, Random Early Drop, Random Early Detection, Droptail, Congestion Avoidance.


(12)

x

KATA PENGANTAR

Puji dan syukur kepada Tuhan Yang Maha Esa atas segala karunia, rahmat, bimbingan, dan segala keperluan yang telah diberikan sehingga penulis dapat menyelesaikan skripsi “Analisis Unjuk Kerja TCP Tahoe Congestion Control Pada Antrian Red dan Droptail”.

Dalam menyelesaikan skripsi ini, banyak bantuan, dukungan, dan bimbingan dari sejumlah pihak, oleh sebab itu penulis mengucapkan terimakasih kepada :

1. Bapak Henricus Agung Hernawan, S.T, M.Kom., selaku dosen pembimbing

yang selalu siap untuk membantu proses pengerjaan skripsi ini.

2. Bapak Bambang Soelistijanto, Ph.D dan Bapak Puspaningtyas Sanjoyo Adi,

S.T., M.T., selaku panitia penguji yang memberikan saran dan masukan yang berguna dalam skripsi ini.

3. Bapak Yohanes Sutardi dan Ibu Yasentha Suyatmi selaku orangtua yang

memberikan dukungan dan kepercayaan kepada saya dalam melalui masa-masa sulit pengerjaan skripsi.

4. R.B. Ignasius Satryo Husodo Fahik Moruk Male yang membantu penulis

ketika penulis mengalami hambatan.

5. Rosa Chryse Sutomo yang membantu memberikan pencerahan, memberikan

semangat, serta meluangkan waktu untuk membantu penulis dalam melalui proses demi proses untuk menyelesaikan skripsi.

6. Rossalia Hanna Agustina, Clara Skivo Ganita Anjani, Maria Rossari Putri Kinanti, Dominikus Prayitno, dan teman-teman OMK paroki St. Ignatius Danan yang telah memberikan support, memberikan suasana ceria, dan tentunya yang selalu menanyakan kabar skripsi saya.

7. Teman-teman TI angkatan 2011 yang telah berbagi suka dan duka dalam


(13)

(14)

xii DAFTAR ISI

ANALISIS UNJUK KERJA TCP TAHOE CONGESTION CONTROL PADA ANTRIAN RED DAN

DROPTAIL ... i

PERFORMANCE ANALYSIS OF TCP CONGESTION CONTROL IN QUEUE RED AND DROPTAIL ... ii

HALAMAN PERSETUJUAN ... iii

HALAMAN PENGESAHAN ... iv

PERNYATAAN KEASLIAN KARYA ... v

HALAMAN MOTTO ... vi

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH... vii

UNTUK KEPENTINGAN AKADEMIS ... vii

ABTRAK ... viii

ABSTRACT ... ix

KATA PENGANTAR ... x

DAFTAR ISI ... xii

DAFTAR GAMBAR ... xv

DAFTAR TABEL ... xvii

BAB I ... 1

PENDAHULUAN ... 1

1.1. Latar Belakang ... 1

1.2. Rumusan Masalah ... 2

1.3. Tujuan ... 2

1.4. Batasan Masalah ... 3

1.5. Metodologi Penelitian ... 3

1.6 Sistematika Penulisan ... 4

BAB II... 6

LANDASAN TEORI ... 6

2.1. Model Antrian ... 6

2.2. Antrian Droptail ... 8


(15)

xiii

2.4. Transmission Control Protocol (TCP) ... 10

2.5. Fase Congestion Control Pada TCP Tahoe... 11

BAB III ... 15

PERANCANGAN ... 15

3.1. Diagram Alur Penelitian ... 15

3.3. Topologi Simulasi ... 17

3.4. Parameter Simulasi ... 18

3.5. Sekenario Pengujian ... 19

3.6. Parameter Pengujian... 22

BAB IV ... 23

IMPLEMENTASI DAN ANALISIS ... 23

4.1. Hasil Simulasi... 23

4.2. Data Hasil Simulasi ... 27

4.3. Analisis Performance Metric Dari Semua Sekenario ... 28

BAB V ... 46

KESIMPULAN DAN SARAN ... 46

5.1. Kesimpulan ... 46

5.2. Saran ... 47

DAFTAR PUSTAKA ... 48

LAMPIRAN ... 50

Konfigurasi sekenario. ... 50

1. Sekenario1.tcl ... 50

2. Sekenario2.tcl ... 53

3. Sekenario3.tcl ... 56

4. Sekenario4.tcl ... 58

Konfigurasi file awk ... 61

1. Rata-rata byte percongestion window ... 61

2. Paket drop ... 62

3. Rata-rata end to end delay ... 63

4. Rata-rata throughput ... 64

5. Filter untuk mendapatkan data mentah yang harus di eksport ke file .xg dan digrafikkan... 65


(16)

xiv

6. Filter untuk mendapatkan data mentah sebelum di grafikkan status end to end delay. ... 65


(17)

xv

DAFTAR GAMBAR

Gambar 2.1. Antrian ... 6

Gambar 2.2.1. Ilustrasi antrian FIFO ... 8

Gambar 2.2.2. Mekanisme antrian droptail kondisi ruang buffer tidak penuh ... 8

Gambar 2.2.3. Antrian droptail kondisi buffer penuh dan melakukan drop paket . 8 Gambar 2.4.1. 3-way handshake ... 10

Gambar 2.5.1. Penambahan jumlah cwnd ... 12

Gambar 2.5.2. Penambahan cwnd sebesar 1 ... 13

Gambar 2.5.3. Sebuah mekanisme ketika terjadi congestion... 13

Gambar 2.5.4 Grafik congestion control berbagai fase ... 14

Gambar 3.1.1. Diagram Alur Penelitian... 15

Gambar 3.2.1. Topologi Simulasi ... 17

Gambar 3.4.1.1. Sekenario 1 ... 19

Gambar 3.4.2.1. Sekenario 2 ... 20

Gambar 3.4.3.1. Sekenario 3 ... 21

Gambar 3.4.4.1. Sekenario 4 ... 21


(18)

xvi

Gambar 4.3.1.2. Total paket drop pada model antrian RED sekenario 1 dan

sekenario 2 ... 30

Gambar 4.3.1.3. Perbandingan rerata bergerak (moving average) dengan varian min.threshold 10 dan 30 ... 31

Gambar 4.3.1.4. Total paket drop pada model antrian droptail sekenario 3 dan sekenario 4 ... 34

Gambar 4.3.1.5. Ilustrasi ukuran ruang buffer yang berbeda pada model antrian droptail ... 35

Gambar 4.3.2.1. Grafik rata-rata byte percongestion window ... 36

Gambar 4.3.2.2. Grafik keterkaitan jumlah paket drop terhadap jumlah terbentuknya window. ... 38

Gambar 4.3.3.1. Grafik rata-rata end to end delay ... 40

Gambar 4.3.3.2. Status antrian sekenario 1 dan antrian sekenario 2 ... 41


(19)

xvii

DAFTAR TABEL

Tabel 3.3.1. Parameter Simulasi ... 19

Tabel 4.2.1.1. Performance metric value pada sekenario 1 dan 2 ... 27

Tabel 4.2.2.1. Performance metric value pada sekenario 3 dan 4 ... 28

Tabel 4.3.2.1. Tabel rata-rata total byte yang dikirim, jumlah window yang

terbentuk, dan byte percongestion control ... 37

Tabel 4.3.4.1. Tabel throughput, durasi, dan rata-rata throughput setiap sekenario ... 44


(20)

1 BAB I

PENDAHULUAN 1.1. Latar Belakang

Kemajuan teknologi komunikasi memberikan kemudahan dalam melakukan akses data dari komputer satu menuju komputer yang lain. Untuk dapat melakukan akses data, perangkat yang digunakan dan perangkat yang dituju harus terhubung dalam sebuah jaringan.

Banyak tempat-tempat seperti perkantoran, sekolah, gedung perkuliahan, cafe, bahkan tempat-tempat perbelanjaan telah memiliki dan memanfaatkan infrasturuktur jaringan. Pengguna yang terhubung dengan jaringan tersebut menginginkan koneksi jaringan yang lancar dan setabil, disisi lain dengan pengguna jaringan yang banyak dapat mengakibatkan kemacetan lalulintas jaringan. Untuk mengatasi hal tersebut harus ada kontrol jaringan sehingga kemacetan jaringan dapat diminimalisir, salah satunya dengan menerapkan manajemen antrian pada router.

Ada beberapa manajemen antrian yang dapat diterapkan dalam jaringan, antaara lain First In First Out (FIFO) yang juga disebut Droptail, Fair Queuing (FQ), Random Early Drop (RED), Weighted Fair Queuing (WFQ), dan Explicit Congestion Notification (ECN).

Sebagian besar pengguna dalam melakukan komunikasi data menggunakan protokol TCP. Dalam proses komunikasi data diperlukan sebuah congestion control yang berfungsi untuk mengatur jalannya transaksi data dan bertindak jika terjadi sebuah congestion. Ada beberapa varian TCP diantaranya TCP Tahoe,


(21)

2 TCP Vegas, TCP Reno, TCP New Reno, TCP Cubic, dan lain sebagainya. Setiap Varian TCP memiliki congestion control yang berbeda sehingga penanganan ketika terjadi congestion juga berbeda.

Pada tugas akhir ini, penulis akan melakukan simulasi menggunakan protokol TCP Tahoe dan menggunakan model antrian RED dan droptail. Penulis menggunakan kedua model antrian tersebut karena dari kedua model antrian tersebut memiliki manajemen antrian yang sangat berbeda, terlebih pada pola packet drop. Packet drop merupakan salah satu penyebab terjadinya congestion. Dari kedua model antrian yang digunakan, penulis ingin melihat unjuk kerja TCP Tahoe congestion control pada anrian RED dan droptail.

1.2.Rumusan Masalah

Berdasarkan latar belakang diatas, didapatkan rumusan masalah berikut :

- Bagaimana kinerja congestion control TCP tahoe pada antrian RED dan

Droptail.

1.3.Tujuan

Mengetahui kinerja congestion control TCP Tahoe pada antrian RED

dan Droptail.

Mengetahui pengaruh antrian RED dan Droptail terhadap packet drop,

rata-rata throughput, rata-rata byte percongestion window, dan rata-rata end to end delay


(22)

3 1.4.Batasan Masalah

Protokol yang digunakan TCP Tahoe.

Menggunakan Network Simulator 2 (NS2).

Antrian yang digunakan RED dan Droptail.

TCP 2 difungsikan sebagai pengganggu jaringan.

Memiliki nilai link delay yang sama untuk setiap sekenario.

Memiliki kondisi yang sama untuk source node dan destination node.

1.5.Metodologi Penelitian

Metodologi dan langkah-langkah yang digunakan dalam pelaksanaan pengerjaan tugas akhir ini sebagai berikut :

a. Studi Literatur

Pada tahap ini penulis melakukan pendalaman materi yang menjadi topik pengerjaan tugas akhir. Penulis juga melakukan pendalaman materi yang memiliki keterkaitan dengan topik yang penulis angkat. Referensi materi didapat dari papper, materi kuliah Analisa Unjuk Kerja, buku pendukung, dan internet.

b. Wawancara

Dalam hal ini penulis juga melakukan wawancara dan diskusi kepada dosen, teman, dan forum guna mendapatkan informasi tambahan dan sebagai tempat bertukar informasi sehingga dengan demikian penulis lebih mantap dalam melakukan pengerjaan tugas akhir ini.


(23)

4

c. Analisis Kebutuhan

Pada tahapan ini penulis melakukan anilisis kebutuhan apa saja yang diperlukan demi terlaksananya penelitian ini, baik analisis kebutuhan perangkat lunak maupun perangkat keras.

d. Simulasi dan Pengumpulan Data

Pada tahapan ini, penulis melakukan simulasi menggunakan NS2, membuat file log “out.tr”, membuat xgraph “.xg” sebagai output untuk menampilkan grafik congestion window, membuat file awk dan hasil akhir dari file-file tersebut akan digunakan untuk keperluan analisis.

e. Analisis Data

Dari hasil simulasi yang diperoleh, penulis akan melakukan analisis sehingga dapat menarik sebuah kesimpulan.

1.6 Sistematika Penulisan

BAB I PENDAHULUAN

Bab ini berisi latar belakang, rumusan masalah, tujuan, batasan masalah, metodologi penelitian, dan sistematika penulisan.

BAB II LANDASAN TEORI

Bab ini berisi teori-teori yang memiliki keterkaitan dengan topik yang penulis angkat.

BAB III PERANCANGAN

Bab ini berisi topologi jaringan, sekenario pengujian, dan konfigurasi sistem.


(24)

5 BAB IV IMPLEMENTASI DAN ANALISIS

Bab ini berisi tentang pelaksanaan pengujian dan analisa hasil dari pengujian.

BAB V KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dan saran yang diperoleh setelah pelaksanaan pengujian dan analisis hasil pengujian selesai.


(25)

6 BAB II

LANDASAN TEORI 2.1. Model Antrian

Antrian merupakan sebuah deretan/unit yang sedang menunggu giliran untuk dilayani ( Kamus Besar Bahasa Indonesia). Antrian pada router yakni sederetan paket data yang masuk kedalam ruang buffer yang menunggu giliran untuk diproses dan kemudian ditransmissikan kembali. Secara umum antrian dapat digambarkan seperti dibawah ini.

Gambar 2.1. Antrian

Pada gambar diatas, paket yang dikirimkan oleh node akan masuk ke dalam sebuah antrian. Ketika status link kosong, maka antrian paling depan akan dilayani oleh link dan kemudian ditransmisikan.

Manajemen antrian menentukan paket mana yang akan ditampung pada buffer, dibuang (drop) , ditandai (marked) dan paket yang mana yang akan ditransmisikan.

Link Kedatangan

Antrian


(26)

7 Secara umum ada beberapa mekanisme penjadwalan, diantaranya

a. First In First Out (FIFO)

Manajemen antrian ini cara kerjanya sederhana. Paket yang masuk terlebih dahulu akan dilayani dan keluar lebih dulu. Manajemen ini digunakan pada droptail dimana mekanisme antrian FIFO dan jika antrian penuh maka paket yang masuk/datang akan dibuang.

b. Fair Queuing

Majemen antrian ini prinsip kerjanya yakni melakukan pengelompokan paket kedalam clas-clas kemudian akan memproses untuk setiap paket pada setiap class secara bergantian secara merata.

c. Random Early Drop

Manajemen antrian ini prinsip kerjanya menggunakan kalkulasi . Manajemen antrian ini juga menggunakan konsep penandaan paket. Manajemen antrian ini mencoba untuk menjaga kestabilan jumlah rata-rata queue.

d. Priority Queuing

Cara kerja manajeman antrian ini berdasarkan prioritas dari paket yang datang. Paket yang memiliki proritas paling tinggi didalam antrian akan didahulukan, ketika paket dengan prioritas tertinggi dalam antrian sudah habis, maka paket yang memiliki prioritas tertinggi setelahnya akan diproses.


(27)

8 2.2.Antrian Droptail

Antrian droptail merupakan bagian dari penjadwalan FIFO dimana data yang datang terlebih dahulu akan keluar terlebih dahulu juga. Penjadwalan FIFO dapat diilustrasikan dengan gambar dibawah ini.

Gambar 2.2.1. Ilustrasi antrian FIFO

Dapat dilihat bahwa paket yang datang terlebih dahulu akan keluar terlebih dahulu. Manajemen antrian droptail menggunakan penjadwalan FIFO, dimana paket yang datang terlebih dulu akan masuk ke ruang antrian, diproses dan ditransmisikan, namun ketika ruang antrian penuh, paket yang datang akan dibuang.

Gambar 2.2.2. Mekanisme antrian droptail kondisi ruang buffer tidak penuh

Gambar 2.2.3. Antrian droptail kondisi buffer penuh dan melakukan drop paket

Dalam manajemen antrian droptail ini, tidak ada perlakuan kusus terhadap paket. Semua paket dianggap sama dan tidak ada prioritas untuk

9 8 7 6 5 4 3 2 1

Laju antrian Paket datang

Paket Keluar

4 3 2 1

5 5 4 3 2 1

Paket datang

Paket keluar Laju Paket

4 3 2 1

5 5 4 3 2 1

6

Paket datang

Paket keluar Laju Paket


(28)

9 paket tertentu. Jadi ketika ruang antrian ada yang kosong paket dapat mengantri, diproses dan kemudian ditransmisikan, jika antrian penuh, paket yang datang tidak dapat masuk ke ruang antian dan paket tersebut akan dibuang.

2.3. Antrian Random Early Drop (RED)

Random Early Drop merpakan sebuah model antrian yang terdapat pada router yang bertugas untuk memanajemen paket-paket yang terdapat pada ruang antrian (buffer). Pada dasarnya, RED mempertahankan rerata bergerak (moving average) serendah mungkin. Bila pada droptail, paket akan dibuang (drop) setelah ruang antrian penuh namun tidak demikian pada RED. Pada antrian RED, paket akan didrop tanpa menunggu ruang antrian penuh. Ketika rerata bergerak (moving average) dibawah min.threshold, semua paket yang masuk tidak ditandai. Apabila rerata bergerak (moving average) diantara min.threshold dan max.threshold, maka semua paket yang masuk akan ditandai. Dari paket-paket yang ditandai tersebut akan dibuang secara acak. Apabila rerata bergerak (moving average) diatas batas max.threshold, maka semua paket yang datang dibuang (drop).

Antrian RED memiliki 2 kalkulasi utama, yakni kalkulasi untuk menghitung rata rata antrian dalam buffer dan kalkulasi untuk menentukan seberapa besar probabilitas sebuah paket yang telah ditandai untuk didrop. Dalam melakukan kalkulasi berapa rerata bergerak (moving average) pada ruang antrian, RED memiliki 2 parameter yakni min.threshold dan


(29)

10 max.threshold. Hasil dari kalkulasi rerata bergerak (moving average) tersebut digunakan untuk menghitung probabilitas paket dibuang.

2.4. Transmission Control Protocol (TCP)

Transmission Control Protocol (TCP), merupakan sebuah protokol yang bersifat connection oriented dan reliable. Maksud dari connection oriented yakni adanya negosiasi antara dua host untuk membuka sebuah sesi komunikasi sebelum melakukan pertukaran data. Reliable yakni data dikirim melalui jaringan secara terurut. Dengan adanya penomoran pada setiap data

yang dikirim, diharapkan paket yang diterima dijawab dengan

acknowledgment. Acknowledgement merupakan sebuah indikasi bahwa data yang dikirim telah diterima. Karakteristik lain yang dimiliki TCP yakni flowcontrol dan congestion control.

Pada protokol TCP, terdapat mekanisme 3-way handshake. 3-way handshake ini merupakan sebuah bentuk dari connection oriented yang berfungsi untuk melakukan negosiasi untuk membuka sebuah sesi sebelum melakukan pertukaran data.


(30)

11 Alur 3-way handshake sebagai berikut :

a. Host pertama yang akan membuat koneksi mengirimkan segmen

tcp dengan flag SYN kepada host kedua

b. Host kedua merespon dengan mengirimkan segmen dengan

acknowledgment dan SYN

c. Host pertama menerima SYN dan ACK dari host kedua, kemudian

mengirimkan acknowledgment ke host 2

d. Status kedua host established dan siap untuk bertukar data.

Ketika akan mengakiri sebuah koneksi, maka tcp akan melakukan pengiriman flag FIN

2.5. Fase Congestion Control Pada TCP Tahoe

TCP Tahoe adalah algoritma yang paling sederhana dari TCP varian lainnya. TCP Tahoe didasarkan pada tiga algoritma kongesi kontrol, yaitu Slow Start (SS), Congestion Avoidance (CA), dan fast retransmit. TCPtahoe, ketika mendapatkan timeout, maka cwnd akan diatur ulang menjadi cwnd=1.

TCP memiliki kebijakan dalam mengendalikan dan untuk menangani kemacetan lalulintas jaringan didasarkan pada 3 fase yakni slow-start, congestion avoidance, dan congestion detection.

a. Fase Slow-start

Pada fase ini, congestion window akan diinisialisasi = 1 Maximum Segment Size (MSS) kemudian pengirim akan mengirimkan maksimal 1 segment saja ke penerima. Setelah mendapatkan acknowledgment,


(31)

12 congestion window bertambah menjadi 2 kemudian pengirim dapat mengirim maksimal 2 segment. Setelah mendapatkan acknoledgment lagi, congestion window akan bertambah 1 untuk setiap ack yang diterima.

Gambar 2.5.1. Penambahan jumlah cwnd

Fase ini akan berhenti ketika pengirim telah mencapai batas threshold. Perlu diingat, TCP merupakan connection oriented, ketika akan melakukan koneksi ada sebuah negosiasi (3-way handshake). Pada saat mereka melakukan 3-way handshake sisi penerima memberikan informasi kepada pengirim berapa window yang tersedia. Dari situ threshold awal dapat ditentukan dimana threshold = ½*cwnd.


(32)

13 b. Congestion Avoidance

Fase ini merupakan fase lanjutan setelah fase Slow Start. Pada fase ini setiap kali seluruh window yang telah di ack (dalam 1 putaran) ukuran congestion window akan bertambah 1. Hal ini untuk menghindari congestion.

Gambar 2.5.2. Penambahan cwnd sebesar 1 c. Congestion Detection

Pada TCP Tahoe, congestion terjadi dikarenakan timeout ataupun menerima duplikasi ack . Sebuah paket yang hilang karena drop.


(33)

14 Gambar 2.5.3. Sebuah mekanisme ketika terjadi congestion


(34)

15 BAB III

PERANCANGAN 3.1. Diagram Alur Penelitian

Mulai

Menentukan topologi

Menentukan parameter simulasi

Menentukan sekenario simulasi

Pembuatan script dan menjalankan simulasi

Berfungsi

Data hasil simulasi

Pengolahan data

Analisis

Selesai ya tidak


(35)

16

3.2. Penjelasan Diagram Alur Penelitian

Menentukan Topologi

Untuk memulai penelitian ini, penulis memulai dengan menentukan topologi. Topologi yang dipilih haruslah sesuai dengan kebutuhan pengujian. Topologi yang digunakan penulis yakni topologi “ dumb-bell”. Topologi simulasi akan dibahas pada bub bab 3.2.

Menentukan Parameter Simulasi

Setelah menentukan topologi yang akan digunakan, selanjutnya menentukan parameter simulasi. Parameter yang akan digunakan haruslah sesuai dengan kajian dan mendukung penelitian dari topik yang diangkat.

Menentukan Sekenario Simulasi

Untuk mendapatkan hasil penelitian yang baik, diperlukan penentuan sekenario. Sekenario yang bervariasi akan lebih membantu dalam melakukan analisis hasil dengan membandingkan antar sekenario.  Pembuatan Script dan Menjalankan Simulasi

Setelah menentukan topologi simulasi, parameter simulasi, dan

sekenario simulasi kemudian menjalankan simulasi. Penulis

menggunakan simulator Network Simulator 2 (NS2). Untuk menjalankan simulasi, terlebih dahulu membuat script yang berekstensi .tcl. Script tersebut memuat konfigurasi yang memuat bentuk topologi jaringan, protokol yang dijalankan, model antrian, ukuran link, arah koneksi node, dan konfigurasi untuk mendapatkan


(36)

17 output dari simulasi yang dijalankan. Setelah konfigurasi terbentuk, maka file konfigurasi (.tcl) dijalankan.

Pengolahan Data

Setelah script dijalankan, maka akan diperoleh file output yakni out.tr, cwnd.xg, dan queue.tr. Data yang dihasilkan merupakan data mentah sehingga perlu diolah ataupun difilter dengan menggunakan script awk, dimana penulis memiliki beberapa script diantaranya untuk mendapatkan nilai rata-rata throughput, rata-rata byte percongestion window, rata-rata delay, dan paket yang terbuang.

Analisis

Setelah file diolah kemudian melakukan analisis dari hasil data yang diperoleh.

3.3. Topologi Simulasi

Topologi dibawah ini merupakan topologi sederhana yang bernama dumb-bell. Topologi ini pada umumnya digunakan untuk mengamati, mempelajari efek penyempitan bandwidth dimana 1 jalur digunakan 2 node atau lebih.

n0

n1

n2 n3

n4

n5


(37)

18 Pada gambar topologi diatas, terdapat 6 node. Node n0 dan n1 merupakan source node. Node n2 dan n3 merupakan node yang bertindak sebagai router dan node n4 dan n5 merupakan node sink. Pada topologi diatas, n1 akan dikoneksikan dengan n4 dan n5 akan dikoneksikan dengan n5.

3.4. Parameter Simulasi

Pada penelitian ini, penulis menggunakan simulator dalam melakukan pengujian. Simulator yang digunakan adalah Network Simulator2 (NS2). Parameter yang digunakan dalam pengujian dan penelitian ini sebagai berikut :

Parameter Simulasi Nilai

Link Node n0-n2, n1-n2 Bandwidth : 10 Mbps Delay Propagation : 10 ms

Link Node n2-n3 Bandwidth : 5 Mbps

Delay Propagation : 10 ms Link Node n3-n4, n3-n5 Bandwidth : 5Mbps

Delay Propagation : 10 ms

Protokol Transport TCP Tahoe

Model Antrian -Random Early Drop (RED)

Weight queue = 0.002 Linterm = 10

Min.Threshold = 10 dan 30 Max.Threshold = 60 -Droptail


(38)

19 Ukuran Buffer 30 (sekenario 4), 60 (sekenario 1-3) Aplikasi / Sumber Trafik FTP

Durasi Simulasi 500 detik

Tabel 3.3.1. Parameter Simulasi

3.5. Sekenario Pengujian 3.5.1. Sekenario 1

Pada sekenario pertama ini, pengujian akan dilakukan dengan menjalankan 2 trafik TCP secara bersamaan mulai detik ke 0.1 hingga berakhir pada detik ke 500.1. Trafik TCP1 berasal dari n0 dan trafik TCP2 berasal dari n1. Node n2 dalam hal ini bertindak sebagai router yang menjalankan mekanisme pengaturan dan manajemen antrian. Pada node n2 akan diaplikasikan model antrian RED (Random Early Drop) dengan nilai min.threshold 10 dan max.threshold 60.

n0

n1

n2 n3

n4

n5 TCP1

TCP2

RED Min,threshold 10 Max.Threshold 60

SINK 1

SINK 2


(39)

20 3.5.2. Sekenario 2

Pada sekenario 2 ini, topologi yang digunakan tidak berbeda dengan topologi sekenario 1. Hal yang membedakan pada sekenario ini adalah parameter dari RED. Bila pada sekenario 1 min.threshold 10, pada sekenario 2 ini min.threshold menjadi 30. Dengan menaikkan nilai min.threshold ini ingin mengetahui seberapa besar pengaruhnya terhadap byte percongestion window dan throughput dibandingkan dengan sekenario 1.

n0

n1

n2 n3

n4

n5 TCP1

TCP2

RED Min,threshold 30 Max.Threshold 60

SINK 1

SINK 2

Gambar 3.4.2.1. Sekenario 2

3.5.3. Sekenario 3

Pada sekenario ke 3 ini, model antrian akan diganti dengan droptail dengan ukuran buffer 60. Untuk sekenario ini, juga akan dijalankan 2 trafik TCP secara bersamaan mulai dari detik 0.1 hingga berhenti pada detik 500.1.


(40)

21 n0

n1

n2 n3

n4

n5 TCP1

TCP2

Droptail

SINK 1

SINK 2

Gambar 3.4.3.1. Sekenario 3

3.5.4. Sekenario 4

Pada sekenario ke 4 ini, model antrian tetap menggunakan Droptail namun ukuran buffer 30. Sekenario ini dibuat dan dijalankan bertujuan sebagai pendukung analisis parameter yang diuji.

n0

n1

n2 n3

n4

n5 TCP1

TCP2

Droptail

SINK 1

SINK 2


(41)

22 3.6. Parameter Pengujian

3.6.1. Rata-Rata Byte Percongestion Window

Byte percongestion window adalah ukuran sebuah window dalam byte. Pengukuran sebuah window dimulai dari awal slow-start hingga titik drop. Dari setiap pengujian yang dijalankan, terdapat congestion window dengan jumlah tertentu, dari total data yang dikirim, akan dibagi dengan total congestion window yang terbentuk dan didapatkan nilai rata-rata dari sebuah window yang dinyatakan dalam satuan byte.

3.6.2. Paket Drop

Paket drop, adalah paket yang dikirim oleh source node dan paket tersebut terbuang (drop) karena adanya manajemen antrian pada router.

3.6.3. Rata-Rata End to End delay

Dalam pengiriman setiap paket dari source node menuju destination node, memerlukan waktu. Setiap paket memerlukan waktu yang bervariasi untuk sampai tujuan. Nilai rata-rata end to end delay didapat dari total waktu yang dibutuhkan dalam satu sesi pengiriman dibagi jumlah paket yang sampai di tujuan kemudian hasil tersebut dinyatakan dalam satuan waktu.

3.6.4. Rata-Rata Throughput

Rata-rata throughput adalah banyaknya data yang diterima oleh penerima dibagi dengan waktu yang dibutuhkan untuk mengirimkan data tersebut dan dinyatakan dalam byte persecond (bps).


(42)

23 BAB IV

IMPLEMENTASI DAN ANALISIS

Simulator yang digunakan pada simulasi ini adalah Network Simulator 2 (NS2). Untuk menjalankan simulasi jaringan, terlebih dahulu membuat konfigurasi dengan ekstensi file .tcl yang memuat bentuk topologi jaringan, model antrian yang digunakan, delay pada link, bandwidth dan jumlah node. Selain membuat konfigurasi tersebut, untuk mendapatkan hasil dari simulasi juga dibutuhkan file trace yang digunakan untuk keperluan analisis data. File trace tersebut berekstensi .tr, .nam, .q, .xg, dan .a.

Data yang didapatkan dari file trace kemudian diolah menggunakan script berekstensi .awk sehingga didapatkan rata-rata throughput, rata-rata byte percongestion window, rata-rata end to end delay, dan total packet drop.

Pada pengujian ini, data yang dianalisis fokus ke TCP1, sedangkan TCP 2 berperan sebagai trafik pengganggu.

4.1. Hasil Simulasi

Setelah melakukan simulasi sesuai sekenario yang telah ditentukan, didapatkan snapshoot congestion window.


(43)

24 4.1.1. Sekenario 1 (model antrian = RED, min.threshold = 10, max.threshold

= 60, ruang buffer = 60)

Snapshot Congestion Window sekenario 1

4.1.2. Sekenario 1 (model antrian = RED, min.threshold = 30, max.threshold = 60, ruang buffer = 60)


(44)

25 4.1.3. Sekenario 3 (model antrian = droptail, ruang buffer = 60)

Snapshot Congestion Window sekenario 3

4.1.4. Sekenario 4 (model antrian = droptail, ruang buffer = 30)


(45)

26 Pengujian ini mensimulasikan 4 sekenario dengan 2 model antrian yang berbeda yakni RED dan droptail. Masing-masing model antrian memiliki varian yang berbeda dalam setiap sekenario.

Pada gambar snapshot grafik congestion window mulai dari sekenario 1 sampai sekenario 4 terdapat perbedaan yang sangat jelas, perbedaan tersebut terletak pada garis grafik congestion window yang mana sekenario dengan model antrian RED grafik cwnd TCP1 tinggi tidak sama rata. Namun berbeda pada sekenario 3 dan 4 dengan model antrian droptail. Pada snapshot terlihat jelas bahwa grafik cwnd TCP1 tinggi grafik hampir sama dan merata.

Pada RED paket akan ditandai kemudian paket yang ditandai tersebut dibuang secara acak tanpa menunggu ruang antrian penuh. Paket mulai ditandai ketika rerata bergerak (moving average) pada RED telah mencapai batas min.threshold. Apabila pada antrian RED terjadi pembuangan paket (diasumsikan paket TCP1), maka pengirim pada TCP1 mendapatkan duplikasi ack dan kemudian menurunkan

jumlah pengiriman. Adanya penurunan jumlah pengiriman

mengakibatkan rerata bergerak (moving average) juga ikut turun. Untuk model antrian droptail baik pada sekenario 3 maupun 4, pada snapshot grafik congestion window menunjukkan bahwa cwnd TCP1 memiliki tinggi dan ukuran cwnd yang hampir sama rata. Hal ini terjadi karena pada model antrian droptail paket akan dibuang setelah ruang antrian penuh. Pada simulasi ini, TCP1 dan TCP2


(46)

27 melakukan pengiriman pada saat yang sama. Kedua source node akan mengirimkan paket dengan jumlah yang sama hingga akhirnya ruang buffer penuh. Setelah ruang buffer penuh akan terjadi pembuangan paket baik paket TCP1 dan TCP2 sehingga kedua pengirim akan menurunkan jumlah paket yang dikirimkan dan kemudian melakukan pengiriman kembali.

4.2. Data Hasil Simulasi

4.2.1. Model Antrian RED Sekenario

Performance Metric

Sekenario 1 Sekenario 2

Rata-rata byte per cwnd

543,177 kB 839,099 kB

Paket drop

312 256

Rata-rata end to end delay

0,0557146 detik 0,0789848 detik

Rata-rata throughput

2, 21868 Mbps 2,27724 Mbps


(47)

28 4.2.2. Model Antrian Droptail

Sekenario

Performance Metric

Sekenario 3 Sekenario 4

Rata-rata byte per cwnd

1035,42 kB 521,406 kB

Paket drop

224 540

Rata-rata end to end delay

0,0948442 detik 0,0592452 detik

Rata-rata throughput

2,26143 Mbps 2,06891 Mbps

Tabel 4.2.2.1. Performance metric value pada sekenario 3 dan 4

4.3. Analisis Performance Metric Dari Semua Sekenario

Pada TCP, pengiriman data dilakukan dari fase slow start dan congestion avoidance. Dalam proses pengiriman data diperlukan congestion control. Congestion control pada TCP bertugas untuk mengontrol jalannya proses pengiriman data dari source node dan bertugas untuk mengambil tindakan jika terjadi packet drop, time out, dan duplikasi ack.

Dalam simulasi ini, model antrian yang digunakan akan berpengaruh terhadap performance metric yang diuji karena kedua model antrian yang digunakan memiliki pola drop yang berbeda. Maka dari itu, pembahasan akan dimulai dari paket drop.


(48)

29 4.3.1. Paket Drop

Gambar 4.3.1.1. Grafik total paket drop.

Pada gambar 4.3.1.1 menunjukkan total paket drop yang terjadi disetiap sekenario. Pada sekenario 1 dan 2 yang mana menggunakan model antrian RED dengan varian min.threshold berbeda, terlihat bahwa sekenario 1 memiliki jumlah paket drop lebih banyak dibandingkan sekenario 2. Pada sekenario 3 dan 4 menggunakan model antrian droptail dengan varian ukuran ruang buffer yang berbeda dan sekenario 4 memiliki jumlah paket drop yang lebih banyak daripada sekenario 3. Untuk pembahasan lebih lanjut akan diuraikan sesuai dengan model antrian yang digunakan. 312 256 224 540 0 100 200 300 400 500 600 T o ta l p a ke t d ro p

Paket Drop

Sekenario 1 Sekenario 2 Sekenario 3 Sekenario 4


(49)

30  RED

Pada simulasi ini, model antrian RED menggunakan varian yakni nilai min.threshold yang berbeda. Efek dari pemberian nilai min.threshold ini ditunjukkan dari jumlah paket drop.

Gambar 4.3.1.2. Total paket drop pada model antrian RED sekenario 1 dan sekenario 2

Model antrian RED, paket akan dibuang secara acak tanpa menunggu ruang antrian penuh. Penandaan dan pembuangan paket dilakukan ketika rerata bergerak (moving average) telah mencapai batas min.threshold.

Dibawah ini disimulasikan model antrian RED dengan nilai min.threshold 10 dan 30. Pada masing-masing simulasi, semua trafik koneksi TCP1 dan TCP2 dihentikan pada detik 100 dan dimulai lagi pada detik 110. Hal ini dilakukan untuk mengetahui perbandingan rerata bergerak (moving average) pada RED dengan nilai min.threshold yang berbeda

312 256 0 50 100 150 200 250 300 350 T o ta l p a ke t d ro p

Paket Drop RED

Sekenario 1 Sekenario 2


(50)

31 Snap Shot grafik rerata bergerak (moving average)

Gambar 4.3.1.3. Perbandingan rerata bergerak (moving average) dengan varian min.threshold 10 dan 30

Pada gambar 4.3.1.3 menunjukkan bahwa:

a. Dari sisi waktu, simulasi dengan nilai min.threshold 10 lebih cepat untuk mencapai batas min.threshold dibandingkan simulasi dengan nilai min.threshold 30, karena rerata bergerak

(moving average) dalam mencapai min.threshold 10

membutuhkan paket yang lebih sedikit dibandingkan simulasi dengan nilai min.threshold 10. sehingga penandaan paket terjadi lebih dini dan kemungkinan untuk terjadi drop lebih cepat

b. Ketika rerata bergerak (moving average) turun dibawah


(51)

32 mudah untuk mencapai min.threshold 10 daripada simulasi dengan nilai min.threshold 30.

c. “Peak” simulasi dengan nilai min.threshold 10 lebih luas jika dibandingkan dengan “Peak” simulasi dengan nilai min.threshold 30. Luas area “Peak” semakin besar, potensi untuk terjadi pembuangan paket juga lebih besar.

Hal diatas berlaku untuk sekenario 1 dan 2. Pada sekenario 1 dengan nilai min.threshold=10, rerata bergerak (moving average) akan lebih cepat untuk mencapai kembali min.threshold setelah terjadi congestion. Ketika terjadi congestion, pengirim akan menurunkan jumlah pengiriman paket dan dari hal tersebut, rerata bergerak (moving average) juga akan turun karena antrian yang ada pada ruang buffer berkurang.

Berbeda dengan sekenario 2 yang mana nilai min.threshold=30. Ketika terjadi congestion, pengirim menurunkan jumlah pengiriman dan akan berpengaruh terhadap nilai rerata bergerak (moving average) dan jumlah antrian pada ruang buffer. Turunnya nilai rata-rata dibawah nilai min.threshold, untuk kembali menuju titik min.threshold membutuhkan waktu yang lebih lama daripada sekenario 1 seperti pada snap shot dibawah ini


(52)

33 Snap shot rerata bergerak (moving average)

Semakin rendah nilai min.threshold, rerata bergerak (moving average) akan lebih cepat dan mudah untuk mencapai batas min.threshold sehingga terjadi penandaan paket dan pembuangan paket secara acak. Melalui snap shot diatas, area Peak sekenario 1 lebih luas daripada sekenario 2, sehingga potensi paket yang terbuang pada sekenario 1 lebih besar.

Droptail

Sekenario 3 dan 4 menggunakan varian ukuran ruang antrian yang berbeda dimana masing-masing memiliki ukuran ruang antrian 60 dan 30.


(53)

34 Gambar 4.3.1.4. Total paket drop pada model antrian droptail

sekenario 3 dan sekenario 4

Pada gambar 4.3.1.4 menunjukkan bahwa sekenario 4 memiliki jumlah paket drop yang lebih banyak daripada sekenario 3. Hal ini terjadi karena kemampuan daya tampung antrian yang berbeda. Pada kondisi trafik yang sama, semakin besar ukuran ruang buffer, daya tampung paket yang masuk kedalam ruang antrian semakin besar sehingga terjadinya paket drop berkurang.

224

540

0 100 200 300 400 500 600

T

o

ta

l

p

a

ke

t

d

ro

p

Paket Drop

Droptail

Sekenario 3 Sekenario 4


(54)

35 Gambar 4.3.1.5. Ilustrasi ukuran ruang buffer yang berbeda pada

model antrian droptail

Mengacu pada gambar ilustrasi diatas, jika kedua sekenario memiliki isi antrian yang sama sebanyak 30, pada sekenario 3 masih memiliki sisa daya tampung sebesar 30, sedangkan untuk sekenario 4 sudah penuh, akibatnya jika ada paket yang masuk, pada sekenario 4 akan terjadi paket drop.

Kesimpulan dari simulasi yang telah dijalankan, pada model antrian RED, pemberian nilai min.threshold memiliki pengaruh yang besar terhadap terjadinya drop. Semakin kecil nilai min.threshold frekuensi terjadinya drop semakin banyak dibandingkan dengan pemberian nilai min.threshold yang lebih besar. Sedangkan pada model antrian droptail, hal yang mempengaruhi terjadinya drop adalah


(55)

36 kapasitas ruang buffer. Kapasitas ruang buffer yang kecil membuat frekuensi terjadinya paket drop lebih banyak dibandingkan dengan antrian dengan kapasitas ruang buffer yang lebih besar.

4.3.2. Rata-Rata Byte Percongestion Window

Gambar 4.3.2.1. Grafik rata-rata byte percongestion window

Gambar 4.3.2.1 menunjukkan rata-rata byte percongestion window pada masing-masing sekenario dalam satuan kilobyte (kB). Rata-rata byte percongestion window ini didapatkan dari total byte yang dikirim dibagi dengan jumlah window yang terbentuk. Pada grafik tersebut, sekenario 3 memiliki nilai rata-rata byte percongestion window paling besar diantara semua sekenario.

Dalam pengujian ini, frekuensi terjadinya paket drop sangat berpengaruh terhadap terbentuknya sebuah window. Manajemen antrian yang diterapkan memiliki pola drop yang menyebabkan paket terbuang dan terjadi congestion. Karena terjadi congestion, pengirim menurunkan

543,177 839,099 1.035,420 521,406 0,000 200,000 400,000 600,000 800,000 1.000,000 1.200,000 kB y te / c w n d

Rata-Rata

Byte perCWND

(kB)

Sekenario 1 Sekenario 2 Sekenario 3 Sekenario 4


(56)

37 jumlah pengiriman. Penurunan jumlah pengiriman ini ditandai dengan mengatur ulang nilai cwnd=1 dan melakukan pengiriman kembali.

Di bawah ini merupakan tabel yang memuat total paket yang dikirim, jumlah window yang terbentuk, dan rata-rata byte percongestion window pada masing-masing sekenario.

Sekenario Total paket yang dikirim

(kB)

Jumlah window yang terbentuk

Rata-rata byte

percongestion window (kB)

Sekenario 1

142312 262 543,177

Sekenario 2

146003 174 839.099

Sekenario 3

144959 140 1,035,420

Sekenario 4

132959 255 521,406

Tabel 4.3.2.1. Tabel rata-rata total byte yang dikirim, jumlah window yang terbentuk, dan byte percongestion control

Mengacu pada paket drop pada pembahasan 4.2, bahwa terjadinya paket drop akan berpengaruh terhadap terbentuknya sebuah window. Hal ini ditunjukan pada gambar grafik dibawah ini.


(57)

38 Gambar 4.3.2.2. Grafik keterkaitan jumlah paket drop terhadap jumlah

terbentuknya window.

Pada model antrian RED melalui gambar grafik diatas, terlihat bahwa sekenario 1 memiliki total window lebih banyak dibandingkan sekenario 2. Dalam durasi pengujian yang sama, sekenario 1 terbentuk window sejumlah 262 sedangkan window pada sekenario 2 terbentuk sejumlah 174. Dari hal tersebut terlihat jelas bahwa window pada sekenario 1 lebih sering jatuh. Semakin banyak window yang terbentuk, ukuran setiap window akan semakin kecil karena byte percongestion window dilihat dari banyak data yang dikirim dibagi dengan total window yang terbentuk.

Pada gambar 4.3.2.1 bahwa sekenario 3 memiliki ukuran rata-rata byte percongestion window lebih besar daripada sekenario 4. Sekenario 4 memiliki jumlah window sebanyak 255, sedangakan pada sekenario 3 window yang terbentuk sejumlah 140. Hal tersebut mengindikasikan

312 256 224 540 262 174 140 255 0 100 200 300 400 500 600 700 800

1 2 3 4

T

o

ta

l

Sekenario

Keterkaitan Jumlah Paket Drop Terhadap Jumlah Terbentuknya Window

Total paket Drop

Total window yang terbentuk


(58)

39 bahwa window pada sekenario 4 lebih sering jatuh daripada sekenario 3. Dalam waktu durasi pengujian yang sama dan jumlah terbentuknya window semakin banyak, maka ukuran window juga semakin kecil, akibatnya data yang dikirim juga lebih sedikit dibanding dengan sekenario 3. Apabila byte yang dikirim dijumlahkan dan dibagi dengan jumlah window yang terbentuk, maka akan mendapatkan rata-rata byte percongestion window.

Dari simulasi yang telah dijalankan baik pada model antrian RED maupun droptail, rata-rata byte percongestion window dipengaruhi berapa banyak kejadian “congestion” yang terjadi. Semakin banyak congestion yang terjadi window yang terbentuk juga semakin banyak sehingga hasil bagi dari total byte yang dikirim dengan window yang terbentuk akan semakin kecil. Maka untuk mendapatkan rata-rata congestion window yang besar, diperlukan pengaturan lebih lanjut pada model antrian untuk meminimalisir terjadinya congestion. Pada RED salah satunya dengan memberikan nilai min.threshold yang tidak terlalu rendah, sedangkan pada model antrian droptail, ukuran ruang buffer diperbesar.


(59)

40 4.3.3. Rata-Rata End to End Delay

Gambar 4.3.3.1. Grafik rata-rata end to end delay

Pada gambar 4.3.3.1 menunjukkan rata-rata end to end delay yang terjadi dalam setiap sekenario. Simulasi yang dijalankan menggunakan topologi dan nilai link delay yang sama untuk setiap sekenario. Berdasarkan grafik diatas, setiap sekenario memiliki rata-rata end to end delay yang berbeda. Hal tersebut terjadi karena efek penggunaan model antrian yang diterapkan pada masing-masing sekenario karena model antrian yang digunakan turut memberikan kontribusi delay. Delay tersebut terjadi karena paket harus masuk menuju ruang antrian dan menunggu untuk kemudian ditransmisikan.

Grafik tersebut menunjukkan bahwa sekenario 3 dengan model antrian droptail varian buffer = 60 memiliki rata-rata end to end delay paling besar, sedangkan rata-rata end to end delay paling kecil yakni

0,0557146 0,0789848 0,0948442 0,0592452 0 0,02 0,04 0,06 0,08 0,1 0,12 0,14 D e ti k

Rata-Rata End to End Delay

Sekenario 1 Sekenario 2 Sekenario 3 Sekenario 4


(60)

41 sekenario 1 dengan model antrian RED varian min.threshold = 10 dan ruang buffer = 60.

Gambar 4.3.3.2. Status antrian sekenario 1 (merah) dan antrian sekenario 2 (hijau)

Pada gambar 4.3.3.2 menunjukkan status antrian yang terjadi di

dalam ruang antrian sekenario 1 dan 2. Sekenario 1 dan sekenario 2 memiliki ukuran ruang buffer yang sama, namun berdasarkan gambar diatas, sekenario 2 memiliki panjang antrian yang lebih banyak daripada sekenario 1.

Pemberian nilai min.threshold memiliki pengaruh terhadap panjang antrian pada ruang buffer , hal ini berkaitan pada terjadinya drop. Pada pembahasan “Paket Drop” pemberian nilai min.threshold yang rendah mengakibatkan terjadinya drop lebih cepat karena rerata bergerak (moving average) dari sisi waktu lebih cepat untuk mencapai batas min.threshold dan terjadi penandaan paket dan secara acak akan dilakukan pembuangan paket yang telah ditandai.


(61)

42 Ketika paket dibuang, pengirim akan mendapatkan duplikasi ack sehingga pengirim menurunkan ukuran window beserta jumlah pengirimannya. Dalam kalkulasi rerata bergerak (moving average) pada sekenario 1 dan 2, untuk mencapai rata-rata min.threshold diperlukan jumlah paket yang berbeda, untuk mencapai rerata bergerak (moving average) menuju min.threshold 10 dibutuhkan jumlah paket yang lebih sedikit dibandingkan untuk mencapai rerata bergerak (moving average) menuju min.threshold 30. Maka dari itu, jumlah penggunaan ruang buffer pada sekenario 2 lebih banyak daripada sekenario 1. Dari hal tersebut, penggunaan ruang antrian yang lebih banyak menyebabkan antrian juga semakin panjang. Hal ini berdampak pada rata-rata end to end delay.

Antrian yang panjang menyebabkan bertambahnya delay yang dihasilkan dari waktu tunggu setiap paket dalam antrian untuk kemudian ditransmisikan. Model antrian RED akan membuang paket secara acak tanpa menunggu ruang buffer penuh namun dalam transmisi paket dalam antrian tetap menggunakan algoritma First In First Out (FIFO). Dengan demikian, dapat disimpulkan bahwa sekenario 2 memiliki rata-rata end to end delay lebih besar daripada sekenario 2 karena jumlah antrian paket sekenario 2 dalam ruang buffer lebih panjang daripada sekenario 1.

Untuk sekenario 3 dan 4 menggunakan model antrian droptail dengan varian ukuran ruang buffer masing-masing 60 dan 30. Berdasarkan gambar 4.3.3.1, sekenario 3 dengan ukuran ruang buffer 60 memiliki rata-rata end to end delay lebih besar daripada sekenario 4. Pada model antrian droptail ruang


(62)

43 buffer digunakan secara maksimal hingga penuh. Seperti halnya pada model antrian RED, semakin panjang antrian nilai delay juga akan bertambah. Sekenario 3 dengan ruang buffer 60 jika digunakan secara penuh maka delay yang terbentuk akan lebih besar dibandingkan dengan sekenario 3 yang memiliki ukuran ruang buffer 30.

Hasil dari simulasi yang telah dijalankan, untuk rata-rata end to end delay baik pada model antrian RED maupun droptail memiliki kesamaan yakni semakin panjang antrian yang terjadi, maka nilai rata-rata end to end delay juga akan semakin besar. Pada RED yang mempengaruhi panjang dan pendeknya sebuah antrian terletak pada pemberian nilai min.threshold. Semakin nilai min.threshold tersebut rendah, nilai rata-rata end to end delay semakin rendah. Sedangkan pada model antrian droptail, ukuran ruang buffer semakin kecil, maka nilai rata-rata end to end delay juga semakin kecil.

4.3.4. Rata-Rata Throughput

Gambar 4.3.4.1. Grafik rata-rata throughput

2,21868 2,27724 2,26143 2,06891 1,95 2 2,05 2,1 2,15 2,2 2,25 2,3 Mb p s

Rata-rata

throughput

Sekenario 1 Sekenario 2 Sekenario 3 Sekenario 4


(63)

44

Gambar 4.3.4.1 menunjukkan rata-rata throughput pada setiap

sekenario. Terlihat jelas bahwa sekenario 2 memiliki nilai rata-rata throughput paling besar daripada sekenario yang lain. Throughput merupakan total data yang diterima dalam sekali sesi pengiriman. Throughput merupakan perpaduan antara dari rata-rata byte percongestion window dengan rata-rata end to end delay. Perpaduan tersebut pada akhirnya akan menghasilkan throughput. Nilai rata-rata byte percongestion window yang besar tidak menjamin memiliki throughput yang besar, begitu pula apabila memiliki rata-rata end to end delay yang rendah tidak menjamin bahwa throughput yang besar.

Rata-rata throughput didapatkan dari hasil bagi antara jumlah data yang diterima dengan durasi waktu dalam 1 sesi pengiriman. Pada seluruh sekenario memiliki durasi transmisi selama 500 detik.

Dibawah ini merupakan tabel throughput dan rata-rata throughput pada setiap sekenario.

Sekenario Throughput Durasi transmisi Rata-rata throughput

Sekenario 1

1109,34 Mb 500 detik 2,21868 Mbps

Sekenario 2

1138,62 Mb 500 detik 2,27724 Mbps

Sekenario 3

1130,72 Mb 500 detik 2,26143 Mbps

Sekenario 4

1034,45 Mb 500 detik 2,06891 Mbps


(64)

45

Pada tabel 4.3.4.1 terdapat kolom throughput. Masing masing

sekenario memiliki throughput yang berbeda sehingga jika dibagi dengan durasi transmisi akan mendapatkan nilai rata-rata throughput yang berbeda juga untuk setiap detiknya.

Seperti yang diuraikan di atas, ukuran byte percongestion window

yang besar tidak menjamin throughput yang besar. Hal ini tergambar pada sekenario 2 dan 3. Pada sekenario 3 memiliki nilai rata-rata byte percongestion window lebih besar dibandingkan sekenario 2, namun sekenario 2 memiliki nilai rata-rata end to end delay yang lebih baik daripada sekenario 3 terbukti bahwa sekenario 2 memiliki rata-rata throughput yang lebih baik dibandingkan sekenario 3.

Setelah simulasi dijalankan, rata-rata throughput merupakan hasil bagi antara total throughput dengan durasi pengiriman. Throughput sendiri merupakan perpaduan antara byte percongestion window dan end to end delay. Throughput akan lebih optimal jika nilai rata-rata byte percongestion window besar dan nilai rata-rata end to end delay rendah.


(65)

46 BAB V

KESIMPULAN DAN SARAN 5.1. Kesimpulan

Dari hasil simulasi yang telah dilakukan, kesimpulan yang dapat diambil sebagai berikut :

1. Congestion control TCP Tahoe yang dijalankan pada model antrian RED menunjukkan bahwa tinggi grafik congestion window tidak sama rata. Hal ini disebabkan karena model antrian RED membuang paket secara acak tanpa menunggu ruang antrian penuh sehingga window dapat jatuh sewaktu-waktu. Mekanisme pembuangan paket secara acak ini berdampak terhadap ukuran setiap window (dalam byte) yang mana ukuran setiap window tidak sama, namun dari sisi end to end delay manajemen antrian RED memiliki delay yang relatif rendah karena ruang antrian tidak digunakan secara penuh dalam transmissi paket TCP sehingga waktu antri setiap paket lebih singkat. Dengan waktu tunggu pada antrian yang singkat, maka throughput dapat terjaga.

2. Pada model antrian droptail, congestion control TCP Tahoe

melalui grafik congestion window menunjukkan bahwa tinggi grafik sama rata. Penggunaan model antrian ini, pembuangan paket akan terjadi apabila ruang antrian penuh. Pada dasarnya TCP akan memaksimalkan penggunaan jaringan yang ada secara terkontrol. TCP akan berusaha meng-adjust pengiriman paket hingga mendapatkan titik kesetimbangan hingga akhirnya grafik


(66)

47 congestion window akan memiliki ukuran yang sama. Namun disisi lain dengan penggunaan ruang antrian yang penuh, akan

mengakibatkan waktu tunggu antrian yang lebih lama

dibandingkan model antrian RED sehingga delay bertambah.

5.2. Saran

Untuk pengembangan lebih lanjut, terdapat beberapa saran dari penulis diantaranya :

1. Melakukan pengujian lebih lanjut menggunakan model antrian

pengembangan dari RED (ARED, WRED, FRED).

2. Menggunakan protokol UDP sebagai pengganggu.


(67)

48 DAFTAR PUSTAKA

[1] Floyd, Sally & V. Jacobson. (1993). Random Early Detection Gateways for Congestion Avoidance

[2] Kurniawan, Victor Dian. (2013). Analisa Unjuk Kerja Manajemen Antrian

Droptail dan Fair Queuing Pada Router

[3] TCP Connection Establishment Process: The "Three-Way Handshake".

[online].

Tersedia :

www.tcpipguide.com/free/TCPConnectionEstablishmentProcessTh eThreeWayHandsh-3.html

[4] Forouzan : CHAPTER 24-Congestion Control and Quality of Service

[online] Tersedia :

http://novellaqalive2.mheducation.com/sites/dl/free/007000000x/216445/C hap24.pdf

[5] Rastogi, Shubhangi & Samir Srivastava. (2014). Comparison Analysis of Different Queuing Mechanisms Droptail, RED and NLRED in Dumb-bell Topology

[6] Kumar, Ashish, Ajay K Sharma, & Arun Singh. (2012). Comparison and

Analysis of Drop Tail and RED Queuing Methodology in PIM-DM Multicasting Network

[7] Susanto, Abe & I Wayan Warmada. (2001). Modul Pelatihan Gnuplot


(68)

49

[8] Ziegler, Thomas, C. Brandauwer, & S. Fdida. (2001). Stability Criteria of

RED with TCP Traffic

[9] Network Simulator 2. [online]

Tersedia : http://www.isi.edu/nsnam/ns/ [1 Juli 2015]

[10] Rohan, Sai, S. Suman, & P.Viswanathan. (2014). Comparison of TCP Congestion Control Algorithms using NetSim


(69)

50 LAMPIRAN

Konfigurasi sekenario.

1. Sekenario1.tcl set ns [new Simulator] $ns color 1 Red $ns color 2 Blue

set nf [open bottlen.nam w] $ns namtrace-all $nf set nd [open out.tr w] $ns trace-all $nd #cwndtcp1

#$ns namtrace-all $nf

#set cwnd1 [open cwnd1.tr w] #cwndtcp2

#$ns namtrace-all $nf

#set cwnd2 [open cwnd2.tr w]

#************************************** #prosedur "finish"

proc finish {} { global tchan_ set awkCode { {

if ($1 == "Q" && NF>2) { print $2, $3 >> "temp.q"; set end $2

}

else if ($1 == "a" && NF>2) print $2, $3 >> "temp.a"; }

}

set f [open temp.queue w] puts $f "TitleText: red" puts $f "Device: Postscript" if { [info exists tchan_] } { close $tchan_

}

exec rm -f temp.q temp.a exec touch temp.a temp.q


(70)

51 exec awk $awkCode all.q

puts $f \"queue

exec cat temp.q >@ $f puts $f \n\"ave_queue exec cat temp.a >@ $f close $f

exec xgraph -bb -bg white -tk -x time -y queue temp.queue & exit 0

}

#***************************************************** set n0 [$ns node]

set n1 [$ns node] set n2 [$ns node] set n3 [$ns node] set n4 [$ns node] set n5 [$ns node]

#kapasitas link dan mekanisme antrian

$ns duplex-link $n0 $n2 10Mb 10ms DropTail $ns duplex-link $n1 $n2 10Mb 10ms DropTail $ns duplex-link $n2 $n3 5Mb 10ms RED $ns duplex-link $n3 $n4 5Mb 10ms DropTail $ns duplex-link $n3 $n5 5Mb 10ms DropTail #orientasi node

$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 #batasan jumlah ruang antrian

$ns queue-limit $n2 $n3 60

$ns duplex-link-op $n2 $n3 queuePos 0.5 #setting antrian RED

set redq [[$ns link $n2 $n3] queue] set tchan_ [open all.q w]

$redq set bytes_ false

$redq set queue_in_bytes_ false $redq trace curq_

$redq trace ave_ $redq attach $tchan_ $redq set thresh_ 10


(71)

52 $redq set maxthresh_ 60

$redq set q_weight_ 0.002 $redq set linterm_ 10

#Agent TCP dan aplikasi FTP #TCP1

set tcp [new Agent/TCP] $tcp set class_ 1

$ns attach-agent $n0 $tcp set sink [new Agent/TCPSink] $ns attach-agent $n4 $sink $ns connect $tcp $sink

set ftp [new Application/FTP] $ftp attach-agent $tcp

$ftp set type_ FTP $tcp set window_ 1000 #tcp trace

$tcp attach $nd $tcp tracevar cwnd_ #TCP2

set tcp2 [new Agent/TCP] $tcp2 set class_ 2

$ns attach-agent $n1 $tcp2 set sink2 [new Agent/TCPSink] $ns attach-agent $n5 $sink2 $ns connect $tcp2 $sink2 set ftp2 [new Application/FTP] $ftp2 attach-agent $tcp2 $ftp2 set type_ FTP $tcp2 set window_ 1000 #tcp trace

$tcp2 attach $nd $tcp2 tracevar cwnd_

#Pengeplotan data cwnd dengan file akhir .xg proc plotWindow {tcpSource outfile} { global ns

set now [$ns now]

set cwnd [$tcpSource set cwnd_] puts $outfile "$now $cwnd"

$ns at [expr $now+0.1] "plotWindow $tcpSource $outfile" }


(72)

53 $ns at 0.0 "plotWindow $tcp $outfile"

set outfile [open "cwndtcp2.xg" w] $ns at 0.0 "plotWindow $tcp2 $outfile"

#**************************************** $ns at 0.1 "$ftp start"

$ns at 0.1 "$ftp2 start" $ns at 500.1 "$ftp stop" $ns at 500.1 "$ftp2 stop" $ns at 502.0 "finish" $ns run

2. Sekenario2.tcl set ns [new Simulator] $ns color 1 Red $ns color 2 Blue

set nf [open bottlen.nam w] $ns namtrace-all $nf set nd [open out.tr w] $ns trace-all $nd #cwndtcp1

#$ns namtrace-all $nf

#set cwnd1 [open cwnd1.tr w] #cwndtcp2

#$ns namtrace-all $nf

#set cwnd2 [open cwnd2.tr w]

#************************************** #prosedur "finish"

proc finish {} { global tchan_ set awkCode { {

if ($1 == "Q" && NF>2) { print $2, $3 >> "temp.q"; set end $2

}

else if ($1 == "a" && NF>2) print $2, $3 >> "temp.a"; }

}

set f [open temp.queue w] puts $f "TitleText: red" puts $f "Device: Postscript"


(73)

54 if { [info exists tchan_] } {

close $tchan_ }

exec rm -f temp.q temp.a exec touch temp.a temp.q exec awk $awkCode all.q puts $f \"queue

exec cat temp.q >@ $f puts $f \n\"ave_queue exec cat temp.a >@ $f close $f

exec xgraph -bb -bg white -tk -x time -y queue temp.queue & exit 0

}

#***************************************************** set n0 [$ns node]

set n1 [$ns node] set n2 [$ns node] set n3 [$ns node] set n4 [$ns node] set n5 [$ns node]

#kapasitas link dan mekanisme antrian

$ns duplex-link $n0 $n2 10Mb 10ms DropTail $ns duplex-link $n1 $n2 10Mb 10ms DropTail $ns duplex-link $n2 $n3 5Mb 10ms RED $ns duplex-link $n3 $n4 5Mb 10ms DropTail $ns duplex-link $n3 $n5 5Mb 10ms DropTail #orientasi node

$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 #batasan jumlah ruang antrian

$ns queue-limit $n2 $n3 60

$ns duplex-link-op $n2 $n3 queuePos 0.5 #setting antrian RED

set redq [[$ns link $n2 $n3] queue] set tchan_ [open all.q w]

$redq set bytes_ false


(74)

55 $redq trace curq_

$redq trace ave_ $redq attach $tchan_ $redq set thresh_ 30 $redq set maxthresh_ 60 $redq set q_weight_ 0.002 $redq set linterm_ 10

#Agent TCP dan aplikasi FTP #TCP1

set tcp [new Agent/TCP] $tcp set class_ 1

$ns attach-agent $n0 $tcp set sink [new Agent/TCPSink] $ns attach-agent $n4 $sink $ns connect $tcp $sink

set ftp [new Application/FTP] $ftp attach-agent $tcp

$ftp set type_ FTP $tcp set window_ 1000 #tcp trace

$tcp attach $nd $tcp tracevar cwnd_ #TCP2

set tcp2 [new Agent/TCP] $tcp2 set class_ 2

$ns attach-agent $n1 $tcp2 set sink2 [new Agent/TCPSink] $ns attach-agent $n5 $sink2 $ns connect $tcp2 $sink2 set ftp2 [new Application/FTP] $ftp2 attach-agent $tcp2 $ftp2 set type_ FTP $tcp2 set window_ 1000 #tcp trace

$tcp2 attach $nd $tcp2 tracevar cwnd_

#Pengeplotan data cwnd dengan file akhir .xg proc plotWindow {tcpSource outfile} { global ns

set now [$ns now]


(75)

56 puts $outfile "$now $cwnd"

$ns at [expr $now+0.1] "plotWindow $tcpSource $outfile" }

set outfile [open "cwndtcp1.xg" w] $ns at 0.0 "plotWindow $tcp $outfile" set outfile [open "cwndtcp2.xg" w] $ns at 0.0 "plotWindow $tcp2 $outfile"

#**************************************** $ns at 0.1 "$ftp start"

$ns at 0.1 "$ftp2 start" $ns at 500.1 "$ftp stop" $ns at 500.1 "$ftp2 stop" $ns at 502.0 "finish" $ns run

3. Sekenario3.tcl set ns [new Simulator] $ns color 1 Red $ns color 2 Blue

set nf [open bottlen.nam w] $ns namtrace-all $nf set nd [open out.tr w] $ns trace-all $nd #cwndtcp1

#$ns namtrace-all $nf

#set cwnd1 [open cwnd1.tr w] #cwndtcp2

#$ns namtrace-all $nf

#set cwnd2 [open cwnd2.tr w] proc finish {} {

global ns nf $ns flush-trace close $nf exit 0 }

set n0 [$ns node] set n1 [$ns node] set n2 [$ns node] set n3 [$ns node] set n4 [$ns node] set n5 [$ns node]


(76)

57 $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 5Mb 10ms DropTail $ns duplex-link $n3 $n5 5Mb 10ms DropTail #orientasi/letak node

$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 #limitasi queue

$ns queue-limit $n2 $n3 60

$ns duplex-link-op $n2 $n3 queuePos 0.5 #TCP 1 Source agent dan aplikasi || sink set tcp [new Agent/TCP]

$tcp set class_ 1

$ns attach-agent $n0 $tcp set sink [new Agent/TCPSink] $ns attach-agent $n4 $sink $ns connect $tcp $sink

set ftp [new Application/FTP] $ftp attach-agent $tcp

$ftp set type_ FTP $tcp set window_ 1000 #tcp trace

$tcp attach $nd $tcp tracevar cwnd_

#TCP 2 Source agent dan aplikasi || sink set tcp2 [new Agent/TCP]

$tcp2 set class_ 2

$ns attach-agent $n1 $tcp2 set sink2 [new Agent/TCPSink] $ns attach-agent $n5 $sink2 $ns connect $tcp2 $sink2 set ftp2 [new Application/FTP] $ftp2 attach-agent $tcp2 $ftp2 set type_ FTP $tcp2 set window_ 1000 #tcp trace


(77)

58 $tcp2 attach $nd

$tcp2 tracevar cwnd_

proc plotWindow {tcpSource outfile} { global ns

set now [$ns now]

set cwnd [$tcpSource set cwnd_] puts $outfile "$now $cwnd"

$ns at [expr $now+0.1] "plotWindow $tcpSource $outfile" }

#PLOT WINDOW DEGAN XGRAPH set outfile [open "cwndtcp1.xg" w] $ns at 0.0 "plotWindow $tcp $outfile" set outfile [open "cwndtcp2.xg" w] $ns at 0.0 "plotWindow $tcp2 $outfile"

set qfile [$ns monitor-queue $n2 $n3 [open queue.tr w] 0.031131312] [$ns link $n2 $n3] queue-sample-timeout;

$ns at 0.1 "$ftp start" $ns at 0.1 "$ftp2 start" $ns at 500.1 "$ftp stop" $ns at 500.1 "$ftp2 stop" $ns at 502.0 "finish" $ns run

4. Sekenario4.tcl set ns [new Simulator] $ns color 1 Red $ns color 2 Blue

set nf [open bottlen.nam w] $ns namtrace-all $nf set nd [open out.tr w] $ns trace-all $nd #cwndtcp1

#$ns namtrace-all $nf

#set cwnd1 [open cwnd1.tr w] #cwndtcp2

#$ns namtrace-all $nf

#set cwnd2 [open cwnd2.tr w]

proc finish {} { global ns nf


(78)

59 $ns flush-trace

close $nf exit 0 }

set n0 [$ns node] set n1 [$ns node] set n2 [$ns node] set n3 [$ns node] set n4 [$ns node] set n5 [$ns node]

#kapasitas link dan parameter

$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 5Mb 10ms DropTail $ns duplex-link $n3 $n5 5Mb 10ms DropTail #orientasi/letak node

$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 #limitasi queue

$ns queue-limit $n2 $n3 30

$ns duplex-link-op $n2 $n3 queuePos 0.5 #TCP 1 Source agent dan aplikasi || sink set tcp [new Agent/TCP]

$tcp set class_ 1

$ns attach-agent $n0 $tcp set sink [new Agent/TCPSink] $ns attach-agent $n4 $sink $ns connect $tcp $sink

set ftp [new Application/FTP] $ftp attach-agent $tcp

$ftp set type_ FTP $tcp set window_ 1000

#tcp trace $tcp attach $nd


(79)

60 $tcp tracevar cwnd_

#TCP 2 Source agent dan aplikasi || sink set tcp2 [new Agent/TCP]

$tcp2 set class_ 2

$ns attach-agent $n1 $tcp2 set sink2 [new Agent/TCPSink] $ns attach-agent $n5 $sink2 $ns connect $tcp2 $sink2 set ftp2 [new Application/FTP] $ftp2 attach-agent $tcp2 $ftp2 set type_ FTP $tcp2 set window_ 1000 #tcp trace

$tcp2 attach $nd $tcp2 tracevar cwnd_

proc plotWindow {tcpSource outfile} { global ns

set now [$ns now]

set cwnd [$tcpSource set cwnd_] puts $outfile "$now $cwnd"

$ns at [expr $now+0.1] "plotWindow $tcpSource $outfile" }

#PLOT WINDOW DEGAN XGRAPH set outfile [open "cwndtcp1.xg" w] $ns at 0.0 "plotWindow $tcp $outfile" set outfile [open "cwndtcp2.xg" w] $ns at 0.0 "plotWindow $tcp2 $outfile"

set qfile [$ns monitor-queue $n2 $n3 [open queue.tr w] 0.031131312] [$ns link $n2 $n3] queue-sample-timeout;

$ns at 0.1 "$ftp start" $ns at 0.1 "$ftp2 start" $ns at 500.1 "$ftp stop" $ns at 500.1 "$ftp2 stop" $ns at 502.0 "finish" $ns run


(80)

61 Konfigurasi file awk

1. Rata-rata byte percongestion window bpc.awk

if ($2=="0" && $4=="4" && $6=="cwnd_" && $7=="1.000") { css1=css1+1;

}

if ($1 =="+" && $3 =="0"){ sizetcp1=sizetcp1+$6; }

if ($2=="1" && $4=="5" && $6=="cwnd_" && $7=="1.000") { css2=css2+1;

}

if ($1 =="+" && $3 =="1"){ sizetcp2=sizetcp2+$6; }

}; END {

print "css = " css1 " " css2;

print "tcp 1 total " sizetcp1/1024" kB";

print "Rata-rata byte per cwnd tcp1= " (sizetcp1/1024)/css1 "kB"; print "Rata-rata byte per cwnd tcp1= " (sizetcp2/1024)/css2 "kB"; }


(81)

62 2. Paket drop

drop.awk BEGIN { fsDrops = 0; numFs = 0; sent_1 = 0; drop_tcp1 =0; sent_2 = 0; drop_tcp2 =0; }

{

action = $1; time = $2; from = $3; to = $4; type = $5; pktsize = $6; flow_id = $8; src = $9; dst = $10; seq_no = $11; packet_id = $12;

if (from==2 && to==3 && action == "+") numFs++;

if (type=="tcp" && action == "d") fsDrops++;

if (from==0 && to==2 && action == "+") sent_1++;

if (flow_id==1 && action == "d") drop_tcp1++;

if (from==1 && to==2 && action == "+") sent_2++;

if (flow_id==2 && action == "d") drop_tcp2++;

} END {

printf("Total Paket terkirim:%d drop:%d\n", numFs, fsDrops); printf("TCP 1 terkirim:%d drop:%d\n", sent_1, drop_tcp1); printf("TCP 2 terkirim:%d drop:%d\n", sent_2, drop_tcp2); }


(82)

63 3. Rata-rata end to end delay

avgeted.awk BEGIN {

fromNode=0; toNode=4; p_id=0;

num_sample = 0; total_delay = 0;

fromNode_2=1; toNode_2=5; p_id_2=1;

num_sample_2 = 0; total_delay_2 = 0; }

/^\+/&&$1=="+"&&$3==fromNode&&$5=="tcp"{ t_arr[$12] = $2;

p_id==$12; };

/^r/&&$1=="r"&&$4==toNode&&$5=="tcp"{ if (p_id = $12){

num_sample++;

delay = $2 - t_arr[$12]; total_delay += delay; };

};

#--- /^\+/&&$1=="+"&&$3==fromNode_2&&$5=="tcp"{ t_arr_2[$12] = $2;

p_id_2==$12; };

/^r/&&$1=="r"&&$4==toNode_2&&$5=="tcp"{ if (p_id_2 = $12){

num_sample_2++;

delay_2 = $2 - t_arr_2[$12]; total_delay_2 += delay_2; };

}; END{

avg_delay = total_delay/num_sample;

print "Rata-rata end to end delay " avg_delay " seconds"; print "Detail :";

print " - Dari node " fromNode; print " - Menuju node " toNode;


(83)

64 avg_delay_2 = total_delay_2/num_sample_2;

print "Rata-rata end to end delay " avg_delay_2 " seconds"; print "Detail:";

print " - Dari node " fromNode_2; print " - Menuju node " toNode_2; };

4. Rata-rata throughput Avgthroughput.awk BEGIN {

tcp1=0; tcp2=0 }

{ if ($1=="r" && $ 4==4){

tcp1=tcp1+$6; }

if ($1=="r" && $4==5){ tcp2=tcp2+$6;

} } END{

print "---" print "throughput tcp 1 = " tcp1*8/1024/1024 " Mbit";

print "avg throughput tcp 1= " tcp1*8/1024/1024/500 " Mbps"; print "---"

print "throughput tcp 2 = " tcp2*8/1024/1024 " Mbit";

print "avg throughput tcp 1= " tcp2*8/1024/1024/500 " Mbps"; print "---"


(1)

61 Konfigurasi file awk

1. Rata-rata byte percongestion window bpc.awk

if ($2=="0" && $4=="4" && $6=="cwnd_" && $7=="1.000") { css1=css1+1;

}

if ($1 =="+" && $3 =="0"){ sizetcp1=sizetcp1+$6; }

if ($2=="1" && $4=="5" && $6=="cwnd_" && $7=="1.000") { css2=css2+1;

}

if ($1 =="+" && $3 =="1"){ sizetcp2=sizetcp2+$6; }

}; END {

print "css = " css1 " " css2;

print "tcp 1 total " sizetcp1/1024" kB";

print "Rata-rata byte per cwnd tcp1= " (sizetcp1/1024)/css1 "kB"; print "Rata-rata byte per cwnd tcp1= " (sizetcp2/1024)/css2 "kB"; }


(2)

62 2. Paket drop

drop.awk

BEGIN { fsDrops = 0; numFs = 0; sent_1 = 0; drop_tcp1 =0; sent_2 = 0; drop_tcp2 =0; }

{

action = $1; time = $2; from = $3; to = $4; type = $5; pktsize = $6; flow_id = $8; src = $9; dst = $10; seq_no = $11; packet_id = $12;

if (from==2 && to==3 && action == "+") numFs++;

if (type=="tcp" && action == "d") fsDrops++;

if (from==0 && to==2 && action == "+") sent_1++;

if (flow_id==1 && action == "d") drop_tcp1++;

if (from==1 && to==2 && action == "+") sent_2++;

if (flow_id==2 && action == "d") drop_tcp2++;

} END {

printf("Total Paket terkirim:%d drop:%d\n", numFs, fsDrops); printf("TCP 1 terkirim:%d drop:%d\n", sent_1, drop_tcp1); printf("TCP 2 terkirim:%d drop:%d\n", sent_2, drop_tcp2); }


(3)

63 3. Rata-rata end to end delay

avgeted.awk

BEGIN {

fromNode=0; toNode=4; p_id=0;

num_sample = 0; total_delay = 0;

fromNode_2=1; toNode_2=5; p_id_2=1;

num_sample_2 = 0; total_delay_2 = 0; }

/^\+/&&$1=="+"&&$3==fromNode&&$5=="tcp"{ t_arr[$12] = $2;

p_id==$12; };

/^r/&&$1=="r"&&$4==toNode&&$5=="tcp"{ if (p_id = $12){

num_sample++;

delay = $2 - t_arr[$12]; total_delay += delay; };

};

#--- /^\+/&&$1=="+"&&$3==fromNode_2&&$5=="tcp"{ t_arr_2[$12] = $2;

p_id_2==$12; };

/^r/&&$1=="r"&&$4==toNode_2&&$5=="tcp"{ if (p_id_2 = $12){

num_sample_2++;

delay_2 = $2 - t_arr_2[$12]; total_delay_2 += delay_2; };

}; END{

avg_delay = total_delay/num_sample;

print "Rata-rata end to end delay " avg_delay " seconds"; print "Detail :";

print " - Dari node " fromNode; print " - Menuju node " toNode;


(4)

64 avg_delay_2 = total_delay_2/num_sample_2;

print "Rata-rata end to end delay " avg_delay_2 " seconds"; print "Detail:";

print " - Dari node " fromNode_2; print " - Menuju node " toNode_2; };

4. Rata-rata throughput Avgthroughput.awk

BEGIN { tcp1=0; tcp2=0 }

{ if ($1=="r" && $ 4==4){

tcp1=tcp1+$6; }

if ($1=="r" && $4==5){ tcp2=tcp2+$6;

} } END{

print "---" print "throughput tcp 1 = " tcp1*8/1024/1024 " Mbit";

print "avg throughput tcp 1= " tcp1*8/1024/1024/500 " Mbps"; print "---"

print "throughput tcp 2 = " tcp2*8/1024/1024 " Mbit";

print "avg throughput tcp 1= " tcp2*8/1024/1024/500 " Mbps"; print "---"


(5)

65 5. Filter untuk mendapatkan data mentah yang harus di eksport ke file .xg dan digrafikkan

Queuedroptail.awk

BEGIN{} {

print $1 "\t" $5 }

END{}

6. Filter untuk mendapatkan data mentah sebelum di grafikkan status end to end delay.

BEGIN {

fromNode=0; toNode=4; p_id=0;

num_sample = 0; total_delay = 0;

fromNode_2=1; toNode_2=5; p_id_2=1;

num_sample_2 = 0; total_delay_2 = 0; }

/^\+/&&$1=="+"&&$3==fromNode&&$5=="tcp"{ t_arr[$12] = $2;

p_id==$12; };

/^r/&&$1=="r"&&$4==toNode&&$5=="tcp"{ if (p_id = $12){

num_sample++;

delay = $2 - t_arr[$12]; total_delay += delay; print $2 "\t" delay*200; };

};

/^\+/&&$1=="+"&&$3==fromNode_2&&$5=="tcp"{ t_arr_2[$12] = $2;

p_id_2==$12; };

/^r/&&$1=="r"&&$4==toNode_2&&$5=="tcp"{ if (p_id_2 = $12){

num_sample_2++;


(6)

66 total_delay_2 += delay_2;

}; }; END{ };