1/6
RANCANG BANGUN SERVER VOIP BERBASIS METODE PARALLEL PROCESSING Yuni Almaadin – 2206100035 Jurusan Teknik Elektro, Fakultas Teknologi Industri, Institut Teknologi Sepuluh Nopember Kampus ITS Sukolilo, Surabaya 60111 Email :
[email protected]
Abstrak Dalam perkembangan telekomunikasi, pertukaran informasi khususnya suara mengarah ke komunikasi berbasis jaringan IP. Komunikasi suara analog melalui PSTN sudah mulai ditinggalkan dan beralih ke komunikasi digital yaitu VoIP. Dengan semakin berkembangnya jumlah pengguna VoIP, diperlukan sebuah server VoIP yang mampu menangani jumlah panggilan simultan yang banyak. Parallel processing adalah teknik komputasi yang digunakan untuk memecahkan suatu permasalahan menjadi fragmen-fragmen di mana setiap fragmen akan diselesaikan oleh unit pemroses yang terpisah. Parallel processing dapat digunakan sebagai metode untuk peningkatan kapasitas panggilan simultan yang mampu ditangani oleh server VoIP yaitu dengan memanfaatkan resource memori dan CPU pada komputer node pemroses. Pengukuran dilakukan dengan melakukan panggilan antar user hingga server dalam keadan jenuh. Dari hasil pengujian, didapatkan bahwa jumlah panggilan simultan yang mampu ditangani server parallel processing meningkat. Sebuah server standalone mampu menangani 8 panggilan, tiga buah server standalone adalah 25 panggilan, sedangkan pada server parallel processing dengan dua node pemroses adalah 26 panggilan. Di sisi lain, QoS performance menurun, pada server standalone didapatkan rata-rata propagation delay 20.1195ms, call setup delay 808.222ms, jitter 3.92ms, dan packet loss 0%, pada server parallel processing didapatkan propagation delay 20.64995ms, call setup delay 1380.655ms, jitter 5.719ms, dan packet loss 0.00186%.
pengguna internet saja melainkan pengguna peralatan komunikasi yang lain. Teknologi VoIP saat ini sudah mampu diintegrasikan dengan jaringan PSTN melalui ITG (Internet Telephony Gateway) dan juga bisa diintegrasikan dengan teknologi komunikasi seluler. Pengintegrasian teknologi VoIP dengan teknologi komunikasi seluler baik itu GSM maupun CDMA dilakukan untuk penghematan biaya operasional sehingga mampu menekan biaya percakapan tiap pelanggan sehingga pelanggan dapat menikmati biaya murah untuk percakapan. Hal ini juga sebagai strategi bisnis operator untuk persaingan harga yang semakin kompetitif. Dengan semakin banyaknya pengguna teknologi komunikasi yang berbasis IP maka kebutuhan akan server VoIP yang mampu menangani jumlah client yang lebih banyak akan sangat diperlukan. Parallel processing adalah teknik komputasi yang digunakan untuk memecahkan suatu permasalahan menjadi fragmen-fragmen di mana setiap fragmen akan diselesaikan oleh prosesor-prosesor secara terpisah. Teknologi ini sudah banyak diterapkan dalam menyelesaikan masalah-masalah di bidang multimedia seperti penyelesaian komputasi numerik, image processing, rendering video, dan lain-lain[1]. Teknologi ini juga sudah banyak diterapkan di luar negeri namun belum ada yang mencoba menerapkan sistem ini pada perancangan sistem server VoIP. Penerapan metode parallel processing pada perancangan server VoIP akan mampu meningkatkan kehandalannya dalam menangani panggilan simultan. Metode ini akan menggunakan resource dari komputer node pemroses berupa memori dan CPU untuk menangani panggilan simultan yang ditangani server VoIP. 2. VOIP DAN PARALLEL PROCESSING
Kata kunci : Next Generation Network, VoIP, parallel processing 1. PENDAHULUAN Pada komunikasi VoIP, pengguna tidak hanya mampu berkomunikasi melalui voice saja melainkan juga video melalui video call dan juga teks atau instant messaging yang akhir-akhir ini sedang booming. Ini adalah salah satu kelebihan komunikasi VoIP dibandingkan dengan komunikasi analog melalui PSTN. Pada perkembangannya, teknologi VoIP tidak hanya bisa dimanfaatkan oleh
Pada awal perkembangannya, VoIP hanya dapat dipakai antar PC multimedia dengan kualitas rendah. Sesuai dengan perkembangan teknologi, kini VoIP memungkinkan komunikasi yang lebih luas seperti tampak pada gambar 1, yaitu antar PC ke telepon analog PSTN, seluler GSM maupun CDMA, dan komunikasi antar telepon dengan kualitas layak sehingga layanan VoIP mulai banyak dijual oleh operator-operator telekomunikasi di dunia. Oleh karena itu, jaringan IP harus didesain agar memenuhi persyaratan delay, jitter, dan packet loss. Packet loss (kehilangan paket data pada proses transmisi) dan delay merupakan masalah
Proceeding Seminar Tugas Akhir Jurusan Teknik Elektro FTI-ITS
2/6 Tabel 1 SIP Request Message dan Response Message SIP Request Messages
Deskripsi
SIP Response Message
Deskripsi
Mengundang user agent lain untuk Respon Informasi 1xx bergabung dalam sesi komunikasi Contoh : 180 Ringing Konfirmasi bahwa user agent telah Respon Sukses/Berhasil ACK menerima pesan terakhir dari 2xx Contoh : 200 OK serangkaian pesan INVITE Mengindikasikan bahwa user ingin Respon Redirection BYE 3xx mengakhiri panggilan/session Contoh : 302 Moved Temporarily Membatalkan request yang tertunda Respon kegagalan request CANCEL namun tidak mempengaruhi request 4xx Contoh : 403 Forbidden yang telah selesai/direspon Mendaftarkan (register) alamat yang Respon kegagalan server REGISTER ada pada field header “To” dengan 5xx Contoh : 504 Gateway Time-out server SIP Meminta informasi kapabilitas dari Respon kegagalan global OPTIONS 6xx server Contoh : 600 Busy Everywhere Memungkinkan tersalurkannya informasi kontrol yang berkaitan INFO dengan session, yang dihasilkan selama session GATEWAY yang banyak digunakan untuk mengatur komunikasi multimedia melalui jaringan IP. Sedangkan H.323 adalah GSM rekomendasi yang dikeluarkan oleh ITU yang mendefinisikan protokol untuk komunikasi audio visual GATEWAY melalui jaringan paket. CDMA Hubungan yang dibangun protokol SIP bersifat clientserver. Dengan demikian, ada dua macam message yang terjadi dalam komunikasi VoIP, yaitu request dan response. JARINGAN IP Message pada komunikasi VoIP dengan menggunakan USER1 USER3 signalling SIP dapat dilihat pada tabel 1. USER2 SWITCH Parallel processing adalah teknik komputasi yang IP PHONE USER1 digunakan untuk menyelesaikan suatu masalah dengan cara PSTN GATEWAY membagi-bagi setiap permasalahan menjadi fragmenSOFTPHONE SOFTPHONE fragmen di mana setiap fragmen akan diselesaikan oleh USER2 node-node pemroses yang masing-masing terpisah. SOFTPHONE Dengan parallel processing, pemanfaatan resource USER3 komputer dapat digunakan secara maksimal. Parallel Gambar 1 Visualisasi Global Jaringan VoIP processing menggunakan lebih dari satu CPU untuk mengeksekusi sebuah program[3]. Dengan demikiran, yang tidak berhubungan dengan kebutuhan bandwidth, performansi dari sistem akan bertambah dengan adanya namun lebih dipengaruhi oleh stabilitas rute yang dilewati metode parallel processing ini. data pada jaringan, metode antrian yang efisien, pengaturan Untuk dapat menggunakan proses paralel tidak cukup pada router, dan penggunaan kontrol terhadap kongesti hanya dengan menyediakan perangkat kerasnya saja, tapi (kelebihan beban data) pada jaringan. juga harus didukung oleh perangkat lunak. Perangkat lunak Tiap paket VoIP terdiri atas dua bagian, yaitu header yang digunakan harus dapat memanfaatkan arsitektur dan payload (beban). Header terdiri atas IP header, Real- komputer yang ada untuk menjalankan proses-proses paralel time Transport Protocol, User Datagram Protocol (UDP) secara optimal. header, dan link header. Besarnya link header bergantung Model pemrograman paralel adalah sekumpulan pada media transmisi yang digunakan dan payload perangkat lunak untuk mengimplementasikan algoritma bergantung jenis codec yang digunakan, sedangkan yang lain paralel dan menyesuaikan aplikasi dengan sistem paralel besarnya tetap[2]. yang ada dibawahnya. Hal ini mencakup area aplikasi, Signalling yang umum digunakan pada VoIP adalah bahasa pemrograman, kompiler, pustaka, sistem komunikasi SIP dan H.323. SIP (Session Initiation Protocol) adalah dan paralel I/O. Kesulitan mengotomatiskan paralelisme protokol signalling yang didefinisikan oleh organisasi IETF menjadikan orang lebih memilih model parallel INVITE
Proceeding Seminar Tugas Akhir Jurusan Teknik Elektro FTI-ITS
3/6
programming atau kombinasi keduanya untuk membangun aplikasi mereka pada platform yang banyak digunakan. Model pemrograman paralel diimplementasikan dalam berbagai bentuk : sebagai library dari bahasa sekuensial, sebagai ekstensi bahasa pemrograman, atau bahkan suatu model eksekusi baru yang lengkap. Model pemrograman paralel biasanya diukur dari kecepatan serta kesederhanaan yang tujuan utamanya adalah meningkatkan produktifitas pemrograman. Implementasi pemrosesan paralel pada VoIP diharapkan akan meningkatkan kapasitas server dalam menangani panggilan secara simultan. Pemakaian resource bersama, berupa CPU dan memori akan meningkatkan performansi server dalam menangani panggilan simultan antar client VoIP. Pada aplikasi server VoIP, yaitu asterisk, aliran data suara berupa paket RTP ketika terjadi panggilan dari client A ke client B adalah melalui server VoIP terlebih dahulu. Adanya aliran data di server akan membutuhkan resource yang lebih baik ketika jumlah panggilan yang ditangani oleh server meningkat. Ketika terjadi komunikasi antara satu client dengan client yang lain, komponen dari komputer server yang paling berperan adalah CPU untuk proses switching dan memori untuk proses buffering. Metode parallel processing digunakan untuk memberdayakan beberapa resource dari komputer node pemroses untuk menangani proses switching dan buffering ketika terjadi beberapa panggilan secara simultan. START
DESAIN DAN PERANCANGAN TOPOLOGI JARINGAN
3. PERANCANGAN DAN IMPLEMENTASI Pada tugas akhir ini, dirancang sebuah server VoIP yang menggunakan metode parallel processing. Desain dan topologi jaringan yang digunakan dapat dilihat pada gambar 2. Server VoIP parallel processing menggunakan sebuah PC sebagai head node (cluster server) yang bertugas sebagai master yang akan memberikan job ke dua buah node yang berfungsi sebagai node pemroses. Metode perancangan sistem dapat dilihat pada gambar 3. Pada head node di-install sistem operasi Linux Ubuntu 8.10 dan beberapa aplikasi yang diperlukan untuk pembagian job ke masing-masing node yang terhubung ke head node. Sedangkan pada cluster node dibiarkan tanpa sistem operasi. Aplikasi yang dibutuhkan adalah sebagai berikut[4]. a. DHCP Server DHCP (Dynamic Host Control) server adalah suatu protokol yang mendifinisikan identitas jaringan dari semua device yang terhubung dengannya. DHCP server pada perancangan server ini berfungsi untuk memberikan identitas jaringan kepada node pemroses, di antaranya adalah IP address, netmask, dan gateway. b. TFTP Server Trivial File Transfer Protocol server berfungsi sebagai server yang mengirimkan file-file yang dibutuhkan oleh node pemroses pada proses booting. c. NFS Server Network File System server adalah protokol yang memungkinkan pengguna sebagai client untuk mengakses file-file pada jaringan yang terhubung dengannya layaknya mengakses file pada local storage. NFS server berfungsi sebagai protokol yang menjembatani node pemroses untuk mengakses file-file yang dibutuhkan untuk proses booting. Cluster server
PERANCANGAN DAN IMPLEMENTASI CLUSTER COMPUTER
client PENGUJIAN DAN PENGAMBILAN DATA SERVER PARALLEL PROCESSING
PENGUJIAN DAN PENGAMBILAN DATA SERVER STANDALONE
client
ANALISIS DATA
ANALISIS DATA
switch
switch
client
MEMBANDINGKAN PERFORMANSI SERVER STANDALONE DAN PARALLEL PROCESSING
client PENARIKAN KESIMPULAN
Cluster node
Cluster node
Gambar 3 Desain Topologi Jaringan Server VoIP Parallel Processing STOP
Gambar 2 Diagram Alir Metode Penelitian
Proceeding Seminar Tugas Akhir Jurusan Teknik Elektro FTI-ITS
4/6
d.
Bootable Filesystem Bootable filesystem adalah semua file yang diperlukan oleh sistem operasi untuk berjalan pada sebuah mesin komputer. Untuk meng-copy file-file yang dibutuhkan, dapat digunakan aplikasi debootstrap.
e.
Job Scheduler Job scheduler adalah aplikasi yang memungkinkan head node untuk membagi-bagi job ke masing-masing node pemroses. Ada beberapa aplikasi job scheduler yang dapat digunakan, di antaranya adalah openmpi, pelicanHPC, kestrelHPC, kerrighed, dll. Pada tugas akhir ini digunakan kerrighed karena merupakan aplikasi yang open source dan masih terus dikembangkan oleh developer-nya. Pada server parallel processing tersebut, di-install aplikasi server VoIP berupa asterisk. Asterisk di-install bukan pada host yang fisik melainkan pada bootable filesystem yang merupakan sistem operasi pada bootable filesystem. Pengujian dilakukan dengan melakukan panggilan secara simultan sebanyak mungkin hingga server mengalami kejenuhan dan tidak mampu lagi menangani panggilan antar client. Client berupa sepuluh softphone yang di-install pada komputer host dan sepuluh lagi pada komputer workstation. Pengujian dilakukan untuk membandingkan beberapa parameter performansi antara server standalone dengan server parallel processing. Parameter yang dibandingkan adalah tingkat kejenuhan server terhadap panggilan simultan, propagation delay, call setup delay, jitter, dan packet loss[5]. Aplikasi yang digunakan untuk menganalisis parameter tersebut adalah wireshark. Pengukuran dilakukan pada media transmisi kabel UTP cat-5e dengan kecepatan transmisi 100 Mbps tanpa pembatasan bandwidth dan tanpa pembebanan. Propagation delay adalah penundaan yang terjadi akibat waktu yang ditempuh oleh paket selama berada pada media transmisi. Sedangkan call setup delay adalah waktu yang diperlukan oleh client VoIP untuk tersambung ke client yang lain ketika melakukan panggilan. Call setup delay dapat dihitung dari tenggang waktu antara request message INVITE sampai diperoleh jawaban dari client yang lain yaitu berupa response ringing 180 message[6]. Jitter adalah variasi packet delay yang terjadi akibat adanya perbedaan waktu kedatangan paket. Sedangkan packet loss adalah kehilangan paket yang terjadi saat peak load dan congestion dalam waktu tertentu.
Gambar 4 Perbandingan Kapasitas Server Standalone dan Parallel Processing dalam Menangani Concurrent Call
panggilan dengan standard deviasi 1.58113883, sedangkan server parallel processing dengan dua node pemroses adalah 26 panggilan dengan standard deviasi 1.702938637. Dengan metode parallel processing, jumlah concurrent call yang mampu ditangani meningkat. Perbandingan ketiga metode dapat dilihat pada gambar 4. Pada pengujian QoS performance, dilihat tiga parameter, yaitu propagation delay, call setup delay, jitter, dan packet loss. Data diambil dari panggilan yang berhasil dilakukan dan kemudian dirata-rata. Pada pengukuran propagation delay, delay panggilan yang terjadi pada server standalone lebih kecil jika dibandingkan dengan server parallel processing. Pada server standalone didapatkan rata-rata delay sebesar 20.1195 ms dengan standard deviasi 0.107882457 ms, sedangkan pada server parallel processing, delay yang terjadi rata-rata
4. ANALISIS DAN PEMBAHASAN Dari pengujian yang dilakukan, dapat dibandingkan antara dua server yaitu server standalone tanpa node pemroses dan server dengan parallel processing. Dari sepuluh kali pengujian, didapatkan rata-rata jumlah concurrent call yang mampu ditangani oleh sebuah server standalone adalah 8 panggilan dengan standard deviasi 0.527046277, tiga buah server standalone adalah 25
Proceeding Seminar Tugas Akhir Jurusan Teknik Elektro FTI-ITS
Gambar 5 Perbandingan Propagation Delay pada Server Standalone dan Parallel Processing
5/6
Gambar 6 Perbandingan Call Setup Delay pada Server Standalone dan Parallel Processing
Gambar 8 Perbandingan Packet Loss pada Server Standalone dan Parallel Processing
adalah sebesar 20.64998 ms dengan standard deviasi 0.939107908 ms. Perbandingan delay pada kedua server dapat dilihat pada gambar 5. Call setup delay yang terukur lebih bervariasi. Namun secara keseluruhan, call setup delay pada server standalone lebih kecil dengan rata-rata 808.2222222 ms dengan standard deviasi 688.5887339 ms dibandingkan dengan server parallel processing yaitu berkisar 1380.655172 ms dengan standard deviasi 1726.139878 ms. Grafik perbandingan call setup delay dapat dilihat pada gambar 6. Jitter yang terukur juga bervariasi. Jitter pada server standalone lebih kecil, yaitu berkisar pada 5.067033333 ms dengan standard deviasi 6.412481688 ms, dibandingkan dengan server parallel processing dengan rata-rata jitter 5.719604 ms dengan standard deviasi 4.931732523 ms. Grafik perbandingan jitter dapat dilihat pada gambar 7. Pada pengukuran packet loss, transmisi data yang terjadi pada server standalone adalah dibawah 0.001% dengan standard deviasi 0% sedangkan pada server parallel processing, packet loss rata-rata yang terukur adalah 0.00186% dengan standard deviasi 0.010027548. Standard deviasi yang besar ini dikarenakan adanya packet loss yang cukup besar pada satu panggilan. Perbandingan packet loss
antara server standalone dan parallel processing dapat dilihat pada gambar 8. 5.
KESIMPULAN
Dari hasil perancangan dan pengujian yang telah dilakukan dapat disimpulkan bahwa pada perancangan server VoIP dengan menerapkan metode parallel processing dapat meningkatkan performansi server VoIP dalam menangani kapasitas panggilan secara simultan. Jika dibandingkan dengan server VoIP standalone dengan jumlah host server yang sama, server VoIP dengan metode parallel processing lebih baik dalam jumlah panggilan simultan yang mampu ditangani. Server VoIP standalone mampu menangani 8 panggilan simultan, sedangkan server VoIP parallel processing mampu menangani 26 panggilan simultan. Namun untuk parameter QoS performance, server VoIP standalone memiliki kualitas yang lebih baik jika dibandingkan dengan server VoIP yang menggunakan metode parallel processing. Dari empat parameter yang dibandingkan, yaitu propagagation delay, call setup delay, jitter, dan packet loss didapatkan bahwa pada server dengan metode parallel processing memiliki nilai yang selalu lebih besar jika dibandingkan dengan server standalone. Pada server VoIP standalone, rata-rata propagation delay adalah 20.12 ms, call setup delay 808.22 ms, jitter 5.07 ms, dan packet loss 0.0018%. Sedangkan pada server VoIP parallel processing, rata-rata propagation delay adalah 20.65 ms, call setup delay 1380.66 ms, jitter 5.72 ms, dan packet loss 0%. DAFTAR PUSTAKA [1]
Gambar 7 Perbandingan Jitter pada Server Standalone dan Parallel Processing
Proceeding Seminar Tugas Akhir Jurusan Teknik Elektro FTI-ITS
Hidayat, Syarif, “Pemrosesan Paralel Menggunakan Komputer Heterogen”, Seminar Nasional Aplikasi Teknologi Informasi, Yogyakarta, 2006.
6/6
[2]
[3]
[4]
[5] [6]
Shaief Nufa, “Analisa Kinerja VoIP dalam Jaringan HSDPA”, Tugas Akhir, Jurusan Teknik Elektro, ITS, 2008. Nonot Harsono, Sritrusta Sukaridhoto, Ahmad Subhan, dan Amang Sudarsono. “Model DistributedData Processing Berbasis Open-Source Untuk Pengolahan Data Kependudukan dalam Rangka Implementasi E-Gov Indonesia”, Prosiding Konferensi Nasional Teknologi Informasi & Komunikasi untuk Indonesia, ITB, 2006. Alicia Mason, “Setting Up A Diskless-boot Kerrighed 2.4.1 Cluster in Ubuntu 8.04”,
ITU-T Recommendation Y.1541, Network Performance Objectives for IP-based Services. Tony Eyers dan Henning Schulzrinne, “Predicting Telephony Call Setup Delay”,
DAFTAR RIWAYAT HIDUP Yuni Almaadin dilahirkan di Tulungagung, 11 Juni 1987. Merupakan putra bungsu dari empat bersaudara pasangan Muntahir dan Kalimah. Lulus dari SDN Ngujang 01 Tulungagung tahun 2000 dan melanjutkan ke SLTPN 1 Tulungagung. Kemudian penulis melanjutkan ke SMAN 1 Boyolangu, Tulungagung pada tahun 2003 dan lulus pada tahun 2006. Setelah menamatkan SMA, penulis melanjutkan studinya ke Jurusan Teknik Elektro Institut Teknologi Sepuluh Nopember Surabaya melalui jalur PMDK Berbeasiswa pada tahun 2006. Penulis aktif dalam kegiatan di Lab Jaringan Telekomunikasi, di antaranya Lab Based Education, Asisten Lab Dasar Sistem Telekomunikasi, dan Lab Komunikasi Data, serta sekarang sedang mengikuti program Coop di PT. Telkom. Pada bulan Juni 2010 penulis mengikuti seminar dan ujian lisan Tugas Akhir di Bidang Studi Telekomunikasi Multimedia Jurusan Teknik Elektro FTI ITS Surabaya sebagai salah satu syarat untuk memperoleh gelar Sarjana Teknik Elektro.
Proceeding Seminar Tugas Akhir Jurusan Teknik Elektro FTI-ITS