Instalasi Mininet, OpenFlow, Ryu Controller, dan Flowmanager
Kebutuhan Sistem
- Opsi 1: Unduh VM Image Mininet dan lakukan instalasi pada Virtualbox atau VMWare Player di komputer anda.
- Opsi 2: Linux Ubuntu Server 20.04 LTS
Instalasi manual dapat mengunduh dari https://ubuntu.com/download/server
Jika anda menggunakan AWS EC2, anda dapat langsung memilih amazon linux image dengan nama Ubuntu Server 20.04 LTS (HVM), SSD Volume Type . Disarankan menggunakan Instance Type: t2.medium dan SSD dengan kapasitas 30G
Lakukan update dan upgrade dengan perintah
sudo apt -yy update && sudo apt -yy upgrade
Apa itu Mininet?
Mininet adalah sebuah emulator jaringan yang dapat digunakan untuk membuat sebuah jaringan virtual (dapat terdiri atas host, switch, router, controller, dan link). host pada mininet menjalankan software Linux standar dan switch pada mininet mendukung protokol OpenFlow yang sangat fleksibel untuk dimodifikasi dan mendukung Software-Defined Networking (SDN). Lebih lanjut dapat merujuk ke http://mininet.org/overview/
Instalasi Mininet + OpenFlow
Referensi: http://mininet.org/download/
Unduh repositori Mininet
git clone https://github.com/mininet/mininet
Mengunduh repositori mininet, dalam contoh untuk version mininet 2.3.0
Instal mininet
mininet/util/install.sh -nfv
Instalasi untuk mininet, user switch dan OpenFlow
Apa itu RYU?
Ryu adalah sebuah framework software untuk SDN Controller dan pengembangan aplikasi SDN dan menyediakan beragam komponen software lengkap dengan API yang memudahkan pengembang melakukan pembuatan aplikasi berbasis controller SDN.
Instalasi Ryu
Referensi: https://ryu-sdn.org/
Unduh repository Ryu dan instal
git clone https://github.com/osrg/ryu.git cd ryu; pip install . cd
Instalasi FlowManager
Referensi: https://github.com/martimy/flowmanager
Unduh repository Flowmanager
git clone https://github.com/martimy/flowmanager cd
Setelah langkah instalasi Flowmanager, sebaiknya lakukan rebooting Linux anda untuk membuat lingkungan operasional Python, Mininet, Ryu dan OpenFlow dapat berjalan dengan baik.
Menggunakan Mininet
Sebelum mengikuti prosedur berikutnya, perlu memperhatikan hal berikut:
$
user shell prompt, dimana setelahnya anda akan mengetikkan perintah-perintah Linuxmininet>
Mininet CLI prompt, dimana setelahnya anda akan mengetikkan perintah-perintah pada Mininet,#
root shell prompt, dimana setelahnya anda akan mengetikkan perintah-perintah Linux pada level akun root (berbeda dengan akun user biasa)
Sudah barang tentu, anda harus mengakhiri setiap perintah yang diketikkan dengan enter
untuk eksekusinya.
Interaksi dengan Host dan Switch
$ sudo mn
Perintah
sudo mn
tersebut akan secara default membuat topologi yang terdiri atas 2 host dengan 1 switch dan 1 OpenFlow reference controller. Perintah tersebut setara dengansudo mn --controller=default --mac --switch=ovs --topo=single,2
Menampilkan apa saja daftar perintah Mininet CLI:
mininet> help
Menampilkan nodes:
mininet> nodes
Menampilkan links:
mininet> net
Menampilakan informasi semua nodes:
mininet> dump
Tes koneksi antar Host
mininet> pingall *** Ping: testing ping reachability │ h1 -> h2 │ h2 -> h1 │ *** Results: 0% dropped (2/2 received) mininet> h1 ping -c 2 h2 PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data. │ 64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=0.279 ms │ 64 bytes from 10.0.0.2: icmp_seq=2 ttl=64 time=0.058 ms │ │ --- 10.0.0.2 ping statistics --- │ 2 packets transmitted, 2 received, 0% packet loss, time 1031ms │ rtt min/avg/max/mdev = 0.058/0.168/0.279/0.110 ms