uji firewall dan routing pada SDN Openflow BAB 2
Transcript of uji firewall dan routing pada SDN Openflow BAB 2
4
BAB 2
TINJAUAN PUSTAKA
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).
a. 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.
b. 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)
a. Mesh
Dalam topologi mesh setiap perangkat jaringan terhubung langsung
terhadap semua perangkat jaringan lainnya yang ada di jaringan.
5
Gambar 2.1 Topologi Mesh
b. 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
c. 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
6
kabel yang menghubungkan antara perangkat jaringan dengan backbone,
sedangkan tap penghubung antara kabel drop line dan kabel backbone.
Gambar 2.3 Topologi Bus
d. 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
7
e. 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
8
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.
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
9
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.
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
10
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.
Gambar 2.7 Desain Jaringan Hierarchical
f. 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.
11
g. 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.
h. 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.
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)
12
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.1 Jaringan 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)
Hal ini berbeda dengan konsep jaringan tradisional, yaitu Control Plane dan
Data Plane berada dalam satu perangkat networking yang sama.
13
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
14
Control Plane pada jaringan tradisional merupakan struktur yang
terdistribusi, yaitu setiap perangkat networking memiliki ControlPlane-nya
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 model control 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.
15
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
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
16
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. 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
17
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:
a. Mengenkapsulasi dan meneruskan paket yang pertama dari Flow kepada
Controller, yang kemudian akan di tentukan oleh Controller apakah Flow
tersebut akan di ijinkan atau tidak. Jika diperbolehkan maka Flow akan di
tambahkan ke dalam Flow Table perangkat networking.
b. Meneruskan paket-paket yang masuk dan keluar berdasarkan Flow Table.
c. 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)
18
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
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
19
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)
a. Packet Header, yang menentukan bagaimana paket akan di teruskan.
b. Action, yang menspesifikasikan tindakan apa yang harus diambil terhadap
sebuah Flow.
c. Counter, yang menyatakan jumlah paket yang diproses pada tiap Flow.
Berikut adalah beberapa Action mendasar yang dapat di asosiasikan kepada
setiap Flow:
a. Teruskan paket kepada port tertentu,
b. Tolak traffic tertentu,
20
c. Enkapsulasi dan teruskan paket ke Controller. Hal ini biasanya berlaku
untuk paket yang pertama sekali dari Flow, dan bertujuan untuk menentukan
status Flow tersebut.
d. 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.12 Flow Table pada OpenFlow Switch
OpenFlow Switch dapat dikategorikan menjadi dua macam, yaitu Dedicated
OpenFlow Switch dan OpenFlow Enabled Switch. Dedicated OpenFlow Switch
merupakan switch yang hanya memiliki Data Plane, dan berfungsi untuk
21
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
a. Floodlight
Floodlight adalah Open SDN Controller yang merupakan Pengendali
kelas enterprise, Apache-lisensi, Java berbasis OpenFlow. Hal ini didukung
oleh komunitas pengembang termasuk sejumlah insinyur dari Big Beralih
Networks.
Pada bulan Februari 2012, Big Switch Networks Merilis Proyek
FloodLight, perangkat lunak open-source Apache berlisensi OpenFlow
Controller, [17] dan mengumumkan berbasis OpenFlow nya SDN Suite
pada bulan November tahun itu, yang berisi kontroler komersial, dan beralih
virtual dan tekan aplikasi pemantauan
b. 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.
22
Mininet penting bagi komunitas open-source SDN. Mininet biasanya
digunakan sebagai simulasi, verifikasi, testing tool, dan resource. (O’Reilly,
2013)
Gambar 2.13 Contoh 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
23
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.
c. 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
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 jurnal ACM 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
24
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.
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.