PERANCANGAN DAN SIMULASI ARSITEKTUR SOFTWAREDEFINED 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 Tolongan1), Sudarmawan2), 1,2)
Teknik Informatika STMIK AMIKOM Yogyakarta Jl Ringroad Utara, Condongcatur, Depok, Sleman, Yogyakarta Indonesia 55283
Email :
[email protected]),
[email protected])
manajemen yang dapat dilakukan dengan arsitektur SDN.
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.
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.
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.
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].
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.
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].
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
Gambar 1. Desain Awal Referensi SDN
1
$ 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.0openjdk-i386” >> ~/.bashrc
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].
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/distributionsbase/0.1.1/distributions-base-0.1.1osgipackage.zip $ unzip distributions-base-0.1.1osgipackage.zip $ cd opendaylight/ $ sudo ./run.sh -start
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].
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.
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.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.
3. Pembahasan
$ sudo apt-get update $ sudo apt-get install virtualbox
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.
Versi Mininet yang digunakan ialah Mininet-VM yang dapat diunduh melalui website mininet.org. Versi file yang digunakan dalam penelitian ialah mininet-2.1.0p2140718-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.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.
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 4. Test Koneksi Antar Host Gambar 3. Rancang Topologi Menggunakan VND 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.
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
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.
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.
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.
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.
Tahap 1 (skema2-blokir) dengan melakukan blokir seluruh akses pada port eth4 di s3.
3.6 Uji Controller Skema 3 Terlebih dahulu membuat server sederhana pada h12, dapat dijalankan dengan menuliskan perintah berikut pada console Mininet. Gambar 7. Flow Entri Skema2-Blokir
mininet> h12 python -m SimpleHTTPServer 80 >& /tmp/http.log &
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.
Server HTTP sederhana akan berjalan pada h12 di port 80. Untuk memeriksa koneksi ke HTTP server dapat menggunakan perintah berikut.
Tahap 2 (skema2-allow-h1), dimana akses dari h1 dibuka agar dapat berkomunikasi dengan h11.
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
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.
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. 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