PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 i
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
SKRIPSI
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
SKRIPSI
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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-
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PERNYATAAN KEASLIAN KARYA
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LEMBAR PERSETUJUAN PUBLIKASI KARYA ILMIAHUNTUK KEPENTINGAN AKADEMIS
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
ix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
x
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
xiii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
xiv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
xv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
xvi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 saransaran berdasarkan hasil analisis data simulasi jaringan.
5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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).
6
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
9
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
11
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
13
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
6 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
14
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
15
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
To
Node Node
Packet Packet Flags Flow Source Dest. Type
Size
ID
Addr
Addr
Seq.
Paket
Number
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
16
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
17
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Contoh dari trace file:
Gambar 2.12 trace file
18
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
1
UDP TCP paket size
1024 byte
Traffic source
TCP vs UDP
Delay
2ms
Datarate Buffer size
10 Mbps 10, 20, 30, 40, 50 packet
19
60 packet
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
20
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
21
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
Reno NewReno Reno NewReno
Delay 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
Throughput 180
Troughput (Kbps)
160
Reno
140
NewReno
120 100 80 60 40 20 0 10
20
30
40
Buffer capacity di node C (Packets)
a) Throughput
22
50
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Packet Drop packet drop (pkt)
1400
Reno
1200
NewReno
1000 800 600 400 200 0 10
20
30
40
50
Buffer capacity di node C (packets)
b) Packet Drop
End-To-End Delay 0.14
Reno
0.12
NewReno
Delay (s)
0.1 0.08 0.06 0.04 0.02 0 10
20
30
40
50
Buffer capacity di node C (packets)
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
23
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
24
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
25
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
26
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
27
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.4 Droptail: Dampak Penambahan Kapasitas Buffer Terhadap Congestion Window di TCP Reno
H
I
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.
28
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.5 Droptail : Dampak Penambahan Kapasitas Buffer Terhadap Congestion Window di TCP NewReno
H
I
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.
29
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
30
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
31
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
32
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
33
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
34
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4.2. Random Early Detection (RED) 4.2.1 Penambahan Nilai α Tabel 4. 2 Hasil Pengujian Penambahan Nilai α
Troughput
Packet Drop
Kapasitas
Nilai
Buffer
α
60 paket
10
154
155.1
461
60 paket
20
156.2
157
60 paket
30
160
60 paket
40
167.4
Reno NewReno Reno NewReno
Delay Reno
NewReno
470
0.0124877
0.0167169
315
318
0.03750857
0.0375658
160.4
195
198
0.06101769
0.061797
167.7
70
74
0.06566689
0.06567914
Queue total: 60 (packet) β=50
Throughput 180
Troughput (Kbps)
160
Reno
140 NewReno
120 100 80 60 40 20 0 α10
α20
α30
Buffer capacity di node C (Packets)
a) Throughput
35
α40
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Queue total :60 (packet) β :50
Packet Drop 1400
Reno 1200
packet drop (pkt)
NewReno 1000 800 600 400 200 0 α10
α20
α30
α40
Buffer capacity di node C (packets)
b) Packet Drop Queue total: 60 (packet) β=50
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
36
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
37
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
38
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
39
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4. 15 RED: Dampak Penambahan nilai α=20 packet Terhadap Unjuk Kerja TCP Reno
H
I
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.
40
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4. 16 RED: Dampak Penambahan nilai α=20 packet Terhadap Unjuk Kerja TCP NewReno
H
I
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.
41
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
42
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
43
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
44
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
45
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 EndTo-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.
46
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
47
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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]
48
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
# ################################################ 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
49
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
# ######################################################## # 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_]
50
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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] # ################################################
51
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
# 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
52
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
$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
53
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
54
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
################################ # 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]
55
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
56
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
# ######################################################## # 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" }
57
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
# ######################################################### ########### # 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
# ################################################
58
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
# 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
59
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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" # ######################################################### ###########
60
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
# 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
61