uji firewall dan routing pada SDN Openflow BAB 2

21
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.

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.