ANALISIS PERBANDINGAN UNJUK KERJA TCP RENO DAN TCP · x KATA PENGANTAR Puji dan syukur penulis...
Transcript of ANALISIS PERBANDINGAN UNJUK KERJA TCP RENO DAN TCP · x KATA PENGANTAR Puji dan syukur penulis...
i
ANALISIS PERBANDINGAN UNJUK KERJA TCP RENO DAN TCP
NEWRENO PADA ROUTER DROPTAIL DAN RANDOM EARLY
DETECTION
SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana
Komputer Program Studi Teknik Informatika
Disusun Oleh :
Yoppi Kurniawan
125314094
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2016
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
PERFORMANCE COMPARISON OF TCP RENO AND TCP NEWRENO ON
ROUTER DROPTAIL AND RANDOM EARLY DETECTION
A THESIS
Presented as Partial Fulfillment of Requirements to Obtain Sarjana Komputer
Degree in Informatics Engineering Department
By:
Yoppi Kurniawan
125314094
INFORMATICS ENGINEERING STUDY PROGRAM
INFORMATICS ENGINEERING DEPARTMENT
FACULTY SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2016
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
SKRIPSI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
SKRIPSI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
MOTTO
”if you don’t love something. You’re not going to go the extra mile. Work the extra
weekend. Challenge the status quo as much”
-Steve Jobs-
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
PERNYATAAN KEASLIAN KARYA
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
LEMBAR PERSETUJUAN PUBLIKASI KARYA ILMIAHUNTUK
KEPENTINGAN AKADEMIS
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
ABSTRAK
Pada penelitian ini penulis menguji unjuk kerja protokol TCP Reno dan TCP
NewReno menggunakan NS2. Metrik unjuk kerja yang digunakan adalah throughput,
packet drop, dan End To End delay. Parameter yang digunakan pada setiap pengujian
adalah penambahan kapasitas buffer dan penambahan nilai α (alfa)
Hasil pengujian menunjukkan performa TCP NewReno lebih unggul dari TCP
Reno pada sisi throughput jika diterapkan di droptail karena TCP NewReno mampu
menangani multiple packet error, sehingga tidak akan masuk ke fase slowstart yang
berulang-ulang melainkan bertahan di fase fast recovery. Sedangkan pada sisi packet
drop dan delay TCP Reno memiliki performa yang lebih bagus dari TCP NewReno
karena paket yang dikirim tidak membanjiri jaringan. Jika diterapkan pada random
early detection, kedua TCP memiliki performa yang sama pada throughput, packet
drop, dan End To End delay.. Hal ini dikarenakan probabilitas terjadinya multiple
packet error sangat kecil.
Kata kunci : TCP NewReno, TCP Reno, throughput, packet drop, delay, congestion
window, slowstart, multiple packet error.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
In this study the authors test the performance Protocol TCP Reno and TCP NewReno
using NS2. The metric used is the performance throughput, packet drop, and End To
End delay. The parameters used in each test is the addition of buffer capacity and
increased the value of α (alfa)
The test results indicate the performance of TCP NewReno TCP Reno is
superior on the throughput if applied in droptail NewReno TCP because it is able to
handle multiple packet error, so it's not going to get into the slowstart phase over and
over but survive in the fast recovery phase. While on the side of the packet drop and
delay the TCP Reno has better performance than a TCP NewReno because packets
that are sent do not overwhelm the network. If applied on random early detection, a
second TCP has the same performance on throughput, packet drop, and End To End
delay. This is because the probability of the occurrence of multiple packet error is
very small.
Keywords: TCP NewReno, TCP Reno, throughput, packet drop, delay, congestion
window, slowstart, multiple packet error
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa, sehingga
penulis dapat menyelesaikan tugas akhir dengan judul “Analisis Perbandingan Untuk
Kerja TCP Reno Dan TCP NewReno Pada Router Droptail Dan Random Early
Detection”. Tugas akhir ini merupakan salah satu mata kuliah wajib dan sebagai
syarat akademik untuk memperoleh gelar sarjana komputer program studi Teknik
Informatika Universitas Sanata Dharma Yogyakarta.
Pada kesempatan ini, penulis ingin mengucap terimakasih kepada pihak-pihak
yang telah membantu penulis baik selama penelitian maupun saat mengerjakan tugas
akhir ini. Ucapan terimakasih sebesar-besarnya penulis sampaikan kepada:
1. Tuhan Yang Maha Esa, yang telah memberikan pertolongan dan kekuatan
dalam proses pembuatan tugas akhir.
2. Orang tua, Yulius Barendhi dan Christina Karti, yang telah memberi
dukungan spiritual dan material.
3. Bambang Soelistijanto, S.T., M.Sc., Ph.D. selaku Dosen Pembimbing tugas
akhir, atas bimbingan, waktu dan saran yang telah diberikan kepada penulis.
4. Eko Hari Parmadi S.Si., M.Kom. selaku Dosen Pembimbing Akademik, atas
bimbingan kritik dan saran yang telah diberikan kepada penulis.
5. Dr. Anastasia Rita Widiarti, M.Kom. selaku Ketua Program Studi Teknik
Informatika, atas bimbingan, kritik dan saran yang telah diberikan kepada
penulis,
6. Sudi Mungkasi. S.Si., M.Math.Sc., Ph.D. selaku Dekan Fakultas Sains dan
Teknologi, atas bimbingan, kritik dan saran yang telah diberikan kepada
penulis.
7. Seluruh dosen Teknik Informatika atas ilmu yang telah diberikan semasa
kuliah dan sangat membantu penulis dalam mengerjakan tugas akhir.
8. Teman seperjuangan TCP (Theo, Ari, dan Cesar), teman seperjuangan Teknik
Informatika (Maria Hilary, Irma, Rudi, Aldy, Parta, Lukas dan teman-teman
lainnya) terimakasih atas dukungan semangat dan doanya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
DAFTAR ISI
SKRIPSI ..................................................................................................................................... i
A THESIS ................................................................................................................................. ii
SKRIPSI ....................................................................................................................................iii
SKRIPSI .................................................................................................................................... iv
MOTTO .................................................................................................................................... v
PERNYATAAN KEASLIAN KARYA ................................................................................... vi
LEMBAR PERSETUJUAN PUBLIKASI KARYA ILMIAHUNTUK KEPENTINGAN
AKADEMIS ............................................................................................................................ vii
ABSTRAK .............................................................................................................................. viii
ABSTRACT .............................................................................................................................. ix
KATA PENGANTAR ...............................................................................................................x
DAFTAR ISI ............................................................................................................................ xii
DAFTAR TABEL ................................................................................................................... xiv
DAFTAR GAMBAR ............................................................................................................... xv
BAB I PENDAHULUAN ......................................................................................................... 1
1.1 Latar Belakang .......................................................................................................... 1
1.2 Rumusan Masalah ..................................................................................................... 3
1.3 Tujuan Penelitian ...................................................................................................... 3
1.4 Batasan Masalah ....................................................................................................... 3
1.5 Metodologi Penelitian ............................................................................................... 4
1. Studi Literatur ........................................................................................................... 4
2. Rancangan ................................................................................................................. 4
3. Pembangunan Simulasi dan Pengumpulan Data ....................................................... 4
4. Analisis Data Simulasi .............................................................................................. 4
5. Penarikan Kesimpulan .............................................................................................. 4
1.6 Sistematika Penulisan ............................................................................................... 5
BAB II LANDASAN TEORI ................................................................................................... 6
2.1. Jaringan Kabel (Wired) ............................................................................................. 6
2.2. TCP Reno .................................................................................................................. 7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
2.3. TCP NewReno ......................................................................................................... 10
2.4. Antrian .................................................................................................................... 12
2.5. Network Simulator 2 ............................................................................................... 16
BAB III RANCANGAN SIMULASI JARINGAN ................................................................ 19
3.1. Parameter Simulasi ...................................................................................................... 19
3.2. Skenario Simulasi ........................................................................................................ 20
3.3. Parameter Kinerja ........................................................................................................ 20
3.6. Topologi Jaringan ........................................................................................................ 21
BAB IV PENGUJIAN DAN ANALISIS ............................................................................... 22
4.1. Droptail ................................................................................................................... 22
4.1.1. Penambahan Kapasitas Buffer ............................................................................... 22
Congestion window ............................................................................................................ 26
4.2. Random Early Detection (RED) ................................................................................. 35
4.2.1 Penambahan Nilai α ............................................................................................... 35
Congestion window ............................................................................................................. 38
BAB V KESIMPULAN DAN SARAN .................................................................................. 46
5.1 Kesimpulan ................................................................................................................... 46
5.2 Saran ............................................................................................................................. 46
DAFTAR PUSTAKA ............................................................................................................. 47
LAMPIRAN ............................................................................................................................ 48
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
DAFTAR TABEL
Tabel 3.1 Parameter-parameter utama TCP ............................................................................ 19
Tabel 3 2 Skenario penambahan nilai α, dengan β dan capacity buffer bernilai tetap ........... 20
Tabel 4. 1 Hasil Pengujian Penambahan Kapasitas Buffer ..................................................... 22
Tabel 4. 2 Hasil Pengujian Penambahan Nilai α ..................................................................... 35
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
DAFTAR GAMBAR
Gambar 2.1 Slowstart ............................................................................................................... 7
Gambar 2.2 Congestion Avoidance .......................................................................................... 8
Gambar 2.3 Fast Retransmit dan Fast Recovery ....................................................................... 9
Gambar 2 4. Single packet drop ( jamat tunggal) dalam satu window. .................................. 12
Gambar 2 5. Multiple packet error. TCP Reno akan masuk ke fase slowstart sedangkan TCP
NewReno bertahan di fase fast recovery ................................................................................ 12
Gambar 2 6. Multiple packet error. Packet error berderet tiga, menyababkan TCP ............ 12
Gambar 2.7 paket menuju buffer ............................................................................................ 14
Gambar 2.8 packet didalam buffer penuh ............................................................................... 14
Gambar 2.9 paket didrop karna kapasitas buffer penuh .......................................................... 14
Gambar 2.10 paket menuju buffer pada mekanisme antrian RED .......................................... 15
Gambar 2 11 paket berada diruang antrian dan akan di drop secara random berdasarkan α
dan β ........................................................................................................................................ 15
Gambar 2.12 trace file ............................................................................................................. 18
Gambar 3.1 Topologi jaringan. ............................................................................................... 21
Gambar 4.1 Droptail : Dampak Penambahan Kapasitas Buffer Terhadap Kinerja TCP Reno
dan TCP NewReno ............................................................................................. 23
Gambar 4.2 Droptail: Dampak Kapasitas Buffer Terhadap Congestion Window di TCP Reno
................................................................................................................................................ 26
Gambar 4.3 Droptail: Dampak Penambahan Kapasitas Buffer Terhadap Congestion Window
di TCP NewReno ................................................................................................ 27
Gambar 4.4 Droptail: Dampak Penambahan Kapasitas Buffer Terhadap Congestion Window
di TCP Reno ....................................................................................................... 28
Gambar 4.5 Droptail : Dampak Penambahan Kapasitas Buffer Terhadap Congestion Window
di TCP NewReno ................................................................................................ 29
Gambar 4.6 Droptail: Dampak Penambahan Kapasitas Buffer Terhadap Congestion Window
di TCP Reno ....................................................................................................... 30
Gambar 4.7 Droptail: Dampak Penambahan Kapasitas Buffer Terhadap Congestion Window
di TCP NewReno ................................................................................................ 31
Gambar 4.8 Droptail: Dampak Penambahan Kapasitas Buffer Terhadap Congestion Window
di TCP Reno ....................................................................................................... 32
Gambar 4.9 Droptail: Dampak Penambahan Kapasitas Buffer Terhadap Congestion Window
di TCP NewReno ................................................................................................ 33
Gambar 4.10 Droptail: Dampak Penambahan Kapasitas Buffer Terhadap Congestion
Window di TCP Reno ........................................................................................ 34
Gambar 4.11 Droptail: Dampak Penambahan Kapasitas Buffer Terhadap Congestion
Window di TCP NewReno ................................................................................. 34
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
Gambar 4.2 RED: Dampak Penambahan nilai α Terhadap Unjuk Kerja TCP Reno dan TCP
NewReno ............................................................................................................ 36
Gambar 4. 13 RED: Dampak Penambahan nilai α=10 packet Terhadap Unjuk Kerja TCP
Reno ................................................................................................................... 38
Gambar 4.14 RED: Dampak Penambahan nilai α=10 packet Terhadap Unjuk Kerja TCP
NewReno ............................................................................................................ 39
Gambar 4. 15 RED: Dampak Penambahan nilai α=20 packet Terhadap Unjuk Kerja TCP
Reno ................................................................................................................... 40
Gambar 4. 16 RED: Dampak Penambahan nilai α=20 packet Terhadap Unjuk Kerja TCP
NewReno ............................................................................................................ 41
Gambar 4. 17 RED: Dampak Penambahan nilai α=30 packet Terhadap Unjuk Kerja TCP
Reno ................................................................................................................... 42
Gambar 4.18 RED: Dampak Penambahan nilai α=30 packet Terhadap Unjuk Kerja TCP
NewReno ............................................................................................................ 43
Gambar 4.19 RED: Dampak Penambahan nilai α=40 packet Terhadap Unjuk Kerja TCP
Reno ................................................................................................................... 44
Gambar 4.20 RED: Dampak Penambahan nilai α=40 packet Terhadap Unjuk Kerja TCP
NewReno ............................................................................................................ 45
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Jaringan internet adalah rangkaian komputer yang terhubung
dengan komputer-komputer lain di seluruh dunia melalui jaringan kabel
maupun nirkabel, sehingga antara komputer satu dengan yang lain dapat
saling berkomunikasi, dan bertukar berbagai informasi yang diperlukan.
Sekarang ini, manfaat dari jaringan komputer sudah sangat banyak
dirasakan. Apalagi dalam dunia komunikasi yang serba cepat ini, jaringan
komputer sering kali berperan penting dalam kegiatan pengiriman
informasi.
Sampai saat ini, pengembangan dan penelitian dalam bidang
teknologi masih dilakukan, hal ini dilakukan untuk menciptakan teknologi
yang seefisien mungkin dalam melakukan komunikasi didalam jaringan
internet. Pengembangan yang dilakukan tidak berhenti pada level yang
diinginkan saja, tetapi dilakukan secara terus-menerus didalam
pengembangannya sehingga dapat memenuhi kebutuhan informasi yang
baik dalam berbagai keadaan. Salah satu pengembangan yang dilakukan
adalah pada TCP. TCP merupakan protokol yang digunakan untuk
memberikan jaminan terhadap data/paket antar end-to-end host yang
saling berkomunikasi. Perubahan demi perubahan dilakukan pada TCP ini,
dimulai dari TCP Tahoe, TCP Reno, TCP NewReno, SACK, TCP Vegas
dan versi-versi terbaru. Tentunya pengembangan dan penelitian ini
dilakukan agar menghasilkan performa TCP yang lebih baik dari
sebelumnya.
Banyak tantangan yang dihadapi oleh TCP, mulai dari masalah
yang ada pada transmisi data pada kabel hingga wireless. Masalah yang
dijumpai dengan menggunakan kabel sangat sedikit, karena kabel
menyediakan bandwidth, kecepatan, serta link yang selalu terhubung, hal
ini dikarenakan gangguan yang sangat minim bahkan tidak ada.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
Meskipun gangguan dan packet drop pada komunikasi berbasis
kabel (wired) sangat minim, tetapi packet drop akan mungkin terjadi
karena adanya congestion. Untuk mengatasi congestion di dalam antrian
tersebut, terdapat beberapa cara manajemen antrian yang populer yaitu
Drop Tail dan Random Early Drop (RED). Dua jenis manajemen antrian
tersebut memiliki karakteristik sendiri dalam menangani adanya antrian di
dalam buffer.
Dari variasi manajemen antrian juga menimbulkan suatu efek
terhadap unjuk kerja dari protokol yang berhubungan dengan transmisi
data karena dengan adanya paket yang di drop maka delivery ratio
menjadi terganggu dan packet loss menjadi tinggi. Adanya manajemen
antrian berpengaruh terhadap unjuk kerja dari protokol transport. Protokol
transport yang sering digunakan adalah TCP dan UDP. TCP merupakan
protokol transport yang reliable sedangkan UDP merupakan kebalikan
dari TCP. Berdasarkan sifat TCP dan UDP tersebut tentu efek manajemen
antrian akan berbeda. UDP yang dikenal sebagai protokol yang unreliable,
UDP tidak akan peduli terhadap paket-paket yang kemungkinan di drop
oleh router, UDP akan terus mengirim paket dan tidak peduli dengan
keadaan trafik yang dilaluinya. Hal ini berarti, manajemen antrian tidak
berpengaruh terhadap UDP. Kebalikan dari UDP, TCP yang bertindak
sebagai protokol yang reliable sangat bertanggung jawab terhadap paket
yang di drop. Ketika ada paket yang di drop maupun saat terjadi
congestion, TCP akan bekerja keras agar paket yang menjadi tanggung
jawabnya sampai pada penerima.
Dari varian TCP, mekanisme dalam menghadapi adanya
congestion maupun packet drop berbeda satu sama lain. Dengan
penggunaan mekanisme yang berbeda pula maka tingkat kesulitan
pekerjaan TCP juga akan berbeda-beda, semakin kompleks suatu
mekanisme maka pekerjaan TCP kemungkinan juga akan semakin berat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
Tetapi tujuan suatu mekanisme baru tentu untuk meningkatkan unjuk
kerja menjadi lebih baik dari mekanisme yang sebelumnya.
1.2 Rumusan Masalah
Berdasarkan latar belakang, maka rumusan masalah yang didapat
adalah menganalisis perbandingan untuk kerja TCP Reno dan TCP
NewReno pada router droptail dan random early detection.
1.3 Tujuan Penelitian
Tujuan dari penelitian ini adalah untuk mengetahui unjuk kerja
TCP Reno dan TCP NewReno pada router droptail dan random early
detection.
1.4 Batasan Masalah
Dalam pelaksanaan tugas akhir ini, masalah dibatasi sebagai berikut:
1. Protokol transport yang diuji TCP Reno dan TCP NewReno.
2. Manajement antrian yang digunakan adalah droptail dan random early
detection.
3. Pengujian dilakukan menggunakan NS2.
4. Pengujian menggunakan dua host penerima dan dua host pengirim
yang terdiri dari TCP dan UDP, dan dua router di bagian tengah.
5. Parameter unjuk kerja yang digunakan adalah throughput, delay,
packetloss, dan congestion window.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
1.5 Metodologi Penelitian
Adapaun metodologi dan langkah–langkah yang digunakan dalam
pelaksanaan tugas akhir ini adalah sebagai berikut :
1. Studi Literatur
Mencari dan mengumpulkan referensi serta mempelajari
teori yang mendukung tugas akhir ini, seperti:
a. Teori Wired
b. Teori TCP Reno dan NewReno
c. Teori throughput, delay, dan packetloss.
d. Teori NS2
e. Tahap-tahap dalam membangun simulasi.
2. Rancangan
Dalam tahap ini penulis merancang skenario sebagai berikut:
a. Penambahan kapasitas buffer
b. Kapasitas datarate dan delay pada link (tetap)
3. Pembangunan Simulasi dan Pengumpulan Data
Simulasi jaringan kabel pada tugas akhir ini menggunakan
Network Simulator 2 berbasis C++.
4. Analisis Data Simulasi
Dalam tahap ini penulis menganalisa hasil pengukuran
yang diperoleh pada proses simulasi. Analisa dihasilkan dengan
melakukan pengamatan dari beberapa kali pengukuran yang
menggunakan parameter simulasi yang berbeda.
5. Penarikan Kesimpulan
Penarikan kesimpulan didasarkan pada beberapa parameter
unjuk kerja yang diperoleh pada proses analisis data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
1.6 Sistematika Penulisan
Sistematika penulisan tugas akhir ini dibagi menjadi beberapa bab
dengan susunan sebagai berikut :
BAB I PENDAHULUAN
Bab ini berisi latar belakang penulisan tugas akhir, rumusan
masalah, batasan masalah, metodologi penilitian, dan sistematika
penulisan.
BAB II LANDASAN TEORI
Bagian ini menjelaskan mengenai teori yang berkaitan dengan
judul/masalah di tugas akhir.
BAB III PERENCANAAN SIMULASI JARINGAN
Bab ini berisi perencanaan simulasi jaringan.
BAB IV PENGUJIAN DAN ANALISIS
Bab ini berisi pelaksanaan simulasi dan hasil analisis data
simulasi jaringan.
BAB V KESIMPULAN DAN SARAN
Bab ini berisi beberapa kesimpulan yang didapat serta saran-
saran berdasarkan hasil analisis data simulasi jaringan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
BAB II
LANDASAN TEORI
2.1. Jaringan Kabel (Wired)
Jaringan kabel merupakan tipe jaringan yang dikembangkan pertama kali
untuk membantu aktivitas transmisi data, menghubungkan satu perangkat
jaringan ke perangakat jaringan lain atau untuk menghubungkan dua atau lebih
komputer untuk berbagi data.
Jaringan kabel melibatkan penggunaan beberapa router ataupun switch,
kabel ethernet dan juga konektor untuk menghubungkan antar komputer.
Jaringan kabel sendiri memiliki beberapa karakteristik seperti di bawah ini :
a. Bandwidth pada jaringan kabel tidak terbatas sehingga transfer data
melalui kabel memiliki kecepatan yang tinggi.
b. Sangat minim akan gangguan karena transmisi menggunakan kabel tidak
terpengaruh oleh interferensi.
Dalam penggunaannya, kabel jaringan komputer terdiri dari beberapa
tipe yang biasanya disesuaikan dengan kebutuhan, kondisi, topologi jaringan,
protokol dan ukuran jaringan komputer tertentu. Sebagai contoh, terdapat kabel
jaringan komputer yang digunakan dalam jumlah sedikit (misalnya melalui
ethernet). Namun ada pula penggunaan kabel jaringan komputer yang hampir
tidak terbatas (misalnya melalui interkoneksi Internet).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
2.2.TCP Reno
TCP Reno merupakan variasi TCP setelah TCP Tahoe. TCP Reno masih
mengimplementasi mekanisme TCP Tahoe yaitu slow-start, congestion
avoidance, fast retransmission dan menambahkan satu mekanisme fast recovery.
2.2.1. Slow-Start
Slow start merupakan fase pertama dari TCP Reno yang bertujuan
untuk mengirim paket dijaringan dengan cepat. Dalam fase slow start ,
TCP akan mengirimkan 1 paket dan menunggu ACK yang datang, jumlah
paket akan terus ditingkatkan dari 1 paket, lalu 2 paket, lalu 4 paket dan
seterusnya naik secara eksponensial. Kenaikan secara eksponensial ini
akan berhenti ketika terdeteksi adanya packet drop dengan tidak
diterimanya ACK, pada titik ini berarti kenaikan congestion window sudah
mencapai titik ssthreshold. Setelah mencapai titik ssthreshold inilah
kenaikan akan berubah menjadi kenaikan secara linear.
Gambar 2.1 Slowstart
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
2.2.2. Congestion Avoidance
Congestion avoidance adalah fase kedua setalah Slow-Start.
Congestion avoidance merupakan fase di mana TCP berusaha
menghindari congestion. Dalam fase ini, congestion window akan naik
secara linear (bertambah 1). Ketika TCP menerima 3 duplikasi ACK,
maka hal ini akan menurunkan nilai congestion window setengah dari
nilai ssthreshold.
Gambar 2.2 Congestion Avoidance
2.2.3. Fast Retransmit
Fast Retransmit adalah fase ketiga setelah Congestion
Avoidance. Fast Retransmit merupakan peningkatan terhadap TCP dalam
rangka mengurangi waktu tunggu oleh pengirim sebelum me-retransmit
packet drop. TCP pengirim akan menggunakan pencatat waktu untuk
mengetahui segmen yang hilang. Jika acknowledgement tidak diterima
untuk packet tertentu dalam jangka waktu tertentu, maka pengirim akan
menggangap paket tersebut hilang dalam jaringan dan akan dilakukan
retransmit untuk segmen yang hilang.
Duplikat acknowledgement merupakan dasar mekanisme fast
retransmit, yang akan bekerja sebagai berikut : setelah menerima paket (
misal paket dengan sequence number 1), maka penerima akan
mengirimkan acknowledgment dengan menambahkan 1 pada paket yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
diterima (yaitu sequence number2), yang berarti bahwa penerima sudah
menerima paket dengan sequence number1 dan mengharapakan paket
dengan sequence number2. Kemudian diasumsikan bahwa paket
berikutnya hilang. Sementara itu, penerima tetap menerima paket dengan
sequence number3 dan 4. Setalah menerima paket dengan sequence
number3, penerima tetap mengirimkan acknowledgement, tetapi hanya
untuk paket dengan sequence number 2. Ketika penerima menerima paket
dengan sequence number 5, penerima tetap mengirimkan
acknowledgement dengan sequence number 2. Karena pengirim menerima
acknowledgement dengan sequence number 2 lebih dari satu (3 duplikat
acknowledgement dengan sequence number 2), maka paket dengan
sequence number 2 telah hilang, sehingga pengirim akan melakukan
retransmit paket tersebut.
2.2.4. Fast recovery
Tujuan dari fase fast recovery adalah tetap menjaga throughput
tepat tinggi saat terjadi congestion. Di fase ini, ketika menerima 3
duplikasi ACK dan telah melakukan fast retransmission, TCP tidak
masuk ke fase slowstart, tetapi langsung masuk pada fase congestion
avoidance.
Gambar 2.3 Fast Retransmit dan Fast Recovery
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
2.3.TCP NewReno
TCP NewReno merupakan pengembangan dari TCP Reno. Sama seperti
TCP Reno, TCP NewReno juga mempertahankan prinsip dasar dari TCP Reno
seperti, sloswstart, congestion avoidance, fast retransmite dan fast recovery.
2.3.1. Slow-Start
Slow start merupakan fase pertama dari TCP NewReno yang
bertujuan untuk mengirim paket dijaringan dengan cepat. Dalam fase slow
start, TCP NewReno akan memulai dengan mengirimkan 1 paket dan
menunggu ACK yang datang, jumlah paket akan terus ditingkatkan dari 1
paket, lalu 2 paket, 4 paket dan seterusnya naik secara eksponensial.
Kenaikan secara eksponensial ini akan berhenti ketika terdeteksi adanya
packet drop dengan tidak diterimanya ACK, pada titik ini kenaikan
congestion window sudah mencapai titik ssthreshold. Setelah mencapai
titik ssthreshold kenaikan akan berubah menjadi kenaikan secara linear.
2.3.2. Congestion Avoidance
Congestion avoidance adalah fase kedua setalah Slow-Start.
Congestion avoidance merupakan fase di mana TCP berusaha
menghindari congestion. Dalam fase ini, congestion window akan naik
secara linear (bertambah 1). Ketika TCP menerima 3 duplikasi ACK,
maka hal ini akan menurunkan nilai congestion window setengah dari
nilai ssthreshold.
2.3.3. Fast Retransmite
Fast Retransmit adalah fase ketiga setelah Congestion Avoidance.
Fast Retransmite merupakan peningkatan terhadap TCP dalam rangka
mengurangi waktu tunggu oleh pengirim sebelum me-retransmit packet
yang loss. TCP pengirim akan menggunakan pencatat waktu untuk
mengetahui segmen yang hilang. Jika acknowledgement tidak diterima
untuk packet tertentu dalam jangka waktu tertentu, maka pengirim akan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
menggangap paket tersebut hilang dalam jaringan dan akan dilakukan
retransmit untuk segmen yang hilang.
Duplikat acknowledgement merupakan dasar mekanisme fast
retransmit, yang akan bekerja sebagai berikut : setelah menerima paket (
misal paket dengan sequence number 1), maka penerima akan
mengirimkan acknowledgment dengan menambahkan 1 pada paket yang
diterima (yaitu sequence number2), yang berarti bahwa penerima sudah
menerima paket dengan sequence number 1 dan mengharapakan paket
dengan sequence number 2. Kemudian diasumsikan bahwa paket
berikutnya hilang. Sementara itu, penerima tetap menerima paket dengan
sequence number 3 dan 4. Setalah menerima paket dengan sequence
number 3, penerima tetap mengirimkan acknowledgement, tetapi hanya
mengirimkan paket dengan sequence number 2. Ketika penerima
menerima paket dengan sequence number 5, penerima tetap mengirimkan
acknowledgement dengan sequence number 2. Karena pengirim menerima
acknowledgement dengan sequence number 2 lebih dari satu (3 duplikat
acknowledgement dengan sequence number 2), maka paket dengan
sequence number 2 telah hilang, sehingga pengirim akan melakukan
retransmit paket tersebut.
2.3.4. Fast recovery
Tujuan dari fase fast recovery adalah menjaga throughput agar
tetap tinggi saat terjadi congestion. Di fase ini, ketika menerima 3 duplikat
ACK akan melakukan fast retransmission yang dilanjutkan dengan fase
fast recovery, TCP tidak masuk ke fase slowstart, melainkan masuk pada
fase congestion avoidance.
Pada fase ini, TCP NewReno melakukan sedikit pengembangan
dari TCP Reno, dimana TCP NewReno mampu menangani multiple packet
error. Jika didalam window terdapat hanya single error, kedua TCP akan
melakukan fase fast retransmite dilanjutkan ke fase fast recovery.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
Gambar 2 4. Single packet drop ( jamat tunggal) dalam satu window.
Jika didalam window hanya terjadi packet drop jamak tunggal
(singgle packet drop). TCP Reno dapat bertahan pada fase fast recovey,
Gambar 2 5. Multiple packet error. TCP Reno akan masuk ke fase slowstart sedangkan
TCP NewReno bertahan di fase fast recovery
Jika didalam window terjadi packet error jamak berderet (multiple
paket error) TCP Reno akan gagal dan akan memulai dari fase slowstart,
berbeda dengan TCP NewReno yang bertahan difase fast recovery karena
dapat menangani multiple packet error. Didalam menangani multiple
packet error, TCP NewReno hanya mampu menangani 2 packet error
yang berderet, jika packet error yang berderet lebih dari 2, maka akan
terjadi timeout dan akan masuk kefase slowstart.
Gambar 2 6. Multiple packet error. Packet error berderet tiga, menyababkan TCP
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
2.4.Antrian
2.4.1. Model antrian
Antrian merupakan sebuah deretan yang sedang menunggu giliran
untuk dilayani. Antrian pada router yakni sederetan paket data yang masuk
dalam ruang buffer yang menuggu giliran untuk diproses dan kemudian
ditransmisikan kembali.
Secara umum mekanisme antrian dibagi menjadi beberapa kategori.
Diantaranya :
a. First In First Out (FIFO)
First In First Out (FIFO) atau sering disebut Droptail
ini merupakan menagemen antrian yang memiliki cara kerja
cukup sederhana. Paket yang datang pertama kali akan dilayani
pertama dan akan keluar paling awal. Jika antiran penuh, maka
paket berikutnya akan di drop atau dibuang.
b. Fair Queuing
Manajemen antrian ini prinsip kerjanya melakukan
pengelompokan paket ke dalam class-class kemudian akan
memproses untuk paket pada class secara bergantian secara
merata.
c. Random Early detection
Manajemen antrian ini prinsip kerjanya menggunakan
kalkulasi. RED menggunakan konsep penandaan paket yang
nantinya akan di drop secara random.
d. Priority Queuing
Cara kerja manajemen ini berdasarkan prioritas dari
paket yang datang. Paket yang memiliki prioritas tertinggi
dalam antrian akan didahulukan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
2.4.2. Droptail
Antrian droptail menggunakan menajeman FIFO, dimana data yang
pertama kali datang maka data tersebut juga pertama kali dilayani dan
pertama kali keluar dari antrian. Mekanisme droptail dapat diilustrasikan
dengan gambar dibawah ini :
Gambar 2.7 paket menuju buffer
Dapat dilihat bahwa paket yang datang paling awal ke ruang
antrian/buffer maka akan dilayani dan ditransmisikan terlebih dahulu.
Ketika ruang antrian/buffer penuh, maka paket yang datang akan dibuang/
di drop.
Gambar 2.8 packet didalam buffer penuh
Gambar 2.9 paket didrop karna kapasitas buffer penuh
2.4.3. Random Early Detection
Random Early Detection (RED) merupakan sebuah model antrian
yang terdapat pada router yang bertugas untuk menajemen paket – paket
yang terdapat pada ruang antrian/buffer. Random early detection memiliki
2 parameter, yaitu α (alfa) dengan β (beta) untuk menentukan seberapa
6
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
besar probabilitas sebuah paket yang telah ditandai untuk di drop/dibuang.
Random early detection melakukan drop tidak menunggu ruang
antrian/buffer penuh tetapi melakukan drop paket secara acak. Jika paket
berada di ruang antiran/buffer di bawah α, maka paket akan diterima/tidak
akan didrop dan akan ditransmisikan. Jika paket berada diruang
antrian/buffer diantara α dengan β maka paket akan ditandai dan akan di
drop secara acak/random. Jika paket berada di atas β maka semua paket
yang datang akan dibuang (di drop).
Gambar 2.10 paket menuju buffer pada mekanisme antrian RED
Gambar 2 11 paket berada diruang antrian dan akan di drop secara random
berdasarkan α dan β
Gambar diatas menunjukkan paket yang berada dibawah zona α
akan diterima dan tidak ada drop. Jika paket berada dizona diantara α dan
β akan diterima dan ditandai, kemudian dilakukan drop secara random.
Sedangkan paket yang berada di zona β akan dibuang/drop.
α β
β α
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
2.5.Network Simulator 2
Network simulator 2 (NS2) merupakan perangkat lunak yang
dibangun untuk kepentingan riset. NS2 bersifat open-source dibawah GPL
(gnu public license), sehingga dapat didownload secara gratis melalui web
NS2 [9].
NS2 dibangun dari 2 bahasa pemrograman. Pertama bahasa C++,
sebagai library yang berisi event scheduler, protokol, dan network
compenent yang diimplementasikan pada simulasi oleh user. Kedua yaitu
Tcl/Otcl yang digunakan pada script simulasi yang ditulis oleh NS user.
Setelah simulasi dijalankan, keluaran dari hasil NS2 berupa file
trace berekstensi “.tr”. File trace ini dapat diolah ataupun dianalisa
menggunakan cara manual maupun dengan bantuan tools lain seperti Awk
script dan NS2 Visual Trace Analyzer.
File trace tersebut terdiri dari kolom–kolom hasil record yang
dijelaskan berikut:
Event Time From
Node
To
Node
Packet
Type
Packet
Size
Flags Flow
ID
Source
Addr
Dest.
Addr
Seq.
Number
Paket
ID
1. Event
Kejadian yang dicatat oleh NS, yaitu
r : receive (paket yang diterima node tujuan)
+ : enqueue (paket masuk antrian)
- : dequeue (paket keluar antrian)
d : drop (paket dibuang di antrian)
2. Time
Mengindikasikan waktu terjadinya suatu kejadian dalam
hitungan detik setelah start.
3. From Node dan To Node
Menyatakan keberadaan paket saat suatu kejadian dicatat.
4. Packet Type
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
Menginformasikan tipe paket yang dikirim. Contohnya seperti
cbr, TCP, ack.
5. Packet Size
Ukuran paket pada byte.
6. Flags
Flag digunakan sebagi penanda. Macam–macam flag yang
digunakan yaitu :
E:Mengindikasikan terjadi congestion (Congetion
Experienced (CE)).
N:Menandakan ECN-Capable-Transport pada
header IP.
C :Mengindikasikan ECN-Echo.
A:mengindikasikan pengurangan CWND pada
header TCP.
P :Mengindikasikan prioritas.
F :Mengindikasikan TCP fast start
7. Flow ID
Memberikan nomor unik untuk mengindikasikan tiap aliran
data.
8. Source Addr
Alamat asal paket dengan format node.port. Contohnya : 2.0
artinya node ke 2 port 0.
9. Dest. Addr
Alamat tujuan paket dengan format node.port. Contohnya : 2.0
artinya node ke 2 port 0.
10. Sequence Number
Nomor urut paket.
11. Packet ID
Nomor unik untuk setiap paket.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
Contoh dari trace file:
Gambar 2.12 trace file
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
BAB III
RANCANGAN SIMULASI JARINGAN
3.1. Parameter Simulasi
Pada penelitian ini sudah ditentukan parameter-parameter jaringan.
Parameter-parameter bersifat konstan dan akan dipakai terus pada setiap
pengujian yang dilakukan. Untuk skenario pengujian, digunakan sebuah router
yaitu Droptail dan Random Early Detection (RED).
Tabel 3.1 Parameter-parameter utama TCP
Parameter Simulasi
Router Droptail Random Early Detection
Waktu simulasi 200s
Jumlah host 4
Banyak koneksi TCP 1
Banyak koneksi
UDP 1
TCP paket size 1024 byte
Traffic source TCP vs UDP
Delay 2ms
Datarate 10 Mbps
Buffer size 10, 20, 30, 40, 50 packet 60 packet
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
3.2. Skenario Simulasi
Simulasi ini terdiri dari dua skenario yaitu dengan dua router, yaitu
Droptail dan Random Early Detection (RED):
1. Skenario Droptail: Penambahan Buffer Size
Pada skenario ini, router droptail akan diuji dengan melakukan penambahan
kapasitas buffer pada setiap pengambilan data. Besar buffer capacity yang
diuji pada pengambilan data pertama adalah sebesar 10 paket, hingga 50
paket.
2. Skenario Random Early Detection: penambahan nilai α
Tabel 3 2 Skenario penambahan nilai α, dengan β dan capacity buffer
bernilai tetap
Buffer size α β
60 paket 10 paket 50 paket
60 paket 20 paket 50 paket
60 paket 30 paket 50 paket
60 paket 40 paket 50 paket
3.3. Parameter Kinerja
Empat parameter yang dipakai dalam tugas akhir ini adalah :
a) Throughput
Jumlah bit data yang dikirim melalui saluran kanal komunikasi per
satuan waktu ke terminal tertentu dalam suatu jaringan, dari satu host ke
host yang lain pada lapisan transport. Satuan throughput jaringan yaitu bps
(bit per second). Nilai dari throughput tergantung pada lalu lintas data yang
sedang terjadi pada jaringan. Nilai throughput akan semakin baik jika
nilainya semakin besar.
b) Delay (End To End Delay)
End To End Delay merupakan waktu tempuh oleh paket ketika paket itu
dikirim hingga mencapai destinasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
c) Packet drop
Packet drop adalah paket yang dibuang saat melewati router
dikarenakan buffer antrian penuh. Jumlah total paket yang dibuang selama
simulasi berlangsung.
3.6. Topologi Jaringan
Berikut adalah topologi jaringan yang digunakan.
Gambar 3.1 Topologi jaringan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
BAB IV
PENGUJIAN DAN ANALISIS
Untuk mengetahui kinerja router droptail dan random early detection (RED)
pada TCP, maka akan dilakukan seperti pada tahap skenario rancangan simulasi
jaringan pada Bab.3.
4.1. Droptail
4.1.1. Penambahan Kapasitas Buffer
Tabel 4. 1 Hasil Pengujian Penambahan Kapasitas Buffer
Kapasitas
Buffer
Troughput Packet Drop Delay
Reno NewReno Reno NewReno Reno NewReno
10 paket 115.2 145 828 1218 0.01952476 0.0311878
20 paket 139.2 153.2 446 573 0.0418297 0.05567265
30 paket 147.4 158.6 278 339 0.06341138 0.07837864
40 paket 158 159 75 76 0.09974438 0.10957587
50 paket 159 159.2 0 0 0.12330851 0.12420636
a) Throughput
0
20
40
60
80
100
120
140
160
180
10 20 30 40 50
Tro
ugh
pu
t (K
bp
s)
Buffer capacity di node C (Packets)
Throughput
Reno
NewReno
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
b) Packet Drop
c) End-To-End Delay
Gambar 4.1 Droptail : Dampak Penambahan Kapasitas Buffer Terhadap Kinerja TCP
Reno dan TCP NewReno
Grafik 4.1 (a) menunjukkan bahwa penambahan kapasitas buffer memberi
efek peningkatan di sisi throughput pada TCP Reno maupun TCP NewReno. Hal ini
dikarenakan semakin besar ruang antrian/buffer, maka semakin besar paket yang
dapat ditampung. Meskipun demikian, throughput pada TCP NewReno menunjukkan
data yang lebih unggul dari TCP Reno, hal ini terjadi karena TCP NewReno dapat
0
200
400
600
800
1000
1200
1400
10 20 30 40 50
pac
ket
dro
p (
pkt
)
Buffer capacity di node C (packets)
Packet Drop
Reno
NewReno
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
10 20 30 40 50
De
lay
(s)
Buffer capacity di node C (packets)
End-To-End Delay
Reno
NewReno
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
menangani multiple packet error, sehingga masih bisa bertahan di fase fast recovery.
Berbeda dengan TCP Reno pada saat multiple packet error yang akan mulai dari fase
slowstart.
Skenario penambahan kapasitas buffer tidak hanya memberi efek baik pada
throughput, namun juga memberi efek baik terhadap jumlah packet drop yang
ditunjukkan oleh grafik 4.1(b). Efek baik ini ditunjukkan dengan menurunnya jumlah
packet drop didalam jaringan baik di TCP Reno maupun TCP NewReno. Penurunan
ini disebabkan oleh tersedianya ruang antrian/buffer yang semakin besar. TCP Reno
pada grafik menunjukkan jumlah packet drop yang lebih kecil dibandingkan dengan
TCP NewReno karena jika terjadi multiple packet error, TCP Reno akan memulai
dari fase slowstart. Fase slowstart inilah yang mempengaruhi jumlah pengiriman
paket, sehingga paket yang dikirim tidak membanjiri jaringan.
Meskipun skenario ini memberi efek baik terhadap throughput dan packet
drop, namun efek buruk terjadi pada sisi End-To-End delay yang diperlihatkan oleh
grafik 4.1(c). Efek buruk ini ditunjukkan dengan meningkatnya End-To-End delay
terhadap TCP Reno maupun TCP NewReno seiring dengan bertambahnya kapasitas
buffer. Hal ini dikarenakan semakin besar kapasitas buffer, maka paket yang akan
diterima semakin banyak, sehingga akan menyebabkan antrian yang panjang dan
pelayanan paket juga akan semakin lama. Dalam hal ini TCP NewReno
memperlihatkan End-To-End delay yang tinggi karena apabila terjadi multiple packet
error TCP NewReno akan bertahan di fase fast recovery. Fast recovery ini berfungsi
agar pengiriman paket tidak dimulai lagi dari fase slowstart, sehingga paket yang
dikirim akan lebih banyak dan akan membanjiri jaringan, hal inilah yang
menyebabkan End-To-End delay semakin tinggi.
Skenario dengan Kapasitas buffer yang kecil berdampak pada tingginya
jumlah packet drop, dampak ini juga mengakibatkan tingginya probabilitas multiple
packet error. Grafik 4.2 menunjukkan performa TCP Reno cenderung jelek, hal ini
dikarenakan TCP Reno tidak dapat menangani multiple packet error, sehingga TCP
Reno akan sering masuk ke fase slowstart. Berbeda dengan NewReno yang mampu
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
menangani multiple packet error. Hal ini ditunjukkan pada grafik 4.3 yang
menunjukkan TCP NewReno melakukan fase slowstart yang cenderung sedikit.
Seiring dengan bertambahnya kapasitas buffer, maka jumlah packet drop yang
dihasilkan cenderung kecil, sehingga terjadinya multiple packet error akan berkurang.
Oleh karena itu performa TCP Reno dan TCP NewReno akan mengalami tingkat
error yang hampir sama. Hal ini dibuktikan dengan grafik 4.10 dan 4.11 pada buffer
50 yang menunjukkan bahwa kedua TCP menunjukkan jumlah packet drop = 0.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
Congestion window
Droptail
Gambar 4.2 Droptail: Dampak Kapasitas Buffer Terhadap Congestion Window di TCP Reno
Gambar 4.2 (a). Droptail: hasil zoom congestion window dengan buffer =10 packet pada
TCP Reno
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
Gambar 4.3 Droptail: Dampak Penambahan Kapasitas Buffer Terhadap Congestion Window
di TCP NewReno
Gambar 4.3 (a). Droptail: hasil zoom congestion window dengan buffer =10 packet pada
TCP NewReno
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
Gambar 4.4 Droptail: Dampak Penambahan Kapasitas Buffer Terhadap Congestion Window
di TCP Reno
Gambar 4.4 (a) Droptail: hasil zoom congestion window dengan buffer =20 packet pada TCP
Reno
Lingkaran H : menunjukkan bahwa didalam jaringan terjadi paket drop, sehingga
TCP Reno akan masuk ke fase fast retrasnmite dilanjutkan ke fase fast recovery.
Lingkaran I : Didalam fast recovery paket akan diperbaiki, akan tetapi sebelum paket
diperbaiki, ada peket lain yang didrop, sehingga didalam fase fast recovery ada dua
paket drop, hal ini akan mengakibatkan TCP Reno akan gagal dan memulai dari awal
atau masuk ke fase slowstart.
I
H
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
Gambar 4.5 Droptail : Dampak Penambahan Kapasitas Buffer Terhadap Congestion Window
di TCP NewReno
Gambar 4.5 (a) Droptail: hasil zoom congestion window dengan buffer =20 packet pada TCP
NewReno
Lingkaran H : menunjukkan bahwa didalam jaringan terjadi paket drop, sehingga
TCP NewReno akan masuk ke fase fast retrasnmite dilanjutkan ke fase fast recovery.
Lingkaran I : Didalam fast recovery paket akan diperbaiki, akan tetapi sebelum paket
diperbaiki ada peket lain yang di drop, sehingga didalam fase fast recovery ada dua
paket drop, jika TCP Reno akan gagal dan memulai dari fase slowstart, berbeda
dengan TCP NewReno yang akan tetap bertahan di fase fast recovery sampai semua
paket diperbaiki dan akan masuk ke fase congestion avoidance.
I
H
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
Gambar 4.6 Droptail: Dampak Penambahan Kapasitas Buffer Terhadap Congestion Window
di TCP Reno
Gambar 4.6(a) Droptail: hasil zoom congestion window dengan buffer = 30 packet di TCP
Reno
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
Gambar 4.7 Droptail: Dampak Penambahan Kapasitas Buffer Terhadap Congestion Window
di TCP NewReno
Gambar 4.7(a) Droptail: hasil zoom congestion window di buffer = 30 packet di TCP
NewReno
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
Gambar 4.8 Droptail: Dampak Penambahan Kapasitas Buffer Terhadap Congestion Window
di TCP Reno
Gambar 4.8 (a) Droptail: hasil zoom congestion window di buffer = 40 packet di TCP Reno
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
Gambar 4.9 Droptail: Dampak Penambahan Kapasitas Buffer Terhadap Congestion Window
di TCP NewReno
Gambar 4.9(a) Droptail: hasil zoom congestion window dengan buffer = 40 packet di TCP
NewReno
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
Gambar 4.10 Droptail: Dampak Penambahan Kapasitas Buffer Terhadap Congestion
Window di TCP Reno
Gambar 4.11 Droptail: Dampak Penambahan Kapasitas Buffer Terhadap Congestion Window
di TCP NewReno
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
4.2. Random Early Detection (RED)
4.2.1 Penambahan Nilai α
Tabel 4. 2 Hasil Pengujian Penambahan Nilai α
Kapasitas
Buffer
Nilai
α
Troughput Packet Drop Delay
Reno NewReno Reno NewReno Reno NewReno
60 paket 10 154 155.1 461 470 0.0124877 0.0167169
60 paket 20 156.2 157 315 318 0.03750857 0.0375658
60 paket 30 160 160.4 195 198 0.06101769 0.061797
60 paket 40 167.4 167.7 70 74 0.06566689 0.06567914
a) Throughput
0
20
40
60
80
100
120
140
160
180
α10 α20 α30 α40
Tro
ugh
pu
t (K
bp
s)
Buffer capacity di node C (Packets)
Throughput
Reno
NewReno
Queue total: 60 (packet) β=50
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
b) Packet Drop
c) End-To-End Delay
Gambar 4.12 RED: Dampak Penambahan nilai α Terhadap Unjuk Kerja TCP Reno
dan TCP NewReno
Grafik 4.12 (a) menunjukkan bahwa penambahan jarak α memberi efek
peningkatan di sisi throughput pada TCP Reno maupun TCP NewReno. Hal ini
dikarenakan semakin lebar α maka paket yang diterima juga semakin banyak. Data
menunjukkan performa TCP Reno sama dengan performa TCP NewReno, karena
0
200
400
600
800
1000
1200
1400
α10 α20 α30 α40
pac
ket
dro
p (
pkt
)
Buffer capacity di node C (packets)
Packet Drop
Reno
NewReno
Queue total :60 (packet) β :50
Queue total: 60 (packet) β=50
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
probabilitas terjadinya multiple packet error sangat kecil, sehingga TCP Reno tidak
akan masuk ke fase slowstart yang berulang-ulang melainkan masuk ke fase fast
retransmite dan fast recovery jika terjadi packet drop.
Skenario penambahan α(alfa) juga memberi dampak baik terhadap jumlah
packet drop yang ditunjukkan oleh grafik 4.12 (b) dampak baik ini ditunjukkan
dengan menurunnya jumlah packet drop di TCP Reno maupun di TCP NewReno.
Penurunan ini disebabkan semakin lebar α maka paket yang akan diterima semakin
banyak. Grafik menunjukkan jumlah packet drop pada TCP Reno hampir sama
dengan jumlah packet drop pada TCP NewReno karena tipe drop didalam mekanisme
antrian ini bersifat single drop.
Meskipun skenario ini memberi efek baik terhadap throughput dan packet
drop, namun efek buruk terjadi pada sisi delay yang diperlihatkan oleh grafik 4.12 (c)
. Efek buruk ini ditunjukkan dengan meningkatnya delay terhadap TCP Reno maupun
TCP NewReno seiring dengan bertambahnya jarak α hal ini dikarenakan paket yang
dapat diterima semakin banyak sehingga pelayanan terhadap paket semakin lama.
Dalam hal ini grafik memperlihatkan performa yang sama terhadap TCP Reno
maupun performa TCP NewReno.
Kecilnya probabilitas terjadinya multiple packet error dapat dibuktikan
dengan melihat gambar 4.19 dan 4.20, yaitu congestion window baik di TCP Reno
maupun di TCP NewReno menunjukkan data yang hampir sama. Grafik
memperlihatkan bahwa kedua TCP jarang memasuki fase slowstart.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
Congestion window
Random Early Detection
Gambar 4. 13 RED: Dampak Penambahan nilai α=10 packet Terhadap Unjuk Kerja TCP
Reno
Gambar 4.13(a) RED: hasil zoom congestion windows dengan α=10 packet di TCP Reno
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Gambar 4.14 RED: Dampak Penambahan nilai α=10 packet Terhadap Unjuk Kerja TCP
NewReno
Gambar 4.14(a) RED: hasil zoom congestion window dengan α=10 packet di TCP NewReno
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
Gambar 4. 15 RED: Dampak Penambahan nilai α=20 packet Terhadap Unjuk Kerja TCP
Reno
Gambar 4.15(a) RED: hasil zoom congestion window dengan α=20 packet di TCP Reno
Lingkaran H : menunjukkan bahwa didalam jaringan terjadi paket drop, sehingga
TCP Reno akan masuk ke fase fast retrasnmite dilanjutkan ke fase fast recovery.
Lingkaran I : Didalam fast recovery paket yang di drop akan diperbaiki kemudian
akan masuk ke fase congestion avoidance. Jika tipe antrian droptail memiliki sifat
corieleted, berbeda dengan tipe antrian Random aerly detection yang melakukan drop
secara acak, sehingga didalam satu window probabiliatas terjadinya packet drop yang
berderet minim. Hal ini mengakibatkan TCP Reno jarang mengalami kegagalan
karena tipe drop dalam RED adalah single drop.
I
H
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
Gambar 4. 16 RED: Dampak Penambahan nilai α=20 packet Terhadap Unjuk Kerja TCP
NewReno
Gambar 4.16(a) RED: hasil zoom congestion window dengan α=20 packet di TCP NewReno
Lingkaran H : menunjukkan bahwa didalam jaringan terjadi paket yang di drop,
sehingga TCP Reno akan masuk ke fase fast retrasnmite dilanjutkan ke fase fast
recovery. Lingkaran I : Didalam fase fast recovery paket akan diperbaiki, kemudian
masuk ke fase congestion avoidance. Jika tipe antrian droptail memiliki sifat
corieleted, berbeda dengan tipe antrian Random aerly detection yang melakukan drop
secara acak, sehingga didalam satu window probabiliatas terjadinya packet drop yang
berderet minim. Sehingga TCP NewReno akan jarang gagal.
I
H
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
Gambar 4. 17 RED: Dampak Penambahan nilai α=30 packet Terhadap Unjuk Kerja TCP
Reno
Gambar 4.17(a) RED: hasil zoom congestion window dengan α=30 packet di TCP Reno
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
Gambar 4.18 RED: Dampak Penambahan nilai α=30 packet Terhadap Unjuk Kerja TCP
NewReno
Gambar 4.18(a) RED: hasil zoom congestion window dengan α=30 packet di TCP NewReno
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
Gambar 4.19 RED: Dampak Penambahan nilai α=40 packet Terhadap Unjuk Kerja TCP Reno
Gambar 4.19(a) RED: hasil zoom congestion window dengan α=40 packet di TCP Reno
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
Gambar 4.20 RED: Dampak Penambahan nilai α=40 packet Terhadap Unjuk Kerja TCP
NewReno
Gambar 4.20 RED: hasil zoom congestion window dengan α=40 packet di TCP NewReno
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari hasil simulasi dan pengujian yang telah dilakukan dapat
disimpulkan bahwa:
1. Pada mekanisme antrian Droptail yang memiliki sifat corieleted, TCP
NewReno akan unggul dari TCP Reno pada sisi throughput karena TCP
NewReno mampu menangani multiple packet error, sehingga TCP NewReno
dapat bertahan di fase fast recovery. Tetapi pada sisi packet drop dan End-
To-End delay, TCP Reno lebih unggul karena akan memulai dari fase
slowstart jika terjadi multiple packet error, sehingga data yang dikirimkan
tidak akan membanjiri jaringan.
2. Pada mekanisme antrian Random Early Detection kedua TCP memiliki
performa yang sama baik pada sisi throughput, packet drop, dan delay. Hal ini
dikarenakan probabilitas terjadinya multiple packet error sangat kecil, oleh
karena itu TCP Reno akan jarang memasukki fase slowstart jika terjadi
multiple packet error.
5.2 Saran
Untuk pengembangan lebih lanjut, terdapat beberapa saran dari penulis
diantaranya :
1. Melakukan pengujian menggunakan varian protokol TCP lainnya.
2. Menggunakan protokol TCP sebagai pengganggunya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
DAFTAR PUSTAKA
[1] Performance Measurements and metrics, n.d. Available at :
webstaff.itn.liu.se/~davgu/tnk087/Fo_8.pdf. [Accessed 03 December 2015]
[2] Packet loss definition, (2007). Available at :
http://searchnetworking.techtarget.com/definition/packet-loss. [Accessed 03
December 2015]
[3] Brakmo, L. S., O’Malley,S.W., & Peterson, L. L. (1994), TCP
Vegas:New Techniques for Congestion Detection and Avoidance. Department of
Computer Science, University of Arizona.
[4] TCP fast recove ry, Partial ACK and Newreno, n.d. Available at :
http://www.programering.com/a/MDO5MDNwATA.html . [Accessed 05 Juny 2016]
[5] Ziegler,Thomas, C. Branduwer, & S. Frdida. (2001). Stability Criteria
of RED TCP Traffic
[6] Brakmo, L. S. Brakmo and Peterson, L. L. (1995), TCP Vegas: End to
end congestion avoidance on a global internet. IEEE Journal on Selected Areas
in Communications, 13(8).
[7] Network Simulator 2. [online]
Tersedia : http://www.isi.edu/nsnam/ns/ [1 July 2016]
[8] Susanto, Abe & I Wayan Warmada. (2001). Modul pelatihan Gnuplot
Untuk Orang Lugu
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
LAMPIRAN
Konfigurasi skenario.
1. new reno.tcl # ################################################
# Make a simulator (scheduler)
set ns [new Simulator]
# ################################################
#Define different colors for data flows (for NAM)
$ns color 1 Blue
$ns color 2 Red
# ################################################
# Open the Trace files
set file1 [open Newreno_buffer_20_1-2.tr w]
$ns trace-all $file1
# ################################################
# Open the Window trace file
set winfile [open Newreno_buffer_20_1-2.xg w]
# ################################################
# Open the NAM trace file
# set file2 [open Newreno2.nam w]
# $ns namtrace-all $file2
# ################################################
# Define a 'finish' procedure
proc finish {} {
global ns file1
$ns flush-trace
close $file1
#exec nam Newreno2.nam &
exit 0
}
# ################################################
# Create the nodes:
set n0 [$ns node]
set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]
set n4 [$ns node]
set n5 [$ns node]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
# ################################################
Queue/RED set bytes_ false
# default changed on 10/11/2004.
Queue/RED set queue_in_bytes_ false
# default changed on 10/11/2004.
Queue/RED set q_weight_ 0.002
Queue/RED set thresh_ 0
Queue/RED set maxthresh_ 20
# ################################################
# Create the links:
$ns duplex-link $n0 $n2 10Mb 2ms DropTail
$ns duplex-link $n1 $n2 10Mb 2ms DropTail
$ns duplex-link $n2 $n3 1Mb 2ms RED
$ns duplex-link $n3 $n4 10Mb 2ms DropTail
$ns duplex-link $n3 $n5 10Mb 2ms DropTail
# ################################################
# Give node position (for NAM)
$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 simplex-link-op $n3 $n2 orient left
$ns duplex-link-op $n3 $n4 orient right-up
$ns duplex-link-op $n3 $n5 orient right-down
#
########################################################
# Set Queue Size of link (n2-n3) to 10 (default is 50 ?)
$ns queue-limit $n2 $n3 20
#
########################################################
# Setup a TCP connection
set tcp [new Agent/TCP/Newreno]
$ns attach-agent $n0 $tcp
set sink [new Agent/TCPSink]
$ns attach-agent $n4 $sink
$ns connect $tcp $sink
$tcp set fid_ 1
#$tcp set window_ 8000
$tcp set packetSize_ 1024
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
#
########################################################
# Setup a FTP over TCP connection
set ftp [new Application/FTP]
$ftp attach-agent $tcp
$ftp set type_ FTP
#
########################################################
# Setup a UDP connection
set udp [new Agent/UDP]
$ns attach-agent $n1 $udp
set null [new Agent/Null]
$ns attach-agent $n5 $null
$ns connect $udp $null
$udp set fid_ 2
#
########################################################
# Setup a CBR over UDP connection
set cbr [new Application/Traffic/CBR]
$cbr attach-agent $udp
$cbr set type_ CBR
$cbr set packet_size_ 1024
$cbr set rate_ 0.7mbps
$cbr set random_ 1
#
########################################################
# Schedule start/stop times
$ns at 1.0 "$cbr start"
$ns at 0.1 "$ftp start"
$ns at 200.0 "$ftp stop"
$ns at 200.0 "$cbr stop"
#
#########################################################
###########
# plotWindow(tcpSource,file): write CWND from $tcpSource
# to output file $file every 0.1 sec
proc plotWindow {tcpSource file} {
global ns
set time 0.1
set now [$ns now]
set cwnd [$tcpSource set cwnd_]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
set wnd [$tcpSource set window_]
puts $file "$now $cwnd"
$ns at [expr $now+$time] "plotWindow $tcpSource
$file"
}
#
#########################################################
###########
# Start plotWindow
$ns at 0.1 "plotWindow $tcp $winfile"
#
#########################################################
###########
# Set simulation end time
$ns at 200.0 "finish"
#
#########################################################
###########
##seed
$defaultRNG seed 0
################################
# Run !!!!
$ns run
2. reno.tcl
# ################################################
# Make a simulator (scheduler)
set ns [new Simulator]
# ################################################
#Define different colors for data flows (for NAM)
$ns color 1 Blue
$ns color 2 Red
# ################################################
# Open the Trace files
set file1 [open Reno_buffer_20_2_5-5.tr w]
$ns trace-all $file1
# ################################################
# Open the Window trace file
set winfile [open Reno_buffer_20_2_5-5.xg w]
# ################################################
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
# Open the NAM trace file
# set file2 [open Reno2.nam w]
# $ns namtrace-all $file2
# ################################################
# Define a 'finish' procedure
proc finish {} {
global ns file1
$ns flush-trace
close $file1
#exec nam Reno2.nam &
exit 0
}
# ################################################
# Create the nodes:
set n0 [$ns node]
set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]
set n4 [$ns node]
set n5 [$ns node]
# ################################################
Queue/RED set bytes_ false
# default changed on 10/11/2004.
Queue/RED set queue_in_bytes_ false
# default changed on 10/11/2004.
Queue/RED set q_weight_ 0.002
Queue/RED set thresh_ 0
Queue/RED set maxthresh_ 20
# ################################################
# Create the links:
$ns duplex-link $n0 $n2 10Mb 2ms DropTail
$ns duplex-link $n1 $n2 10Mb 2ms DropTail
$ns duplex-link $n2 $n3 2.5Mb 2ms RED
$ns duplex-link $n3 $n4 10Mb 2ms DropTail
$ns duplex-link $n3 $n5 10Mb 2ms DropTail
# ################################################
# Give node position (for NAM)
$ns duplex-link-op $n0 $n2 orient right-down
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
$ns duplex-link-op $n1 $n2 orient right-up
$ns duplex-link-op $n2 $n3 orient right
#$ns simplex-link-op $n3 $n2 orient left
$ns duplex-link-op $n3 $n4 orient right-up
$ns duplex-link-op $n3 $n5 orient right-down
#
########################################################
# Set Queue Size of link (n2-n3) to 10 (default is 50 ?)
$ns queue-limit $n2 $n3 20
#
########################################################
# Setup a TCP connection
set tcp [new Agent/TCP/Reno]
$ns attach-agent $n0 $tcp
set sink [new Agent/TCPSink]
$ns attach-agent $n4 $sink
$ns connect $tcp $sink
$tcp set fid_ 1
#$tcp set window_ 8000
$tcp set packetSize_ 1024
#
########################################################
# Setup a FTP over TCP connection
set ftp [new Application/FTP]
$ftp attach-agent $tcp
$ftp set type_ FTP
#
########################################################
# Setup a UDP connection
set udp [new Agent/UDP]
$ns attach-agent $n1 $udp
set null [new Agent/Null]
$ns attach-agent $n5 $null
$ns connect $udp $null
$udp set fid_ 2
#
########################################################
# Setup a CBR over UDP connection
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
set cbr [new Application/Traffic/CBR]
$cbr attach-agent $udp
$cbr set type_ CBR
$cbr set packet_size_ 1024
$cbr set rate_ 0.7mbps
$cbr set random_ 1
#
########################################################
# Schedule start/stop times
$ns at 1.0 "$cbr start"
$ns at 0.1 "$ftp start"
$ns at 200.0 "$ftp stop"
$ns at 200.0 "$cbr stop"
#
#########################################################
###########
# plotWindow(tcpSource,file): write CWND from $tcpSource
# to output file $file every 0.1 sec
proc plotWindow {tcpSource file} {
global ns
set time 0.1
set now [$ns now]
set cwnd [$tcpSource set cwnd_]
set wnd [$tcpSource set window_]
puts $file "$now $cwnd"
$ns at [expr $now+$time] "plotWindow $tcpSource
$file"
}
#
#########################################################
###########
# Start plotWindow
$ns at 0.1 "plotWindow $tcp $winfile"
#
#########################################################
###########
# Set simulation end time
$ns at 200.0 "finish"
#
#########################################################
###########
##seed
$defaultRNG seed 0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
################################
# Run !!!!
$ns run
3. Reno.tcl
# ################################################
# Make a simulator (scheduler)
set ns [new Simulator]
# ################################################
#Define different colors for data flows (for NAM)
$ns color 1 Blue
$ns color 2 Red
# ################################################
# Open the Trace files
set file1 [open Reno_buffer_60_3-5.tr w]
$ns trace-all $file1
# ################################################
# Open the Window trace file
set winfile [open Reno_buffer_60_3-5.xg w]
# ################################################
# Open the NAM trace file
set file2 [open Reno2.nam w]
$ns namtrace-all $file2
# ################################################
# Define a 'finish' procedure
proc finish {} {
global ns file1
$ns flush-trace
close $file1
exec nam Reno2.nam &
exit 0
}
# ################################################
# Create the nodes:
set n0 [$ns node]
set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]
set n4 [$ns node]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
set n5 [$ns node]
# ################################################
# Create the links:
$ns duplex-link $n0 $n2 10Mb 2ms DropTail
$ns duplex-link $n1 $n2 10Mb 2ms DropTail
$ns duplex-link $n2 $n3 3Mb 2ms DropTail
$ns duplex-link $n3 $n4 10Mb 2ms DropTail
$ns duplex-link $n3 $n5 10Mb 2ms DropTail
# ################################################
# Give node position (for NAM)
$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 simplex-link-op $n3 $n2 orient left
$ns duplex-link-op $n3 $n4 orient right-up
$ns duplex-link-op $n3 $n5 orient right-down
#
########################################################
# Set Queue Size of link (n2-n3) to 10 (default is 50 ?)
$ns queue-limit $n2 $n3 20
#
########################################################
# Setup a TCP connection
set tcp [new Agent/TCP/Reno]
$ns attach-agent $n0 $tcp
set sink [new Agent/TCPSink]
$ns attach-agent $n4 $sink
$ns connect $tcp $sink
$tcp set fid_ 1
#$tcp set window_ 8000
$tcp set packetSize_ 1024
#
########################################################
# Setup a FTP over TCP connection
set ftp [new Application/FTP]
$ftp attach-agent $tcp
$ftp set type_ FTP
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
#
########################################################
# Setup a UDP connection
set udp [new Agent/UDP]
$ns attach-agent $n1 $udp
set null [new Agent/Null]
$ns attach-agent $n5 $null
$ns connect $udp $null
$udp set fid_ 2
#
########################################################
# Setup a CBR over UDP connection
set cbr [new Application/Traffic/CBR]
$cbr attach-agent $udp
$cbr set type_ CBR
$cbr set packet_size_ 1024
$cbr set rate_ 0.7mbps
$cbr set random_ 1
#
########################################################
# Schedule start/stop times
$ns at 1.0 "$cbr start"
$ns at 0.1 "$ftp start"
$ns at 200.0 "$ftp stop"
$ns at 200.0 "$cbr stop"
#
#########################################################
###########
# plotWindow(tcpSource,file): write CWND from $tcpSource
# to output file $file every 0.1 sec
proc plotWindow {tcpSource file} {
global ns
set time 0.1
set now [$ns now]
set cwnd [$tcpSource set cwnd_]
set wnd [$tcpSource set window_]
puts $file "$now $cwnd"
$ns at [expr $now+$time] "plotWindow $tcpSource
$file"
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
#
#########################################################
###########
# Start plotWindow
$ns at 0.1 "plotWindow $tcp $winfile"
#
#########################################################
###########
# Set simulation end time
$ns at 200.0 "finish"
#
#########################################################
###########
##seed
$defaultRNG seed 0
################################
# Run !!!!
$ns run
4. new reno.tcl
# ################################################
# Make a simulator (scheduler)
set ns [new Simulator]
# ################################################
#Define different colors for data flows (for NAM)
$ns color 1 Blue
$ns color 2 Red
# ################################################
# Open the Trace files
set file1 [open Newreno_buffer_20_3-5.tr w]
$ns trace-all $file1
# ################################################
# Open the Window trace file
set winfile [open Newreno_buffer_20_3-5.xg w]
# ################################################
# Open the NAM trace file
# set file2 [open Newreno2.nam w]
# $ns namtrace-all $file2
# ################################################
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
# Define a 'finish' procedure
proc finish {} {
global ns file1
$ns flush-trace
close $file1
#exec nam Newreno2.nam &
exit 0
}
# ################################################
# Create the nodes:
set n0 [$ns node]
set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]
set n4 [$ns node]
set n5 [$ns node]
# ################################################
# Create the links:
$ns duplex-link $n0 $n2 10Mb 2ms DropTail
$ns duplex-link $n1 $n2 10Mb 2ms DropTail
$ns duplex-link $n2 $n3 3Mb 2ms DropTail
$ns duplex-link $n3 $n4 10Mb 2ms DropTail
$ns duplex-link $n3 $n5 10Mb 2ms DropTail
# ################################################
# Give node position (for NAM)
$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 simplex-link-op $n3 $n2 orient left
$ns duplex-link-op $n3 $n4 orient right-up
$ns duplex-link-op $n3 $n5 orient right-down
#
########################################################
# Set Queue Size of link (n2-n3) to 10 (default is 50 ?)
$ns queue-limit $n2 $n3 20
#
########################################################
# Setup a TCP connection
set tcp [new Agent/TCP/Newreno]
$ns attach-agent $n0 $tcp
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
set sink [new Agent/TCPSink]
$ns attach-agent $n4 $sink
$ns connect $tcp $sink
$tcp set fid_ 1
#$tcp set window_ 8000
$tcp set packetSize_ 1024
#
########################################################
# Setup a FTP over TCP connection
set ftp [new Application/FTP]
$ftp attach-agent $tcp
$ftp set type_ FTP
#
########################################################
# Setup a UDP connection
set udp [new Agent/UDP]
$ns attach-agent $n1 $udp
set null [new Agent/Null]
$ns attach-agent $n5 $null
$ns connect $udp $null
$udp set fid_ 2
#
########################################################
# Setup a CBR over UDP connection
set cbr [new Application/Traffic/CBR]
$cbr attach-agent $udp
$cbr set type_ CBR
$cbr set packet_size_ 1024
$cbr set rate_ 0.7mbps
$cbr set random_ 1
#
########################################################
# Schedule start/stop times
$ns at 1.0 "$cbr start"
$ns at 0.1 "$ftp start"
$ns at 200.0 "$ftp stop"
$ns at 200.0 "$cbr stop"
#
#########################################################
###########
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
# plotWindow(tcpSource,file): write CWND from $tcpSource
# to output file $file every 0.1 sec
proc plotWindow {tcpSource file} {
global ns
set time 0.1
set now [$ns now]
set cwnd [$tcpSource set cwnd_]
set wnd [$tcpSource set window_]
puts $file "$now $cwnd"
$ns at [expr $now+$time] "plotWindow $tcpSource
$file"
}
#
#########################################################
###########
# Start plotWindow
$ns at 0.1 "plotWindow $tcp $winfile"
#
#########################################################
###########
# Set simulation end time
$ns at 200.0 "finish"
#
#########################################################
###########
##seed
$defaultRNG seed 0
################################
# Run !!!!
$ns run
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI