Analisis Konsep Virtualisasi pada Controller dalam Jaringan LAN berbasis Openflow
42
LAMPIRAN PROGRAM MININET
Untuk skenario 1 sebagai berikut :
#!/usr/bin/env python
import sys
import mininet.node
import mininet.link
from mininet.topo import Topo
from mininet.link import TCLink
from mininet.cli import CLI
from mininet.net import Mininet
from mininet.node import RemoteController, OVSKernelSwitch
from mininet.log import setLogLevel
def skenario1():
net = Mininet(controller=RemoteController,link=TCLink)
#info('***menambahkan controller\n***')
c1=net.addController('c1',
Controller=RemoteController,ip="10.0.3.11",port=6633)
#info('***menambahkan host\n***')
h1=net.addHost('h1',ip="10.0.0.1")
h2=net.addHost('h2',ip="10.0.0.2")
h3=net.addHost('h3',ip="10.0.0.3")
h4=net.addHost('h4',ip="10.0.0.4")
h5=net.addHost('h5',ip="10.0.0.5")
h6=net.addHost('h6',ip="10.0.0.6")
Universitas Sumatera Utara
43
#info('***menambahkan switch\n***')
s1=net.addSwitch('s1',mac='00:00:00:00:00:01')
s2=net.addSwitch('s2',mac='00:00:00:00:00:02')
s3=net.addSwitch('s3',mac='00:00:00:00:00:03')
s4=net.addSwitch('s4',mac='00:00:00:00:00:04')
s5=net.addSwitch('s5',mac='00:00:00:00:00:05')
s6=net.addSwitch('s6',mac='00:00:00:00:00:06')
#info('***menambahkan link\n***')
net.addLink(h1,s1)
net.addLink(h2,s2)
net.addLink(h3,s3)
net.addLink(h4,s4)
net.addLink(h5,s5)
net.addLink(h6,s6)
net.addLink(s1,s2)
net.addLink(s2,s3)
net.addLink(s3,s4)
net.addLink(s4,s5)
net.addLink(s5,s6)
#info('***menjalankan network\n***')
net.start()
c1.start()
s1.start([c1])
s2.start([c1])
s3.start([c1])
s4.start([c1])
s5.start([c1])
s6.start([c1])
Universitas Sumatera Utara
44
#info('***menjalankan CLI\n***')
CLI(net)
info('***stop network***')
net.stop()
if __name__ == '__main__':
setLogLevel( 'info' )
skenario1()
Untuk skenario 2 sebagai berikut :
#!/usr/bin/env python
import sys
import mininet.node
import mininet.link
from mininet.topo import Topo
from mininet.link import TCLink
from mininet.cli import CLI
from mininet.net import Mininet
from mininet.node import RemoteController, OVSKernelSwitch
from mininet.log import setLogLevel
def skenario1():
net = Mininet(controller=RemoteController,link=TCLink)
#info('***menambahkan controller\n***')
c1=net.addController('c1',
controller=RemoteController,ip="10.0.3.11",port=6633)
c2=net.addController('c2',
controller=RemoteController,ip="10.0.3.12",port=6633)
Universitas Sumatera Utara
45
#info('***menambahkan host\n***')
h1=net.addHost('h1',ip="10.0.0.1")
h2=net.addHost('h2',ip="10.0.0.2")
h3=net.addHost('h3',ip="10.0.0.3")
h4=net.addHost('h4',ip="10.0.0.4")
h5=net.addHost('h5',ip="10.0.0.5")
h6=net.addHost('h6',ip="10.0.0.6")
#info('***menambahkan switch\n***')
s1=net.addSwitch('s1',mac='00:00:00:00:00:01')
s2=net.addSwitch('s2',mac='00:00:00:00:00:02')
s3=net.addSwitch('s3',mac='00:00:00:00:00:03')
s4=net.addSwitch('s4',mac='00:00:00:00:00:04')
s5=net.addSwitch('s5',mac='00:00:00:00:00:05')
s6=net.addSwitch('s6',mac='00:00:00:00:00:06')
#info('***menambahkan link\n***')
net.addLink(h1,s1)
net.addLink(h2,s2)
net.addLink(h3,s3)
net.addLink(h4,s4)
net.addLink(h5,s5)
net.addLink(h6,s6)
net.addLink(s1,s2)
net.addLink(s2,s3)
net.addLink(s3,s4)
net.addLink(s4,s5)
net.addLink(s5,s6)
#info('***menjalankan network\n***')
net.start()
c1.start()
Universitas Sumatera Utara
46
c2.start()
s1.start([c1])
s2.start([c2])
s3.start([c1])
s4.start([c2])
s5.start([c1])
s6.start([c2])
#info('***menjalankan CLI\n***')
CLI(net)
info('***stop network***')
net.stop()
if __name__ == '__main__':
setLogLevel( 'info' )
skenario1()
Untuk skenario 3 sebagai berikut :
#!/usr/bin/env python
import sys
import mininet.node
import mininet.link
from mininet.topo import Topo
from mininet.link import TCLink
from mininet.cli import CLI
from mininet.net import Mininet
from mininet.node import RemoteController, OVSKernelSwitch
from mininet.log import setLogLevel
def skenario1():
net = Mininet(controller=RemoteController,link=TCLink)
Universitas Sumatera Utara
47
#info('***menambahkan controller\n***')
c1=net.addController('c1',
controller=RemoteController,ip="10.0.3.11",port=6633)
c2=net.addController('c2',
controller=RemoteController,ip="10.0.3.12",port=6633)
c3=net.addController('c3',
controller=RemoteController,ip="10.0.3.13",port=6633)
#info('***menambahkan host\n***')
h1=net.addHost('h1',ip="10.0.0.1")
h2=net.addHost('h2',ip="10.0.0.2")
h3=net.addHost('h3',ip="10.0.0.3")
h4=net.addHost('h4',ip="10.0.0.4")
h5=net.addHost('h5',ip="10.0.0.5")
h6=net.addHost('h6',ip="10.0.0.6")
#info('***menambahkan switch\n***')
s1=net.addSwitch('s1',mac='00:00:00:00:00:01')
s2=net.addSwitch('s2',mac='00:00:00:00:00:02')
s3=net.addSwitch('s3',mac='00:00:00:00:00:03')
s4=net.addSwitch('s4',mac='00:00:00:00:00:04')
s5=net.addSwitch('s5',mac='00:00:00:00:00:05')
s6=net.addSwitch('s6',mac='00:00:00:00:00:06')
#info('***menambahkan link\n***')
net.addLink(h1,s1)
net.addLink(h2,s2)
net.addLink(h3,s3)
net.addLink(h4,s4)
net.addLink(h5,s5)
net.addLink(h6,s6)
Universitas Sumatera Utara
48
net.addLink(s1,s2)
net.addLink(s2,s3)
net.addLink(s3,s4)
net.addLink(s4,s5)
net.addLink(s5,s6)
#info('***menjalankan network\n***')
net.start()
c1.start()
c2.start()
c3.start()
s1.start([c1])
s2.start([c2])
s3.start([c3])
s4.start([c1])
s5.start([c2])
s6.start([c3])
#info('***menjalankan CLI\n***')
CLI(net)
info('***stop network***')
net.stop()
if __name__ == '__main__':
setLogLevel( 'info' )
skenario1()
Universitas Sumatera Utara
49
LAMPIRAN KONFIGURASI ONOS DAN LXC
Konfigurasi ONOS untuk 1 instansi :
export ONOS_NIC=10.0.3.*
export OC1="10.0.3.11"
export OCI="10.0.3.11"
exportONOS_FEATURES="webconsole,onos-rest,onos-gui,onos-api,onos-core,onoscli,onos-openflow"
export ONOS_APPS="drivers,openflow"
Konfigurasi ONOS untuk 2 instansi :
export ONOS_NIC=10.0.3.*
export OC1="10.0.3.11"
export OC2="10.0.3.12"
export OCI="10.0.3.11"
exportONOS_FEATURES="webconsole,onos-rest,onos-gui,onos-api,onos-core,onoscli,onos-openflow"
export ONOS_APPS="drivers,openflow"
Konfigurasi ONOS untuk 3 instansi :
export ONOS_NIC=10.0.3.*
export OC1="10.0.3.11"
export OC2="10.0.3.12"
export OC3="10.0.3.13"
export OCI="10.0.3.11"
exportONOS_FEATURES="webconsole,onos-rest,onos-gui,onos-api,onos-core,onoscli,onos-openflow"
export ONOS_APPS="drivers,openflow"
Konfigurasi LXC pada container instansi-satu :
lxc.network.type = veth
lxc.network.link = lxcbr0
Universitas Sumatera Utara
50
lxc.network.flags = up
lxc.network.hwaddr = 00:16:3e:xx:xx:xx
lxc.start.auto=1
lxc.rootfs = /var/lib/lxc/instansi-satu/rootfs
lxc.utsname = instansi-satu
lxc.network.veth.pair = veth-satu
Konfigurasi jaringan untuk LXC pada container instansi-satu :
auto eth0
iface eth0 inet static
address 10.0.3.11
netmask 255.255.255.0
gateway 10.0.3.1
dns-nameservers 10.0.3.1
Konfigurasi LXC pada container instansi-dua :
lxc.network.type = veth
lxc.network.link = lxcbr0
lxc.network.flags = up
lxc.network.hwaddr = 00:16:3e:24:fd:a8
lxc.start.auto=1
lxc.rootfs = /var/lib/lxc/instansi-dua/rootfs
lxc.utsname = instansi-dua
lxc.network.veth.pair = veth-dua
Konfigurasi jaringan untuk LXC pada container instansi-dua :
auto eth0
iface eth0 inet static
address 10.0.3.12
netmask 255.255.255.0
gateway 10.0.3.1
dns-nameservers 10.0.3.1
Universitas Sumatera Utara
51
Konfigurasi LXC pada container instansi-tiga :
lxc.network.type = veth
lxc.network.link = lxcbr0
lxc.network.flags = up
lxc.network.hwaddr = 00:16:3e:45:01:89
lxc.start.auto=1
lxc.rootfs = /var/lib/lxc/instansi-tiga/rootfs
lxc.utsname = instansi-tiga
lxc.network.veth.pair = veth-tiga
Konfigurasi jaringan untuk LXC pada container instansi-tiga :
auto eth0
iface eth0 inet static
address 10.0.3.13
netmask 255.255.255.0
gateway 10.0.3.1
dns-nameservers 10.0.3.1
Universitas Sumatera Utara
LAMPIRAN PROGRAM MININET
Untuk skenario 1 sebagai berikut :
#!/usr/bin/env python
import sys
import mininet.node
import mininet.link
from mininet.topo import Topo
from mininet.link import TCLink
from mininet.cli import CLI
from mininet.net import Mininet
from mininet.node import RemoteController, OVSKernelSwitch
from mininet.log import setLogLevel
def skenario1():
net = Mininet(controller=RemoteController,link=TCLink)
#info('***menambahkan controller\n***')
c1=net.addController('c1',
Controller=RemoteController,ip="10.0.3.11",port=6633)
#info('***menambahkan host\n***')
h1=net.addHost('h1',ip="10.0.0.1")
h2=net.addHost('h2',ip="10.0.0.2")
h3=net.addHost('h3',ip="10.0.0.3")
h4=net.addHost('h4',ip="10.0.0.4")
h5=net.addHost('h5',ip="10.0.0.5")
h6=net.addHost('h6',ip="10.0.0.6")
Universitas Sumatera Utara
43
#info('***menambahkan switch\n***')
s1=net.addSwitch('s1',mac='00:00:00:00:00:01')
s2=net.addSwitch('s2',mac='00:00:00:00:00:02')
s3=net.addSwitch('s3',mac='00:00:00:00:00:03')
s4=net.addSwitch('s4',mac='00:00:00:00:00:04')
s5=net.addSwitch('s5',mac='00:00:00:00:00:05')
s6=net.addSwitch('s6',mac='00:00:00:00:00:06')
#info('***menambahkan link\n***')
net.addLink(h1,s1)
net.addLink(h2,s2)
net.addLink(h3,s3)
net.addLink(h4,s4)
net.addLink(h5,s5)
net.addLink(h6,s6)
net.addLink(s1,s2)
net.addLink(s2,s3)
net.addLink(s3,s4)
net.addLink(s4,s5)
net.addLink(s5,s6)
#info('***menjalankan network\n***')
net.start()
c1.start()
s1.start([c1])
s2.start([c1])
s3.start([c1])
s4.start([c1])
s5.start([c1])
s6.start([c1])
Universitas Sumatera Utara
44
#info('***menjalankan CLI\n***')
CLI(net)
info('***stop network***')
net.stop()
if __name__ == '__main__':
setLogLevel( 'info' )
skenario1()
Untuk skenario 2 sebagai berikut :
#!/usr/bin/env python
import sys
import mininet.node
import mininet.link
from mininet.topo import Topo
from mininet.link import TCLink
from mininet.cli import CLI
from mininet.net import Mininet
from mininet.node import RemoteController, OVSKernelSwitch
from mininet.log import setLogLevel
def skenario1():
net = Mininet(controller=RemoteController,link=TCLink)
#info('***menambahkan controller\n***')
c1=net.addController('c1',
controller=RemoteController,ip="10.0.3.11",port=6633)
c2=net.addController('c2',
controller=RemoteController,ip="10.0.3.12",port=6633)
Universitas Sumatera Utara
45
#info('***menambahkan host\n***')
h1=net.addHost('h1',ip="10.0.0.1")
h2=net.addHost('h2',ip="10.0.0.2")
h3=net.addHost('h3',ip="10.0.0.3")
h4=net.addHost('h4',ip="10.0.0.4")
h5=net.addHost('h5',ip="10.0.0.5")
h6=net.addHost('h6',ip="10.0.0.6")
#info('***menambahkan switch\n***')
s1=net.addSwitch('s1',mac='00:00:00:00:00:01')
s2=net.addSwitch('s2',mac='00:00:00:00:00:02')
s3=net.addSwitch('s3',mac='00:00:00:00:00:03')
s4=net.addSwitch('s4',mac='00:00:00:00:00:04')
s5=net.addSwitch('s5',mac='00:00:00:00:00:05')
s6=net.addSwitch('s6',mac='00:00:00:00:00:06')
#info('***menambahkan link\n***')
net.addLink(h1,s1)
net.addLink(h2,s2)
net.addLink(h3,s3)
net.addLink(h4,s4)
net.addLink(h5,s5)
net.addLink(h6,s6)
net.addLink(s1,s2)
net.addLink(s2,s3)
net.addLink(s3,s4)
net.addLink(s4,s5)
net.addLink(s5,s6)
#info('***menjalankan network\n***')
net.start()
c1.start()
Universitas Sumatera Utara
46
c2.start()
s1.start([c1])
s2.start([c2])
s3.start([c1])
s4.start([c2])
s5.start([c1])
s6.start([c2])
#info('***menjalankan CLI\n***')
CLI(net)
info('***stop network***')
net.stop()
if __name__ == '__main__':
setLogLevel( 'info' )
skenario1()
Untuk skenario 3 sebagai berikut :
#!/usr/bin/env python
import sys
import mininet.node
import mininet.link
from mininet.topo import Topo
from mininet.link import TCLink
from mininet.cli import CLI
from mininet.net import Mininet
from mininet.node import RemoteController, OVSKernelSwitch
from mininet.log import setLogLevel
def skenario1():
net = Mininet(controller=RemoteController,link=TCLink)
Universitas Sumatera Utara
47
#info('***menambahkan controller\n***')
c1=net.addController('c1',
controller=RemoteController,ip="10.0.3.11",port=6633)
c2=net.addController('c2',
controller=RemoteController,ip="10.0.3.12",port=6633)
c3=net.addController('c3',
controller=RemoteController,ip="10.0.3.13",port=6633)
#info('***menambahkan host\n***')
h1=net.addHost('h1',ip="10.0.0.1")
h2=net.addHost('h2',ip="10.0.0.2")
h3=net.addHost('h3',ip="10.0.0.3")
h4=net.addHost('h4',ip="10.0.0.4")
h5=net.addHost('h5',ip="10.0.0.5")
h6=net.addHost('h6',ip="10.0.0.6")
#info('***menambahkan switch\n***')
s1=net.addSwitch('s1',mac='00:00:00:00:00:01')
s2=net.addSwitch('s2',mac='00:00:00:00:00:02')
s3=net.addSwitch('s3',mac='00:00:00:00:00:03')
s4=net.addSwitch('s4',mac='00:00:00:00:00:04')
s5=net.addSwitch('s5',mac='00:00:00:00:00:05')
s6=net.addSwitch('s6',mac='00:00:00:00:00:06')
#info('***menambahkan link\n***')
net.addLink(h1,s1)
net.addLink(h2,s2)
net.addLink(h3,s3)
net.addLink(h4,s4)
net.addLink(h5,s5)
net.addLink(h6,s6)
Universitas Sumatera Utara
48
net.addLink(s1,s2)
net.addLink(s2,s3)
net.addLink(s3,s4)
net.addLink(s4,s5)
net.addLink(s5,s6)
#info('***menjalankan network\n***')
net.start()
c1.start()
c2.start()
c3.start()
s1.start([c1])
s2.start([c2])
s3.start([c3])
s4.start([c1])
s5.start([c2])
s6.start([c3])
#info('***menjalankan CLI\n***')
CLI(net)
info('***stop network***')
net.stop()
if __name__ == '__main__':
setLogLevel( 'info' )
skenario1()
Universitas Sumatera Utara
49
LAMPIRAN KONFIGURASI ONOS DAN LXC
Konfigurasi ONOS untuk 1 instansi :
export ONOS_NIC=10.0.3.*
export OC1="10.0.3.11"
export OCI="10.0.3.11"
exportONOS_FEATURES="webconsole,onos-rest,onos-gui,onos-api,onos-core,onoscli,onos-openflow"
export ONOS_APPS="drivers,openflow"
Konfigurasi ONOS untuk 2 instansi :
export ONOS_NIC=10.0.3.*
export OC1="10.0.3.11"
export OC2="10.0.3.12"
export OCI="10.0.3.11"
exportONOS_FEATURES="webconsole,onos-rest,onos-gui,onos-api,onos-core,onoscli,onos-openflow"
export ONOS_APPS="drivers,openflow"
Konfigurasi ONOS untuk 3 instansi :
export ONOS_NIC=10.0.3.*
export OC1="10.0.3.11"
export OC2="10.0.3.12"
export OC3="10.0.3.13"
export OCI="10.0.3.11"
exportONOS_FEATURES="webconsole,onos-rest,onos-gui,onos-api,onos-core,onoscli,onos-openflow"
export ONOS_APPS="drivers,openflow"
Konfigurasi LXC pada container instansi-satu :
lxc.network.type = veth
lxc.network.link = lxcbr0
Universitas Sumatera Utara
50
lxc.network.flags = up
lxc.network.hwaddr = 00:16:3e:xx:xx:xx
lxc.start.auto=1
lxc.rootfs = /var/lib/lxc/instansi-satu/rootfs
lxc.utsname = instansi-satu
lxc.network.veth.pair = veth-satu
Konfigurasi jaringan untuk LXC pada container instansi-satu :
auto eth0
iface eth0 inet static
address 10.0.3.11
netmask 255.255.255.0
gateway 10.0.3.1
dns-nameservers 10.0.3.1
Konfigurasi LXC pada container instansi-dua :
lxc.network.type = veth
lxc.network.link = lxcbr0
lxc.network.flags = up
lxc.network.hwaddr = 00:16:3e:24:fd:a8
lxc.start.auto=1
lxc.rootfs = /var/lib/lxc/instansi-dua/rootfs
lxc.utsname = instansi-dua
lxc.network.veth.pair = veth-dua
Konfigurasi jaringan untuk LXC pada container instansi-dua :
auto eth0
iface eth0 inet static
address 10.0.3.12
netmask 255.255.255.0
gateway 10.0.3.1
dns-nameservers 10.0.3.1
Universitas Sumatera Utara
51
Konfigurasi LXC pada container instansi-tiga :
lxc.network.type = veth
lxc.network.link = lxcbr0
lxc.network.flags = up
lxc.network.hwaddr = 00:16:3e:45:01:89
lxc.start.auto=1
lxc.rootfs = /var/lib/lxc/instansi-tiga/rootfs
lxc.utsname = instansi-tiga
lxc.network.veth.pair = veth-tiga
Konfigurasi jaringan untuk LXC pada container instansi-tiga :
auto eth0
iface eth0 inet static
address 10.0.3.13
netmask 255.255.255.0
gateway 10.0.3.1
dns-nameservers 10.0.3.1
Universitas Sumatera Utara