Selasa, 16 Agustus 2011

Network Simulator (NS2)

Sejarah Network Simulator 

               Network Simulator (NS) pertama kali dibangun sebagai varian dan REAL Network Simulator pada tahun 1989 di University of California Berkeley. Pada tahun 1995 pembangunan Network Simulator didukung oleh DARPA (Defense Advanced research Project Agency) melalui proyek VINT (Virtual internet Testbed), yaitu sebuah tim riset gabungan yang beranggotakan tenaga ahli dari LBNL (Lawrence Berkeley of National Laboratory), Xerox PARC, UCB dan USC/ISI (University of Southern California school of Engineering/ information Science Institute). Tim gabungan ini membangun sebuah perangkat lunak simulasi jaringan internet untuk kepentingan riset interaksi-interaksi antar protokol dalam konteks pengembangan protokol internet pada saat ini dan masa yang akan datang. 


Network Simulator 2
            Network simulator (NS2) adalah alat simulasi jaringan yang bersifat open source yang banyak digunakan dalam mempelajari struktur dinamik dari jaringan komunikasi. Simulasi dari jaringan nirkabel dan protokol (seperti algoritma routing, TCP, dan UDP) dapat diselesaikan dengan baik dengan simulator ini. Beberapa keuntungan menggunakan network simulator sebagai perangkat lunak simulasi  adalah : network simulator dilengkapi dengan tool validasi,  pembuatan simulasi dengan menggunakan network simulator jauh lebih mudah daripada menggunakan software develover seperti Delphi atau C++, network simulator bersifat open source di bawah GPL (Gnu Public License), Dapat digunakan pada sistem oprasi windows dan sistem oprasi linux.


Bahasa TCL/TCL
    TCL (Tool Command Language) adalah string-based command language. Bahasa Tcl diciptakan oleh john Ousterhout pada akhir tahun 1980-an sebagai command language dengan tool interaktif. Tcl didesain untuk menjadi sebagai perekat yang membangun software building block menjadi suatu aplikasi.


    Berikut ini akan dijelaskan dasar-dasar bahasa tcl yang berguna dalam membangun simulasi


Syantax Dasar
Syantax dasar perintah tcl yaitu :
Command arg1 arg2 arg3
Command tersebut bisa berupa nama dari built in command, atau sebuah prosedur Tcl.
Contoh: 
expr 2*3
puts "ini adalah contoh command"


Variabel dan Array
Untuk membuat variabel pada tcl, digunakan perintah set.
Contoh:
set x "ini contoh variabel"
set y 20
pemanggilan variabel dilakukan dengan menggunkan tanda $ contoh:
Puts "$x, semuanya berjumlah $y"
NS juga mensupport penggunaan array. Array ditandai dengan menggunkan tanda kurung setelah nama array tersbut.
Contoh :
set opts(bottlenecklinkrate) 1 Mb
Set n(0) [$ns node]
set n(1) [$ns node]


Membuat simulasi dalam NS2
Untuk membuat simulasi kita perlu mengetahui bahasa Tcl. Bahasa tcl tidak terlalu sulit, tapi salah line break akan membuat syntax eror. contoh penggunaan bahasa Tcl :

  1. Komentar menggunakan tanda pagar (#), namun jika satu baris dengan perintah tambahakan tanda titik koma di depan. Contoh set q 3 ;#komentar dan perintah.
  2. Variabel tidak perlu dideklarasikan, langsung pakai. Contoh set b 1 sebagai pengganti b=1
  3. Ekspresi harus eksplisit : set a [expr 3+4]
  4. Menggunakan $ untuk memebaca variabel: set a $ b.
  5. Menampilkan output : puts "hello"
  6. Objek pada Otcl diperlukan seperti variabel. Cara pemanggilan metode pada objek Otcl :"$nama onjek metode para meter1 parameter2".

Urutan Simulasi
  1. Pembuatan simulator baru (new simulator).
  2. Skrip berisi skenario dan penjadwalan setiap kejadian. Untuk penjadwalan ini dapat digunakan kata kunci at waktu peritah.
  3. Di akhir skrip ada $ ns run
  4. Ns akan menghasilkan file output jika kita buat.
  5. Simulasi akan terlihat interaktif jika kita menampilkannya pada network animator(NAM). Namun file nam ini sangat besar
  6. Hasil simulasi dapat ditampilkan dalam xgraph