SOFTWARE DEFINED NETWORK BAGIAN 1 INSTALASI SOFTWARE PENDUKUNG SDN
Overview
Apa itu Mininet? Sebuah emulator jaringan yang dapat membuat suatu jaringan virtual yang realistis
Instalasi Mininet Mininet VM (Virtual Machine) Native installation from Source Installation from Packages
Mininet VM Download VM Mininet dari https://github.com/mininet/mininet/wiki/Mininet-VM-Images
Mininet VM Instal salah satu Hypervisors (VirtualBox, VMware Workstation atau KVM)
Mininet VM Import VM Mininet yang telah di download dengan menggunakan Hypervisors yang telah di install VBox : File -> Import Appliance (Ctrl + I)
Mininet VM Jalankan Mininet VM yang telah di import dan lakukan login. Untuk username dan passwordnya sendiri yaitu :
Native installation from Source Instal Git dengan menggunakan command : Hasil dari command yang telah dijalankan :
Native installation from Source Lakukan clone Mininet repository (source code) dari GitHub dengan menggunakan Git yang telah diinstal hasil dari command diatas :
Native installation from Source Menjalankan command untuk melakukan instalasi Mininet : catatan : -a digunakan untuk full installation (Mininet+OvS+Wireshark+POX) hasil dari command diatas :
Installation from Packages Jalankan command untuk melakukan instalasi Mininet berdasarkan versi OS Ubuntu yang digunakan
Mininet testing Setelah Mininet berhasil diinstal, kita coba tes fungsi dasar dari Mininet dengan menggunakan command: Hasil tes dasar Mininet yang telah dilakukan :
Mininet topology Topologi dasar pada Mininet
Mininet topology Topologi tree dan cara menjalankannya
Mininet topology Topologi custom (mininet/custom/topo-2sw-2host.py)
Mininet topology Cara menjalankan topology custom (topo-2sw-2host.py)
Mininet GUI Cara menjalankan MiniEdit
MiniEdit
Apa itu POX? Sebuah platform pengembangan open source untuk aplikasi Software Defined Network (SDN) yang berdasarkan pada bahasa pemrograman Python
Instalasi POX Lakukan clone POX repository (source code) dari GitHub dengan menggunakan Git Lalu berpindah ke folder pox yang telah tersedia
Menjalankan POX Setelah berpindah ke folder pox, kita akan mencoba menjalankan contoh aplikasi yang telah terdapat pada pox (hub.py)
POX Berikut ini merupakan isi dari file pretty_log.py yang telah dijalankan (~/pox/pox/samples/pretty_log.py)
POX Berikut ini merupakan isi dari file hub.py yang telah dijalankan (~/pox/pox/forwarding/hub.py)
POX + Mininet Setelah POX dapat berjalan dengan benar, kita coba untuk membuat suatu jaringan pada Mininet dan melakukan cek konektivitas dengan menggunakan ping
POX + Mininet Jalankan command pingall pada mininet
RYU Salah satu contoh SDN controller yang berbasis Python. Support untuk OpenFlow versi 1.0, 1.2, 1.3, 1.4 dan 1.5
Instalasi RYU Sebelum menginstal Ryu, lakukan update terlebih dahulu
Instalasi RYU Beberapa aplikasi yang dibutuhkan untuk dapat menginstal Ryu git python-pip python-dev python-eventlet python-routes python-webob python-paramiko
Instalasi RYU python-pip jalankan command berikut untuk menginstal python-pip
Instalasi RYU python-dev jalankan command berikut untuk menginstal python-dev
Instalasi RYU python-eventlet jalankan command berikut untuk menginstal python-eventlet
Instalasi RYU python-routes jalankan command berikut untuk menginstal python-routes
Instalasi RYU python-webob jalankan command berikut untuk menginstal python-webob
Instalasi RYU python-paramiko jalankan command berikut untuk menginstal python-paramiko
Instalasi RYU Menginstal Ryu dengan menggunakan python-pip yang telah terinstal
Instalasi RYU Setelah menginstal Ryu dengan menggunakan python-pip, lakukan upgrade pada Six library dengan menggunakan command :
Menjalankan RYU Untuk mencoba menjalankan Ryu, dapat dengan menggunakan command : Apabila Ryu telah berhasil terinstal, maka akan menampilkan hasil :
Menjalankan RYU Berikutnya yaitu melakukan clone pada Ryu repository pada GitHub dengan menggunakan git
Menjalankan RYU Setelah berhasil melakukan clone, maka akan terdapat suatu folder bernama ryu. Pada folder tersebut terdapat beberapa contoh aplikasi yang telah dibuat dengan menggunakan Ryu. Kita akan mencoba menjalankan simple_switch.py yang terdapat pada folder ~/ryu/ryu/app/simple_switch.py
RYU + Mininet Setelah RYU dapat berjalan dengan benar, kita coba untuk membuat suatu jaringan pada Mininet dan melakukan cek konektivitas dengan menggunakan ping
RYU + Mininet Jalankan command pingall pada mininet
FLOODLIGHT Suatu SDN controller kelas enterprise dengan lisensi Apache dan berbasis Java. Floodlight dirancang untuk bekerja dengan meningkatnya jumlah switch, router, switch virtual, dan jalur akses yang mendukung standar OpenFlow.
Instalasi FLOODLIGHT Beberapa aplikasi yang dibutuhkan untuk dapat menginstal Floodlight git java versi 1.8 build-essential apache ant apache maven python-dev
Instalasi FLOODLIGHT Untuk dapat menginstal java, kita harus menambahkan repository java dengan menggunakan command :
Instalasi FLOODLIGHT Setelah repository java berhasil ditambahkan, lakukan update dengan menggunakan command :
Instalasi FLOODLIGHT Instal java 1.8 dengan menggunakan command :
Instalasi FLOODLIGHT Untuk mengecek apakah java telah berhasil terinstal atau belum, dapat melakukan pengecekan versi java dengan menggunakan command : Dan pengecekan versi javac dengan command :
Instalasi FLOODLIGHT Berikutnya yaitu menginstal apache ant, apache maven, build-essential dan python-dev dengan menggunakan command :
Instalasi FLOODLIGHT Lakukan clone Floodlight repository pada GitHub menggunakan git
Instalasi FLOODLIGHT Jika clone telah berhasil dilakukan, maka akan terdapat suatu folder dengan nama floodlight. Langkah berikutnya yaitu kita harus berpindah ke folder floodlight tersebut dengan menggunakan command : Setelah berpindah ke folder floodlight, lakukan perintah inisiasi submodule dengan menggunakan git
Instalasi FLOODLIGHT Lalu lakukan update submodule dengan menggunakan git
Instalasi FLOODLIGHT Berikutnya yaitu melakukan build pada folder floodlight dengan menggunakan apache ant yang telah terinstal
Instalasi FLOODLIGHT Setelah build berhasil dilakukan, selanjutnya kita buat folder floodlight pada folder ~/lib dengan menggunakan perintah Setelah itu lakukan perubahan hak akses pada folder floodlight yang telah dibuat
Menjalankan FLOODLIGHT Untuk menjalankan Floodlight, pertama masuk ke folder floodlight dengan menggunakan command
Menjalankan FLOODLIGHT Setelah berada pada folder floodlight, command untuk menjalankan floodlight adalah sebagai berikut :
Floodlight + Mininet Setelah Floodlight dapat berjalan dengan benar, kita coba untuk membuat suatu jaringan pada Mininet dan melakukan cek konektivitas dengan menggunakan ping
Floodlight + Mininet Jalankan command pingall pada mininet
FLOODLIGHT GUI Pada Floodlight, terdapat Web GUI yang dapat diakses. Untuk mengakses Web GUI dari Floodlight tersebut, dapat membukanya pada: http://<controller-ip>:8080/ui/index.html
FLOODLIGHT GUI
REFERENSI Open Networking Lab, "POX Wiki," [Online]. Available: https://openflow.stanford.edu/display/ONL/POX+Wiki Ryu SDN Framework Community, "Ryu SDN Framework," [Online]. Available: https://osrg.github.io/ryu/ A Big Switch Networks, "Project Floodlight," [Online]. Available: http://www.projectfloodlight.org/floodlight/ B. H. N. M. Bob Lantz, "A Network in a Laptop: Rapid Prototyping for Software-Defined Networks," in Proceedings of the Ninth ACM SIGCOMM Workshop on Hot Topics in Networks - Hotnets '10, New York, 2010
REFERENSI S. M. Anggara, "Pengujian Performa Kontroler Software-defined Network (SDN): POX dan Floodlight," Bandung, 2015. V. Listiani, Analisis Performansi SDN (Software Defined Network) Menggunakan Protokol Routing OSPF (Open Shortest Path First), Bandung, 2015