Analisa unjuk kerja manajemen antrian drop tail dan fair queueing pada router
ANALISA UNJUK KERJA MANAJEMEN ANTRIAN DROP TAIL
DAN FAIR QUEUEING PADA ROUTER
SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer
Program Studi Teknik Informatika
Disusun oleh :
VICTOR DIAN KURNIAWAN 085314052
JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA YOGYAKARTA
(2)
i
ANALISA UNJUK KERJA MANAJEMEN ANTRIAN DROP TAIL
DAN FAIR QUEUEING PADA ROUTER
SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer
Program Studi Teknik Informatika
Disusun oleh :
VICTOR DIAN KURNIAWAN 085314052
JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA YOGYAKARTA
(3)
ii
PERFORMANCE ANALYSIS QUEUEING MANAGEMENT DROP
TAIL AND FAIR QUEUEING IN ROUTER
A THESIS
Presented as Partial Fulfillment of The Requirements to Obtain The Sarjana Komputer Degree
in Informatics Engineering Study Program
By :
VICTOR DIAN KURNIAWAN 085314052
INFORMATICS ENGINEERING STUDY PROGRAM
INFORMATICS ENGINEERING DEPARTMENT
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2013(4)
iii
SKRIPSI
ANALISA UNJUK KERJA MANAJEMEN ANTRIAN DROP TAIL
DAN FAIR QUEUEING PADA ROUTER
Dipersiapkan dan ditulis oleh : Victor Dian Kurniawan
NIM : 085314052
Telah disetujui oleh :
(5)
(6)
v
MOTTO
Kemenangan yang seindah-indahnya dan sesukar-sukarnya yang boleh
direbut oleh manusia ialah menundukan diri sendiri.(Ibu Kartini ).
(7)
vi
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sungguh-sungguh bahwa skripsi yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, 20 Februari 2013
Penulis
(8)
vii
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma:
Nama : Victor Dian Kurniawan
Nomor Mahasiswa : 085314052
Demi pengembangan ilmu pengetahuan, saya memberikan kepada perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul:
“ Analisa Unjuk Kerja Manajemen Antrian Drop Tail dan Fair Queueing pada
Router “
Beserta perangkat yang diperlukan (jika ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa perlu ijin dari saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis.
Demikian ini pernyataan yang saya buat dengan sebenarnya. Dibuat di Yogyakarta
Pada tanggal: 20 Februari 2013
Yang menyatakan
(9)
viii
ABSTRAK
Perkembangan yang pesat baik dalam segi penggunaan maupun ukuran dari jaringan internet memicu minat baru dalam metode pengendalian kemacetan lalu lintas internet (congestion control). Pada router kemacetan dapat dikendalikan dengan manajemen antrian. Manajemen antrian mengendalikan urutan pengiriman paket dan penggunaan ruang buffer sehingga dapat membantu pengendalian kemacetan.Manajemen atrian yang sering digunakan adalah manajemen antrianDrop Tail dan Fair Queueing. Pada tugas akhir ini akan diuji kinerja antara manajemen antrian DT dan Fair FQ.
Penelitian menggunakan simulasi dengan bantuan Network Simulator 2 (NS-2). Pengambilan data didapat dari trace file hasil simulasi dan dihitung dengan menggunakan program .awk. Pengujian berdasarkan ukuran buffer yang berbeda-beda, ukuran paket maksimum dan minimum, dan protokol transport TCP dan UDP. Pengujian kinerja antara manajemen antrian DT dan FQ berdasarkan parameter
Average delay router, packet loss router, dan throughput router.
Dari analisa yang diambil dari penelitian, maka secara keseluruhan dapat diambil kesimpulan bahwa manajemen antrian DT lebih baik dari pada manajemen antrian FQ pada parameter average delay router, paket loss router, dan throughput router pada pengujian dengan ukuran buffer 10, 25, 50, 75, dan 100 menggunakan paket TCP danUDP dengan ukuran paket maksimum dan minimum.
Kata kunci :router
, buffer, Drop Tail, Fair Queueing, average delay router, paket loss router, throughput router(10)
ix
ABSTRACT
Development both in use aspect and size aspect of internet network trigger new interest in method of controlling internet congestion (congestion control). The congestion could be controlled by queuing management. Queuing management control the order of sending packet and the use of buffer space so that it helps congestion control. Queuing management which are frequently used are algorithm Drop Tail and Fair Queuing. In this paper, the performance between algorithm Drop Tail and Fair Queuing would be tested.
The paper used simulation assisted with Network Simulator 2 (NS-2). The data were obtained from trace file, result of simulation and counted using .awk. Program. Testing based on different buffer measurement, maximum and minimum packet measurement, and protocol transport TCP and UDP. The testing of performance between algorithm DT and FQ based on parameter Average delay router, packet loss router, and throughput router.
The analysis shows that algorithm DT is better than algorithm FQ in parameter average delay router, packet loss router, and throughput router.to test with buffer size 10, 25, 50, 75, and 100 using TCP danUDP packets with the minimum and maximum packet size.
Keyword :
router , buffer, Drop Tail, Fair Queueing, average delay router, paket loss router, throughput router(11)
x
KATA PENGANTAR
Puji dan syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa yang telah melimpahkan berkat dan rahmatNya, sehingga penulis skripsi dengan judul “Analisa
Unjuk Kerja Manajemen Antrian Drop Tail dan Fair Queueing pada Router” ini dapat diselesaikan dengan baik oleh penulis. Skripsi ini ditulis sebagai salah satu syarat untuk memperoleh gelar sarjana komputer di Program Studi Teknik Informatika, Fakultas Sains dan Teknologi, Universitas Sanata Dharma Yogyakarta.
Selama penulisan skripsi ini, banyak pihak yang telah membantu dan membimbing penulis. Oleh sebab itu melalui kesempatan ini penulis mengucapkan terima kasih atas selesainya penyusunan skripsi ini, kepada:
1. Tuhan Yesus dan Bunda Maria selaku “dosen pembimbing” dalam kehidupanku. 2. Kedua orang tuaku, pak Kris dan bu Giyarti, serta saudara dan keluargaku yang
telah memberi dukungan baik berupa doa, semangat, nasihat dan materi, sehingga penulis dapat menyelesaikan skripsi ini.
3. Bapak Damar Widjaja, S.T., M.T selaku dosen pembimbing yang telah bersedia memberi saran, kritik, meluangkan waktu, tenaga dan pikiran untuk membimbing dan mengarahkan penulis.
4. Ibu Ridowati Gunawan S.Kom., M.T. selakuKaprodi Teknik Informatika. 5. Bapak Eko Hari Parmadi S.Si., M.Kom.selaku dosen pembimbing akademik.
(12)
xi
6. Bapak dan Ibu dosen serta staf dan karyawan Teknik Informatika Universitas Sanata Dharma.
7. Lenny Arinta Helena (tercinta) yang selalu menjadi bintang hidupku. Tak lupa pak Sukandar dan ibu Iwik yang selalu memberi semangat dengan kata-katanya,
“mas Victor kapan lulus..?”.
8. Teman – teman TI angkatan 2008 yang meluangkan waktu untuk memberi saran dalam penyusunan tugas akhir ini.
9. Adi kiting, Edward item, Yudi Simbah, Apin, Hendra, Dias, Colox, Shuit, Deti dan teman-teman yang masih berjuang, “ayo gasssss pooollllll....!!!”.
10.Untuk pihak – pihak yang tidak dapat penulis sebutkan satu per satu. Penulis mengucapkan terima kasih atas bantuannya sehingga penulis dapat menyelesaikan karya ilmiah ini.
Akhir kata, penulis berharap karya ilmiah ini dapat bermanfaat bagi kemajuan dan perkembangan ilmu pengetahuan.
Yogyakarta, 20 Februari 2013
(13)
xii
DAFTAR ISI
LEMBAR JUDUL ... i
HALAMAN PERSETUJUAN PEMBIMBING ... iii
HALAMAN PENGESAHAN ... iv
HALAMAN PERSEMBAHAN ... v
PERNYATAAN KEASLIAN HASIL KARYA ... vi
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ... vii
ABSTRAK ... viii
ABSTRACT ... ix
KATA PENGANTAR ... x
DAFTAR ISI ... xii
DAFTAR GAMBAR ... xiv
DAFTAR TABEL ... xv
BAB I PENDAHULUAN 1.1 Latar Belakang Masalah ... 1
1.2 Rumusan Masalah ... 2
1.3 Batasan Masalah ... 3
1.4 Tujuan ... 3
1.5 Manfaat Penelitian ... 3
1.6 Metodologi Penelitian ... 3
1.7 Sistematika Penulisan ... 4
BAB II LANDASAN TEORI 2.1 Antrian ... 6
2.2 Drop Tail ... 8
2.3 Fair Queueing ... 9
2.4 Quality of Service ... 10
2.4.1 Parameter-parameter QoS ... 13
2.4.1.1 Delay ... 14
2.4.1.2 Packet Loss ... 15
2.4.1.3 Throughput... 16
2.5 Simulasi Jaringan ... 17
(14)
xiii
2.5.2 Network Simulator 2 ... 18
2.5.2.1 Trace File ... 20
2.5.3 Transport Protocol ... 22
2.5.3.1 User Datagram Protocol ... 22
2.5.3.2 Transmission Control Protocol ... 23
2.6 Router ... 24
BAB III PERANCANGAN SIMULASI 3.1 Perancangan Simulasi ... 26
3.2 Topologi Jaringan ... 28
3.3 Konfigurasi Sistem ... 29
3.4 Pengukuran Parameter Kinerja ... 30
3.4.1 Menghitung packet loss router ... 31
3.4.2 Menghitung average delay router ... 32
3.4.3 Menghitung throughput ... 34
BAB IVPENGUJIAN DAN ANALISIS 4.1 Penjelasan Program dan Contoh Pengambilan Nilai dari Trace File.. 35
4.2 Pengambilan nilai dari trace file ... 41
4.3 Penghitungan dan Analisis ... 45
4.3.1 Average Delay Router ... 45
4.3.2 Packet Loss Router ... 48
4.3.2 Throughput Router ... 51
BAB VKESIMPULAN DAN SARAN 5.1. Kesimpulan ... 54
5.2. Saran ... 55
DAFTAR PUSTAKA ... 56
(15)
xiv
DAFTAR GAMBAR
Gambar 2.1 Antrian ... 6
Gambar 2.2 FIFO ... 8
Gambar 2.3 Drop Tail ... 8
Gambar 2.4 Fair Queueing –RR ... 9
Gambar 2.5 Tampilan NS-2 ... 18
Gambar 2.6 Contoh trace file ... 20
Gambar 3.1 Flowchart Perancangan Simulasi ... 25
Gambar 3.2 Topologi Jaringan ... 27
Gambar 3.3 Flowchat packet loss router ... 31
Gambar 3.4 Flowchataverage delay router... 32
Gambar 3.5 Flowchatthroughput... 33
Gambar 4.1 potongan trace file Average delay router ... 41
Gambar 4.2 potongan trace file Packet loss router ... 43
Gambar 4.3 potongan trace file Throughput router ... 44
Gambar 4.4 contoh output Average_delay_router.awk ... 46
Gambar 4.5 Grafik average delay router ... 46
Gambar 4.6 contoh output packetLossRouter.awk ... 49
Gambar 4.7 Grafik paket loss router ... 49
Gambar 4.8 contoh output throughput_router.awk ... 51
(16)
xv
DAFTAR TABEL
Tabel 2.1 Klasifilasi Delay ... 15
Tabel 2.2 Klasifikasi Packet Loss ... 16
Table 3.1 Skenario Simulasi ... 26
Tabel 3.2 Record Trace File ... 29
Tabel 3.2 (lanjutan) Record Trace File ... 30
Tabel 4.1 Average delay router (ms) ... 47
Tabel 4.2 Paket loss router (%) ... 49
(17)
1
BAB I PENDAHULUAN
1.1 Latar Belakang Masalah
Perkembangan yang pesat baik dalam segi penggunaan maupun ukuran dari jaringan internet memicu minat baru dalam metode pengendalian kemacetan lalu lintas internet (congestion control) [1].Metode ini mempunyai dua point dalam implementasinya.Pertama adalah pada sumber pengirim paket, dimana mempunyai pengendalian aliran (flow control) yang bervariasi.Point yang kedua ada pada
gatewayataurouter, dimana kemacetan dapat dikendalikan dengan routing protocol
dan manajemen antrian.Routing protocol jika diimplementasikan dengan benar maka akan mengurangi kemacetan. Begitu juga dengan manajemen antrian, manajemen antrian mengendalikan urutan pengiriman paket dan penggunaan ruang buffer
sehingga dapat membantu pengendalian kemacetan.
Suatu jaringan internet mempunyaimanajemen antrian yang biasanya terdapat pada router. Antrian tersebut dapat mempengaruhi besarnya delay pada suatu jaringan [2]. Jika buffer pada router terlalu kecil sedangkan paket yang melewati dan antri di router jauh lebih besar dari buffer, maka akanterjadidelay yang besar dan juga akan terjadipacket loss pada antrian semakin besar.
Pada antrian, delay disebabkan karena waktu tunggu pemprosesan suatu paket yang datang ke router sampai melewati router untuk dikirimkan ke router lain atau komputer tujuan. Sedangkan packet loss disebabkan karena jumlah paket yang datang melebihi dari kapasitas buffer.Selain itu, antrian juga mempengaruhi throughput yang yang dapat ditentukan dengan tingkat rata-rata pengiriman pesan berhasil melalui saluran komunikasi.
Ada beberapa manajemen antrian yang bisa diterapkan pada jaringan internet, antara lain First In First Out(FIFO) yang juga disebutDrop-Tail(DT), Fair
(18)
Queuing(FQ), Weighted Fair Queuing (WFQ), Random Early Detection
(RED), dan Explicit Congestion Notification (ECN) [3]. Masing-masing manajemen antrian tersebut mempunyai kelebihan dan kekurangan.
Sudah banyak penelitian untuk menentukan manajemen antrian yang lebih baik di antara manajemen antrian yang sudah ada.Salah satunya adalah membandingkan manajemen antrian RED dengan FQ [4].Kesimpulan dari penelitian tersebut adalah manajemen antrian FQ lebih baik dari pada manajemen antrian RED berdasarkan analisa throughput, delay, dan packetloss.Throughput pada manajemen antrian FQ lebih besar dari pada manajemen antrian RED setra delay dan packetloss
manajemen antrian FQ lebih kecil dibanding manajemen antrian RED.
Untuk menentukan manajemen antrian lainnya yang lebih handal, akan dibandingkan manajemen antrianDT dan FQ dengan parameter delay, packet loss, dan throughput. Pengujian tersebut akan disimulasikan dengan menggunakan
Network Simulator 2 (NS2). Pengujian juga dilakukan berdasarkan besarnya buffer
pada setiap manajemen antrian.
1.2 Rumusan Masalah
Perumusan masalah pada penelitian ini adalah :
1. Bagaimana merancang dan mensimulasikan manajemen antrianDT dan FQ dengan menggunakan NS2?
2. Bagaimana mengolah data pada tracefile hasil simulasi manajemen antrianDT dan FQ yang telah dibuat?
3. Bagaimana menguji kinerja manajemen antrianDT dan FQ yang telah dibuat? Parameter apa saja yang akan diuji?
(19)
1.3 Batasan Masalah
Batasan Masalah tugas akhir yang dibuat adalah sebagai berikut : 1. Simulasi dibangun dengan perangkat lunak NS2.
2. Jenis antrian yang diterapkan pada simulasi adalah DT dan FQ.
3. JumlahNode yang dibuat adalah 6 buah, 4 node sebagai komputer sumber (source), 1 node sebagai computer tujuan (destination), dan 1 node sebagai
router.
4. Transport protocol yang digunakan adalah TCP dan UDP.
5. Ukuran paket yang diuji adalah ukuran paket terkecil dan terbesar. Paket TCP adalah 20 byte dan 65495 byte dan Paket UDP adalah 8 byte dan 65507 byte.
6. Ukuran bufferrouterpada setiap pengujian masing-masing manajemen antrian adalah 10, 25, 50, 75, 100.
7. Parameter yang diukur adalah packet loss router, average delay router, dan
throughput router.
1.4 Tujuan
Tujuan tugas akhir yang dibuat adalah untuk menunjukkan hasil perbandingan unjuk kerja antara manajemen antrianDT dan FQ.
1.5 Manfaat Penelitian
Secara umum, hasil penelitian tugas akhir ini diharapkan dapat memberikan referensi untuk penelitian lebih lanjut mengenaimanajemen antrian DT dan FQ.
1.6 Metodologi Penelitian
Metodologi dan langkah-langkah yang digunakan dalam pelaksanaan tugas akhir ini adalah sebagai berikut :
(20)
1. Studi Literatur
Pada tahap ini, penulis mengumpulkan referensi-referensi yang digunakan untuk mendukung pengerjaan tugas akhir ini.
2. Perancangan
Pada tahap ini, penulis menentukan dan merancang simulasi yang akan dibangun, seperti jumlahnode, tipe antrian, bandwidth, ukuran buffer, dan lain – lain
3. Simulasi dan Pengumpulan data
Pada tahap ini, penulis membangun simulasi menggunakan NS-2 dan membuat script berekstensi „.tcl‟. Setelah simulasi dijalankan diperoleh file berekstensi „.tr‟, file tersebut berisi data-data dari simulasi. Untuk menghitung parameter-parameter pengujian dibuat scriptberekstensi „.awk‟.
4. Analisa Data
Pada tahap ini, penulis melakukan analisa hasil pengujian yang diperoleh dari
script „.awk‟.Analisa dilakukan dengan melakukan pengamatan dari hasil
pengujian sehingga dapat ditarik kesimpulan tentang unjuk kerja manajemen antrianDT dan FQ.
2.7 Sistematika Penulisan
I. PENDAHULUAN
Bab ini berisi latar belakang penulisan tugas akhir, rumusan masalah, tujuan penulisan, manfaat penulisan batasan masalah, metodologi penelitian, dan sistematika penulisan
II. LANDASAN TEORI
Bab ini menjelaskan mengenai teori yang berkaitan dengan judul/masalah tugas akhir ini
(21)
III. PERANCANGAN SIMULASI DROP TAIL & FAIR QUEUEING Bab ini berisi perencanaan simulasi manajemen antrianDrop Tail dan
Fair Queueing yang akan dibuat.
IV. IMPLEMENTASI DAN ANALISIS SIMULASI DROP TAIL &
FAIR QUEUEING
Bab ini berisi pelaksanaan simulasi dan hasil analisis data simulasi manajemen antrianDrop Tail dan Fair Queueing.
V. KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan yang didapat dan saran-saran berdasarkan hasil analisis manajemen antrianDrop Tail dan Fair Queueing.
(22)
6
BAB II
LANDASAN TEORI
2.1 ANTRIAN
Antrian adalah salah satu fungsi router yang menyimpan sementara paket-paket sebelum ditransmisikan. Jika paket-paket datang pada antrian paling akhir dari sebuah queue, maka paket-paket tersebut akan mengalami keterlambatan [5]. Secara umum skema antrian dapat diterangkan seperti pada Gambar 2.1.
Gambar 2.1 Antrian [6].
Paket yang akan dikirimkan oleh suatu node akan masuk ke dalam antrian (queue). Saat link kosong, paket yang berada di antrian terdepanakan ditransmisikan melalui link tersebut. Di sini seolah-olah link berperan sebagai
Server / Pelayan [6].
Manajemen antrian umumnya dianggap sebagai sebuah cabang dari riset operasi karena sering digunakan ketika membuat keputusan yang dibutuhkan untuk menyediakan layanan.Manajemen antrian menentukan bagaimana paket ditampung pada buffer, paket mana yang ditandai (marked) atau dibuang (dropped), paket mana yang ditransmisikan (Scheduler), dan secara tidak langsung menentukan delay pada router.
(23)
Secara teoritis ada beberapa mekanisme penjadwalan pada antrian paket [6]:
a) First In First Out
Manajemen antrianyang juga disebutDT ini adalah manajemen antrian yang paling sederhana. Prinsip dari manajemen antrian ini adalah seperti prinsip antrian (antrian tak berprioritas), paket yang masuk lebih dulu akan keluar lebih dulu juga.
b) Fair Queuing
Manajemen antrian FQ mengelompokkan paket ke dalam class-class
yang kemudian akan memproses sebuah paket pada tiap class secara bergiliran dengan adil.
c) Weighted Fair Queuing
Weighted Fair Queuing (WFQ) merupakan bentuk yang lebih umum dari FQ. Pada WFQ, masing-masing class mendapat bobot service yang berbeda pada tiap siklusnya sehingga jumlah paket yang ditransmisikan akan berbeda-beda pada setiap siklus sesuai dengan bobot tiap class.
d) Priority Queuing
Priority Queuing (PQ) memberikan prioritas kepada paket dan mengirimkan paket tersebut sesuai prioritasnya. Paket yang memiliki prioritas tertinggi akan didahulukan. Priority Queuing pada dasarnya akan memilih class
dengan prioritas tertinggi sampai antrian milik class tersebut kosong, baru diikuti dengan pemilihan class dengan prioritas tertinggi berikutnya.
(24)
2.2 DROP TAIL
Manajemen antrian DT merupakan bagian dari penjadwalan FIFO. Pada FIFO paket yang pertama masuk antrian akan keluar terlebih dahulu [2]. Paket dikirimkan dengan urutan yang sesuai dengan urutan kedatangan.Model antrian FIFO dapat dilihat pada Gambar 2.2.
Gambar 2.2 FIFO [7]
Gambar 2.2 menunjukkan kedatangan beberapa paket data yang berbeda waktu, paket pertama yang tiba lebih awal dikeluarkan ke port terlebih dahulu oleh antrian FIFO.Teknik antrian FIFO sangat cocok untuk jaringan dengan
bandwidth menengah 64kbps tetapi cukup menghabiskan sumber daya prosessor
dan memori [2].
Manajemen antrian DT adalah manajemen antrian sederhana yang
digunakan oleh router untuk memutuskan kapan untuk
menjatuhkan paket . Dalam DT semua lalu lintas tidak dibedakan, setiap paket diperlakukan secara identik [2].Manajemen antrian DT dapat diilustrasikan pada Gambar 2.3.
Gambar 2.3 Drop Tail [6]
1 2
3 4
5 6 7
8 9 10
(25)
Manajemen antrian ini menggunakan struktur data stack. Apabila tidak ada buffer kosong saat terjadi antrian penuh, maka paket yang dibuang adalah paket yang berada di antrian paling akhir, yaitu paket yang terakhir masuk buffer.
2.3 F AIR QUEUEING
FQ diusulkan oleh John Nagle pada tahun 1985 [8].FQ adalah manajemen antrian yang digunakan dalam jaringan komputer dan telekomunikasi. Manajemen antrian FQ mengelompokkan paket ke dalam class-class yang kemudian akan bergiliran memproses sebuah paket pada tiap class
dengan adil. Pada manajemen antrian FQ, tidak ada class yang mendapat prioritas yang lebih tinggi dari class lainnya [2].Manajemen antrian FQ dengan implementasi Round-Robin (RR) diilustrasikan pada Gambar 2.4.
Gambar 2.4 Fair Queueing –RR[2]
Manajemen antrian FQ biasa digunakan pada router dan switch yang meneruskan paket dari sebuah buffer. Buffer bekerja sebagai sistem antrian.Paket data disimpan sementara sampai bisa ditransmisikan.Ruang buffer dibagi menjadi banyak antrian yang masing-masing digunakan untuk menyimpan paket
(26)
dari satu aliran, yang didefinisikan misalnya dengan alamat IP sumber dan tujuan.
FQ dapat mengontrol congestion dengan memonitoring aliran dan memungkinkan aliran paket ganda untuk berbagi kapasitas link.Fair queueing
biasanya menggunakan RR sebagai implementasinya [9].
Bentuk RR paling sederhana terdiri atas 2 class. Di sini paket dari classA akan ditransmisikan diikuti paket dari class B, diikuti paket dari class A lagi, diikuti paket dari class B lagi dan seterusnya.
2.4 QUALITY OF SERVICE
Quality of Service (QoS) didefinisikan sebagai suatu pengukuran tentang seberapa baik jaringan dan merupakan suatu usaha untuk mendefinisikan karakteristik dan sifat suatu layanan. QoS mengacu pada kemampuan suatu jaringan untuk menyediakan layanan yang baik dengan menyediakan bandwith, mengatasi jitterdan delay[10]. QoS sangat ditentukan oleh kualitas jaringan yang digunakan.
Qos dibutuhkan untuk meminimalkan packet loss, delay, latency dan
delay variation (jitter), mengukur Performance, mencampur paket data dan suara pada jaringan yang padat, dan dapat mengoptimalkan antrianuntuk memproritaskan layanan. Layanan yang diprioritaskan misalnya traffic voice,
traffic shaping / buffering pada jaringan WAN. Layanan tersebut menjadi tambahan treatment untuk pengaturan paket data, memungkinkan membuat alur
aggregate, memungkinkan traffic jaringan smooth pada alur jaringan dan mengkonfigurasi prioritas traffic melewati jaringan
QoS didesain untuk membantu end user (client) menjadi lebih produktif dengan memastikan bahwa user mendapatkan performansi yang handal dari aplikasi-aplikasi berbasis jaringan.QoS mengacu pada kemampuan jaringan
(27)
untuk menyediakan layanan yang lebih baik pada traffic jaringan tertentu melalui teknologi yang berbeda-beda.QoS merupakan suatu tantangan yang besar dalam jaringan berbasis IP dan internet secara keseluruhan. Tujuan dari QoS adalah
untuk memenuhi kebutuhan-kebutuhan layanan yang berbeda, yang
menggunakan infrastruktur yang sama. QoS menawarkan kemampuan untuk mendefinisikan atribut-atribut layanan yang disediakan, baik secara kualitatif
maupun kuantitatif.
Dalam usaha menjaga dan meningkatkan nilai QoS, dibutuhkan teknik untuk menyediakan utilitas jaringan, yaitu dengan mengklasifikasikan dan memprioritaskan setiap informasi sesuai dengan karakteristiknya masing-masing.Contohnya, terdapat paket data yang bersifat sensitif terhadap delay
tetapi tidak sensitif terhadap packet loss seperti VoIP, ada juga paket yang bersifat sensitif terhadap packet loss tetapi tidak sensitif terhadap delay seperti
transfer data.Untuk itu perlu dilakukan klasifikasi paket dan pengurutan prioritas paket dari yang paling tinggi sampai terendah.
Terdapat 3 tingkat QoS yang umum dipakai, yaitu best-effortservice, integrated service, dan differentiated service [11].
1) Best-Effort Service
Best-effort service digunakan untuk melakukan semua usaha agar dapat mengirimkan sebuah paket ke suatu tujuan. Penggunakan best-effortservice tidak akan memberikan jaminan agar paket dapat sampai ke tujuan yang dikehendaki. Sebuah aplikasi dapat mengirimkan data dengan besar yang bebas kapan saja tanpa harus meminta ijin atau mengirimkan pemberitahuan ke jaringan.
Beberapa aplikasi dapat menggunakan best-effort service, sebagai contohnya FTP dan HTTP yang dapat mendukung best-effort service tanpa mengalami permasalahan.Untuk aplikas-iaplikasi yang sensitif terhadap network delay,fluktuasi bandwidth, dan perubahan kondisi jaringan, penerapan best-effort
(28)
service bukanlah suatu tindakan yang bijaksana. Contohnya aplikasi telephony
pada jaringan yang membutuhkan besar bandwidth yang tetap, agar berfungsi dengan baik; dalam hal ini penerapan best-effort akan mengakibatkan panggilan telepon gagal atau terputus.
2) Integrated Service
Model integrated service menyediakan aplikasi dengan tingkat jaminan layanan melalui negosiasi parameter-parameter jaringan secara end-to-end. Aplikasi-aplikasi akan meminta tingkat layanan yang dibutuhkan untuk dapat beroperasi dan bergantung pada mekanisme QoS untuk menyediakan sumber daya jaringan yang dimulai sejak permulaan transmisi dari aplikasi-aplikasi tersebut. Aplikasi tidak akan mengirimkan traffic, sebelum menerima tanda bahwa jaringan mampu menerima beban yang akan dikirimkan aplikasi dan juga mampu menyediakan QoS yang diminta secara end-to-end. Untuk itulah suatu jaringan akan melakukan suatu proses yang disebut admission control.
Admission control adalah suatu mekanisme yang mencegah jaringan mengalami over-loaded. Jika QoS yang diminta tidak dapat disediakan, maka jaringan tidak akan mengirimkan tanda ke aplikasi agar dapat memulai untuk mengirimkan data. Jika aplikasi telah memulai pengiriman data, maka sumber daya pada jaringan yang sudah dipesan aplikasi tersebut akan terus dikelola secara end-to-end sampai aplikasi tersebut selesai.
3) Differentiated Service
Model terakhir dari QoS adalah model differentiated service.
Differentiated service menyediakan suatu set perangkat klasifikasi dan mekanisme antrian terhadap protokolprotokol atau aplikasi-aplikasi dengan prioritas tertentu di atas jaringan yang berbeda. Differentiated service bergantung pada kemampuan edge router untuk memberikan klasifikasi dari paket-paket yang berbeda tipenya yang melewati jaringan.Traffic jaringan dapat diklasifikasikan berdasarkan alamat jaringan, protocol dan port, ingressinterface,
(29)
atau klasifikasi lainnya selama masih didukung oleh standard atau extended access.
2.4.1PARAMETER-PARAMETER QoS
Performansi mengacu ke tingkat kecepatan dan keandalan penyampaian berbagai jenis beban data di dalam suatu komunikasi. Performansi merupakan kumpulan dari beberapa parameter besaran teknis, yaitu [10] :
1)Delay
Delay adalah waktu tunda suatu paket yang diakibatkan oleh proses transmisi dari satu titik ke titik lain yang menjadi tujuannya.
2) Jitter
Jitter dapat didefinisikan sebagai variasi delay antara blok-blok yang berurutan. Besarnya nilai jitterakan sangat dipengaruhi oleh variasi beban traffic
dan besarnya tumbukan antar paket (congestion) yang ada dalam jaringan. 3) Packet Loss
Packet loss didefinisikan sebagai kegagalan transmisi paket data mencapai tujuannya.
4) Noise
Noise merupakan sinyal gangguan yang tidak diinginkan, gangguan ini yang menyebabkan proses penyampaian pesan tidak berjalan sebagaimana mestinya sinyal asli yang dikirim.
5) Bandwitdh
Bandwitdh merupakan ukuran kecepatan aliran data yang menyatakan banyaknya informasi yang dapat mengalir dari suatu tempat ke tempat lain dalam suatu waktu tertentu.
(30)
Throughput merupakan besaran yang menunjukkan laju bit informasi data sebenarnya dari laju bit pada suatu jaringan telekomunikasi.
Parameter QoS yang dipakai pada tugas akhir ini adalah delay,
packetloss, dan throughput.
2.4.1.1DELAY
Delay adalah waktu tunda suatu paket yang diakibatkan oleh proses transmisi dari satu titik ke titik lain yang menjadi tujuannya. Delay dapat dipengaruhi oleh jarak, media fisik, kongesti, atau juga waktu proses yang lama [12].
Delay di dalam jaringan dapat digolongkan sebagai berikut : 1)Packetisasi delay
Delayyang disebabkan oleh waktu yang diperlukan untuk proses pembentukan paket IP dari informasi user. Delayini hanya terjadi sekali saja, yaitu di sourceinformasi.
2)Queuing delay
Delayini disebabkan oleh waktu proses yang diperlukan oleh routerdi dalam menangani transmisi paket di sepanjang jaringan. Umumnya delayini sangat kecil.
3)Delay propagasi
Proses perjalanan informasi selama di dalam media transmisi, misalnya
SDH, coaxatau tembaga, menyebabkan delayyang disebut dengan
delaypropagasi.
(31)
Tabel 2.1 Klasifilasi Delay [12].
Kategori Besar Delay
Sangat bagus < 150 ms
Bagus 150 s/d 300 ms
Jelek 300 s/d 450 ms
Tidak dapat diterima > 450 ms
Rumus untuk menghitung averagequeueingdelay(rata-rata delay antrian) adalah [13]:
(2.1)
Dengan t1 adalahwaktu kedatangan packet di router dan t2 adalahwaktu
packet keluar/ dikirim dari router.
2.4.1.2PACKET LOSS
Packet loss didefinisikan sebagai kegagalan transmisi paket IPmencapai tujuannya. Kegagalan paket tersebut mencapai tujuan, dapat disebabkan oleh beberapa kemungkinkan, diantaranya yaitu [12]:
1) Terjadinya overload traffic didalam jaringan, 2) Tabrakan (congestion) dalam jaringan, 3) Error yang terjadi pada media fisik,
4) Kegagalan yang terjadi pada sisi penerima antara lain bisa disebabkan karena overflow yang terjadi pada buffer.
Di dalam implementasi jaringan IP, nilai packet loss ini diharapkan mempunyai nilai yang minimum.Secara umum terdapat empat kategori
(32)
penurunan performansi jaringan berdasarkan nilai packet loss sesuai dengan [12], yaitu seperti tampak pada Tabel 2.2.
Tabel 2.2 Klasifikasi Packet Loss [12].
Kategori Persentase Packet Loss
Sangat bagus 0 %
Bagus 3 %
Sedang 15 %
Jelek 25 %
Rumus untuk menghitung packet loss router adalah [13]:
(2.2)
Denagan Pd adalah jumlah packet yang mengalami dropdi routerdan Ps
adalah jumlah packet yang diterima .
2.4.1.3THROUGHPUT
Throughput, yaitu kecepatan (rate) transfer data efektif, yang diukur dalam bps. Troughput merupakan jumlah total kedatangan paket yang sukses yang diamati pada destination selama interval waktu tertentu dibagi oleh durasi interval waktu tersebut.
Aspek utama throughput yaitu berkisar pada ketersediaan bandwidth
yang cukup untuk suatu aplikasi.Hal ini menentukan besarnya traffic yang dapat diperoleh aplikasi saat melewati jaringan. Aspek penting lainnya adalah error
(33)
(pada umumnya berhubungan dengan link error rate) dan losses (pada umumnya berhubungan dengan kapasitas buffer) [12].
Rumus untuk menghitung throughput adalah [13] :
(2.3)
2.5 SIMULASI JARINGAN
Simulasi jaringan adalah teknik pemodelan perilaku jaringan dengan menghitung interaksi antar entitas jaringan yang berbeda (host / router , data link , paket , dll) dengan menggunakan rumus matematika guna mengamati perilaku jaringan tersebut. Perilaku jaringan dan berbagai aplikasi serta layanan yang mendukung akan diamati dengan simulasi. Berbagai atribut lingkungan juga dapat dimodifikasi dengan cara yang terkontrol untuk menilai bagaimana jaringan akan berperilaku dalam kondisi yang berbeda [14].
2.5.1NETWORK SIMULATOR
Sebuah network simulator adalah bagian dari perangkat lunak atau perangkat keras yang memprediksi perilaku suatu jaringan dan meniru kinerja dari jaringan yang nyata tanpa menghadirkan jaringan yang nyata tersebut. Dalam simulator, jaringan komputer biasanya dimodelkan dengan perangkat, lalu lintas dan aplikasi.Biasanya pengguna menyesuaikan simulatornya dengan spesifikasi yang mereka butuhkan.network simulatormenyediakan dukungan besar untuk simulasi TCP,routing, dan multicastprotocol baik dalam sebuah jaringan berkabel ataupunjaringan nirkabel, seperti satelit misalnya. Selain TCP, kita juga bisa membangunsebuah skenario jaringan dengan menggunaka STCP, FTP, ataupun denganlalu lintas HTTP [15].
(34)
Berbagai jenis teknologi seperti UDP, TCP, ATM, IP serta topologi seperti Local Area Network (LAN), Ethernet , Wide Area Network (WAN), dan lain-lain dapat disimulasikan dengan simulator dan pengguna dapat menguji, menganalisa berbagai standar hasil selain merancang beberapa protokol baru atau strategi untuk routing.
2.5.2NETWORK SIMULATOR 2
Network Simulator (NS) pertama kali dibangun sebagai varian dari REAL NS pada tahun 1989 di University of California Berkeley (UCB). Pada tahun 1995, pembangunan NS didukung oleh Defense Advance Research Project Agency (DARPA) melalui Virtual Internet Testbed (VINT) Project, yaitu sebuah tim riset gabungan yang beranggotakan tenaga ahli dari Lawrence Berkeley of National Laboratory (LBNL) Xerox PARC, UCB dan University of Southern California School of Engineering/Information Science Institute
(USC/ISI) [6]. Tim gabungan ini membangun sebuah perangkat lunak simulasi jaringan internet untuk kepentingan riset. Tampilan NS-2 dapat dilihat pada Gambar 2.5.
Gambar 2.5 Tampilan NS-2 [6].
Interaksi antar protokol dalam konteks pengembangan protokol internet pada saat ini dan masa yang akan datang. Ada beberapa keuntungan
(35)
menggunakan NS sebagai perangkat lunak simulasi pembantu analisis dalam riset atau sewaktu mengerjakan tugas perkuliahan, di antaranya [15]:
1. NS dilengkapi dengan tool validasi. Tool validasi digunakan untuk menguji validitas pemodelan yang ada pada NS. Secara default, semua pemodelan pada NS akan dapat melewati proses validasi ini.
2. Pembuatan simulasi dengan menggunakan NS jauh lebih mudah daripada menggunakan software developer seperti Delphi atau C++. Pengguna hanya tinggal membuat topologi dan skenario simulasi sesuai dengan riset. Pemodelan media, protokol dan network component lengkap dengan perilaku jaringan sudah tersedia pada library NS.
3. NS bersifat open source di bawah Gnu Public License (GPL), sehingga NS dapat di Download dan digunakan gratis melalui web site NS
http://www.isi.edu/nsnam/dist. Sifat open source juga mengakibatkan pengembangan NS menjadi lebih dinamis. Pemodelan media, protokol,
network component dan perilaku traffic cukup lengkap bila dibandingkan dengan software sejenis lain. Ini disebabkan pengembangan NS dilakukan oleh banyak periset dunia.
NS2 mensimulasikan jaringan berbasis TCP/IP dengan berbagai macam medianya. Protokol jaringan yang dapat disimulasikan [15], diantaranya TCP/UDP/RTP, Traffic behaviour (FTP, Telnet, CBR, dll), Queue management
(RED, FIFO, CBQ), Algoritma routing unicast (Distance vector, Link state) dan
multicast, PIM SM, PIM DM, DVMRP, Shared Tree dan Bi directional Shared Tree, Aplikasi multimedia yang berupa layered video, danQoS video-audio dan
transconding. NS2 juga mengimplementasikan MAC (IEEE 802.3, 802.11), Media jaringan kabel (LAN, WAN, point to point), dan Nirkabel (Mobile IP,
Wireless LAN). 2.5.2.1TRACE F ILE
(36)
Data hasil simulasi yaitu data berbentuk file trace. File trace digunakan untuk proses analisis numerik. Contoh tampilan file trace dapat dilihat pada Gambar 2.6.
Gambar 2.6 Contoh trace file.
Trace file tersebut terdiri dari kolom-kolom hasil record yang dapat dijelaskan berikut.
1. Event
Kejadian yang dicatat oleh Ns, yaitu : r: receive (paket diterima oleh To Node)
+: enqueue (paket keluar dari From Node dan masuk ke dalam antrian )
–: dequeue (paket keluar dari antrian) d: drop (paket dibuang dari antrian )
2. Time
Event Time From
Node To Node
Packet Type
Packet
Size Flags
Flow id
Source Address
Dest. Address
Sequence Number
Packet id
(37)
Mengindikasikan waktu terjadinya suatu event, dalam hitungan detik setelah
start.
3. From NodedanTo Node
From node dan to node menyatakan keberadaan paket.Saat suatu kejadian dicatat, paket sedang berada pada link di antara From Node dan To Node 4. Packet Type
Menginformasikan tipe paket yang dikirim.Seperti udp, tcp, ack, atau cbr.
5. Packet Type
Ukuran paket dalam byte.
6. Flag
Flag digunakan sebagai penanda. Pada data diatas flag tidak digunakan. Macam-macam flag yang digunakan antara yaitu:
E untuk mengindikasikan terjadinya kongesti (Congestion Experienced
(CE)).
N untuk mengindikasikan ECN-Capable-Transport pada header IP. C untuk mengindikasikan ECN-Echo.
Auntuk mengindikasikan pengurangan window kongesti pada header
TCP.
P untuk mengindikasikan prioritas. F untuk mengindikasikan TCP fast start.
7. Flow id
Memberi nomor unik untuk mengidentifikasikan tiap aliran data.
8. Source Address
Alamat asal paket dengan format node.port.Misalnya 2.0 berarti node ke 2
port 0.
(38)
Alamat tujuan paket dengan format node.port. contoh 0.1 berarti node ke 0
port 1.
10.Sequence Number
Nomor urut paket.
11.Packet id
Nomor unik untuk tiap paket.
2.5.3TRANSPORT PROTOCOL
Dalam arsitektur jaringan komputer, terdapat suatu lapisan-lapisan (layer) yang memiliki tugas spesifik serta memiliki protokol tersendiri.International Standard Organization (ISO) telah mengeluarkan suatu standard untuk arsitektur jaringan komputer yang dikenal dengan namaOpen System Interconnection (OSI). Standard ini terdiri dari 7 lapisan protokol yang menjalankan fungsi komunikasi antara 2 komputer.Dalam TCP/IP hanya terdapat 5 lapisan.User Datagram Protocol (UDP) dan Transmission Control Protocol (TCP) berada pada transport layer yang berada pada arsitek TCP/IP [16].
2.5.3.1User Datagram Protocol
User Datagram Protocol (UDP) adalah salah satu lapisan
protocol transport TCP/IP yang mendukung komunikasi yang tidak andal (unreliable) karena pesan-pesan UDP akan dikirimkan sebagai datagram tanpa adanya nomor urut atau pesan acknowledgment. Karakteristik UDP lainnya adalah tanpa koneksi (connectionless) karena pesan-pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi antara dua host yang hendak berukar informasi. UDP menyediakan penghitungan checksum berukuran
(39)
16-bitterhadap keseluruhan pesan UDP.Pesan UDP dapat memiliki besar maksimum 65507 byte[17].
UDP sering digunakan dalam berbagai tugas, antara lain protokol yang ringan (lightweight) untuk menghemat sumber daya memory dan processor, protokol yang tidak membutuhkan keandalan, dan transmisi broadcast
karena UDP merupakan protokol yang tidak perlu membuat koneksi terlebih dahulu dengan sebuah host tertentu [17].
Koneksi dengan menggunakan UDP pada NS dilakukan dengan menggunakan agent UDP sebagai pengirim dan agentnull sebagai penerima. Aplikasi yang dipakai pada transport protocol UDP adalah Constant Bit Rate
(CBR) yang biasanya sering digunakan untuk menggambarkan aplikasi yang sifatnya real time atau memiliki tingkat sensitivitas terhadap delay yang cukup tinggi. Fungsi CBR ini membangkitkan data secara kontinu dengan bit rate yang konstan [6].
2.5.3.2Transmission Control Protocol
Transmission Control Protocol (TCP) adalah suatu protokol yang berada di lapisan transport (baik itu dalam tujuh lapis model OSI atau model DARPA) yang berorientasi sambungan (connection-oriented) karena sebelum data dapat ditransmisikan antara dua host, dua proses yang berjalan pada lapisan aplikasi harus melakukan negosiasi untuk membuat sesi koneksi terlebih dahulu. TCP dapat diandalkan (reliable) karena data yang dikirimkan ke sebuah koneksi TCP akan diurutkan dengan sebuah nomor urut paket dan akan mengharapkan paket positive acknowledgment dari penerima. Sebuah segmen TCP dapat berukuran hingga 65495 byte [18].
Karakteristik dari TCP adalah memiliki layanan flow control untuk mencegah data terlalu banyak dikirimkan pada satu waktu, yang akhirnya membuat macet jaringan. TCP mengimplementasikan layanan flow control yang
(40)
dimiliki oleh pihak pengirim yang secara terus menerus memantau dan membatasi jumlah data yang dikirimkan pada satu waktu. Karakteristik lainnya adalah full-duplex, untuk setiap host TCP, koneksi yang terjadi antara dua host
terdiri atas dua buah jalur, yakni jalur keluar dan jalur masuk. Dengan menggunakan teknologi lapisan yang lebih rendah yang mendukung full-duplex, data pun dapat secara simultan diterima dan dikirim [18].
Simulasi koneksi pada one way TCP dilakukan dengan menggunakan 2
agents yang berpasangan, yaitu TCP sender dan TCP sink. TCP sender berfungsi sebagai pengirim dan TCP sink bertugas mengirim ACK per paket yang diterima pada TCP sender pasangannya. Aplikasi yang dipakai pada TCP adalah File Transfer Protocol (FTP) yang biasanya sering digunakan untuk mengambarkan aplikasi yang sifatnya connection oriented yaitu dengan mengirim ulang paket yang hilang dan adanya flow control [6].
2.6ROUTER
Router adalah peralatan yang bekerja pada layer 3 Open System Interconnection (OSI) dan sering digunakan untuk menyambungkan jaringan luas
Wide Area Network (WAN) atau untuk melakukan segmentasi layer 3 di LAN [19]. WAN seperti halnya LAN juga beroperasi di layer 1, 2 dan 3 OSI sehingga
router yang digunakan untuk menyambungkan LAN dan WAN harus mampu mendukung.
Router memiliki kemampuan melewatkan paket IP dari satu jaringan ke jaringan lain yang mungkin memiliki banyak jalur diantara keduanya. Router-router yang saling terhubung dalam jaringan internet turut serta dalam sebuah
algoritma routing terdistribusi untuk menentukan jalur terbaik yang dilalui paket IP dari system ke sistem lain. Proses routing dilakukan secara hop by hop. IP tidak mengetahui jalur keseluruhan menuju tujuan setiap paket. IP routing hanya
(41)
menyediakan IP address dari router berikutnya yang menurutnya lebih dekat ke
host tujuan.
Menghubungkan komputer dengan komputer lain dapat dilakukan dengan cara langsung menggunakan kabel jaringan ataupun dengan peralatan tambahan. Jika ingin menyambungkan beberapa komputer di dalam satu ruangan sudah pasti memerlukan peralatan penyambung seperti hub atau switch.
Hub ataupun switch mempunyai kemampuan untuk menyambungkan pada jarak yang berdekatan berkapasitas bandwith mulai dari 10Mbps sampai 1000Mbps. Namun sayang kecepatan tinggi tersebut hanya dapat dinikmati di dalam satu ruangan saja Local Areal Network (LAN) .Untuk menyambungkan jaringan dalam satu ruangan ke jaringan yang lebih luas memerlukan peralatan yang disebut router.
Berhubungan dengan jaringan yang lebih luas atau internet berarti akan menghadapi internetworking yang memiliki prinsip dasar sebgai berikut:
a. Pengalamatan secara konsisten
b. Memiliki topologi jaringan mewakili pengalamatan.
c. Pemilihan jalur pengiriman data (terestial, gelombang mikro, satelit, fiber optic dan lainnya).
d. Penggunaan router statik maupun dinamik.
e. Menyambungkan berbagai tempat secara online tanpa keterbatasan waktu penyambungan.
(42)
26
BAB III
PERANCANGAN SIMULASI
3.1PERANCANGAN SIMULASI
Perancangan simulasi manajemen antrian Drop Tail dan Fair Queueing ini memerlukan perencanaan yang baik agar hasil yang didapat sesuai dengan teori yang ada. Tahap – tahap dalam perancangan simulasi ini akan dijelaskan dengan flow chat
pada Gambar 3.1.
mulai
Instalasi NS-2
Inisialisasi jumlah node, link, agent, set
parameter, ukuran paket
Membangun node
Pembentukan link antar node dan
tipe antrian
Transport agent dan pasangannya
Membuat aplikasi/ sumber trafik
Mengolah data Trace untuk mendapatkan data Throughput, delay, dan
Packet Loss
Hasil olah data trace
Selesai Menjalankan
simulasi
Hasil simulasi
Gambar 3.1 Flowchart Perancangan Simulasi
Simulasi menggunakan Network Simulator 2 versi 2.30 yang diinstal pada sistem operasi Windows XP dengan aplikasi Cygwin.Pada perancangan simulasi ini antrian DT dan FQ dibuat pada router dengan besar buffer yang berbeda pada masing–masing pengujian simulasi.
(43)
Sistem yang akan dibuat terdiri dari 2 skenario. Skenario pertama menunjukkan simulasi menggunakan antrian DT pada router dan skenario kedua menggunakan antrian FQ pada router. Rancangan sistem yang akan dibuat dijelaskan pada Table 3.1.
Table 3.1 Skenario Simulasi
Kondisi Skenario 1 Skenario 2
Jumlah Node 6 6
Router Antrian : Drop Tail
Buffer : 10, 25, 50, 75, 100
Antrian : Fair Queueing
Buffer : 10, 25, 50, 75, 100
Transport protocol & Paket
TCP
Ukuran : 20 byte
: 65495 byte
Interval pengiriman : 0.05s
TCP
Ukuran : 20 byte
: 65495 byte
Interval pengiriman : 0.05s UDP
Ukuran : 8 byte
: 65507 byte
Interval pengiriman : 0.05s
UDP
Ukuran : 8 byte
: 65507 byte
Interval pengiriman : 0.05s
Link Comp 1 - Router Delay propagation : 1 ms
Bandwidth : 1 Mbps
Delay propagation : 1 ms
Bandwidth : 1 Mbps
Link Comp 2 - Router Delay propagation : 1 ms
Bandwidth : 1 Mbps
Delay propagation : 1 ms
Bandwidth : 1 Mbps
Link Comp 3 - Router Delay propagation : 1 ms
Bandwidth : 1 Mbps
Delay propagation : 1 ms
Bandwidth : 1 Mbps
Link Comp 4 - Router Delay propagation : 1 ms
Bandwidth : 1 Mbps
Delay propagation : 1 ms
Bandwidth : 1 Mbps
Link Comp 5 - Router Delay propagation : 1 ms
Bandwidth : 2 Mbps
Delay propagation : 1 ms
(44)
3.2TOPOLOGI JARINGAN
Topologi sistem yang akan dibuat dapat dimodelkan seperti Gambar 3.2.
` `
`
router
komputer 5
komputer 3 komputer 2
`
` komputer 1
komputer 4
Gambar 3.2 Topologi Jaringan
Gambar 3.2 menjelaskan bahwa dalam sistem tersebut terdapar 5 buah komputer dan 1 buah router. Komputer 1, 2, 3, dan 4 akan mengirimkan paket TCP maupun UDP ke komputer 5 sebagai tujuan. Router bertugas sebagai perantara pengiriman paket sehingga dapat sampai tujuan.Pada router terdapat buffer atau besar antrian yang digunakan untuk menampung paket yang datang sebelum diteruskan ke tujuan.
(45)
3.3Konfigurasi Sistem
Pada sistem yang akan dibuat terdapat 6 node, 5 node sebagai komputer atau 1
node sebagai router dan 5 link sebagai media transmisi data. Node dan link tersebut akan dikonfigurasi sebagai berikut :
Link antara komputer 1 dan router memiliki besar bandwidth1 Mbps dan delay
sebesar 1 ms. Dengan sistem antrian DT pada pengujian pertama dan FQ pada pengujian kedua.
Link antara komputer 2 dan router memiliki besar bandwidth1 Mbps dan delay
sebesar 1 ms. Dengan sistem antrian DT pada pengujian pertama dan FQ pada pengujian kedua.
Link antara komputer 3 dan router memiliki besar bandwidth1 Mbps dan delay
sebesar 1 ms. Dengan sistem antrian DT pada pengujian pertama dan FQ pada pengujian kedua.
Link antara komputer 4 dan router memiliki besar bandwidth1 Mbps dan delay
sebesar 1 ms. Dengan sistem antrian DT pada pengujian pertama dan FQ pada pengujian kedua.
Link antara komputer 5 dan router memiliki besar bandwidth2 Mbps dan delay
sebesar 1 ms. Dengan sistem antrian DT pada pengujian pertama dan FQ pada pengujian kedua.
Dalam mendesain sistem ini, ada beberapa asumsi yang akandigunakan dalam melakukan simulasi. Berikut ini adalah asumsi-asumsi yangdipakai dalam perancangan sistem :
Ukuran buffer pada routersetiap pengujian masing-masing manajemen antrian adalah 10, 25, 50, 75, 100 yang ditempatkan pada link antara router dan komputer 5.
(46)
Paket yang dikirimkan oleh komputer 1 ,2 , 3 , dan 4 adalah paket TCP pada pengujian pertama dan paket UDP pada pengujian kedua.
Ukuran paket TCP pada pengujian adalah dengan ukuran paket terkecil yaitu 20
byte dan ukuran paket terbesar yaitu 65495 byte. Interval pengiriman paket adalah 0.05s.Sedangkan ukuran paket UDP pada pengujian adalah dengan ukuran paket terkecil yaitu 8 byte dan ukuran paket terbesar yaitu 65507 byte. Interval pengiriman paket adalah 0.05s.
Aplikasi yang dipakai pada transport protocol UDP adalah Constant Bit Rate
(CBR) yang biasanya sering digunakan untuk menggambarkan aplikasi yang sifatnya real time atau memiliki tingkat sensitivitas terhadap delay yang cukup tinggi.Sedangkan aplikasi yang dipakai pada transport protocol TCP adalah File Transfer Protocol (FTP) yang biasanya sering digunakan untuk mengambarkan aplikasi yang sifatnya connection oriented yaitu dengan mengirim ulang paket yang hilang dan adanya flow control.
3.4Pengukuran Parameter Kinerja
Setelah menjalankan simulasi yang telah dibuat, maka maka akan muncul
trace file. Trace fileberisi kronologis kejadian dalam simulasi yang dibuat.Trace filerecord dari simulasi yang dibuat tersusun dalam format yang sudah ditentukan seperti Table 3.2.
Tabel 3.2 Record Trace File
FORMAT KETERANGAN
$1 Event
(47)
Data - data trace file yang telah didapat digunakan untuk menghitung dan menganalisa throughput, average delay,dan packet lossdengan bantuan program awk. Program awk merupakan command line utility yang dikembangkan Unix dan Linux.
Dari analisa tersebut, nilai throughput, average delay router,dan packet loss routerakan dibandingkan pada manajemen antrian DT dan FQ, sehingga akan didapat manajemen antrian mana yang lebih baik.
Tabel 3.2 (lanjutan) Record Trace File
FORMAT KETERANGAN
$3 From
$4 To
$5 Packet Type
$6 Packet Size
$7 Flags
$8 Flow Id
$9 Source Address
$10 Destination Address
$11 Seq Num
(48)
3.4.1 Menghitung packet loss router
Packet loss router didapat dengan menghitung jumlah paket yang di-drop di
router dibagi jumlah paket yang diterima oleh router dikali 100%.Satuan packet lossrouter adalah %. Penghitungan packet loss router menggunakan program .awk
yang akan dibuat. Flowchatpacket loss router dapat dilihat pada gambar 3.3.
start
jml_drop = 0 jml_terima = 0
action = $1; time = $2; node_1 = $3; node_2 = $4; src = $5; flow_id = $8; node_1_address = $9; node_2_address = $10;
seq_no = $11; packet_id = $12;
action = d & node_1 = 4 &
node_2 = 5
jml_drop = jml_drop + 1 yes
action != d
action = r & node_1 = 4 &
src != ack
jml_terima = jml_terima + 1
Print : jml_drop jml_terima PAKET LOSS
ANTRIAN PAKET LOSS ANTRIAN = jml_drop / jml_terima * 100
break no no break
yes
yes
finish
break no
(49)
3.4.2 Menghitung average delay router
Average delay router didapat dengan menghitung total delay antrian di router
dibagi jumlah paket yang diterima oleh router. Satuan average delay routeradalah ms. Penghitungan average delay router menggunakan program .awk yang akan dibuat. Flowchataverage delay router dapat dilihat pada gambar 3.4.
start
highest_packet_id = 0; total_duration = 0;
num_out = 0; action = $1; time = $2; node_1 = $3; node_2 = $4; src = $5; flow_id = $8; node_1_address = $9; node_2_address = $10; seq_no = $11; packet_id = $12;
start_time[packet_id] == 0 & action == "+" &
node_2=="4"
start_time[packet_id] = time
yes
action != "d" action != "r"
action == "-" & node_1=="4" & node_2=="5"
num_out = num_out + 1 end_time[packet_id] = time;
Print : Total Delay Total Packet out R AVERAGE DELAY start = start_time[packet_id];
end = end_time[packet_id]; packet_duration = end - start; break
end_time[packet_id] = -1; no no yes yes finish break no packet_id > highest_packet_id highest_packet_id = packet_id acket_id <= highest_packet_id
start < end
total_duration = total_duration + packet_duration; i++
AVERAGE DELAY = total_duration/num_out
(50)
3.4.3 Menghitung throughput
Throughput didapat dengan menghitung total paket yang keluar dari router
dibagi delay rata-rata yang terjadi pada antrian router. Satuan throughput adalah
packet per second (p/s).penghitunganthroughputmenggunakan program .awk yang akan dibuat. Flowchatthroughputdapat dilihat pada gambar 3.5.
start highest_packet_id = 0;
total_duration = 0; num_received = 0; paket_1st=0;
action = $1; time = $2; node_1 = $3; node_2 = $4; src = $5; flow_id = $8; node_1_address = $9; node_2_address = $10; seq_no = $11; packet_id = $12;
start_time[packet_id ] == 0
start_time[packet_id] = time yes
action != "d" action != "r"
action == "r" && node_2 =="5"
num_out = num_out + 1; end_time[packet_id] = time;
Print : Average Delay R Total Packet out R THROUGHPUT start = start_time[packet_id];
end = end_time[packet_id]; packet_duration = end - start;
break no no end_time[packet_id] = -1;
yes yes finish break no packet_id > highest_packet_id highest_packet_id = packet_id acket_id <= highest_packet_id
start < end
total_duration = total_duration + packet_duration; i++ num_out/(total_duration/ num_out) packet_id==0 paket_1st= start_time[packet_id]
(51)
35
BAB IV
PENGUJIAN DAN ANALISIS
Skenario simulasi jaringan dilakukan untuk pengujian unjuk kerja
manajemenantrian DT dan FQ.Setelah menjalankan simulasi dari setiap skenario,
trace filedidapat.Trace file tersebut diproses dengan fileawk untuk mendapat data parameter kinerja.
Potongan listingprogram dibawah ini menunjukkan parameter yang diatur pada setiap simulasi, diantaranya adalah jumlah node, jenis link, besar bandwidth,
delay, jenis antrian, dan posisi. Pengujian tersebut akan menghasilkan data yang disajikan dalam bentuk grafik dan tabel.
4.1Penjelasan Program dan Contoh Pengambilan Nilai dari Trace F ile
Program yang digunakkan dalam penelitian ini yaitu progam .awk yang berfungsi untuk mengambil data-data dari trace fileyang dibutuhkan untuk mengukur kinerja manajemen antrian yang diuji. Listing program .awk adalah sebagai berikut :
set n0 [$ns node] set n1 [$ns node] set n2 [$ns node] set n3 [$ns node] set n4 [$ns node] set n5 [$ns node]
$ns duplex-link $n0 $n4 1Mb 1ms DropTail / FQ $ns duplex-link $n1 $n4 1Mb 1ms DropTail / FQ $ns duplex-link $n2 $n4 1Mb 1ms DropTail / FQ $ns duplex-link $n3 $n4 1Mb 1ms DropTail / FQ $ns duplex-link $n4 $n5 2Mb 1ms DropTail / FQ $ns duplex-link-op $n0 $n4 orient down
$ns duplex-link-op $n1 $n4 orient right-down $ns duplex-link-op $n2 $n4 orient right-up $ns duplex-link-op $n3 $n4 orient up
(52)
1. Average Delay Router
BEGIN {
highest_packet_id = 0; total_duration = 0; num_out = 0;
} {
action = $1; time = $2; node_1 = $3; node_2 = $4; src = $5; flow_id = $8;
node_1_address = $9; node_2_address = $10; seq_no = $11;
packet_id = $12;
if ( packet_id > highest_packet_id ) highest_packet_id = packet_id;
# mendapatkan waktu paket masuk ke antrian node 4 (router)
if ( start_time[packet_id] == 0 && action == "+" && node_2=="4"){ start_time[packet_id] = time;
}
# mendapatkan waktu ketika paket keluar dari antrian node 4 (router) # dan mengitung jumlah paket yang berhasil keluar dari node 4 tanpa drop.
if ( action != "d" || action != "r") {
if ( action == "-" && node_1=="4" && node_2=="5") { num_out = num_out + 1;
end_time[packet_id] = time; }
} else {
end_time[packet_id] = -1; }
}
END {
# menghitung delay tiap paket dan total delay
# dan menampilkan paket id, start time, end time, delay untuk setiap paket. for ( packet_id = 0; packet_id <= highest_packet_id; packet_id++ ) {
start = start_time[packet_id]; end = end_time[packet_id]; packet_duration = end - start; if ( start < end ) {
printf("packet id ="packet_id); printf(" Start ="start);
printf(" end ="end);
printf(" delay ="end-start); printf("\n")
total_duration = total_duration + packet_duration; }
(53)
Penjelasan dari listingprogram diatas adalah:
1) Untuk mengetahui start time paket ketika masuk ke antrian router yaitu dengan melihat pada trace file dengan ketentuan start_time[packet_id] == 0, action == "+", dan node_2=="4".
2) Untuk mengetahui jumlah paket dan end time paket ketika keluar dari router
yaitu dengan melihat pada trace file dengan ketentuan action != "d" || action != "r", action == "-", node_1=="4", node_2=="5".
3) Untuk menghitung delay adalah dengan end time – start time untuk setiap paket. Untuk menghitung total delay adalah dengan total_duration = total_duration + packet_duration.
4) Menghitung total delay dalam ms yaitu dengan total_duration*1000 ms.
5) Menghitung average delay router dalam ms yaitu dengan
(total_duration*1000 ms)/num_out.
printf("\n--- \n");
# Menghitung dan menampilkan total delay, total paket keluar dari R, dan rata2 delay
printf("Total Delay = %.6f \n", (total_duration*1000)); printf("Total Packet out R = %f \n\n", num_out);
printf("AVERAGE DELAY = %.6f ms \n", (total_duration*1000)/num_out);
printf("==================================== \n"); }
(54)
2. Packet Loss Router
Penjelasan dari listingprogram diatas adalah:
1) Untuk menghitung jumlah paket drop pada antrian router yaitu dengan melihat pada trace file dengan ketentuan action =="d", node_1 == "4", node_2 == "5", dan menghitung denganjml_drop = jml_drop + 1.
BEGIN {
jml_drop = 0 jml_terima = 0 }
{
action = $1; time = $2; node_1 = $3; node_2 = $4; src = $5; flow_id = $8;
node_1_address = $9; node_2_address = $10; seq_no = $11;
packet_id = $12;
# menghitung jumlah paket drop yang ada di antrian node 4 (router) if (action =="d" && node_1 == "4" && node_2 == "5") {
jml_drop = jml_drop + 1; }
# menghitung jumlah paket; kecuali ack yang diterima oleh node 4 (router) if ( action != "d") {
if (action == "r" && node_2 == "4" && src != "ack") { jml_terima = jml_terima + 1;
} }
}
END {
# menghitung paket loss pada router dalam satuan %
# dan menampilkan total paket drop, paket diterima, paket loss di router. printf("\n--- \n"); printf("Total Paket Drop di Router = %f ", jml_drop);
printf("\n");
printf("Total Paket Diterima Router = %f ", jml_terima); printf("\n\n");
printf("PAKET LOSS ANTRIAN = %f %", jml_drop/jml_terima*100); printf("\n");
printf("============================================== \n"); }
(55)
2) Untuk menghitung jumlah paket yang diterima router kecuali ack yaitu dengan melihat pada trace file dengan ketentuan action != "d", action == "r", node_2 == "4", src != "ack", dan menghitung dengan jml_terima = jml_terima + 1.
3) Untuk menghitung paket loss antrian router yaitu dengan
jml_drop/jml_terima*100 %.
3. Throughput Router
BEGIN {
highest_packet_id = 0; total_duration = 0; num_out = 0;
} {
action = $1; time = $2; node_1 = $3; node_2 = $4; src = $5; flow_id = $8;
node_1_address = $9; node_2_address = $10; seq_no = $11;
packet_id = $12;
if ( packet_id > highest_packet_id ) highest_packet_id = packet_id;
# mendapatkan waktu paket masuk ke antrian node 4 (router)
if ( start_time[packet_id] == 0 && action == "+" && node_2=="4"){ start_time[packet_id] = time;
}
# mendapatkan waktu ketika paket keluar dari antrian node 4 (router) # dan mengitung jumlah paket yang berhasil keluar dari node 4 tanpa drop.
if ( action != "d" || action != "r") { #ketika aktion d dan r tidak di hitung
if ( action == "-" && node_1=="4" && node_2=="5") { num_out = num_out + 1;
end_time[packet_id] = time; }
} else {
end_time[packet_id] = -1; }
(56)
Penjelasan dari listingprogram diatas adalah:
1) Untuk mengetahui start time paket ketika masuk ke antrian router yaitu dengan melihat pada trace file dengan ketentuan start_time[packet_id] == 0, action == "+", dan node_2=="4".
2) Untuk mengetahui jumlah paket dan end time paket ketika keluar dari router
yaitu dengan melihat pada trace file dengan ketentuan action != "d" || action != "r", action == "-", node_1=="4", node_2=="5".
3) Untuk menghitung delay adalah dengan end time – start time untuk setiap paket. Dan untuk menghitung totaldelay adalah dengan total_duration = total_duration + packet_duration.
4) Menghitung average delay router dalam ms yaitu dengan
total_duration*/num_out.
5) Untuk menghitung throughput yaitu dengan
num_out/(total_duration/num_out). END {
# Menghitung paket durasi / delay untuk setiap paket dan menghitung total delay for ( packet_id = 0; packet_id <= highest_packet_id; packet_id++ ) {
start = start_time[packet_id]; end = end_time[packet_id]; packet_duration = end - start; if ( start < end ) {
total_duration = total_duration + packet_duration; }
}
printf("\n--- \n");
# Menghitung dan menampilkan delay rata2 R, total paket keluar dari R dan throughput
printf("Average Delay R = %.6f s\n", total_duration/num_out); printf("Total Packet out R = %f \n\n", num_out);
printf("THROUGHPUT = %.6f p/s \n", num_out/(total_duration/num_out));
printf("==================================== \n"); }
(57)
4.2 Pengambilan nilai dari trace file
Dari simulasi yang dijalankan, akan menghasilkan trace file. Trace file
tersebut berisi pencatatan seluruh kejadian dari simulasi yang dibangun. Dari trace file tersebut dapat dijadikan acuan pengambilan nilai. Berikut adalah cara pengambilan nilai dari parameter-parameter yang diuji.
1. Average delay router
Potongan trace file pada Gambar 4.1 menampilkan contoh pengambilan nilai
average delay router dari trace file.
Gambar 4.1 potongan trace file Average delay router
a) Mengambil start time paket masuk ke antrian router.
Dengan ketentuan start_time[packet_id] == 0 && action == "+" && node_2=="4"
Maka didapat start time untuk paket dengan paket_id 1944 adalah 4.75456. + 0.2 0 4 tcp 40 --- 1 0.0 5.0 0 0
- 0.2 0 4 tcp 40 --- 1 0.0 5.0 0 0 r 0.20132 0 4 tcp 40 --- 1 0.0 5.0 0 0 + 0.20132 4 5 tcp 40 --- 1 0.0 5.0 0 0 - 0.20132 4 5 tcp 40 --- 1 0.0 5.0 0 0 r 0.20248 4 5 tcp 40 --- 1 0.0 5.0 0 0
...
+ 4.75456 0 4 tcp 1040 --- 1 0.0 5.0 56 1944 - 4.75456 0 4 tcp 1040 --- 1 0.0 5.0 56 1944 r 4.76388 0 4 tcp 1040 --- 1 0.0 5.0 56 1944 + 4.76388 4 5 tcp 1040 --- 1 0.0 5.0 56 1944 - 4.76388 4 5 tcp 1040 --- 1 0.0 5.0 56 1944 r 4.76904 4 5 tcp 1040 --- 1 0.0 5.0 56 1944 + 4.76904 5 4 ack 40 --- 1 5.0 0.0 56 1945 - 4.76904 5 4 ack 40 --- 1 5.0 0.0 56 1945 r 4.7702 5 4 ack 40 --- 1 5.0 0.0 56 1945 + 4.7702 4 0 ack 40 --- 1 5.0 0.0 56 1945 - 4.7702 4 0 ack 40 --- 1 5.0 0.0 56 1945 r 4.77152 4 0 ack 40 --- 1 5.0 0.0 56 1945
b a
e a
b e
(58)
b) Mengambil end time paket yang keluar dari antrian router.
Dengan ketentuan action != "d" || action != "r", action == "-" && node_1=="4" && node_2=="5".
Maka didapat end time untuk paket dengan paket_id 1944 adalah 4.76388. c) Menghitung delay setiap paket yaitu dengan rumus end time - start time. Pada
contoh diatas delay untuk paket_id 0 adalah 0.20132 - 0.2 = 0.00132 s Dan delay untuk paket_id 1944 adalah 4.76388 - 4.75456 = 0.00932 s
d) Menghitung total delay yaitu dengan menjumlahkan semua delay setiap paket. Pada contoh diatas total delay adalah 0.00132 + 0.00932 = 0.01064 s.
e) Menghitung total paket yang keluar dari router.
Dengan ketentuan action != "d" || action != "r", action == "-" && node_1=="4" && node_2=="5".
Sebagai contoh pada potongan trace file paket yang keluar dari router
berjumlah 2 yaitu paket dengan id 0 dan 1944.
Dengan rumus average delay router = ( total delay *1000 ms) / paket keluar dari router, maka dari potongan trace file tersebut dapat dihitung :
average delay router = 0.01064 s * 1000 ms / 2 = 10.64ms / 2
= 5.32 ms
2. Packet loss router
Potongan trace file pada Gambar 4.2 menampilkan contoh pengambilan nilai
(59)
Gambar 4.2 potongan trace file Packet loss router
a) Menghitung jumlah paket drop pada antrian router.
Dengan ketentuan action =="d" && node_1 == "4" && node_2 == "5". Dari contoh di atas didapat jumlah paket dropdi router adalah 2 untuk paket dengan paket_id 64 dan 69.
b) Menghitung jumlah paket yang diterima oleh router.
Dengan ketentuan action != "d", action == "r" && node_2 == "4" && src != "ack".
Dari contoh di atas didapat jumlah paket yang diterima oleh router adalah 3 untuk paket dengan paket_id 64, 69, dan 1944.
Dengan rumus packet loss router = jml_drop / jml_terima * 100, maka dari potongan trace file tersebut dapat dihitung :
packet loss router = 2 / 3 * 100 % = 0.6666667 * 100 % = 66.6667 %.
- 0.47984 0 4 tcp 1040 --- 1 0.0 5.0 34 64 ...
r 0.48916 0 4 tcp 1040 --- 1 0.0 5.0 34 64 + 0.48916 4 5 tcp 1040 --- 1 0.0 5.0 34 64 d 0.48916 4 5 tcp 1040 --- 1 0.0 5.0 34 64
...
- 0.48816 0 4 tcp 1040 --- 1 0.0 5.0 35 69 ...
r 0.49748 0 4 tcp 1040 --- 1 0.0 5.0 35 69 + 0.49748 4 5 tcp 1040 --- 1 0.0 5.0 35 69 d 0.49748 4 5 tcp 1040 --- 1 0.0 5.0 35 69
...
+ 4.75456 0 4 tcp 1040 --- 1 0.0 5.0 56 1944 - 4.75456 0 4 tcp 1040 --- 1 0.0 5.0 56 1944 r 4.76388 0 4 tcp 1040 --- 1 0.0 5.0 56 1944 + 4.76388 4 5 tcp 1040 --- 1 0.0 5.0 56 1944 - 4.76388 4 5 tcp 1040 --- 1 0.0 5.0 56 1944 r 4.76904 4 5 tcp 1040 --- 1 0.0 5.0 56 1944
b a
a b
(60)
3. Throughput router
Potongan trace file pada Gambar 4.3 menampilkan contoh pengambilan nilai
throughput router dari trace file.
Gambar 4.3 potongan trace file Throughput router
a) Mengambil start time paket masuk ke antrian router.
Dengan ketentuan start_time[packet_id] == 0 && action == "+" && node_2=="4".
Maka didapat start time untuk paket dengan paket_id 1944 adalah 4.75456. b) Mengambil end time paket yang keluar dari antrian router.
Dengan ketentuan action != "d" || action != "r", action == "-" && node_1=="4" && node_2=="5".
Maka didapat end time untuk paket dengan paket_id 1944 adalah 4.76388. c) Menghitung delay setiap paket yaitu dengan rumus end time - start time. Pada
contoh diatas delay untuk paket_id 0 adalah 0.20132 - 0.2 = 0.00132 s Dan delay untuk paket_id 1944 adalah 4.76388 - 4.75456 = 0.00932 s + 0.2 0 4 tcp 40 --- 1 0.0 5.0 0 0
- 0.2 0 4 tcp 40 --- 1 0.0 5.0 0 0 r 0.20132 0 4 tcp 40 --- 1 0.0 5.0 0 0 + 0.20132 4 5 tcp 40 --- 1 0.0 5.0 0 0 - 0.20132 4 5 tcp 40 --- 1 0.0 5.0 0 0 r 0.20248 4 5 tcp 40 --- 1 0.0 5.0 0 0
...
+ 4.75456 0 4 tcp 1040 --- 1 0.0 5.0 56 1944 - 4.75456 0 4 tcp 1040 --- 1 0.0 5.0 56 1944 r 4.76388 0 4 tcp 1040 --- 1 0.0 5.0 56 1944 + 4.76388 4 5 tcp 1040 --- 1 0.0 5.0 56 1944 - 4.76388 4 5 tcp 1040 --- 1 0.0 5.0 56 1944 r 4.76904 4 5 tcp 1040 --- 1 0.0 5.0 56 1944 + 4.76904 5 4 ack 40 --- 1 5.0 0.0 56 1945 - 4.76904 5 4 ack 40 --- 1 5.0 0.0 56 1945 r 4.7702 5 4 ack 40 --- 1 5.0 0.0 56 1945 + 4.7702 4 0 ack 40 --- 1 5.0 0.0 56 1945 - 4.7702 4 0 ack 40 --- 1 5.0 0.0 56 1945 r 4.77152 4 0 ack 40 --- 1 5.0 0.0 56 1945
b a
e a
b e
(61)
d) Menghitung total delay yaitu dengan menjumlahkan semua delay setiap paket. Pada contoh diatas total delay adalah 0.00132 + 0.00932 = 0.01064 s.
e) Menghitung total paket yang keluar dari router.
Dengan ketentuan action != "d" || action != "r", action == "-" && node_1=="4" && node_2=="5".
Sebagai contoh pada potongan trace file paket yang keluar dari router
berjumlah 2 yaitu paket dengan id 0 dan 1944.
Dengan rumus throughput router = num_out / (total_duration / num_out), maka dari potongan trace file tersebut dapat dihitung :
packet loss router = 2 / ( 0.01064 / 2 ) = 2 / 0.00532 = 375.9398 p/s
4.3 Penghitungan dan Analisis
Penghitungan dilakukan untuk mengukuraverage delay router, packet loss router, dan throughput routerdalam jaringan menggunakan manajemen antrian DT dan FQ. Dari hasil pengitungan tersebut selanjutnya peneliti akan melakukan analisis.
4.3.1 Average Delay Router
Average delay router adalah hasil rata-rata dari waktu paket dikirim oleh
router dikurangi waktu paket diterimaoleh router untuk setiap paket id dan dibagi jumlah paket yang dikirim / diproses oleh router. Kinerja manajemen antrian pada
routerakan lebih baik jika nilai delay antrian semakin kecil.
Hasil perhitungan average delay router didapat dari trace file setiap percobaan dan dihitung dengan program .awk. Dari program awk tersebut dapat diketahui start time dan end time semua paket di dalam antrian router, delay antrian setiap paket, total delay, total packet yang keluar dari router, dan average delay
(62)
router. Contoh output dari program delay_antrian.awk pada FQ-TCP-paket
MAX-buffer 10 dapat dilihat pada Gambar 4.4 berikut.
Gambar 4.4 contoh output Average_delay_router.awk
Hasil dari penghitungan average delay router dapat ditampilkan dalam bentuk tabel dan grafik. Tabel dan grafik tersebut memperlihatkan pengaruh ukuran
buffer, jenis paket, ukuran paket terhadap kinerja dari manajemen antrian DT dan FQ.Hasil dari average delay router ditampilkan dalam bentuk grafik pada Gambar 4.5 dan tabel dapat dilihat pada Tabel 4.1.
Gambar 4.5 Grafik average delay router 0 200 400 600 800 1000 1200
10 25 50 75 100
A V E RA G E D E LA Y R O U T E R ( m
s) TCP - MAX DT
TCP - MIN DT
TCP - MAX FQ
TCP - MIN FQ
UDP - MAX DT
UDP - MIN DT
UDP - MAX FQ
UDP - MIN FQ
(63)
Tabel 4.1Average delay router (ms)
QUEUE TCP - MAX TCP - MIN UDP - MAX UDP - MIN
DT FQ DT FQ DT FQ DT FQ
10 100.838 294.237 100.838 294.237 375.658 981.079 1.111 1.111 25 127.224 294.237 127.224 294.237 430.225 981.079 1.111 1.111 50 173.771 294.237 173.771 294.237 518.998 981.079 1.111 1.111 75 260.983 294.237 260.983 294.237 604.719 981.079 1.111 1.111 100 288.002 294.237 288.002 294.237 686.619 981.079 1.111 1.111
Dari grafik yang terlihat pada Gambar 4.5 dan dari Tabel 4.1, dapat diambil beberapa kesimpulan. Pertama, bahwa semakin besar ukuran buffer, average delay
yang terjadi di routerakan semakin besar pada manajemen antrian DT. Hal ini disebabkan karena semakin besar ukuran buffer, antrian paket akan semakin panjang. Hal ini mengakibatkan paket yang masuk pada antrian bufferakan semakin lama diproses.
Kedua, ukuran buffer tidak mempengaruhi average delay router pada manajemen antrian FQ.Hal ini disebabkan karena antrian buffer pada manajemen antrian FQ dibagi berdasarkan kelas-kelas dan diproses bergantian secara adil.Average delay router antrian pada manajemen antrian FQ cenderung stabil walaupun dengan ukuran buffer yang berbeda-beda.
Ketiga, nilai average delay router antrian pada manajemen antrian FQ lebih besar dari pada manajemen antrian DT.Hal ini disebabkan karena router pada manajemen antrian FQ memproses 4 kelas pada buffer secara bergantian satu demi satu dan mengakibatkan semakin lama paket menunggu di dalam antrian untuk diproses.
Keempat, ukuran paket pada TCP tidak mempengaruhi average delay router.Hal ini disebabkan karena TCP mempunyai congestion control dan flow
(64)
control jadi dapat mengatur aliran paket yang masuk ke router sehingga dapat berpengaruh juga pada delay.
Kelima, ukuran paket pada UDP mempengaruhi average delay router. Hal ini disebabkan karena UDP tidak mempunyai congestion control dan flow control
sehingga paket terus memenuhi buffer dan mengakibatkan delay antrian besar. Secara keseluruhan, menurut [12], nilai average delay router pada DT dikategorikan dalam sangat bagus karena kurang dari 150 ms, kecuali untuk paket UDP dengan ukuran maksimum dikategorikan dalam jelek dan tidak dapat diterima karena antara 300 - 450 ms dan diatas 450 ms. Sedangkan nilai average delay router
pada FQ dikategorikan bagus yaitu antara 150-300 ms, kecuali pada UDP dengan paket minimum yang dikategorikan sangat bagus karena kurang dari 150 ms dan dikategorikan tidak dapat diterima pada UDP dengan paket maksimum karena lebih dari 450 ms.
4.3.2 Packet Loss Router
Packet loss router adalah jumlah paket yang dibuang pada router dibagi jumlah paket yang diterima oleh router dan dikalikan 100 %.Jadi packet loss yang dihitung hanyalah packet loss yang ada di antrian router. Sama seperti delay, packet loss routerakan semakin buruk jika nilainya semakin besar dan akan semakin bagus bila nilainya semakin kecil.
Hasil penghitung packet loss router didapat dari trace file setiap percobaan dan dihitung dengan program .awk. Dari program awk tersebut dapat diketiahui jumlah paket yang dibuang di router, jumlah paket yang diterima di router, dan
packet loss router dalam satuan persen.
Contoh output dari program paketLossRouter.awk pada DT-TCP-paket
(1)
$ns duplex-link $n4 $n5 2Mb 1ms DropTail
$ns duplex-link-op $n0 $n4 orient down $ns duplex-link-op $n1 $n4 orient right-down $ns duplex-link-op $n2 $n4 orient right-up $ns duplex-link-op $n3 $n4 orient up $ns duplex-link-op $n4 $n5 orient right
#Monitor the queue for the link between node 4 and node 5 $ns duplex-link-op $n4 $n5 queuePos 0.5
$ns queue-limit $n4 $n5 10
#NODE 0
#Create a TCP agent and attach it to node n0 set tcp0 [new Agent/TCP]
$tcp0 set class_ 1
$ns attach-agent $n0 $tcp0
set sink0 [new Agent/TCPSink] $ns attach-agent $n5 $sink0
$ns connect $tcp0 $sink0
# Create a FTP traffic source and attach it to tcp0 set ftp0 [new Application/FTP]
$ftp0 set packetSize_ 65495 $ftp0 set interval_ 0.05 $ftp0 attach-agent $tcp0
#node 1
#Create a TCP agent and attach it to node n1 set tcp1 [new Agent/TCP]
$tcp1 set class_ 2
$ns attach-agent $n1 $tcp1
set sink1 [new Agent/TCPSink] $ns attach-agent $n5 $sink1
$ns connect $tcp1 $sink1
# Create a FTP traffic source and attach it to tcp1 set ftp1 [new Application/FTP]
$ftp1 set packetSize_ 65495 $ftp1 set interval_ 0.05 $ftp1 attach-agent $tcp1
#node 2
#Create a TCP agent and attach it to node n2 set tcp2 [new Agent/TCP]
$tcp2 set class_ 3
(2)
set sink2 [new Agent/TCPSink] $ns attach-agent $n5 $sink2
$ns connect $tcp2 $sink2
# Create a FTP traffic source and attach it to tcp2 set ftp2 [new Application/FTP]
$ftp2 set packetSize_ 65495 $ftp2 set interval_ 0.05 $ftp2 attach-agent $tcp2
#node 3
#Create a TCP agent and attach it to node n3 set tcp3 [new Agent/TCP]
$tcp3 set class_ 4
$ns attach-agent $n3 $tcp3
set sink3 [new Agent/TCPSink] $ns attach-agent $n5 $sink3
$ns connect $tcp3 $sink3
# Create a FTP traffic source and attach it to tcp3 set ftp3 [new Application/FTP]
$ftp3 set packetSize_ 65495 $ftp3 set interval_ 0.05 $ftp3 attach-agent $tcp3
#Schedule events for the FTP agents $ns at 0.2 "$ftp0 start"
$ns at 0.3 "$ftp1 start" $ns at 0.4 "$ftp2 start" $ns at 0.5 "$ftp3 start" $ns at 4.0 "$ftp0 stop" $ns at 4.0 "$ftp1 stop" $ns at 4.0 "$ftp2 stop" $ns at 4.0 "$ftp3 stop"
#Run the simulation $ns run
(3)
2. Program average_delay_antrian.awk
BEGIN {
highest_packet_id = 0; total_duration = 0; num_out = 0; }
{
action = $1; time = $2; node_1 = $3; node_2 = $4; src = $5; flow_id = $8; node_1_address = $9; node_2_address = $10; seq_no = $11;
packet_id = $12;
if ( packet_id > highest_packet_id ) highest_packet_id = packet_id;
# mendapatkan waktu paket masuk ke antrian node 4 (router)
if ( start_time[packet_id] == 0 && action == "+" && node_2=="4"){ start_time[packet_id] = time;
}
# mendapatkan waktu ketika paket keluar dari antrian node 4 (router) # dan mengitung jumlah paket yang berhasil keluar dari node 4 tanpa drop.
if ( action != "d" || action != "r") {
if ( action == "-" && node_1=="4" && node_2=="5") { num_out = num_out + 1;
end_time[packet_id] = time; }
} else {
end_time[packet_id] = -1; }
}
END {
# menghitung delay tiap paket dan total delay
# dan menampilkan paket id, start time, end time, delay untuk setiap paket. for ( packet_id = 0; packet_id <= highest_packet_id; packet_id++ ) {
start = start_time[packet_id]; end = end_time[packet_id]; packet_duration = end - start; if ( start < end ) {
printf("packet id ="packet_id); printf(" Start ="start);
(4)
printf(" delay ="end-start); printf("\n")
total_duration = total_duration + packet_duration; }
}
printf("\n--- \n");
# Menghitung dan menampilkan total delay, total paket keluar dari R, dan rata2 delay
printf("Total Delay = %.6f \n", (total_duration*1000)); printf("Total Packet out R = %f \n\n", num_out);
printf("AVERAGE DELAY = %.6f ms \n", (total_duration*1000)/num_out);
printf("==================================== \n"); }
3. Program packet_loss_router.awk
BEGIN {
jml_drop = 0 jml_terima = 0 }
{
action = $1; time = $2; node_1 = $3; node_2 = $4; src = $5; flow_id = $8; node_1_address = $9; node_2_address = $10; seq_no = $11;
packet_id = $12;
# menghitung jumlah paket drop yang ada di antrian node 4 (router) if (action =="d" && node_1 == "4" && node_2 == "5") {
jml_drop = jml_drop + 1; }
# menghitung jumlah paket; kecuali ack yang diterima oleh node 4 (router) if ( action != "d") {
if (action == "r" && node_2 == "4" && src != "ack") { jml_terima = jml_terima + 1;
} }
(5)
END {
# menghitung paket loss pada router dalam satuan %
# dan menampilkan total paket drop, paket diterima, paket loss di router. printf("\n--- \n"); printf("Total Paket Drop di Router = %f ", jml_drop); printf("\n");
printf("Total Paket Diterima Router = %f ", jml_terima); printf("\n\n");
printf("PAKET LOSS ANTRIAN = %f %", jml_drop/jml_terima*100);
printf("\n");
printf("============================================== \n");
}
4. Program throughput_router.awk
BEGIN {
highest_packet_id = 0; total_duration = 0; num_out = 0; }
{
action = $1; time = $2; node_1 = $3; node_2 = $4; src = $5; flow_id = $8; node_1_address = $9; node_2_address = $10; seq_no = $11;
packet_id = $12;
if ( packet_id > highest_packet_id ) highest_packet_id = packet_id;
# mendapatkan waktu paket masuk ke antrian node 4 (router)
if ( start_time[packet_id] == 0 && action == "+" && node_2=="4"){ start_time[packet_id] = time;
}
# mendapatkan waktu ketika paket keluar dari antrian node 4 (router) # dan mengitung jumlah paket yang berhasil keluar dari node 4 tanpa drop.
if ( action != "d" || action != "r") { #ketika aktion d dan r tidak di hitung
if ( action == "-" && node_1=="4" && node_2=="5") { num_out = num_out + 1;
(6)
} } else {
end_time[packet_id] = -1; }
} END {
# Menghitung paket durasi / delay untuk setiap paket dan menghitung total delay for ( packet_id = 0; packet_id <= highest_packet_id; packet_id++ ) {
start = start_time[packet_id]; end = end_time[packet_id]; packet_duration = end - start; if ( start < end ) {
total_duration = total_duration + packet_duration; }
}
printf("\n--- \n");
# Menghitung dan menampilkan delay rata2 R, total paket keluar dari R dan throughput
printf("Average Delay R = %.6f s\n", total_duration/num_out); printf("Total Packet out R = %f \n\n", num_out);
printf("THROUGHPUT = %.6f p/s \n", num_out/(total_duration/num_out));
printf("==================================== \n"); }