PERANCANGAN DAN SIMULASI ARSITEKTUR SOFTWARE- DEFINED NETWORKING BERBASIS OPENFLOW DAN OPENDAYLIGHT CONTROLLER Studi Kasus: STMIK AMIKOM Yogyakarta NASKAH PUBLIKASI diajukan oleh Ramba Surya Triputra Tolongan 08.11.2352 kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA YOGYAKARTA 2015
PERANCANGAN DAN SIMULASI ARSITEKTUR SOFTWARE-DEFINED NETWORKING BERBASIS OPENFLOW DAN OPENDAYLIGHT CONTROLLER Studi Kasus: STMIK AMIKOM Yogyakarta Ramba Surya Triputra Tolongan 1), Sudarmawan 2), 1,2) Teknik Informatika STMIK AMIKOM Yogyakarta Jl Ringroad Utara, Condongcatur, Depok, Sleman, Yogyakarta Indonesia 55283 Email : ramba.t@students.amikom.ac.id 1), sudarmawan@amikom.ac.id 2) Abstract - STMIK AMIKOM Yogyakarta using network infrastructure with traditional architecture that rigid, not scalable, and distributed management settings. In traditional architecture, a network device has two main components, control plane and data plane. While in Software-Defined Networking (SDN) architecture, the two components was separated. They are no longer present in the same network device. By separating these two components, we have a lot of advantages such as a computer network that allows to be programmed and centrally managed. SDN architecture can be designed based on traditional network infrastructure with just a few modification. This design will then be simulated using software simulation that supports the implementation of SDN with OpenFlow protocol and OpenDaylight Controller. Keywords - computer networking, design, simulation, software-defined networking, openflow, mininet, and opendaylight. 1. Pendahuluan Jaringan komputer di perguruan tinggi STMIK AMIKOM Yogyakarta sudah menjadi kebutuhan utama. Jaringan komputer yang handal, efisien, namun tetap fleksibel dalam penerapannya sangat dibutuhkan. Namun hal ini tidak dapat dicapai dengan menggunakan arsitektur jaringan tradisional yang kaku, tidak scalable serta manajemen pengaturannya yang terdistribusi. Arsitektur Software-Defined Networking (SDN) menjadi salah satu pilihan untuk mengganti arsitektur tradisonal yang telah ada. Pada SDN, control plane dan data plane dipisahkan, tidak lagi terdapat dalam satu perangkat jaringan yang sama. Keuntungan yang didapat, diantaranya sebuah jaringan komputer yang memungkinkan untuk diprogram dan diatur secara terpusat. Lalu bagaimana merancang sebuah jaringan komputer dengan aristektur SDN menggunakan infrastruktur yang telah ada? Bagaimana mengatur manajemen jaringan komputer yang menggunakan arsitektur SDN? Melalui penelitian ini diharapakan dapat memberikan gambaran dalam perancangan arsitektur SDN pada infrastruktur yang telah ada dan mengetahui fungsi pengaturan manajemen yang dapat dilakukan dengan arsitektur SDN. Metode penelitian yang digunakan yaitu (1)Studi pustaka, dengan mengumpulkan data dan referensi melalui berbagai media kepustakaan dan informasi dari internet, (2)Observasi secara langsung terhadap objek di tempat penelitian, (3)Wawancara, (4)Analisis pada jaringan komputer yang telah ada dengan memanfaatkan data yang telah dikumpulkan dan bertujuan untuk mengetahui gambaran umum tentang arsitektur tradisional, (5)Perancangan arsitektur SDN, (6)Simulasi dengan bantuan aplikasi Mininet. 2. Landasan Teori SDN merupakan arsitektur jaringan yang memisahkan control dan data plane. Control plane yang berperan sebagai otak dan pembuat kebijakan pada suatu perangkat jaringan, akan dipindahkan ke perangkat mandiri yang disebut controller. Sedangkan data plane yang biasanya disebut juga dengan forwarding plane terdiri dari elemen jaringan yang dapat mengatur SDN Datapath sesuai dengan instruksi dari controller [1]. Dalam konsep SDN tersedia open interface yang memungkinkan sebuah entitas software/aplikasi untuk mengendalikan konektivitas yang disediakan oleh sejumlah sumber-daya jaringan, mengendalikan aliran trafik yang melewatinya serta melakukan inspeksi terhadap atau memodifikasi trafik tersebut. Arsitektur SDN dapat dilihat sebagai 3 lapis/bidang yaitu (1)Data plane, (2)Control plane, (3)Application plane. OpenFlow merupakan standar interface komunikasi antara control dan data plane yang pertama kali didefinisikan dalam arsitektur SDN. OpenFlow memungkinkan akses langsung dan manipulasi data plane pada perangkat jaringan seperti switch dan router, baik fisik dan virtual [2]. Gambar 1. Desain Awal Referensi SDN 1
Control plane menggunakan protokol OpenFlow untuk memprogram dan mempelajari kondisi data plane. Control plane diimplementasikan menggunakan OpenFlow controller atau Network OS beserta satu set aplikasi yang berjalan diatasnya. Controller dapat menggunakan packet_out message untuk menginstruksikan data plane agar mengirimkan paket Link Layer Discovery Protocol (LLDP) dari port switch ke network links. Kemudian paket LLDP yang diterima oleh port switch akan diteruskan ke controller sebagai packet_ins message. Berdasarkan packet_ins LLDP inilah controller dapat merancang topologi jaringan [3]. Software controller yang digunakan dalam penelitian ini adalah OpenDaylight Controller. OpenDaylight Controller merupakan sebuah software dengan platform terbuka yang memiliki kemampuan memprogram sebuah jaringan dengan berbagai ukuran dan skala sehingga jaringan tersebut dapat mengadopsi arsitektur SDN. Controller ini diimplementasikan pada sebuah software dan memiliki Java Virtual Machine (JVM) yang berdiri sendiri, sehingga dapat dijalankan pada platform hardware dan sistem operasi apa saja yang telah mendukung teknologi Java [4]. Perancangan dan simulasi dilakukan dengan bantuan aplikasi Mininet. Mininet adalah emulator jaringan yang dapat membuat jaringan virtual host, switch, controllers, dan links. Host pada Mininet dapat menjalankan software jaringan seperti pada Linux, dan perangkat switch-nya telah mendukung OpenFlow dan SDN. Kode program yang dikembangkan pada software emulator Mininet dapat dipakai pada real system dengan perubahan minimum [5]. Dengan menerapkan pendekatan arsitektur jaringan SDN maka kemampuan untuk mengatur dan mengelola perangkat jaringan akan lebih efektif karena dilakukan secara terpusat. Selain itu dengan SDN dimungkinkan untuk mengatur traffic flow jaringan pada tiap perangkat dan host, dengan kemampuan ini maka pemanfaatan resource jaringan akan lebih maksimal. 3. Pembahasan Arsitektur SDN merupakan produk open-source dan tidak terikat pada satu vendor saja (vendor-neutral software) sehingga secara teori, SDN dapat beroperasi di semua vendor hardware jaringan. SDN juga mampu berjalan pararel dengan jaringan komputer dengan arsitektur tradisional. Hal ini memudahkan bagi pihak lembaga jika ingin melakukan implementasi jaringan SDN secara bertahap. 3.1 Konfigurasi Controller Controller yang akan digunakan ialah OpenDaylight Controller dengan rilis Hydrogen Base 1.0. Dijalankan di atas sistem operasi Linux Ubuntu. Syarat dalam menjalankan controller OpenDaylight ialah mesin telah terinstal JVM. Instalasi dan konfigurasi variabel JAVA_HOME pada Ubuntu seperti di bawah ini. $ sudo apt-get update $ sudo apt-get install openjdk-7-jre openjdk-7-jdk $ echo # Custom add >> ~/.bashrc $ echo export JAVA_HOME=/usr/lib/jvm/java-1.7.0- openjdk-i386 >> ~/.bashrc Lakukan restart sistem operasi agar perubahan konfigurasi dapat berjalan. Dilanjutkan dengan instalasi OpenDaylight Controller Hydrogen Base 1.0 $ wget https://nexus.opendaylight.org/content/re positories/opendaylight.release/org/opend aylight/integration/distributions- base/0.1.1/distributions-base-0.1.1- osgipackage.zip $ unzip distributions-base-0.1.1- osgipackage.zip $ cd opendaylight/ $ sudo./run.sh -start Gambar 2. OpenDaylight Hydrogen Sedang Berjalan Untuk mengakses web interface OpenDaylight Hydrogen, caranya dengan membuka browser dan ketikan alamat http://localhost:8080/. Username dan password adalah admin. 3.2 Konfigurasi VirtualBox dan Mininet VirtualBox diperlukan untuk menjalankan software simulasi Mininet. Instalasi VirtualBox pada sistem operasi Ubuntu dapat dilakukan dengan menuliskan perintah berikut pada terminal. $ sudo apt-get update $ sudo apt-get install virtualbox Versi Mininet yang digunakan ialah Mininet-VM yang dapat diunduh melalui website mininet.org. Versi file yang digunakan dalam penelitian ialah mininet-2.1.0p2-140718-ubuntu-14.04-server-i386-ovf.zip. Agar Mininet-VM dan komputer host terhubung dalam satu jaringan yang sama, maka dibutuhkan sebuah interface jaringan dengan mode host-only. Interface ini dapat dikonfigurasi dengan cara membuka VirtualBox Manager dan masuk ke Preferences pada menu File. 3.3 Rancangan Topologi Untuk membuat rancangan topologi jaringan AMIKOM pada Mininet, penulis menggunakan alat 2
bantu sebuah Visual Network Description (VND) yang dapat diakses pada website www.ramonfontes.com/vnd/. Gambar 3. Rancang Topologi Menggunakan VND Tabel 1. Pengalokasian Nama dan IP Address Nama ID MAC Address IP Address Host1 h1 00:00:00:00:01:01 10.0.1.1 Host3 h3 00:00:00:00:01:03 10.0.1.3 Host4 h4 00:00:00:00:01:04 10.0.1.4 Host5 h5 00:00:00:00:01:05 10.0.1.5 Host6 h6 00:00:00:00:01:06 10.0.1.6 Host7 h7 00:00:00:00:01:07 10.0.1.7 Host8 h8 00:00:00:00:01:08 10.0.1.8 Host9 h9 00:00:00:00:01:09 10.0.1.9 Host10 h10 00:00:00:00:01:0a 10.0.1.10 Host11 h11 00:00:00:00:01:0b 10.0.1.11 Host12 h12 00:00:00:00:01:0c 10.0.1.12 s_pub_timur s1 00:00:00:00:00:01 - s_core s2 00:00:00:00:00:02 - s_g1 s3 00:00:00:00:00:03 - s_pub_barat s4 00:00:00:00:00:04 - s_pub_ic s5 00:00:00:00:00:05 - s_g5 s6 00:00:00:00:00:06 - s_g4 s7 00:00:00:00:00:07 - s_g3 s8 00:00:00:00:00:08 - s_g2 s9 00:00:00:00:00:09 - s_kantor s10 00:00:00:00:00:0a - s_local_barat s11 00:00:00:00:00:0b - s_g6 s12 00:00:00:00:00:0c - controller_odl c1-192.168.56.1 Rancangan topologi disimpan dengan nama amikom.py dan akan dijalankan oleh Mininet-VM dengan perintah sebagai berikut. $ chmod +x mininet/examples/amikom.py $ cd /home/surya/opendaylight $ sudo./run.sh -start $ sudo./mininet/examples/amikom.py Untuk memerika konektifitas antar host dalam jaringan virtual Mininet, dapat menggunakan perintah pingall. Gambar 4. Test Koneksi Antar Host Perintah pingall pada Mininet CLI berfungsi melakukan ping secara menyeluruh dari dan ke setiap host dalam custom topology Mininet. Karena sebelumnya controller telah dijalankan, maka hasil ping dari dan ke seluruh host berhasil. Jika controller dalam hal ini OpenDaylight Hydrogen belum dijalankan, maka jaringan pada Mininet tidak dapat melakukan ping antar host. Berdasarkan Gambar 4 seluruh host Mininet telah saling terhubung. Untuk melihat tampilan grafis dan melakukan pengaturan lebih lanjut dapat dilakukan melalui OpenDaylight Controller. Akses ke controller bisa melalui web interface yang beralamat di http://localhost:8080. Buka dengan menggunakan web browser. Username dan password adalah admin. Gambar 5. OpenDaylight Controller Web Interface 3.4 Uji Controller Skema 1 Skema pengujian pertama yakni memblokir akses dari dan ke h10. Sebuah rule dengan nama skema1-blokir akan diprogram ke dalam flow table node s10 dengan prioritas 500. Saat sebuah flow sesuai dengan rule, maka paket data dari flow tersebut akan di-drop. 3
Gambar 6. Uji Coba Ping Pada Skema 1 Dari Gambar 6 didapatkan bahwa lalu lintas data dari dan menuju ke h10 yang melewati port eth1 akan di-drop oleh s10. 3.5 Uji Controller Skema 2 Berlanjut pada skema pengujian kedua yakni akses lalu lintas data pada s3 yang menuju atau dari s2, yaitu melalui port eth4 akan diblokir. Namun h1 tetap diberikan hak akses terbatas hanya ke h11. Dapat dilakukan dengan dua tahap. Tahap 1 (skema2-blokir) dengan melakukan blokir seluruh akses pada port eth4 di s3. Gambar 7. Flow Entri Skema2-Blokir Lalu lintas data pada s3 yang menuju atau dari s2 akan terblokir. Namun lalu lintas dari h12 ke h11 masih berjalan dengan baik. Pada tahap 1 mengisolir jaringan internal s3, yakni h3, h10, h11, dan h12. Tahap 2 (skema2-allow-h1), dimana akses dari h1 dibuka agar dapat berkomunikasi dengan h11. Gambar 9. Uji Coba Ping Pada Skema 2 Dari Gambar 9 didapatkan bahwa h1 mempunyai akses ke h11, begitu pula sebaliknya. Namun h1 tetap tidak dapat mengakses host lainnya, hal ini ditunjukkan oleh ping h1 ke h12 yang tetap terblokir. 3.6 Uji Controller Skema 3 Terlebih dahulu membuat server sederhana pada h12, dapat dijalankan dengan menuliskan perintah berikut pada console Mininet. mininet> h12 python -m SimpleHTTPServer 80 >& /tmp/http.log & Server HTTP sederhana akan berjalan pada h12 di port 80. Untuk memeriksa koneksi ke HTTP server dapat menggunakan perintah berikut. mininet> h1 wget -t 3 -T 2 -O - h12 Skema pengujian ketiga yakni memblokir semua akses TCP ke port 80 (web server) pada h12. Gambar 8. Flow Entri Skema2-Allow Nilai priority pada flow skema2-allow-h1 dibuat lebih besar daripada skema2-blokir agar rule kedua ini tidak tertimpa oleh rule pertama. Saat nilai priority lebih besar, maka rule tersebut akan lebih diutamakan. Gambar 10. Flow Entry Skema 3 Berdasarkan Gambar 10, maka seluruh akses TCP ke port 80 pada node s12 yang melalui eth2 akan diblokir. 4
Gambar 11. Uji Coba Ping Pada Skema 3 Dari Gambar 11 didapatkan bahwa h1 tidak dapat mengakses HTTP Server pada s12. Hal ini sesuai dengan aturan flow pada controller yang memblokir akses TCP ke port 80. Biodata Penulis Ramba Surya Triputra Tolongan, memperoleh gelar Sarjana Komputer (S.Kom), Jurusan Teknik Informatika STMIK AMIKOM Yogyakarta, lulus tahun 2015. Sudarmawan, memperoleh gelar Sarjana Teknik (ST), Jurusan Teknik Elektro Universitas Gadjah Mada, lulus tahun 1998. Memperoleh gelar Magister Teknik (MT) Program Studi S2 Teknik Elektro Universitas Gadjah Mada, lulus tahun 2006. Saat ini menjadi Dosen tetap dan Kepala Jurusan Teknik Informatika STMIK AMIKOM Yogyakarta. 4. Kesimpulan Perancangan jaringan dengan arsitektur SDN dapat dilakukan dengan mengikuti topologi jaringan dari arsitektur tradisional. Namun perangkat yang dibutuhkan, dalam hal ini switch, harus lah mendukung protokol OpenFlow. Controller yang berfungsi sebagai otak jaringan juga diperlukan untuk mengatur dan memanajemen jaringan SDN. Keunggulan arsitektur SDN yang memisahkan antara data plane dan control plane menjadikan perangkat seperti switch melakukan fungsi yang sama dengan router, yaitu melakukan forwading data berdasarkan alamat IP Address. Pengaturan dan manajemen jaringan komputer dalam arsitektur SDN terasa lebih mudah karena sistemnya yang tersentralisasi. Seorang admin jaringan hanya perlu mengakses satu perangkat yaitu controller untuk mengatur seluruh perangkat switch di dalam jaringannya. Admin dapat memanipulasi flow data dan melakukan filtering pada jaringannya secara real time. Daftar Pustaka [1] Anonim, Software-Defined Networking: The New Norm for Networks, ONF White Paper, April 13, 2012. [2] Risdianto, A. C., Arif, M., Mulyana, E., Pengantar SDN, Buku Komunitas SDN-RG, http://eueung.gitbooks.io/buku-komunitas-sdnrg/content/index.html, 2014. [3] Kobayashi, M dkk, Maturing of OpenFlow and Software Defined Networking through Deployments. Computer Networks, Vol 61, Pages 151-175, 2014. [4] Anonim, Technical Review OpenDaylight, http://www.opendaylight.org/project/technicaloverview, 2015. [5] Mininet Team, Mininet Overview, http://mininet.org/overview/, 2015. 5