BAB II LANDASAN TEORI Pada bab ini dibahas konsep dasar yang berhubungan dengan VoIP, jaringan komputer, jalur komunikasi Voip, Quality of Service, Denial of Service dan Network Simulator 2. 2.1 Voice Over Internet Protokol Voice over Internet Protocol atau disingkat VoIP, dikenal juga dengan sebutan IP Telephony. VoIP didefinisikan sebagai suatu sistem yang menggunakan jaringan internet untuk mengirimkan data paket suara dari suatu tempat ke tempat yang lain menggunakan protokol IP. Sehingga perbedaan VoIP dengan telepon tradisional adalah masalah infrastrukturnya, jika VoIP menggunakan Internet sedangkan telepon tradisional menggunakan infrastruktur telepon yang sudah dibangun lebih awal (Winarno Sugeng 2008:1). Jika dilihat dari perkembangan teknologi komunikasi data, teknologi komunikasi data sudah semakin andal kualitas media transmisinya. Dalam hal ini, tipe media transmisi sangatlah penting untuk menentukan awal terbentuknya suatu komunikasi, karena mempengaruhi jumlah maksimum bit (binary bit) yang dapat ditransmisikan (bps). Berbagai media transmisi yang saat ini digunakan, antara lain : a. Two wire open line, jenis media transmisi yang paling sederhana, yang masingmasing wire diinsulasi dari wire lainnya, dan semua berada dalam keadaan terbuka. Jarak antara komunikasi media ini sampai 50 meter dengan menggunakan modem dengan bit rate lebih kecil dari 19,2 kbps. b. Twisted-pair cable atau kabel pasangan berpilin terdiri dari dua buah konduktor yang digabungkan dengan tujuan untuk mengurangi atau meniadakan interferensi elektromagnetik dari luar seperti radiasi elektromagnetik dari kabel Unshielded twisted-pair (UPT), dan crosstalk yang terjadi di antara kabel yang berdekatan. Tepat dipakai untuk jarak 100 meter 7 8 dengan bit rate sampai 1 Mbps (Dede Sopandi 2010:20). Twisted pair terdiri dari dua jenis yaitu : 1) Kabel STP (Shielded Twisted Pair) Keuntungan menggunakan kabel STP adalah lebih tahan terhadap interferensi gelombang elektromagnetik baik dari dari dalam maupun dari luar. Kekurangannya adalah mahal, susah pada saat instalasi (terutama masalah grounding), dan jarak jangkauannya hanya 100 meter . 2) Kabel UTP (Unshielded Twisted Pair) Keuntungan menggunakan kabel UTP adalah murah dan mudah diinstalasi. Kekurangannya adalah rentan terhadap interferensi gelombang elektromagnetik, dan jarak jangkauannya hanya 100 meter. c. Coaxial cable, kabel koaksial ini dapat digunakan hingga 1 km dan dapat dilewati sampai 10 Mbps. Jika dikehendaki jarak yang lebih jauh maka tehnik modulasi yang baik. d. Fiber optic, kabel serat optik berbeda dengan jenis media transmisi yang telah disebutkan sebelumnya. Sistem transmisi yang digunakan menggunakan teknik beam of light atau bentuk percikan cahaya pada serat kacanya. Dengan cara ini, bit rate transmisi dapat mencapai ratusan Mbps. e. Wireless Network, Saat ini sudah banyak digunakan jaringan tanpa kabel (wireless network), transmisi data menggunakan sinar infra merah atau gelombang mikro untuk menghantarkan data. Walaupun kedengarannya praktis, namun kendala yang dihadapi disini adalah masalah jarak, bandwidth, dan mahalnya biaya. Namun demikian untuk kebutuhan LAN di dalam gedung, saat ini sudah dikembangkan teknologi wireless untuk Active Hub (Wireless Access Point) dan Wireless LAN Card (pengganti NIC), sehingga bisa mengurangi semrawutnya kabel transmisi data pada jaringan komputer. Wireless Access Point juga bisa digabungkan (up-link) dengan ActiveHub dari jaringan yang sudah ada. Media transmisi wireless menggunakan gelombang radio frekuensi tinggi. Biasanya gelombang elektromagnetik dengan frekuensi 2.4 Ghz dan 5 Ghz. Data-data digital yang dikirim melalui wireless ini akan dimodulasikan ke dalam gelombang elektromagnetik ini. 9 Voice over Internet Protocol (VoIP) melewatkan trafik suara, video dan data yang berbentuk paket melalui jaringan IP. jaringan IP adalah jaringan komunikasi data yang berbasis packet switch. Trafik VoIP dibagi menjadi dua bagian transmisi jaringan yaitu transmisi untuk signaling dan untuk RTP (Realtime Transfer Protocol). Protokol yang digunakan unuk signaling selalu berbasis TCP (Transfer Control Protocol) sedang untuk RTP yang digunakan adalah protokol berbasis UDP (User Datagram Protocol). Signaling dilakukan diantara port TCP yang sudah umum diketahui, misalkan untuk H323 menggunakan port 1720, SIP (Session Initiation Protocol) menggunakan port 5060, IAX (Inter Asterisk Exchange) menggunakan port 4569. Seluruh paket dirutekan tanpa jaminan bahwa paket tersebut akan melewati jalur yang sama. Selama transmisi, paket-paket tersebut kemungkinan mengalami delay, lost, maupun error. Setelah paket-paket ditransmisikan dan tiba di tujuan, paket-paket tersebut disatukan kembali dan di dekompresi untuk membentuk ke bentuk aslinya. Kualitas suara VoIP dipengaruhi oleh beberapa parameter yaitu kapasitas bandwidth, packet loss dan delay yang terjadi di dalam jaringan. Kapasitas bandwidth adalah ketersediaan sumber daya jaringan dalam bentuk lebar pita yang digunakan untuk mentransmisikan data paket. Packet loss adalah parameter yang menyatakan besarnya laju kesalahan yang terjadi sepanjang jalur pengiriman data paket dari pengirim ke penerima. Delay adalah parameter yang menyatakan rentang waktu yang diperlukan untuk mengirimkan paket dari pengirim ke penerima. Pada perkembangannya, sistem koneksi VoIP mengalami evolusi. Bentuk peralatan pun berkembang, tidak hanya berbentuk komputer yang saling berhubungan, tetapi peralatan lain seperti pesawat telepon biasa terhubung dengan jaringan VoIP. Jaringan data digital dengan gateway untuk VoIP memungkinkan berhubungan dengan PABX atau jaringan analog telepon biasa. Komunikasi antara komputer dengan pesawat (extension) di kantor adalah memungkinkan. Dalam bentuk yang lebih lanjut komunikasi ini lebih dikenal dengan IP Telephony yang merupakan komunikasi bentuk multimedia sebagai kelanjutan bentuk komunkasi suara (VoIP). Keluwesan dari VoIP dalam bentuk jaringan, peralatan 10 dan media komunikasinya membuat VoIP menjadi cepat popular di masyarakat umum. Gambar 2.1 dibawah ini menjelaskan tentang gambaran umum dari teknologi VoIP. Gambar 2.1 Teknologi VoIP 2.1.1 Keuntungan dan Kelemahan dari VOIP Secara umum, pemakaian VoIP memiliki beberapa keuntungan seperti dengan adanya penghematan biaya untuk menelpon (khususnya untuk jarak jauh seperti SLI dan SLJJ). Namun beberapa kerugian yang dimiliki VoIP pun sebaiknya juga ikut diperhitungkan. Berikut merupakan keuntungan dan kelemahan dari VoIP. 1. Keuntungan VoIP a. Biaya lebih rendah untuk sambungan langsung jarak jauh. Penekanan utama dari VoIP adalah biaya. Dengan dua lokasi yang terhubung dengan internet maka biaya percakapan menjadi sangat rendah. b. Memanfaatkan infrastruktur jaringan data yang sudah ada untuk suara. Berguna jika perusahaan sudah mempunyai jaringan. Jika memungkinkan jaringan yang ada bisa dibangun jaringan VoIP dengan mudah. Tidak diperlukan tambahan biaya bulanan untuk penambahan komunikasi suara. c. Penggunaan bandwidth yang lebih kecil daripada telepon biasa. Dengan majunya teknologi penggunaan bandwidth untuk voice sekarang ini 11 menjadi sangat kecil. Teknik pemampatan data memungkinkan suara hanya membutuhkan sekitar 8 kbps bandwidth. d. Memungkinkan digabung dengan jaringan telepon lokal yang sudah ada. Dengan adanya gateway bentuk jaringan VoIP bisa disambungkan dengan PABX yang ada dikantor. Komunikasi antar kantor bisa menggunakan pesawat telepon biasa. e. Berbagai bentuk jaringan VoIP bisa digabungkan menjadi jaringan yang besar. Contoh di Indonesia adalah VoIP Rakyat. f. Variasi penggunaan peralatan yang ada, misal dari PC sambung ke telepon biasa, IP phone handset. 2. Kelemahan dari VoIP a. Kualitas suara tidak sejernih PSTN. Merupakan efek dari kompresi suara dengan bandwidth kecil maka akan ada penurunan kualitas suara. Namun jika koneksi internet yang digunakan adalah koneksi internet pita – lebar / broadband, maka kualitas suara akan lebih jernih. b. Ada jeda dalam berkomunikasi. Proses perubahan data menjadi suara, membuat adanya jeda dalam komunikasi dengan menggunakan VoIP. Kecuali jika menggunakan koneksi broadband. c. Jika memakai internet dan komputer dibelakang NAT (Network Address Translation), maka dibutuhkan konfigurasi khusus untuk membuat VoIP tersebut berjalan. d. Belum ada jaminan kualitas jika VoIP melewati internet. e. Peralatan relatif mahal. Peralatan VoIP yang menghubungkan antara VoIP dengan PABX (IP telephony gateway) relatif berharga mahal. f. Berpotensi menyebabkan jaringan terhambat jika pemakaian VoIP semakin banyak, maka ada potensi jaringan data yang ada menjadi penuh jika tidak diatur dengan baik. Pengaturan bandwidth adalah perlu agar jaringan di perusahaan tidak menjadi jenuh akibat pemakaian VoIP (Rachmat Rafiudin 2006:5). 12 2.1.2 Unsur pembentukan VoIP Dalam pembentukan jaringan VoIP terdapat beberapa unsur diantaranya adalah : 1. User Agent User agent ada yang berupa software ada pula yang berupa hardware. User agent seperti layaknya telepon yang kita kenal yang berfungsi untuk melakukan pemanggilan atau menerima telepon, baik berasal dari sambungan komputer dengan komputer, komputer dengan IP phone, komputer dengan PTSN (perlu ditambah alat ATA). User agent berupa software lebih poluler, hal ini dikarenakan banyak software user agent yang dapat diperoleh secara gratis. Beberapa jenis softphone SIP, misalnya Sjphone dan x-lite. Sjphone X-Lite Gambar 2.2 contoh softphone SIP Beberapa jenis hardware yang popular sebagai user agent : a. IP Phone, dengan bentuk seperti telepon biasa pada umunya. Cara penyambungannya dengan koneksi ke jaringan komputer yang telah memiliki fasilitas VoIP. b. USB Phone, bentuknya seperti telepon selular. Koneksi yang digunakan melalui USB port komputer. c. Internet Telephony Gateway (ITG), adalah user agent VoIP yang memiliki dua jenis port, yaitu port FXS (terhubung ke telepon biasa) dan FXO (terhubung ke PTSN langsung atau bisa juga melalui PABX). 13 d. Analog Telephone Adapter (ATA), ini merupakan alat yang digunakan agar telephone rumah dapat digunakan menjadi user agent VoIP. Alat ini sama dngan ITG namun hanya memiliki satu port, yaitu FXS. 2. Proxy Karena VoIP akan dijalankan di internet maka perlu dibentuk jembatan penghubung, jembatan tersebut biasa disebut proxy, seperti halnya proxyproxy server pada umumnya, tetapi ini khusus untuk kebutuhan VoIP. Untuk mengoprasikan proxy dibutuhkan softswitch. Untuk proxy softswitch open source dan cukup terkenal dan telah teruji keandalannya adalah asterisk, selain itu ada juga OpenSER, SER, Yate. Untuk softswitch yang proprietary (non-open source) dapat diperoleh di website Axon atau ada pula OnDo SIP Server. 3. Protokol Protokol merupakan sebuah aturan atau rule yang harus dipenuhi agar akses komunikasi dalam hal ini komunikasi VoIP dapat melewati jaringan internet. Secara umum, terdapat dua teknologi yang digunakan untuk VoIP, yaitu H.323 dan SIP. H323 merupakan teknologi yang dikembangkan oleh ITU (International Telecommunication Union). SIP (Session Initiation Protocol) merupakan teknologi yang dikembangkan IETF (Internet Enggineering Task Force). a. TCP/IP TCP atau “Transmision Control Protocol” adalah suatu protokol atau perantara yang dapat mentransmisikan data per segmen, artinya paket data dipecah dalam jumlah yang sesuai dengan besaran paket, kemudian dikirim satu persatu hingga selesai. Sedangankan “Internet Protocol” (IP) adalah protokol yang mengatur Routing dan pentransmisian melewati jaringan antara pengirim dan penerima, termasuk juga isu yang berkaitan dengan pengalamatan jaringan dan komputer, sehingga dapat dikatakan bahwa IP (Internet Protocol) merupakan perantara komunikasi antar komputer dengan menggunkan IP-Address 14 sebagai suatu identitas dari jaringan maupun komputer (Oscar Rachman Gin Gin Yugianto 2008:34). Gambar 2.3 TCP/IP model b. Application layer Fungsi utama lapisan ini adalah pemindahan file. Perpindahan file dari sebuah sistem ke sistem lainnya yang berbeda memerlukan suatu sistem pengendalian untuk menangatasi adanya ketidak-kompatibelan sistem file yang berbeda - beda. Protokol ini berhubungan dengan aplikasi. Salah satu contoh aplikasi yang telah dikenal misalnya HTTP (Hypertext Transfer Protocol) untuk web, FTP (File Transfer Protocol) untuk perpindahan file, dan TELNET untuk terminal maya jarak jauh. c. TCP TCP (Transmission Control Protocol) adalah salah satu jenis protocol transfer data. TCP merupakan bagian dari protokol TCP/IP yang digunakan bersama dengan IP untuk mengirim data dalam bentuk unit pesan antara komputer ke internet (Madcoms 2009:87). TCP mempunyai karakteristik sebagai protokol yang berorientasi koneksi (Connection oriented). Sebelum terjadi proses transfer data, maka yang pertama dilakukan adalah kedua belah pihak melakukan call request dan call accept. Protokol TCP menggunakan jalur data full duplex yang berarti antara kedua host terdapat dua buah jalur, jalur masuk dan jalur keluar sehingga data dapat dikirimkan secara simultan. 15 Sebuah circuit virtual disiapkan sebelum paket – paket dikirimkan. Pada masing – masing paket terdapat virtual circuit identifier yang berisi alamat tujuan packet tersebut. Data yang dikirimkan dalam sebuah protokol TCP maka akan diurutkan dengan sebuah nomor urut dan akan mengharap packet positive acknowledgment. Apabila tidak ada packet positive acknowledgment, maka paket akan dikirim ulang. Oleh karena itu, protokol TCP reliable. Gambar 2.4 Konsep dasar TCP Akan tetapi karena harus mengecek setiap paket yang dikirimkan, maka protokol TCP relatif lambat. Pada TCP, hanya bisa melakukan koneksi oneto-one dan tidak bisa melakukan koneksi one-to-many. Karena rute-rute paket sudah ditentukan sebelumnya, maka akan lebih sulit bagi jaringan untuk beradaptasi dengan kemacetan. Apabila sebuah node mengalami kerusakan atau kegagalan, maka seluruh virtual circuit yang melewati simpul tersebut akan hilang. d. UDP UDP (User Datagram Protocol) adalah jenis transfer data yang lain dari TCP. UDP mempunyai karateristik connectionless. UDP menawarkan suatu paket layanan datagram tanpa yang mengirim menjamin pengiriman atau pengurutan paket-paket yang dikirimkan secara benar (Madcoms 2009:88). Sehingga sangat besar sekali kemungkinan data sampai tidak berurutan dan sangat mungkin hilang/rusak dalam perjalananan dari host asal ke host tujuan. Tergantung pada host penerima/tujuan, apakah akan meminta kembali paket yang rusak atau hilang. Kelebihan UDP adalah pada saat digunakan pada lightweight protokol, misalnya saja DNS (Domain Name Service). Selain itu protokol UDP lebih 16 fleksibel karena apabila terjadi kemacetan pada salah satu bagian jaringan, maka datagram dapat dialihkan menghindari bagian yang mengalami kemacetan tersebut. Kemudian apabila sebuah simpul node mengalami kerusakan/kegagalan, maka paket-paket berikutnya dapat menemukan jalan atau rute pengganti yang melewati simpul tersebut. Gambar 2.5 Konsep dasar UDP e. RTP RTP (Real Time Protocol) merupakan protocol yang dibuat untuk memesan bagian dari bandwidth yang tersedia untuk lalulintas UDP, RTP mengkompensasi jitter dan desequencing yang terjadi pada jaringan IP. RTP tidak dikembangkan semata-mata untuk lalulintas data suara akan tetapi juga digunakan untuk lalu lintas data video karena sifatnya yang menjaga atau mendukung bandwidth yang akan digunakan oleh lalulintas UDP. Frame Header RTP berisi informasi-informasi untuk mengidentifikasi dan mengatur tiap panggilaan individu dari endpoint ke endpoint. Informasiinformasi ini adalah timestamp, sequence number, dan conversation synchronization. RTP merupakan protocol yang dibuat untuk memesan bagian dari bandwidth yang tersedia untuk lalu lintas UDP. Tiap – tiap paket RTP berisi potongan paket dari percakapan suara. Besarnya ukuran paket suara bergantung pada codec yang digunakan. RTP didesain untuk digunakan pada tansport layer, namun demikian RTP digunakan diatas UDP, bukan pada TCP karena TCP tidak dapat beradaptasi pada pengiriman data yang real-time dengan keterlambatan yang relatif kecil seperti pada pengiriman data komunikasi suara. Dengan menggunakan UDP yang dapat mengirimkan paket IP secara multicast, RTP stream yang di bentuk oleh satu terminal dapat dikirimkan ke beberapa 17 terminal tujuan. Selain itu , oleh karena informasi RTP dienkapsulasi dalam packet UDP. Jika packet RTP hilang (lost) atau drop di jaringan, maka RTP tidak akan melakukan retransmission (sesuai standard protocol UDP). Hal ini dilakukan agar user tidak terlalu lama menunggu (long pause) atau delay, dikarenakan permintaan retransmission. Oleh karena itu jaringan harus didesign sebaik mungkin agar packet loss tidak terjadi. f. H.323 H.323 adalah rekomendasi yang dikeluarkan oleh Intenational Telecommunication Union (ITU) yang mendifinisikan protocol untuk menyediakan audio visual sesi komunikasi pada setiap jaringan multimedia berbasis paket, khususnya VoIP. H.323 merupakan suite yang terdiri dari berbagai protokol, yang masing-masing distandarkan secara terpisah oleh ITU dan IETF. Banyak dari protokol di dalam H.323 diterbitkan sebelum skema VoIP sendiri dikenal (Winarno Sugeng 2008:12). Standar H.323 mengatur hal-hal sebagai berikut : 1) Video Codec (H.261 dan H.263). Video Codec bertugas mengkodekan data dari sumber video untuk dikirimkan dan mendekodekan sinyal kode yang diterima untuk di tampilkan di layar penerima. 2) Audio Codec (G.711, G.722, G723, G728 dan G.729). Audio codec betugas mengkodekan data dari sumber suara untuk dikirimkan dan mendekodekan sinyal kode yang diterima untuk didengarkan oleh penerima. 3) Data channel mendukung aplikasi-aplikasi seperti electronic whiteboard, dan kolaborasi aplikasi. Standar untuk aplikasi-aplikasi seperti ini adalah standar T.120 . Aplikasi dan protokol yang berbeda tetap dapat dijalankan dengan negosiasi menggunakan standar H.245. 4) Sistem control unit (H.245 dan H.225.0) menyediakan signalling yang berkaitan dengan komunikasi antar terminal H.323. 5) H.225.0 layer memformat data video, suara, data , dan informasi kontrol lain sehingga dapat dikirimkan melalui LAN Interface sekaligus menerima data yang telah diformat melalui LAN Interface. Sebagai 18 tambahan, layer ini juga bertugas melakukan error detection, error correction , dan frame sequencing agar data dapat mencapai tujuan sesuai denagn kondisi saat data dikirimkan. LAN interface harus menyediakan koneksi yang handal. Untuk flow control dan unreliable data channel connection (misal: UDP) dapat digunakan untuk pengiriman audio dan video channel. g. SIP (Session Innitiation Protocol) SIP adalah suatu signalling protocol pada layer aplikasi yang berfungsi untuk membangun, memodifikasi, dan mengakhiri suatu sesi multimedia yang melibatkan satu atau beberapa pengguna. Sesi multimedia adalah pertukaran data antar pengguna yang bisa meliputi suara, video, dan text. SIP tidak menyediakan layanan secara langsung , tetapi menyediakan pondasi yangdapat digunakan oleh protokol aplikasi lainnya untuk memberikan layanan yang lebih lengkap bagi pengguna, misalnya dengan RTP (Real Time Transport Protocol) untuk transfer data secara real-time, dengan SDP (Session Description Protocol) untuk mendiskripsikan sesi multimedia , dengan MEGACO (Media Gateway Control Protocol) untuk komunikasi dengan PSTN (Public Switch Telephone Network) (Winarno Sugeng 2008:13). Meskipun demikian, fungsi dan operasi dasar SIP tidak tergantung pada protocol tersebut. SIP juga tidak tergantung pada protokol layer transport yang digunakan. Pembangunan suatu komunikasi multimedia dengan SIP dilakukan melalui beberapa tahap : 1) User Location adalah menentukan lokasi pengguna yang akan berkomunikasi. 2) User Availability adalah menentukan tingkat keinginan pihak yang dipanggil untuk terlibat dalam komunikasi. 3) User Capability adalah menentukan media maupun parameter yang berhubungan dengan media yang digunakan untuk komunikasi. 4) Session Setup adalah pembentukan pemanggildengan pihak yang dipanggil. hubungan antara pihak 19 5) Session management yaitu meliputi transfer, modifikasi, dan pemutusan sesi. Secara garis besar SIP merupakan protokol yang digunakan dalam untuk membangun, memodifikasi, dan mengakhiri suatu sesi. Penggunaan protokol codec video , audio dan Real-time Protocol dengan H.323 tetap sama, hanya berbeda dalam sesi signalling sambungan VoIP. h. IAX (The Inter-Asterix Exchange) IAX merupakan protokol dari asterisk. Sekarang ini dengan dimotori di Indonesia melaui VoIP rakyat dimasyarakatkan protokol IAX2, untuk user agent, software Idefiks menggunakan IAX2. 4. VoIP Server VoIP Server adalah bagian utama dalam jaringan VoIP. Perangkat ini memang tidak wajib ada di jaringan VoIP, tetapi sangat dibutuhkan untuk dapat menghubungkan banyak titik komunikasi server. Perangkat ini dapat digunakan untuk mendefinisikan jalur dan aturan antar terminal. Selain itu VoIP server juga bisa menyediakan layanan-layanan yang biasa ada di perangkat PBX (Private Branch Exchange), voice mail, Interactive Voice Response (IVR), dan lain-lain. Beberapa jenis SoftSwitch juga menyediakan fasilitas tambahan untuk dapat berkomunikasi dengan SoftSwitch lain di internet. Ada beberapa SoftSwitch yang dapat anda pilih untuk membangun jaringan VoIP sendiri, semuanya memiliki lisensi gratis. Contoh dari VoIP server ini adalah Asterisk. 5. Coder-decoder (Codec) Codec adalah suatu hardware atau software yang dapat melakukan sampling terhadap signal suara analog, kemudian mengkonversi ke dalam bit-bit digital dan mengembalikannya lagi ke bentuk analog. Codec sendiri merupakan kepanjangan dari compressor – decompressor atau lebih dikenal coder – encoder. Beberapa jenis codec melakukan kompresi agar dapat menghemat bandwidth. Istilah codec (compressor-decompressor) dan vocoder biasanya dapat saling dipertukarkan satu sama lain dan umunya mengacu kepada alat dalam VoIP 20 Phone atau gateway yang memerlukan proses digitalisasi (Onno W. Purbo 2007:261). Codec yang digunakan untuk aplikasi VoIP merupakan speech encoding, yaitu kompresi data audio digital yang mengandung speech (pembicaraan). Speech encoding sendiri termasuk jenis audio codec pada kategori lossy data compression artinya ketika data yang terkompresi itu di-dekompresi akan sedikit berbeda dengan data asli tapi masih dianggap cukup merepresentasikan. Untuk VoIP, banyak jenis speech encoding yang dapat dipakai, antara lain yang distandarisasi oleh ITU seperti G.711, G.722, G.723, G.726, G.728, dan G.729. Sedangkan yang non ITU seperti GSM, Speex dan iLBC. Berbagai jenis codec ini memiliki bit rate dan kualitas yang berbeda satu sama lain. Besar kecilnya bit rate ini akan mempengaruhi kerja prosesor. Semakin kecilnya bit rate maka kerja prosesor akan semakin berat, dan sebaliknya. Namun nilai bit rate yang kecil dibutuhkan untuk menghemat konsumsi bandwidth. Pada tabel 2.1 dibawah ini, terdapat beberapa jenis codec yang digunakan secara umum, bersama dengan bit rate. Tabel 2.1 Jenis codec pada VoIP Nama Codec Bit Rate GSM 13 Kbps Speex 2.15 – 44.2 Kbps iLBC 15 Kbps G.711 64 Kbps G.722 48/56/64 Kbps G.723 5.3/6.3 Kbps G.726 16/24/32/40 Kbps G.728 16 Kbps G.729 8 Kbps 1) G.711 G.711 merupakan codec yang dikeluarkan ITU untuk digunakan dalam telepon digital seperti ISDN. Codec ini menggunakan teknik kompresi PCM 21 (Pulse Code Modulation) dalam pengiriman suara dan memiliki bit rate yang tinggi yaitu 64 Kbps, dengan kecepatan sampling 8.000 sampel per detik dan 8 bit untuk setiap sampel. G.711 memiliki payload 160 byte dan waktu untuk satu frame adalah 20 ms. Sedangkan ukuran header totalnya adalah 40 byte yang berasal 20 byte header IP, 12 byte header UDP dan 8 byte header RTP. Codec ini digunakan secara bebas pada aplikasi VoIP karena tidak ada biaya lisensi dan paling baik digunakan pada jaringan lokal yang memiliki bandwidth cukup besar. Keuntungan lain dari penggunaan codec ini adalah implementasi yang sederhana sehingga tidak memerlukan daya CPU yang terlalu besar. 2) GSM GSM adalah jenis codec yang memiliki kecepatan penuh atau disebut full rate (FR) yang dikeluarkan oleh ETSI. Standar ini mendefinisikan sebuah referansi konfigurasi untuk rantai transmisi suara terutama pada telekomunikasi digital selular. Input bagi encoder suara ini adalah sinyal PCM 13 bit uniform. Codec ini merupakan speech encoding yang didasarkan pada algoritma RPE – LTP (Regular Pulse Excitation – Long Term Prediction). GSM memiliki bit rate sebesar 13 Kbps dengan 160 sample rate 8 KHz. Encoder memproses blok suara sebesar 20 ms yang tiap blok berisi 260 bit sehingga dihasilkan kecepatan 13 Kbps (260 bits/20ms = 13.000 bits/s = 13 Kbits/s), walaupun dalam kondisi sebenarnya GSM akan mentransmisikan bit rate yang lebih tinggi akibat adanya error recovery dan packet information. Dan memiliki ukuran payload 33 byte dengan ukuran header 40 byte. 2.2 Jaringan Komputer Agar VoIP berjalan dengan lancar maka dibutuhkan media untuk dapat berkomunikasi di jalur VoIP ini, yaitu dengan adanya jaringan komputer dimana memiliki pengertian sebuah sistem yang terdiri atas komputer dan perangkat jaringan yang bekerja bersama – sama untuk mencapai suatu tujuan yang sama. 22 Agar dapat mencapai tujuan yang sama, setiap bagian dari komputer meminta dan memberikan layanan (service). Pihak yang meminta layanan disebut client (client) dan yang memberikan layanan disebut pelayan (server). Arsitektur ini disebut dengan sistem client-server, dan digunakan pada hampir seluruh aplikasi jaringan komputer. Klasifikasi Berdasarkan skala : a. Personal Area Network (PAN) b. Campus Area Network (CAN) c. Local Area Network (LAN) d. Metropolitant Area Network (MAN) e. Wide Area Network (WAN) f. Global Area Network (GAN) 2.3 Quality of Service (QoS) Quality of Service (QoS) merupakan mekanisme jaringan yang memungkinkan aplikasi-aplikasi atau layanan dapat beroperasi sesuai dengan yang diharapkan. Kinerja jaringan komputer dapat bervariasi akibat beberapa masalah, seperti halnya masalah bandwidth, latency dan jitter, yang dapat membuat efek yang cukup besar bagi banyak aplikasi. Sebagai contoh, komunikasi suara (seperti VoIP atau IP Telephony) serta video streaming dapat membuat pengguna frustrasi ketika paket data aplikasi tersebut dialirkan di atas jaringan dengan bandwidth yang tidak cukup, dengan latency yang tidak dapat diprediksi, atau jitter yang berlebih. Fitur QoS ini dapat menjadikan bandwidth, latency, dan jitter dapat diprediksi dan dicocokkan dengan kebutuhan aplikasi yang digunakan di dalam jaringan yang ada. Di bidang telepon, kualitas layanan yang ditetapkan dalam standar ITU sebagai "Sekumpulan persyaratan mutu pada perilaku kolektif dari satu atau lebih objek". Kualitas layanan terdiri dari persyaratan pada semua aspek sambungan, seperti layanan tanggapan waktu, kehilangan, rasio sinyal-kebisingan, crosstalk, echo, interrupts, respon frekuensi, tingkat kenyaringan, dan seterusnya. 23 QoS dapat dilihat secara subjektif dan objektif. Secara subjektif, tingkat kualitas dari suatu layanan diukur berdasarkan subjektifitas masing – masing pengguna. Setiap pengguna dapat memberikan nilai yang berbeda untuk suatu aplikasi yang sama. Metode pengukuran QoS secara subjektif ini umumnya dilakukan dengan menggunakan nilai Mean Opinion Score (MOS), dimana dilakukan uji coba langsung suatu layanan VoIP oleh beberapa pengguna, yang kemudian akan memberikan penilaian terhadap kualitas VoIP tersebut. Range nilai yang diberikan adalah 1 sampai 5. Nilai 1 untuk kualitas yang terburuk sedangkan 5 untuk kualitas yang terbaik seperti yang ada pada Tabel 2.2. Tabel 2.2 Nilai Kualitas MOS Nilai Kualitas Suara 1 Buruk 2 Kurang 3 Cukup 4 Baik 5 Baik Sekali Sedangkan secara objektif, QoS pada suatu layanan diukur berdasarkan parameter-parameter tertentu yang dapat mempengaruhi tingkat QoS pada VoIP. Parameter-parameter tersebut yaitu : 2.3.1 Jitter Jitter adalah perbedaan selang waktu kedatangan antar paket di terminal tujuan, atau dengan kata lain jitter merupakan variasi dari delay. Besarnya nilai jitter mengakibatkan rusaknya data yang diterima, baik itu berupa penerimaan yang terputus-putus atau hilangnya data akibat overlap dengan paket data yang lain. Banyak hal yang dapat menyebabkan jitter, diantaranya adalah peningkatan traffic secara tiba-tiba sehingga menyebabkan penyempitan bandwidth dan menimbulkan antrian. Untuk kualitas Jitter dikatakan baik apabila waktunya hanya sekitar 0 – 20 ms. 24 Hal ini diakibatkan oleh variasi-variasi dalam panjang antrian, dalam waktu pengolahan data, dan juga dalam waktu penghimpunan ulang paket-paket di akhir perjalanan jitter. Jitter lazimnya disebut variasi delay, berhubungan erat dengan latency, yang menunjukkan banyaknya variasi delay pada transmisi data di jaringan. Terdapat empat kategori penurunan performansi jaringan berdasarkan nilai peak jitter sesuai dengan versi TIPHON, yaitu : Tabel 2.3 Batasan Jitter Kategori Degradasi Peak Jitter Sangat Bagus 0 ms Bagus 0 s/d 75 ms Sedang 75 s/d 125 ms Jelek 125 s/d 225 ms Persamaan perhitungan jitter : Jitter = _Total variasi delay (iv)_ Total paket yang diterima Total variasi delay diperoleh dari : Total variasi delay = Delay - Rata-rata Delay 2.3.2 Throughput Throughput yaitu kecepatan (rate) transfer data efektif, yang diukur dalam bps. Karena sejumlah faktor, throughput biasanya tidak sesuai dengan bandwidth yang ditentukan dalam implementasi lapisan fisik seperti Ethernet. Banyak faktor yang mempengaruhi throughput. Diantara factor-faktor tersebut jumlah lalu lintas, jenis lalu lintas, dan jumlah perangkat jaringan ditemui pada jaringan yang diukur. Dalam topologi multi-access seperti Ethernet, node bersaing untuk akses media dan penggunaannya. Throughput merupakan jumlah total kedatangan paket yang sukses yang diamati pada destination selama interval waktu tertentu dibagi oleh durasi interval waktu tersebut. 25 2.3.3 Delay (latency) Delay adalah waktu yang dihabiskan untuk mengantar paket-paket voice diantara dua endpoint (Rachmat Rafiudin 2006:64). Delay dapat dipengaruhi oleh jarak, media fisik, kongesti atau juga waktu proses yang lama. Adapun komponen delay adalah sebagai berikut: a. Serialization delay Delay ini terjadi karena adanya waktu yang dibutuhkan untuk pentransmisian paket IP dari sisi originating (pengirim). Dipengaruhi oleh kualitas bahan dari media. b. Propagation delay Delay ini terjadi karena perambatan atau perjalanan. Packet IP di media transmisi ke alamat tujuan. Seperti contohnya delay propagasi di dalam kabel akan memakan waktu 4 sampai 6 ms per kilometernya. Hal ini dipengaruhi oleh panjang dari media. c. Queuing delay Delay ini disebabkan oleh waktu proses yang diperlukan oleh router didalam menangani antrian transmisi paket di sepanjang jaringan. Umumnya delay ini sangat kecil , kurang lebih 100ms. d. Codec delay Waktu yang diperlukan oleh Digital Signal Processing (DSP) untuk mengkompress sebuah block PCM, nilainya bervariasi bergantung dari codec dan kecepatan prosessor. Biasanya ini digunakan pada Voice over Internet Protocol (VoIP). Codec G.711 lebih bagus kualitas suaranya, namun besar di overhead (biasa digunakan pada koneksi LAN), sedangkan G.729 kualitas suara yang biasa namun kecil di overhead (biasa digunakan pada WAN). 26 Gambar 2.6 Codec VoIP Besarnya delay yang direkomendasikan oleh ITU untuk aplikasi dalam Recommedation G.711 adalah seperti pada Tabel 2.4. Tabel 2.4 Pedoman batasan delay Delay (ms) 0 – 150 BESAR DELAY Diterima untuk aplikasi pengguna yang paling banyak. 150 – 400 Diterima. Namun administrator harus waspada terhadap segala sesuatu yang dapat mempengaruhi kualitas jaringan. Di atas 400 Tidak dapat diterima. Namun, untuk kasus – kasus khusus nilai batas ini dapat berubah. 2.3.4 Packet Loss Packet Loss merupakan suatu parameter yang menggambarkan suatu kondisi yang menunjukkan jumlah total paket yang hilang, dapat terjadi karena collision dan antrian yang melebihi batas buffer pada jaringan dan hal ini berpengaruh pada semua aplikasi karena retransmisi akan mengurangi efisiensi jaringan secara keseluruhan meskipun jumlah bandwidth cukup yang tersedia untuk aplikasi-aplikasi tersebut. Umumnya perangkat jaringan memiliki buffer untuk menampung data yang diterima. Jika terjadi kongesti yang cukup lama, buffer akan penuh, dan data baru tidak akan diterima. 27 Tabel 2.5 Kategori Packet loss KATEGORI DEGREDASI PACKET LOSS Sangat bagus 0 Bagus 3% Sedang 15 % Jelek 25 % 2.4 Ancaman Keamanan VoIP Pada awal VoIP, tidak ada kekhawatiran besar tentang masalah keamanan yang berkaitan dengan penggunaannya. Orang - orang sebagian besar berkaitan dengan biaya, fungsionalitas dan kehandalan. Sekarang bahwa VoIP adalah mendapatkan penerimaan luas dan menjadi salah satu teknologi komunikasi utama, keamanan telah menjadi isu utama. Ancaman keamanan menyebabkan lebih banyak perhatian ketika berpikir bahwa VoIP sebenarnya menggantikan sistem komunikasi yang pernah ada dan paling aman di dunia yang pernah dikenal POTS (Plain Old Telephone System). a. Eavesdropping Eavesdropping (Menguping) adalah cara hacker untuk mencuri kredensial dan informasi lainnya melalui penyadapan. Pihak ketiga dapat memperoleh nama, password dan nomor telepon, yang memungkinkan mereka untuk mendapatkan kontrol atas pesan suara. Mencuri mandat untuk melakukan panggilan tanpa membayar bukan satusatunya alasan di balik pencurian identitas. Banyak orang melakukannya untuk mendapatkan informasi penting seperti data bisnis. b. Vishing Vishing adalah kata lain untuk VoIP Phishing, yang melibatkan pihak menelepon dengan berpura-pura sebagai organisasi tertentu yang dapat dipercaya dan meminta informasi rahasia. 28 c. Virus dan malware Pemanfaatan VoIP melibatkan softphone, dan perangkat lunak yang rentan terhadap worm, virus dan malware, seperti aplikasi internet. Karena aplikasi softphone berjalan pada sistem pengguna seperti PC dan PDA, mereka terbuka dan rentan terhadap serangan kode berbahaya dalam aplikasi suara. d. DoS (Denial of Service) Sebuah serangan DoS adalah serangan pada jaringan atau perangkat menyangkal hal itu dari layanan atau konektivitas. Hal ini dapat dilakukan dengan mengkonsumsi bandwidth atau overloading jaringan atau sumber daya perangkat internal. Dalam VoIP, serangan DoS dapat dilakukan dengan membanjiri target dengan SIP pesan panggilan – sinyal yang tidak perlu, sehingga merendahkan layanan. Ini menyebabkan panggilan untuk drop prematur dan menghentikan panggilan pengolahan. e. SPIT (Spamming over Internet Telephony) Jika menggunakan email secara teratur, maka harus tahu apa spamming. Sederhananya, spamming benar-benar mengirim email ke orang bertentangan dengan keinginan si penerima. Email ini terutama terdiri dari panggilan penjualan online. Spamming di VoIP sangat tidak umum, tapi mulai menjadi, terutama dengan munculnya VoIP sebagai alat industri. Setiap account VoIP memiliki alamat IP yang terkait. Sangat mudah bagi spammer untuk mengirimkan pesan mereka (voicemail) ke ribuan alamat IP. Voicemailing sebagai hasilnya akan menderita. Dengan spamming, voicemail akan menjadi tersumbat dan lebih banyak ruang serta alat manajemen pesan suara yang lebih baik akan diperlukan. Selain itu, pesan spam dapat membawa virus dan spyware. Serangan phishing terdiri dari mengirim pesan suara kepada seseorang, yang menyamar dengan informasi dari pihak yang dapat dipercaya untuk penerima, seperti bank atau layanan pembayaran online, membuatnya berpikir 29 ia aman. Voicemail biasanya meminta data rahasia seperti password atau nomor kartu kredit. f. Panggilan gangguan Panggilan gangguan adalah serangan yang melibatkan gangguan panggilan telepon berlangsung. Sebagai contoh, penyerang hanya dapat merusak kualitas panggilan dengan menyuntikkan paket kebisingan dalam aliran komunikasi. Dia juga bisa menahan pengiriman paket, sehingga komunikasi menjadi turun naik dan mengalami periode panjang selama panggilan berlangsung. g. Serangan man-in-the-middle VoIP sangat rentan terhadap serangan man-in-the-middle, di mana penyerang penyadapan panggilan sinyal lalu lintas pesan SIP dan menyamar sebagai pihak yang memanggil kepada pihak yang dipanggil, atau sebaliknya. Setelah penyerang telah memperoleh posisi ini, dia bisa membajak panggilan melalui server redirection. Dalam aplikasi VoIP sebuah serangan Denial of Service, si penyerang akan mencoba untuk mencegah akses seorang pengguna terhadap sistem atau jaringan dengan menggunakan beberapa cara, yakni sebagai berikut: a. Membanjiri lalu lintas jaringan dengan banyak data sehingga lalu lintas jaringan yang datang dari pengguna yang terdaftar menjadi tidak dapat masuk ke dalam sistem jaringan. Teknik ini disebut sebagai traffic flooding. b. Membanjiri jaringan dengan banyak request terhadap sebuah layanan jaringan yang disedakan oleh sebuah host sehingga request yang datang dari pengguna terdaftar tidak dapat dilayani oleh layanan tersebut. Teknik ini disebut sebagai request flooding. c. Mengganggu komunikasi antara sebuah host dan clientnya yang terdaftar dengan menggunakan banyak cara, termasuk dengan mengubah informasi konfigurasi sistem atau bahkan perusakan fisik terhadap komponen dan server. 30 2.5 Denial-of-Service (DoS) Salah satu serangan yang sering digunakan oleh penyerang adalah dengan menggunakan DoS/DDoS, yaitu membanjiri komputer target dengan sejumlah permintaaan yang sangat banyak. Apabila komputer target tidak mampu mengatasi permintaan tersebut, maka akan mengakibatkan sistem tersebut menjadi crash atau hang (Wiharsono Kurniawan 2007:195). Gambar 2.7 Denial of Service Serangan DoS mungkin menimbulkan ancaman terbesar bagi sistem perusahaan VoIP. Bahkan, aplikasi VoIP memberikan perlindungan yang sangat baik untuk melancarkan serangan DoS karena VoIP berjalan media yang terus menerus dari paket IP. Untuk menciptakan kekacauan, hacker hanya perlu menyimpan beberapa aliran paket yang terus menerus dan berjalan terus menerus. Parahnya lagi, kemampuan untuk memanggil masuk dan keluar dari lapisan VoIP memungkinkan kontrol aplikasi melalui jaringan suara, sehingga hampir tidak mungkin untuk melacak sumber serangan itu. Selain itu, protokol yang digunakan oleh sejumlah aplikasi VoIP, menghambat kemampuan ISP untuk melacak aktivitas DoS. Bentuk serangan Denial of Service awal adalah serangan SYN Flooding Attack, yang pertama kali muncul pada tahun 1996 dan mengeksploitasi terhadap kelemahan yang terdapat di dalam protokol Transmission Control Protocol (TCP). Serangan-serangan lainnya akhirnya dikembangkan untuk mengeksploitasi 31 kelemahan yang terdapat di dalam sistem operasi, layanan jaringan atau aplikasi untuk menjadikan sistem, layanan jaringan, atau aplikasi tersebut tidak dapat melayani pengguna, atau bahkan mengalami crash. Meskipun demikian, serangan terhadap TCP merupakan serangan DoS yang sering dilakukan. Hal ini disebabkan karena jenis serangan lainnya (seperti halnya memenuhi ruangan harddisk dalam sistem, mengunci salah seorang akun pengguna yang valid, atau memodifikasi tabel routing dalam sebuah router) membutuhkan penetrasi jaringan terlebih dahulu, yang kemungkinan penetrasinya kecil, apalagi jika sistem jaringan tersebut telah diperkuat. Dalam sebuah serangan Denial of Service, si penyerang akan mencoba untuk mencegah akses seorang pengguna terhadap sistem atau jaringan dengan menggunakan beberapa cara, yakni sebagai berikut: a. Ping Of Death Merupakan serangan lama yang dulu sering digunakan. Serangan ini dilancarkan dengan menggunakan utility ping pada sebuah sistem operasi. Ping biasanya digunakan untuk memeriksa keberadaan sebuah host. Atau alamat IP dari sebuah website. Data yang dikirimkan secara default adalah 32 bytes, namun pada kenyataannya program ini dapat mengirimkan sampai dengan 64 kb data. Sekarang serangan seperti ini sudah tidak manjur lagi, karena banyak sistem yang telah meng-update patchnya dan menutup lubang-lubang tersebut. Ditambah dengan teknologi yang semakin canggih dan lebarnya bandwidth yang tersedia sehingga serangan ini tidak lagi menimbulkan efek khusus bagi sebuah sistem. b. TCP SYN Serangan yang dilakukan dengan cara memanfaatkan kelemahan protokol pada saat terjadinya handshake (jabat tangan). Saat dua buah komputer memutuskan untuk melakukan komunikasi, komputer pengirim (penyerang) akan mengirimkan syn, penerima (target) akan menjawab dengan mengirimkan syn ack kepada komputer pengirim. Seharusnya setelah menerima balasan syn ack dari penerima, pengirim mengirimkan ack kepada penerima untuk melakukan proses handshake. Namun pada kenyataannya, pengirim justru mengirimkan banyak 32 paket syn kepada penerima yang mengakibatkan penerima harus terus menjawab permintaan dari pengirim (Beny Benardi 2004:10). Alamat IP penyerang biasanya telah disembunyikan (Spoofed) sehingga alamat yang dicatat oleh target adalah alamat yang salah. Penerima akan bingung untuk menjawab permintaan koneksi TCP yang baru karena masih menunggu banyaknya balasan ack dari pengirim yang tidak diketahui tersebut. Disamping itu koneksi juga akan dipenuhi syn yang dikirim secara terus menerus. Serangan seperti ini tentunya akan menghambat penerima memberikan pelayanan kepada user. c. Remote Controled Attack Pada dasarnya adalah mengendalikan beberapa jaringan lain untuk menyerang target. Penyerangan dengan tipe ini biasanya akan berdampak besar, karena biasanya server-server untuk menyerang mempunyai bandwidth yang besar. Penyerang juga dengan leluasa dapat mengontrol targetnya dan menyembunyikan diri dibalik jasa server tersebut. Banyak tools yang dapat digunakan untuk melakukan serangan dengan tipe ini. Umumnya tools yang digunakan bertipe Master dan Client atau Agent. Master merupakan komputer master yang telah dikuasai oleh penyerang dan akan digunakan untuk memberi perintah kepada Agent. Sedangkan Client adalah komputer Zombie yang berhasil dikuasai oleh penyerang, kemudian menanamkan aplikasi Client yang siap menunggu perintah untuk menyerang target. d. UDP Flood Memanfaatkan protokol UDP yang bersifat Connectionless untuk menyerang target. Karena sifatnya itulah UDP Flood cukup mudah untuk dilakukan. Sejumlah paket data yang besar dikirimkan begitu saja kepada korban. Korban yang terkejut dan tidak siap menerima serangan ini tentu akan bingung dan pada beberapa kasus komputer server tersebut akan hang karena besarnya paket yang dikirimkan. 33 e. Smurt Attack Merupakan penyerangan dengan memanfaatkan ICMP Echo Request yang sering digunakan pada saat melakukan broadcast identitas kepada broadcast address dalam sebuah jaringan. Saat melakukan broadcast pada beberapa address, semua komputer yang terkoneksi ke dalam jaringan akan ikut menjawab request tersebut. Hal ini tentu saja akan melambatkan dan memadatkan traffic di jaringan karena komputer yang tidak ditanya turut memberikan request tersebut. Hal ini tentu akan berdampak lebih besar bila alamat request disamarkan dan tidak hanya mengirimkan ICMP request pada sebuah network melainkan dalam beberapa network. Tentu saja balasan yang diterima lebih besar lagi, dan tak hanya sampai disitu. Pengirim menyamarkan identitasnya dengan cara memakai alamat IP user lain. Celakalah bagi user tersebut karena akan menerima balasan dari ICMP Echo Request dari beberapa jaringan sekaligus. 2.6 Network Simulator Network Simulator (NS2) adalah simulator kejadian yang ditargetkan pada penelitian jaringan. NS2 menyediakan dukungan besar untuk simulasi TCP, routing, dan multicast protocol baik dalam sebuah jaringan berkabel ataupun jaringan wired, seperti satelit misalnya. NS2 dikembangkan pertama kali tahun di UCB (University of California Berkeley). NS2 merupakan suatu sistem yang bekerja pada system Unix/Linux, NS2 juga dapat dijalankan dalam sistem Windows namun harus menggunakan Cygwin sebagai Linux Enviromentnya. 2.6.1 Kelebihan NS2 Kelebihan dari NS2 adalah sebagai perangkat lunak simulasi pembantu analisis dalam riset atau penelitian. NS2 dilengkapi dengan tool validasi. Tool validasi digunakan untuk menguji validitas pemodelan yang ada pada NS2. NS2 memiliki banyak keunggulan yang membuatnya menjadi sangat berguna seperti dukungan untuk beberapa protokol dan kemampuan grafis detail lalu lintas jaringan. Selain itu NS2 mendukung beberapa algoritma routing dan antrian. 34 NS2 bersifat open source di bawah GPL (Gnu PublicLicense), sehingga NS2 dapat diunduh melalui website Network Simulator (NS2) http://www.isi.edu/nsnam/dist. 2.6.2 Simulasi yang menggunakan NS2 Network Simulator (NS2) mensimulasikan jaringan berbasis TCP/IP dengan berbagai macam medianya. Anda dapat mensimulasikan protokol jaringan (TCP/UDP/RTP), Traffic behaviour (FTP, Telnet, CBR, dan lain - lain), Queuemanagement (RED, FIFO, CBQ) algoritma routing unicast (Distance Vector, Link State) dan multicast, (PIM SM, PIMDM, DVMRP, Shared Tree dan Bi directional Shared Tree), aplikasi multimedia yang berupa layered video, Quality of Service video-audio dan transconding. NS2 juga mengimplementasikan beberapa MAC (IEEE 802.3, 802.11), di berbagai media misalnya jaringan wired (seperti LAN, WAN, point-to-point), wireless (seperti mobile IP, WirelessLAN), bahkan simulasi hubungan antar-node jaringan yang menggunakan media satelit. 2.6.3 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: FTP, FTP dibangun untuk mensimulasikan bulk data transfer. 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: Eksponensial Generator traffic ini membangkitkan traffic dengan inter arrival time antarpaket sesuai dengan fungsi eksponensial. Pareto Generator traffic ini membangkitkan traffic dengan inter arrival time antarpaket sesuai dengan fungsi pareto. 35 CBR, Fungsi ini membangkitkan data secara continue dengan bit rate yang konstan. Traffic Trace Generator ini membangkitkan traffic dari sebuah file trace. 2.6.4 Konsep Dasar NS2 Network Simulator merupakan salah satu perangkat lunak atau software yang dapat menampilkan secara simulasi proses komunikasi dan bagaimana proses komunikasi tersebut berlangsung. Network Simulator melayani simulasi untuk komunikasi dengan kabel dan komunikasi wireless. Pada Network Simulator terdapat tampilan atau display baik dengan node yang bergerak atau node yang tidak bergerak (Vina 2011:1-10). Yang tentunya tidak sama dengan keadaan yang sebenarnya. Paket-paket yang membangun di dalam simulasi jaringan ini diantaranya : Tcl Tool Command Language Tk Tool Kit Otcl Object Tool Command Language Tclcl Tool Command Language / C++ Interface Ns2 Network Simulator versi 2 Nam Network Animator Network Simulator dibangun dengan menggunakan 2 bahasa pemrograman, yaitu C++ dan Tcl/Otcl. C++ digunakan untuk library yang berisi event scheduler, protocol dan network component yang diimplementasikan pada simulasi oleh user. Tcl/OTcl digunakan pada script simulasi yang ditulis oleh NS user dan pada library sebagai simulator objek. OTcl juga nantinya berperan sebagai interpreter. 36 Hubungan antarbahasa pemrograman dapat dideskripsikan seperti Gambar 2.7 dibawah ini. Gambar 2.9 Hubungan C++ dan Otcl 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. Bahasa Tcl memberikan respon runtime yang lebih lambat daripada C++, namun jika terdapat kesalahan syntax dan perubahan script berlangsung dengan cepat dan interaktif. User dapat mengetahui letak kesalahannnya yang dijelaskan pada konsole, sehingga user dapat memperbaiki dengan cepat. Karena alasan itulah bahasa ini dipilih untuk digunakan pada script simulasi. 2.6.5 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 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 : 37 a. Transmission Control Protocol (TCP) TCP/IP merupakan skenario standar komunikasi data yang digunakan oleh komunitas internet dalam proses tukar – menukar data dari satu skenario ke skenario lain dalam jaringan internet. 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 a) Two way TCP agent mensupport proses handshaking pada saat connectin setup, sehingga koneksi dapat dibangun atau drop tergantung pada kondisi jaringannya. b) Two way TCP agent mensupport data transfer dua arah. c) Penomoran pada jumlah byte yang ditransfer, bukan jumlah paket. 2) One Way TCP Agent One way TCP agent tidak mensupport proses handshaking. Pertukaran data menggunakan agent ini diasumsikan telah melewati proses handshaking. Simulasi koneksi pada One way TCP dilakukan dengan menggunakan 2 agent yang berpasangan, yaitu TCP sender, dan TCP Sink. a) TCP Sender Agent Network Simulator 2 mendukung beberapa jenis TCP sender agent, yaitu : 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. 38 b) 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 : Base TCP Sink Agent/TCPSink. Delayed ACK Agent/TCPSink/DelAck. Sack TCP Sinkl Agent/TCPSink/Sack. Delayed Ack dengan Sack Agent/TCPSink/Sack1/DelAck. b. User Datagram Protocol (UDP) UDP menawarkan suatu layanan datagram tanpa koneksi yang menjamin pengiriman atau pengurutan paket-paket yang dikirimkan secara benar. Koneksi dengan menggunakan UDP pada NS2 dilakukan dengan menggunakan agent UDP sebagai pengirim dan agent Null sebagai penerima. Agent pengirim, diterapkan pada NS sebagai : 1) UDP sender agent Agent/UDP. 2) Agent Null Agent Null merupakan pasangan UDP sebagai tujuan trafik. 3) Agent Null Agent/Null. c. Real Time Transport Protocol (RTP) RTP menyelenggarakan end to end delivery services untuk data yang memiliki karakteristik real time, seperti audio 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. 39 2.6.6 Dasar Bahasa TCL dan OTC 1. Tcl Tcl atau yang lebih dikenal dengan Tool Command Language adalah bahasa pemrograman yang didasarkan pada string atau string-based command. Tcl di desain untuk menjadi perekat dalam membangun software building block untuk menjadi suatu aplikasi. Sedangkan OTCL (Object Oriented Tcl) adalah ekstensi tambahan pada Tcl yang memungkinkan fungsi Object Oriented (OO). Hal ini memungkinkan dalam pendefinisian dan penggunaan class Otcl. Perintah – perintah dalam Tcl adalah : a) Syntax Dasar Syntax 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 “ b) Variabel dan array : Untuk membuat variable pada tcl, digunakan perintah set. Contoh : Set x “ini contoh variabel” Set y 20 Pemanggilan variabel dilakukan dengan menggunakan tanda $ seperti contoh di bawah ini : Puts “$x, semuanya berjumlah $y” NS juga mensupport penggunaan array. Array ditandai dengan menggunakan tanda kurung setelah nama array tersebut. Contoh : Set opts (bottlenecklinkrate) 1Mb Set opts (ECN) “on” Set n(0) [$ns node] 40 Set n(1) [$ns node] Pada contoh di atas, array pertama bernama opts, dan yang kedua bernaman. c) Repetisi (loop) Ada 2 perintah repetisi, yaitu : 1) while format perintahnya : while {condition}{command} command pada while dilakukan berulang selama kondisi bernilai benar. Perintah untuk mengakhiri repetisi dinyatakan pada bagian command. Contoh : Set i 0 While {$i < 10}{set n($i)}[new Node] Incr i} 2) For Format perintahnya : For {command1}{condition}{command2}{ Command } Command dilakukan terus menerus selama kondisi bernilai benar. Inisialisasi dilakukan pada command1, terminating condition berada pada kondisi, dan perubahan nilai inisialisasi pada command2. Contoh : For {set i 0}{$i<100}{incr i}{ Set n($i)[$ns node] } d) Perintah Kondisional Format perintah : If{condition}{ Command } 41 command dilakukan jika kondisi bernilai benar. Contoh : if {$i < 10}{ puts “i is less than 10” } e) Comment Jika Tcl menemukan sebuah tanda #, maka mulai dari tanda tersebut sampai ke akhir baris, tcl tidak akan mengeksekusinya dan menganggapnya sebagai komentar. Ada 2 metode pembuatan prosedur yaitu : 1) Prosedur tanpa parameter Format perintah : Proc name {}{ Command } contoh : proc tampil {}{ puts “ini tampilannya” } prosedur digunakan dengan mengetikkan nama prosedur. 2) Prosedur dengan menyatakan parameter Format perintah : Proc name {parameter1}{ Puts “nilai parameter1 adalah $parameter1” } dipanggil dengan proc 10 Nama prosedur, built in command, variabel dan array bersifat case sensitif. Nama prosedur dan variabel tidak akan konflik satu sama lain. Agar variabel yang dideklarasikan pada program utama dapat digunakan dalam prosedur atau sebaliknya. Perintah yang harus ditambahkan adalah : global <variable1><variable2> pada command body prosedur 42 2. OTCL Otcl adalah ekstensi tambahan pada Tcl yang memungkinkan fungsi object oriented (OO) pada Tcl. Ini memungkinkan pendefinisian dan penggunaan class Otcl. Loop : while dan for Perintah Kondisional : if {Condition}…… 2.6.7 Cara Membuat dan Menjalankan Script NS Script simulasi dibuat dengan menggunakan program teks editor pada OS yang digunakan dan disimpan dalam sebuah folder dengan nama_file.tcl Contoh : simulasi.tcl Untuk menjalankan simulasi yang telah dibuat, tinggal masuk ke dalam folder tersebut dan mengetikkan NS serta nama file tcl simulasi yang ingin dijalankan. Contoh : [root@accessnet your_folder]#ns simulasi.tcl 2.6.8 Output Simulasi NS2 Pada saat satu simulasi berakhir, NS membuat satu atau lebih file output text-based yang berisi detail simulasi jika dideklarasikan pada saat membangun simulasi. Ada dua jenis output NS, yaitu : File trace, yang akan digunakan untuk analisa numerik, dan File namtrace, yang digunakan sebagai input tampilan grafis simulasi yang disebut network animator (nam). 43 Gambar 2.9 Nam Konsole Gambar 2.10 NAM Didalam NS-2 terdapat tiga buah bagian yang membangun suatu simulasi. Diantaranya adalah : - Program Utama - Program untuk membuat node atau titik - Program untuk sending data Untuk mengeksekusi program yang dibuat dilakukan dengan cara : # ns <nama_file>.tcl 44 Untuk melihat display hasil dari program yang dibuat dapat dilakukan dengan cara : # nam <nama_file>.nam Sedangkan untuk melihat trace yang terjadi selama proses komunikasi dengan melihat file.tr yang berada pada folder script program simulasi. Berikut ini adalah contoh dari isi dari suatu file trace untuk simulasi wired node : r 1.3356 3 2 ack 40 ------------------1 3.0 0.0 15 201 + 1.3556 2 0 ack 40 ------------------1 3.0 0.0 15 201 - 1.3556 2 0 ack 40 -----------------1 3.0 0.0 15 201 r 1.35576 0 2 tcp 1000 --------------1 0.0 3.0 29 199 r 1.3356 3 2 ack 40 ------------------1 3.0 0.0 15 201 + 1.3556 2 0 ack 40 ------------------1 3.0 0.0 15 201 - 1.3556 2 0 ack 40 -----------------1 3.0 0.0 15 201 r 1.35576 0 2 tcp 1000 --------------1 0.0 3.0 29 199 : : : : dan seterusnya Aturan-aturan dalam membaca hasil trace dari file dalam pembuatan network simulator adalah : Keterangan : 1. Even (kejadian) Kejadian yang dicatat oleh ns yaitu : r : receive + : enqueque - : degueue d : drop 45 2. Paity/Time : Waktu kejadian dalam detik 3. From Node 4. To Node 5. Pkt Type : tipe paket yang dikirimkan seperti : tcp ,udp ,ack dan lain-lain. 6. Pkt size 7. Flags : Penanda, macam flags yang dapat digunakan E : Untuk kongesti /sibuk N : Untuk indikasi pada header C : Untuk ECN echo A : Untuk pengurangan window kongesti P : Untuk prioritas F : Untuk TCP fast start 8. FID : Penomoran unik pada tiap aliran data 9. Src addr : Alamat asal paket (dalam port) 10. Dst addr : Alamat tujuan paket (dalam port) 11. Sequence Number : Nomor urut tiap paket. 12. Packet ID : Penomoran untuk tiap paket Sedangkan untuk format trace pada jaringan wireless adalah : s 2.000931471 _3_ MAC --- 20 tcp 112 [13a 0 1 800] ------- [4194305:20:0 32 4194304] [0 0] 0 0 Keterangan : 1. Baris pertama berisi tentang r “received”, s “sent”, f “forwaded”dan d “dropped” 2. Baris kedua adalah waktu (time) 3. Baris ketiga adalah nomor node 4. Baris keempat adalah trace level antara lain MAC menunjukkan jika packet berhubungan dengan MAC layer. Untuk AGT menunjukkan packet transport layer. Untuk RTR jika itu menunjukkan packet route. 5. Angka 20 adalah nomor urut packet 6. “tcp” adalah type packet (tcp, ack, udp) 46 7. [13a 0 1 800] menunjukkan informasi MAC layer. 8. [4194305:2 0:0 32 4194304] menunjukkan IP source dan alamat tujuan kemudian ttl (time to live) dari packet. 9. [0 0] menunjukkan nomor urut dan pemberitahuan nomor (tcp information). 10. 0 0 adalah format mekanisme routing type packet. 2.6.9 Awk script Awk adalah sebuah perograman filter untuk teks yang biasa digunakan untuk mengolah data dalam bentuk text, seperti halnya perintah “grep”. Awk dapat digunakan untuk mencari bentuk/model dalam sebuah file teks. Awk juga dapat mengganti bentuk satu teks ke dalam bentuk teks lain. Awk dapat juga digunakan untuk melakukan proses aritmatika seperti yang dilakukan oleh perintah “expr”. Awk adalah sebuah pemrograman seperti pada shell atau C yang memiliki karakteristik yaitu sebagai tools yang cocok untuk jobs juga sebagai pelengkap (complicated) untuk filter standard. Jika kecepatan merupakan hal yang pokok, awk adalah suatu produk bahasa yang sangat sesuai. Tetapi hanya untuk even jobs dimana kecepatan menjadi sesuatu hal yang pokok atau utama, maka awk dapat digunakan sebagai bentuk prototype-nya. Meskipun awk dan shell keduanya adalah bahasa pemrograman, keduanya adalah spesialis untuk aplikasi yang berbeda. Awk sangat baik untuk manipulasi file teks, sedangkan shell sangat baik untuk pelaksana perintah UNIX. Awk sangat cocok untuk menyelesaikan tugas sederhana, seperti halnya penyuntingan sebuah kata untuk dicetak oleh perintah date atau tugas komplek lainnya seperti pelayanan pengolahan sebuah data base sederhana atau paket statistik. Sebuah awk script terdiri dari 2 bagian; yaitu "pattern dan action". Pattern adalah serupa dengan regular expressions, dan action sama seperti bahasa C yaitu aksi dari hasil sebuah perintah. Pattern dengan regular ekspresi diperlihatkan pada tabel dibawah ini. 47 Tabel 2.6 Pattern awk Metacharacter Meaning . (Dot) Match any character * Match zero or more character ^ Match beginning of line $ Match end of line / Escape character following [] List {} Match range of instance + Match one more preceding ? Match zero or one preceding | Separate choices to match Sedangkan sintak umum dari script awk adalah sebagai berikut: Sintak : awk -f {awk program file} filename Pernyataan didalam program awk : Pattern { action 1 action 2 action N } Didalam program awk, pattern diikuti oleh action, dengan tanda kurung kurawal { } yang mengelilingi setiap action. Sebuah action adalah pelaksana jika pattern sesuai dengan sesuatu yang ada didalam baris input. Jika bagian pattern tidak ada, action akan melakukan aksi untuk tiap-tiap baris dalam file. Jika action tidak ada, maka default action yaitu mencetak baris dilaksanakan. Tanda kutip didaerah sekitar awk script merupakan suatu kebutuhan, sebab script akan bernilai kosong jika tanpa tanda kutip. Perintah print digunakan untuk mencetak seluruh baris mungkin juga bisa untuk mencetak konstanta, karakter dari baris input, dan juga mencetak argument, disamping itu pada program ini tidak memiliki parameter. Sebuah print dengan argument dalam awk menggunakan parameter $.