SOFTWARE DEFINED NETWORK Tim Teaching MKP SDN BAGIAN 1 INSTALASI SOFTWARE PENDUKUNG SDN S1 Teknik Telekomunikasi Fakultas Teknik Elektro 2016
SOFTWARE DEFINED NETWORK
Tim Teaching MKP SDN
BAGIAN 1INSTALASI SOFTWARE PENDUKUNG SDN
S1 Teknik TelekomunikasiFakultas Teknik Elektro
2016
Overview
Apa itu Mininet?
• Sebuah emulator jaringan yang dapat membuat suatu jaringanvirtual yang realistis
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
2. Instal salah satu Hypervisors (VirtualBox, VMware Workstation atauKVM)
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 :
Mininet topology
Topologi dasar pada Mininet
Mininet topology
Topologi tree dan cara menjalankannya
Mininet topology
Topologi custom (mininet/custom/topo-2sw-2host.py)
Cara menjalankan topology custom (topo-2sw-2host.py)
Mininet topology
Cara menjalankan MiniEdit
Mininet GUI
MiniEdit
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
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 membuatsuatu jaringan pada Mininet dan melakukan cek konektivitas denganmenggunakan ping
POX + Mininet
Jalankan command pingall pada mininet
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
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, 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
RYU + Mininet
Jalankan command pingall pada mininet
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
Instal java 1.8 dengan menggunakan 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
Lakukan clone Floodlight repository pada GitHub menggunakan git
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
Lalu lakukan update submodule 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 + Mininet
Jalankan command pingall pada mininet
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
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