Anda di halaman 1dari 11

Copyright 2011 - smartnetsolution.

com

IT Training Center

NETWORK SIMULATOR 2
PENDAHULUAN Network Simulator 2 NS2 (Network Simulator 2) dikembangkan pertama kali tahun di UCB (University of California Berkeley) yang didukung oleh DARPA. NS2 merupakan suatu system yang bekerja pada system Unix/Linux , NS2 juga dapat dijalankan dalam system Windows namun harus menggunakan Cygwin sebagai Linux Enviromentnya NS2 dibangun dari 2 bahasa pemrograman yaitu C++, sebagai library yang berisi event scheduler, protokol , dan network component yang diimplementasikan pada simulasi oleh user. OTcl digunakan pada script simulasi yang ditulis oeh NS user. Otcl juga berperan sebagai interpreter . Bahasa C++ digunakan pada library karena C++ mampu mendukung runtime simulasi yang cepat, meskipun simulasi melibatkan simulasi jumlah paket dan sumber data dalam jumlah besar. Sedangkan bahasa Tcl memberikan respon runtime yang lebih lambat daripada C++, namun jika terdapat kesalahan , respon Tcl terhadap kesalahan syntax dan perubahan script berlangsung dengan cepat dan interaktif. Komponen Pembangun NS2 Pengetahuan tentang komponen pembangun NS2 dan letaknya akan sangat berguna dalam membangun simulasi. Komponen pembangun NS2 dapat dilihat seperti gambar dibawah ini.

Gambar1. Komponen pembangun NS2 Keterangan: Tcl : Tool command language Otcl : Object Tcl TK : Tool Kit Tclcl : Tcl/C++ Interface NS2 : NS versi 2 Nam : Network animator

Copyright 2011 - smartnetsolution.com

IT Training Center

Transport agent pada NS2 Pada jaringan internet, kita tahu ada 4 layer komunikasi TCP/IP yaitu: layer aplikasi, transport, IP dan network. Lapisan transport merupakan layer komunikasi yang mengatur komunikasi data yang akan digunakan oleh lapisan aplikasi di atasnya. NS mensimulasikan lapisan transport dengan objek simulasi yang bernama transport agent. Pada simulasi pengiriman data, transport agent tidak dapat berdiri sendiri. Transport agent membutuhkan lapisan aplikasi di atasnya yang berfungsi sebagai traffic generator. Protokol lapisan transport data yang didukung network simulator 2 antara lain : 1. TCP ( Transport Control Protocol ) 2. UDP (User Datagram Protocol ) 3. RTP ( Real Time Transport Protocol ) a. TCP ( Transport Control protocol ) Network simulator 2 mendukung 2 jenis TCP agent, yaitu one way TCP agent dan Two way TCP agent. Perbedaan kedua jenis TCP agent ialah: 1. Two way TCP agent mensupport proses handshaking pada saat connection setup, sehingga koneksi dapat dibangun atau drop tergantung pada kondisi jaringannya. Sedangkan One way TCP agent tidak mensupport proses handshaking. Pertukaran data menggunakan agent ini diasumsikan telah melewati proses handshaking. 2. Two way TCP agent mensupport data transfer dua arah. 3. Penomoran pada jumlah byte yang ditransfer, bukan jumlah paket. One Way TCP Agent Simulasi koneksi pada One way TCP dilakukan dengan menggunakan 2 agents yang berpasangan, yaitu TCP sender, dan TCP Sink. TCP Sender Agent Network Simulator 2 mendukung beberapa jenis TCP sender agent, yaitu : 1. 2. 3. 4. 5. 6. TCP Sender base ( Tahoe TCP ) Agent/TCP Reno TCP Agent/TCP/Reno New Reno TCP Agent/TCP/NewReno Vegas TCP Agent/TCP/Vegas SACK ( Selective ACK ) TCP Agent/TCP/Sack1 FACK ( Forward ACK ) TCP Agent/TCP/Fack

TCP Sink Agent TCP Sink bertugas mengirimkan ACK per paket yang diterima pada TCP sender pasangannya. Beberapa macam TCP sink yang disupport oleh NS yaitu : 1. Base TCP Sink Agent/TCPSink 2. Delayed ACK 2

Copyright 2011 - smartnetsolution.com


Agent/TCPSink/DelAck Sack TCP Sinkl Agent/TCPSink/Sack Delayed Ack dengan Sack Agent/TCPSink/Sack1/DelAck

IT Training Center

3. 4.

b. UDP ( User Datagram Protocol ) Koneksi dengan menggunakan UDP pada NS2 dilakukan dengan menggunakan agent UDP sebagai pengirim dan agent Null sebagai penerima. UDP Sender Agent Merupakan agent pengirim, diterapkan pada NS sebagai: UDP sender agent Agent/UDP Agent Null Agent Null merupakan pasangan UDP sebagai tujuan trafik. Agent Null Agent/Null c. RTP ( Real Time Transport Protocol ) RTP menyelenggarakan end to end delivery services untuk data yang memiliki karakteristik real time, seperti ausi (VoIP ) dan video interaktif. Layanan tersebut termasuk identifikasi tipe payload, pengurutan, timestamping, dan monitor pengiriman data. Sama seperti UDP, pemakai RTP sebagai agent pengirim dipasangkan dengan agent Null sebagai penerima.

Level aplikasi pada NS2 Kedudukan lapisan aplikasi Pada sistem dunia nyata,aplikasi terhubung dengan lapisan transport yang ada dibawahnya melalui sebuah Aplication Program Interface (API). Jenis API yang umum digunakan yaitu socket. Ada 2 tipe dasar aplikasi yang disimulasikan pada NS2, yaitu: a) Simulated Application Pada saat ini baru terdapat dua jenis aplikasi yang disimulasikan oleh NS yaitu: 1. FTP FTP dibangun untuk mensimulasikan bulk data transfer. 2. Telnet Masing-masing aplikasi diatur oleh transport agent. Jumlah paket yag ditransmisikan diatur oleh mekanisme flow control dan congestion control TCP. b) Generator Traffic Object generator traffic dibagi atas 4 type, yaitu: 1. Eksponensial Generator traffic ini membangkitkan traffic dengan inter arrival time antarpaket sesuai dengan fungsi eksponensial. 2. Pareto Generator traffic ini membangkitkan traffic dengan inter arrival time antarpaket sesuai dengan fungsi pareto. Contoh pemakaian pada simulasi: 3. CBR Fungsi ini membangkitkan data secara kontinue dengan bit rate yang konstan. 3

Copyright 2011 - smartnetsolution.com

IT Training Center

4. Traffic Trace Generator ini membangkitkan traffic dari sebuah file trace. Routing Unicast routing Secara umum simulasi routing pada NS2 dilakukan melalui 3 blok fungsi, yaitu routing agent yang mempertukarkan paket routing antar node, routing logic yang menggunakan informasi yang dikumpulkan oleh routing agent untuk melakukan perhitungan rute dalam bentuk table routing dan Classifier yang ada pada node. Ada dua jenis algoritma routing yang didukung oleh NS2, yaitu : 1. Algorima routing Distance Vector 2. Algoritma routing Link-State Distance Vector Algoritma ini digunakan pada protokol routing RIP ( Routing Information protocol ) dan IGRP ( Interior Gateway Routing Protocol). Proses pembentukan tabel pada protokol routing yang menggunakan konsep distance vector adalah sebagai berikut : a. Mula mula tabel routing yang dimiliki oleh masing masing router akan berisi informasi alamat jaringan yang terhubung dengan router tersebut. b. Secara periodik masing masing router kan saling bertukar informasi sehingga isi tabel routing dari semua router terisi lengkap . Dalam NS2 algoritma routing distance vector dapat ditulis seperti dibawah ini :
$ns rtproto DV

1.

2.

Link-State Algoritma routing ini digunakan pada protokol routing OSPF (Open Shortest Path First). OSPF bisa digunakan pada jaringan router dalam skala besar dan memiliki karakteristik seperti berikut : Metric-nya berdasarkan nilai cost ( bandwidth ). Tidak dibatasi oleh banyaknya hop count. Default administrative distance = 110. Pada NS2 algoritma routing ini dapat dituliskan dengan perintah berikut:
$ns trproto LS

Copyright 2011 - smartnetsolution.com

IT Training Center

INSTALASI NS2 Berikut merupakan tahapan menginstal ns-2.27 (versi 2.27) : 1. Mendownload source ns-allinone-2.27.tar.gz http://www/isi.edu/nsnam/dist/ 2. Mendownload source cgwin di http://www.cgwin.com 3. Install cgwin pada direktori C:\cgwin Berikut cara instalasi cgwin Klik setup.exe, kemudian muncul tampilan berikut

dari

Pilih source untuk install dari local directory

Pilih direktori untuk instalasi yaitu pada C:\cgwin

Copyright 2011 - smartnetsolution.com


Pilih local package directory

IT Training Center

Klik View untuk melihat Category diubah ke full

Tampilan setelah diklik View. Kemudian klik skip sehingga berubah menjadi 20030901-1

Copyright 2011 - smartnetsolution.com


Tampilan setelah diklik skip yaitu 20030901-1

IT Training Center

Instalasi cgwin berlangsung

Create icon pada desktop dan start menu

Tampilan setelah instalasi cgwin berhasil dilakukan

Copyright 2011 - smartnetsolution.com

IT Training Center

4. Jalankan Cygwin untuk menampilkan folder /home 5. Letakkan file ns-allinone-2.27.tar.gz ke dalam folder /home di Cygwin. 6. Ekstrak file ns-allinone-.2.27.tar.gz dengan menggunakan perintah: tar - xvfz ns-allinone-2.27.tar.gz

7. Masuk ke dalam folder hasil ekstrak dengan menggunakan perintah: cd ns-allinone-2.27 8. Install source-nya : ./install

9. Proses instalasi akan memakan waktu kurang lebih kurang lebih 20 menit, tergantung dari komputer yang kita gunakan. 10. Setelah instalasi selesai, update environment variabel pada : /etc/profile dengan menambahkan text berikut pada ~/.bashrc export PATH=/home/ Ogud /ns-allinone-2.27/bin:/home/ns-allinone2.27/tcl8.4.11/unix:/home/ns-allinone-2.27/tk8.4.11/unix:$PATH export LD_LIBRARY_PATH=/home/ns-allinone-2.27/otcl-1.11:/home/nsallinone-2.27/lib:$PATH export TCL_LIBRARY=/home/ns-allinone-2.27/tcl8.4.11/library:$PATH 11. Ketikkan juga perintah berikut pada cygwin prompt (optional) export NS_HOME=/home/ Ogud /ns-allinone-2.27 export PATH=$NS_HOME/tcl8.4.11/unix:$NS_HOME/tk8.4.11/unix:$NS_HOME/ bin :$PATH export LD_LIBRARY_PATH=$NS_HOME/tcl8.4.11/unix:$NS_HOME/tk8.4.11/uni x:\$NS_HOME/otcl-1.11:$NS_HOME/lib:$LD_LIBRARY_PATH export TCL_LIBRARY=$NS_HOME/tcl8.4.11/library 12. Cek dengan perintah : $ns Jika ada konfigurasi yang salah akan muncul error. 13. Jalankan : $startxwin.bat 8

Copyright 2011 - smartnetsolution.com

IT Training Center

MEMBANGUN SIMULASI Berikut merupakan program simulasi jaringan wired dengan 10 router menggunakan metode routing Distance Vector : simpan sbg : dataDV.tcl jalankan dengan : $ns dataDV.tcl
#Create a simulator object set ns [new Simulator] #Tell the simulator to use dynamic routing $ns rtproto DV #Open the nam trace file set nf [open be.nam w] set tr [open be.tr w] $ns namtrace-all $nf $ns trace-all $tr #Define a 'finish' procedure proc finish {} { global ns nf tr $ns flush-trace #Close the trace file close $nf close $tr #Execute nam on the trace file exec nam be.nam & exit 0 } for {set i 0} {$i < 10} {incr i} { set n($i) [$ns node] } for {set i 0} {$i < 10} {incr i} { $ns duplex-link $n($i) $n([expr ($i+1)%10]) 1Mb 0.1ms DropTail $ns duplex-link-op $n($i) $n([expr ($i+1)%10]) color blue } set udp0 [new Agent/UDP] $ns attach-agent $n(0) $udp0 set cbr0 [new Application/Traffic/CBR] $cbr0 set packetSize_ 512kb $cbr0 set interval_ 0.005 $cbr0 attach-agent $udp0 set null0 [new Agent/Null] $ns attach-agent $n(4) $null0 $ns connect $udp0 $null0

Copyright 2011 - smartnetsolution.com

IT Training Center

$ns $ns $ns $ns

at 1.0 "$cbr0 start" rtmodel-at 40.0 down $n(1) $n(2) rtmodel-at 50.0 up $n(1) $n(2) at 119.5 "$cbr0 stop"

$ns at 120.0 "finish" $ns run

Setelah simulasi dieksekusi, maka akan mengeluarkan nam seperti di bawah ini :

Gambar 3. Tampilan nam be.tcl Berikut merupakan program simulasi jaringan wired dengan 10 router menggunakan metode routing Link State : ... ... #Tell the simulator to use dynamic routing $ns rtproto LS ... ...

Oleh : Vina Semoga bermanfaat

10

Copyright 2011 - smartnetsolution.com

IT Training Center

11