![]() 5
BAB 2
TINJAUAN PUSTAKA
Bab ini akan membahas tentang teori-teori yang digunakan dalam penyusunan
skripsi ini. Bagian pertama membahas teori umum. Bagian kedua membahas teori
khusus yang berkaitan dengan topik skripsi ini yaitu Software Defined Networking
yang melatarbelakangi penyusunan bab 1, bab 3 dan bab 4.
2.1 Teori Umum Jaringan
2.1.1 Perangkat Jaringan
Didalam jaringan komputer, terdapat dua istilah untuk perangkat-
perangkat yang di gunakan yaitu, end device dan
intermediary device.
(Dye,
2008).
End device
merupakan perangkat-perangkat yang menjadi pengguna dari
jaringan komputer sebagai sumber atau tujuan dari pertukaran data. End
device dapat memiliki berbagai macam istilah seperti node, host, station,
dsb. Contoh-contoh end device seperti PC, server, printer, dsb.
Intermediary device
adalah perangkat yang berfungsi sebagai penghubung
antar perangkat yang ada di dalam jaringan komputer. Contoh-contoh
intermediary device seperti switch, hub, router, firewall, dsb.
2.1.2 Topologi Jaringan
Topologi merujuk kepada bagaimana perangkat jaringan disusun dalam
jaringan. Dua atau lebih network device yang saling terhubung akan membentuk
topologi. Ada 4 topologi jaringan yang mendasar: mesh, star, bus, dan
ring.
(Forouzan, 2007)
|
![]() 6
Mesh
Dalam topologi mesh
setiap perangkat jaringan terhubung langsung
terhadap semua perangkat jaringan lainnya yang ada di jaringan.
Gambar 2.1 Topologi Mesh
Star
Dalam topologi star, setiap perangkat jaringan terhubung hanya pada
satu controller yang terpusat, seperti switch, hub atau acces point.
Gambar 2.2 Topologi Star
|
![]() 7
Bus
Dalam topologi bus, setiap perangkat jaringan akan terhubung dengan
kabel backbone
yang akan menghubungkan semua perangkat di dalam
jaringan. Setiap perangkat terhubung ke backbone
dengan menggunakan
peralatan khusus yang dinamakan drop line dan
tap. Drop line
merupakan
kabel yang menghubungkan antara perangkat jaringan dengan backbone,
sedangkan tap penghubung antara kabel drop line dan kabel backbone.
Gambar 2.3 Topologi Bus
Ring
Dalam topologi ring, setiap perangkat jaringan hanya terhubung
langsung dengan dua perangkat jaringan yang berada di masing-masing sisi.
Sinyal akan di teruskan dalam satu arah, dari perangkat yang satu ke
perangkat berikutnya hingga sampai di tujuan.
Gambar 2.4 Topologi Ring
|
![]() 8
Hybrid
Umumnya dalam satu jaringan komputer yang besar, beberapa
topologi mendasar yang di jelaskan di atas akan saling terhubung hingga
membentuk topologi hybrid. Gambar 2.5 menunjukkan topologi hybrid
dimana end device
terhubung ke jaringan dengan topologi bus, yang
kemudian topologi bus
tersebut akan saling terhubung satu dengan lainnya
melalui controller yang akan membentuk topologi star.
Gambar 2.5 Topologi Hybrid
2.1.3 Kategori Jaringan Komputer
Ketika membicarakan kategori jaringan komputer, umumnya merujuk
kepada dua kategori utama, yaitu Local Area Network (LAN) dan
Wide Area
Network (WAN), dimana suatu jaringan komputer ditentukan berdasaran ukuran
cakupannya. (Forouzan, 2007)
Local Area Network (LAN)memiliki cakupan area yang tidak terlalu luas,
biasanya hanya sekitar beberapa kilometer. LAN umumnya di implementasikan
dalam satu gedung atau antar beberapa gedung yang saling berdekatan dengan
tujuan agar perangkat jaringan yang berada di dalam jaringan dapat saling
terhubung dan berbagi sumber daya.
|
![]() 9
Wide Area Network (WAN)menyediakan transmisi data jarak jauh dan
cakupannya sangat luas meliputi suatu pulau, negara, benua, bahkan seluruh
dunia. WAN sendiri dapat terbagi lagi menjadi dua kategori, yaitu point-to-point
WAN dan
switched WAN. Switched WAN
umumnya menghubungkan
intermediary device
yang terhubung dengan LAN atau WAN lain, sedangkan
point-to-point WAN
umumnya adalah layanan jaringan yang di sewakan oleh
provider agar perangkat jaringan atau LAN dapat terhubung ke internet.
Gambar 2.6Switched WAN dan Point-to-Point WAN
Selain itu, kategori lainnya dalam jaringan komputer
yang merupakan
turunan dari WAN dan LAN adalahCampus Area Network (CAN) yaitu jaringan
komputer yang terdiri dari interkoneksi LAN dalam wilayah geografis yang
terbatas. Jaringan biasanya menghubungkan berbagai bangunan kampus seperti
departemen akademik, perpustakaan, dll.
Metropolitan Area Network (MAN) adalah jaringan yang menghubungkan
dua atau lebih LAN atau CAN tetapi tidak melampaui batas-batas kota.
|
10
Global Area Network (GAN) dikembangkan oleh beberapa kelompok dan
tidak mempunyai definisi yang spesifik. Secara umum, GAN adalah model
untuk mobile communication
melalui nomor yang berubah-ubah dari wireless
LAN, area jangkauan satelit, dll.
2.1.4 Desain Jaringan
Desain jaringan adalah salah satu faktor yang mempengaruhi performa
jaringan. Dengan desain jaringan yang best practice, performa jaringan
meningkat dari segi reliability, security, scalability, dan
manageability. (Dye,
2008)
Reliability merujuk kepada seberapa sering jaringan mengalami gangguan
dan kemampuannya dalam menghadapai gangguan. Reliability
di capai dengan
mengimplementasikan redundancy yaitu menerapkan beberapa link sebagai link
cadangan.
Scalability
adalah kemudahan dalam mengembangkan jaringan tanpa
mempengaruhi kinerja jaringan. Scalability
dicapai dengan
mengimplementasikan jaringan dengan model hierarchical dan
link-
aggregation, yaitu menggabungkan beberapa link
fisik menjadi satu buah link
logikal.
Security dan
manageability
dapat di capai dengan menerapkan jaringan
model hierarchical.
|
![]() 11
Gambar 2.7 Desain Jaringan Hierarchical
Core Layer
Layer
ini berfungsi sebagai backbone
dari jaringan penghubung antar
perangkat jaringan di layer distribution, serta penghubung ke WAN.
Karakteristik layer ini adalah memiliki bandwidth
yang besar serta perangkat
jaringan dengan kemampuan packet forwarding
yang tinggi karena layer ini
merupakan aggregate atau kumpulan koneksi layer di bawahnya.
Distribution Layer
Layer
ini berfungsi sebagai penghubung antar perangkat jaringan pada
access layer dan security untuk packet-filtering. Karakteristik layer ini adalah
high speed forwarding dan routing capacity serta ACL.
Access Layer
Layer
ini berfungsi sebagai penghubung perangkat end device
pada
jaringan dan security untuk end device filtering. Karakteristik layer ini adalah
port security dan PoE untuk beberapa end device.
|
12
2.1.5 VLAN
VLAN adalah sebuah model jaringan yang
tidak terbatas pada keadaan
fisik dan bertujuan
untuk mengelompokkan beberapa komputer. Dengan kata
lain, VLAN adalah sekumpulan
user yang terkelompok secara logika.
DenganVLAN, perubahan jaringan dapat dilakukan
dengan melakukan
konfigurasi pada
port, sesuai
VLAN yang dibutuhkan, dan tidak memerlukan
jaringan secara fisik. VLAN mampu
mernbagi sebuah broadcast domain
rnenjadi
beberapa broadcast domain
dengan ukuran yang
lebih kecil. Setiap
broadcast domain
yang
terbentuk tersebut dapat dipandang sebagai subnetwork
yang berbeda-beda. VLAN dapat
ditentukan berdasarkan lokasi, fungsi,
departemen, aplikasi, dan protokol yang digunakan. (Sofana, 2010)
2.2 Software Defined Networking (SDN)
Software Defined Networking (SDN)
adalah sebuah pendekatan baru dalam
mendesain, membangun, dan mengelola jaringan komputer.Konsep dasar SDN
berkaitan erat dengan arsitektur perangkat networking seperti Router, packet Switch,
LAN Switch dan sebagainya. Secara umum dalam perangkat networking terdapat dua
bagian, yaitu Control Plane dan Data Plane. (Hyojoon, 2013)
Control Plane
adalah bagian yang berfungsi untuk mengatur logika pada
perangkat networking seperti routing table, pemetaan jaringan, dan sebagainya.Data
Plane
adalah bagian yang berfungsi untuk meneruskan paket-paket yang masuk ke
suatu port
pada perangkat networking
menuju port
keluar dengan berkonsultasi
kepada Control Plane.
2.2.1Jaringan Tradisional VS Jaringan SDN
Konsep jaringan SDN adalahmelakukan pemisahan antara Control Plane
dan Data Plane, dimana Data Plane
tetap berada pada perangkat networking,
sedang Control Plane berada pada sebuah entitas terpisah bernama Controller
yang akan menentukan perilaku jaringan dengan cara memungkinkan Data
Plane
untuk di program sehingga terbentuklah istilah Software Defined
Networking (SDN)yang mendefinisikan jaringan. (Mendonca, 2013)
|
![]() 13
Hal ini berbeda dengan konsep jaringan tradisional, yaitu Control Plane
dan Data Plane berada dalam satu perangkat networking yang sama.
Gambar 2.8
mengilustrasikan perbandingan antara konsep jaringan
tradisional dengan konsep jaringan Software Defined Networking
(SDN).Gambar di sebelah kiri merupakan konsep jaringan tradisional, Control
Plane
dan Data Plane
berada dalam satu tempat yang sama, yaitu di dalam
perangkat networking.
Gambar sebelah kanan
merupakan konsep jaringan SDN menunjukkan
pemisahan Control Plane dari Data Plane, sehingga pada perangkat networking
hanya terdapat Data Plane.Selain itu pada gambar di atas perbedaan antara
konsep jaringan komputer tradisional dengan konsep jaringan komputer SDN
juga di tunjukkan, yaitu pada struktur Control Plane.
Gambar 2.8 Jaringan Tradisional VS Jaringan SDN
Control Plane
pada jaringan tradisional merupakan struktur yang
terdistribusi, yaitu setiap perangkat networking
memiliki ControlPlane-nya
|
![]() 14
tersendiri sehingga dapat membuat keputusan secara otonomi berdasarkan
informasi yang
dimilikinya, sedangkanControl Planepada jaringan SDN,
strukturnya tersentralisasi. Dimana perangkat networking
hanya memiliki
kemampuan terbatas dalam membuat keputusan, dan untuk membuat keputusan
membutuhkan kehadiran Controller.
2.2.2 Model Control Plane
Gambar 2.9 Model Control Plane
Terdapat 3 modelcontrol plane yaitu :
a.
Distributed Control
merupakan struktur model yang mewakili konsep
jaringan tradisional, dimana Control Planedan Data Plane berada dalam satu
perangkat networking yang sama.
b.
Centralized Control, tidak terdapat Control Plane pada perangkat networking.
Perangkat networking
hanya terdiri dari Data Plane
yang berfungsi
meneruskan paket-paket. Semua keputusan akan ditentukan oleh Controller.
c.
Hybrid Control, Control Plane
tetap berada pada
perangkat networking,
namun secara logika pengambilan keputusan tetap akan tersentralisasi pada
|
![]() 15
Controller. Control Plane lokal
pada perangkat networking berperan untuk
pengambilan keputusan yang sebelumnya telah di tentukan dan tidak
memerlukan lagi keterlibatan Controller.(Nadeau, 2013)
2.2.3 Arsitektur Konseptual SDN
Gambar 2.10 Arsitektur Konseptual SDN
Secara konseptual
terdapat 3 layer yang menyusun arsitektur jaringan
SDN, yaitu Application Plane, Control Plane, dan Data Plane. Application
Plane adalah layer dimana aplikasi-aplikasi seperti web server, mail server, dan
sebagainya yang berjalan di atas jaringan komputer berada. Control Plane
adalah
layer
dimana Controller berada setelah di pisahkan dari Data Plane.
|
![]() 16
Sedang Data Planelayer
dalam gambaran konseptual ini hanyalah sekumpulan
dari perangkat networking
yang akan di kendalikan oleh Control Plane.
(Stallings, 2013)
Antara Application Plane dan Control Plane, terdapat sebuah Application
Programming Interface (API)
yang berfungsi untuk menjembatani komunikasi
antara kedua layer
tersebut. API ini di namakan Northbound Interface.Sedang
antara Control Plane
dan Data Plane, terdapat sebuah API yang di namakan
Southbound Interface. Terdapat beberapa implementasi Southbound Interface,
namun yang paling umum dan popular adalah OpenFlow.
2.2.4 Operasi Jaringan SDN dengan OpenFlow
Secara umum jaringan SDN dengan OpenFlow
beroperasi dengan cara
yang berbeda dari jaringan tradisional. Jaringan SDN OpenFlow
menggunakan
konsep Flow, yang di definisikan sebagai aliran paket-paket
dalam jaringan
dimana header-header paketnya memiliki nilai-nilai yang sama. Sebagai contoh,
sebuah Flow dapat berupa paket-paket dengan alamat asal dan alamat tujuan IP
yang sama, atau semua paket dengan identifier
VLAN yang sama. (Stallings,
2013)
Controller yang terletak di Control Plane
adalah otak dari jaringan SDN
OpenFlow, dimana semua keputusan tentang jaringan di buat. Controller
menentukan Flow-Flow
yang dapat berada di dalam jaringan. Setiap Flow
di
dalam jaringan harus mendapatkan ijin terlebih dahulu dari Controller, yang
akan menentukan apakah komunikasi tersebut diperbolehkan
oleh network
policy. Jika di perbolehkan maka Controllerakan menentukan rute Flow, dan
menambahkan
rute
tersebut kepada setiap perangkat
networking
yang akan
dilalui oleh Flow.
Peran perangkat networking pada jaringan SDN OpenFlow adalah sebagai
berikut:
Mengenkapsulasi dan meneruskan paket yang pertama dari Flow
kepada
Controller, yang kemudian akan di tentukan oleh Controller
apakah Flow
|
![]() 17
tersebut akan di ijinkan atau tidak. Jika diperbolehkan
maka Flow
akan di
tambahkan ke dalam Flow Table perangkat networking.
Meneruskan paket-paket yang masuk dan keluar berdasarkan Flow Table.
Menolak paket secara sementara atau permanen bergantung pada keputusan
yang di tentukan oleh Controller.
2.2.5 OpenFlow Switch Specification
OpenFlow Switch Specification
adalah referensi yang awalnya
dikembangkan oleh Stanford University dan kemudian dilanjutkan Open
Networking Foundation (ONF). OpenFlow Switch Specification
meliputi
komponen dan fungsi dasar yang dibutuhkan oleh perangkat networking untuk
mendukung OpenFlow. (McKeown, 2013)
PerancangOpenFlow menemukan fakta bahwa banyak dari perangkat
networking
meskipun memiliki Flow Table
berbeda antar masing-masing
vendor, namun mempunyaifungsi-fungsi umum. Perangkat networking
tersebut
biasanya di produksi dengan menggunakan Ternary Content Addressable
Memory (TCAM). Desainer OpenFlow
mengeksploit fungsi-fungsi umum
tersebut yang kemudian digunakan dalam membentuk arsitektur logikal dari
OpenFlow Switch.
Gambar 2.11
menunjukkan arsitektur logikal dari perangkat networking
yang mendukung OpenFlow (yang selanjutnya disebut OpenFlow Switch) sesuai
referensi OpenFlow Switch Specification versi 1.3.0
|
![]() 18
Gambar 2.11 Arsitektur Logikal OpenFlow Switch
OpenFlow Switch
berkomunikasi dengan Controller menggunakan
OpenFlow Protocol
melalui Secure Socket Layer (SSL). Pada masing-masing
switch, terdapat serangkaian tabel yang dapat di implementasikan dengan
hardware
ataupun firmware.OpenFlow
mendefinisikan tiga tabel yang terdapat
di dalam arsitektur logikal OpenFlow Switch, yaitu Flow Table, Group Table,
dan Meter Table. (Stallings, 2013)
Flow Table
berfungsi untuk menentukan paket yang datang masuk ke
dalam suatu flow, dan kemudian mengambil tindakan terhadap paket tersebut.
Ada kemungkinan terdapat beberapa Flow Table dalam sebuah switch yang akan
di operasikan secara pipeline. Flow Table juga dapat mengarahkan Flow kepada
Group Table
yang akan memicu berbagai macam tindakan terhadap sebuah
Flow
atau lebih. Meter Table
digunakan untuk memicu berbagai macam
tindakan yang berkaitan dengan performa pada sebuah Flow.Controller melalui
OpenFlow
memperbolehkan untuk memanipulasi langsung seperti menambah,
menghapus, atau memodifikasi sebuah Flow
pada Flow Table. Sebuah
Flow
memiliki tiga kolom, yaitu: (Shinde, 2013)
Packet Header, yang menentukan bagaimana paket akan di teruskan.
|
![]() 19
Action, yang menspesifikasikan tindakan apa yang harus diambil terhadap
sebuah Flow.
Counter, yang menyatakan jumlah paket yang diproses pada tiap Flow.
Berikut adalah beberapa Action
mendasar yang dapat di asosiasikan
kepada setiap Flow:
Teruskan paket kepada port tertentu,
Tolak traffic tertentu,
Enkapsulasi dan teruskan paket ke Controller. Hal ini biasanya berlaku untuk
paket yang pertama sekali dari Flow, dan bertujuan untuk menentukan status
Flow tersebut.
Teruskan paket melalui proses pipelining
normal perangkat networking tanpa
mengambil tindakan apapun.
Gambar 2.12
menunjukkan contoh struktur Flow Table
dan Action Set
yang lebih mendetail.
Gambar 2.12Flow Table pada OpenFlow Switch
OpenFlow Switch
dapat dikategorikan menjadi dua macam, yaitu
Dedicated OpenFlow Switch dan
OpenFlow Enabled Switch. Dedicated
|
![]() 20
OpenFlow Switch
merupakan switch
yang hanya memiliki Data Plane, dan
berfungsi untuk meneruskan paket-paket saja seperti yang telah di tentukan oleh
Controller. Switch ini tidak mendukung operasi normal pada layer 2 dan layer 3
networking.OpenFlow Enabled Switch
merupakan perangkat networking yang
umum di gunakan saat ini, dimana akan ditambahkan dukungan OpenFlow
kedalamnya seperti Flow Table, Secure Channel, Group Table, dan Meter
Table. Umumnya hal ini dilakukan dengan upgradefirmware
pada perangkat
networking. (McKeown, 2008)
2.2.6 Komponen Untuk Menjalankan OpenFlow
NOX/POX
NOX merupakan sebuah kontroler yang sudah ada sejak awal dan suatu
component-based framework
untuk mengembangkan Aplikasi SDN. NOX
menyediakan support modules
khusus untuk OpenFlow. Inti NOX
menyediakan metode-metode pembantu dan API untuk berinteraksi dengan
Openflow switch, termasuk penanganan konektifitas pada mesin. Komponen-
komponen tambahan yang menghubungkan API yang telah tersedia
termasukhost tracking, routing, topology (LLDP), dan Python interface yang
diimplementasikan sebagai pembungkus untuk komponen API, seperti yang
ditunjukkan pada gambar 2.13. (OReilly, 2013)
|
![]() 21
Gambar 2.13 Arsitektur NOX
NOX sering digunakan dalam penelitian
dalam akademis dibidang
networking
untuk mengembangkan aplikasi SDN. Beberapa
aplikasi NOX
populer adalah SANE dan Etana. SANE adalah sebuah pendekatan untuk
merepresentasikan jaringan sebagai
sebuah filesystem. Sedangkan etana
adalah aplikasi penelitian pada Stanford University.Sedangkan POX adalah
yang terbaru, Python-based version dari NOX (NOX in Python).
Mininet
Mininet
merupakan emulator jaringan yang mensimulasikan koleksi
dari host-end, switch, router,
dan link
pada single kernel Linux. Masing-
masing elemen ini disebut sebagai "host"
menggunakan virtualisasi ringan
untuk membuat sistem
tampilan tunggal sehingga terlihat seperti jaringan
yang lengkap, menjalankan kernel yang sama, sistem, dan user code. Mininet
penting bagi komunitas open-source
SDN. Mininet
biasanya digunakan
sebagai simulasi, verifikasi, testing tool, dan resource. (OReilly, 2013)
|
![]() 22
Gambar 2.14Contoh Simple Mininet Network
Sebuah hostpada Mininet
beroperasi seperti sebuah mesin yang
sebenarnya dan bisa menjalankan code secara bersama-sama.Dengan cara ini,
host Mininet
merupakan shell
pada mesin yang programnya dapat diubah-
ubah. Program kustom ini dapat mengirim, menerima, dan memroses paket
melalui
program yang tampaknya seperti ethernet nyata tetapi sebenarnya
adalah switch virtual.
Salah satu alasan Mininet banyak digunakan untuk
eksperimen karena
mininet bisa membuat topologi sesuai keinginan perancangnya, banyak yang
telah membuktikannya dengan topologi yang cukup kompleks, lebih besar,
dan topologi internet seperti yang
digunakan untuk penelitian pada BGP.
Fitur
lain yang sangat bagus dari
mininet
yaitu
memungkinkan untuk
kustomisasi packet forwarding sepenuhnya.
FlowVisor
Seperti layer virtualisasi pada komputer, FlowVisor
berada diantara
physical hardware
yang menjadi pokok dan software
yang mengontrol. Dan
seperti sebuah sistem operasi yang menggunakan set instruksi untuk
mengontrol pokok dari hardware, FlowVisor
digunakan protokol OpenFlow
|
23
untuk mengontrol pokok dari physical network. OpenFlow
membuka
forwarding control
dari sebuah paket switch
kepada sebuah entitas yang
diprogram yaitu kontroler OpenFlow. (Sherwood, 2009)
FlowVisor
menggunakan protokol OpenFlow
untuk berkomunikasi
dengan
host
dan switch. Kontroler pada
host
tidak perlu dimodifikasi dan
menganggap telah berkomunikasi langsung dengan perangkat jaringan.
2.3 Hasil Penelitian dan Produk Sebelumnya
1.
Dalam jurnalACM SIGCOMM Computer Communication Reviewyang berjudul
OpenFlow: Enabling Innovation in Campus Network, (McKeown, 2008)
McKeown, dkk. mengutarakan perlunya sebuah jaringan yang dapat di program.
Hal tersebut dilandasi akan adanya kebutuhan untuk bereksperimen pada jaringan
bagi para peneliti, namun terbentur pada kenyataan bahwa lingkungan eksperimen
tidak mencerminkan kondisi seperti lingkungan nyata.Mereka mengembangkan
jaringan yang cukup besar pada departemen Computer Science dan Electrical
Engineering di Stanford University. Jaringan pada dua gedung akan diganti
dengan switch-switchyang menjalankan OpenFlow. Akhirnya, semua traffic akan
berjalan melalui jaringan OpenFlow dengan production traffic dan experimental
traffic
yang terisolasi
pada VLAN yang berbeda di bawah kendali network
administrator. Jadi, para peneliti akan mengontrol lalu lintas mereka sendiri, dan
dapat menambah / menghapus aliran-entri.
2.
Jurnal yasng berjudul FlowVisor: A Network Virtualization Layer, (Sherwood,
2009)
Sherwood, dkk. membahas pendekatan baru untuk switch virtualization
dimana forwarding plane pada hardware yang sama bisa dibagi diantara beberapa
logical network
yang masing-masing menggunakan forwarding logic
yang
berbeda.Mereka menggunakan switchlevel virtualization
untuk membangun
sebuah platform
penelitian yang memungkinkan beberapa percobaan pada
jaringan untuk dijalankan side-by-sidedengan production traffic
yang masih
menyediakan isolasi dan kecepatan hardware forwarding.
3.
Jurnal OSDI'10 Proceedings of the 9th USENIX conference on Operating systems
design and implementation yang berjudul Can the Production Network Be the
Testbed?(Sherwood, 2010) yang juga dibuat oleh Sherwood, dkk.
|
24
menggambarkan cara membuat testbed. Testbed bukanlah jaringan nyata. Testbed
merupakan sebuah platform untuk eksperimen dalam skala yang cukup besar.
Mereka mencoba untuk menanamkan testbed
ke jaringan dengan mengiris
hardware. Implementasi mereka saat itu terbatas pada pengendalian abstraksi dari
forwarding element yang diekspos oleh OpenFlow.
|