SOFTWARE DEFINED NETWORK
Tim Teaching MKP SDN
BAGIAN 1INSTALASI SOFTWARE PENDUKUNG SDN
S1 Teknik TelekomunikasiFakultas Teknik Elektro
2016
Instalasi Mininet
1. Mininet VM (Virtual Machine)
2. Native installation from Source
3. Installation from Packages
Mininet VM
1. Download VM Mininet darihttps://github.com/mininet/mininet/wiki/Mininet-VM-Images
Mininet VM
3. Import VM Mininet yang telah di download dengan menggunakanHypervisors yang telah di install
VBox :
File -> Import Appliance
(Ctrl + I)
Mininet VM
4. Jalankan Mininet VM yang telah di import dan lakukan login. Untukusername dan passwordnya sendiri yaitu :
1. Instal Git dengan menggunakan command :
Hasil dari command yang telah dijalankan :
Native installation from Source
Native installation from Source
2. Lakukan clone Mininet repository (source code) dari GitHub denganmenggunakan Git yang telah diinstal
hasil dari command diatas :
Native installation from Source
3. Menjalankan command untuk melakukan instalasi Mininet :
catatan : -a digunakan untuk full installation (Mininet+OvS+Wireshark+POX)
hasil dari command diatas :
Installation from Packages
1. Jalankan command untuk melakukan instalasi Mininet berdasarkanversi OS Ubuntu yang digunakan
Mininet testing
Setelah Mininet berhasil diinstal, kita coba tes fungsi dasar dari Mininetdengan menggunakan command:
Hasil tes dasar Mininet yang telah dilakukan :
Apa itu POX?
Sebuah platform pengembangan open source untuk aplikasi SoftwareDefined Network (SDN) yang berdasarkan pada bahasa pemrogramanPython
Instalasi POX
Lakukan clone POX repository (source code) dari GitHub denganmenggunakan Git
Lalu berpindah ke folder pox yang telah tersedia
Menjalankan POX
Setelah berpindah ke folder pox, kita akan mencoba menjalankancontoh aplikasi yang telah terdapat pada pox (hub.py)
Berikut ini merupakan isi dari file pretty_log.py yang telah dijalankan
(~/pox/pox/samples/pretty_log.py)
POX
POX + Mininet
Setelah POX dapat berjalan dengan benar, kita coba untuk membuatsuatu jaringan pada Mininet dan melakukan cek konektivitas denganmenggunakan ping
RYU
Salah satu contoh SDN controller yang berbasis Python. Support untukOpenFlow versi 1.0, 1.2, 1.3, 1.4 dan 1.5
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
Setelah menginstal Ryu dengan menggunakan python-pip, lakukanupgrade pada Six library dengan menggunakan command :
Menjalankan RYU
Untuk mencoba menjalankan Ryu, dapat dengan menggunakancommand :
Apabila Ryu telah berhasil terinstal, maka akan menampilkan hasil :
Menjalankan RYU
Berikutnya yaitu melakukan clone pada Ryu repository pada GitHubdengan menggunakan git
Menjalankan RYU
Setelah berhasil melakukan clone, maka akan terdapat suatu folderbernama ryu. Pada folder tersebut terdapat beberapa contoh aplikasiyang telah dibuat dengan menggunakan Ryu. Kita akan mencobamenjalankan simple_switch.py yang terdapat pada folder~/ryu/ryu/app/simple_switch.py
RYU + Mininet
Setelah RYU dapat berjalan dengan benar, kita coba untuk membuatsuatu jaringan pada Mininet dan melakukan cek konektivitas denganmenggunakan ping
Suatu SDN controller kelas enterprise dengan lisensi Apache danberbasis Java. Floodlight dirancang untuk bekerja dengan meningkatnyajumlah switch, router, switch virtual, dan jalur akses yang mendukungstandar OpenFlow.
FLOODLIGHT
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 javadengan menggunakan command :
Instalasi FLOODLIGHT
Setelah repository java berhasil ditambahkan, lakukan update denganmenggunakan command :
Instalasi FLOODLIGHT
Untuk mengecek apakah java telah berhasil terinstal atau belum, dapatmelakukan 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
Jika clone telah berhasil dilakukan, maka akan terdapat suatu folderdengan nama floodlight. Langkah berikutnya yaitu kita harus berpindahke folder floodlight tersebut dengan menggunakan command :
Setelah berpindah ke folder floodlight, lakukan perintah inisiasisubmodule dengan menggunakan git
Instalasi FLOODLIGHT
Berikutnya yaitu melakukan build pada folder floodlight denganmenggunakan 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 floodlightdengan menggunakan command
Menjalankan FLOODLIGHT
Setelah berada pada folder floodlight, command untuk menjalankanfloodlight adalah sebagai berikut :
Floodlight + Mininet
Setelah Floodlight dapat berjalan dengan benar, kita coba untukmembuat suatu jaringan pada Mininet dan melakukan cek konektivitasdengan menggunakan ping
FLOODLIGHT GUI
Pada Floodlight, terdapat Web GUI yang dapat diakses. Untukmengakses Web GUI dari Floodlight tersebut, dapat membukanyapada:
http://<controller-ip>:8080/ui/index.html
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