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