Analisis Konsep Virtualisasi pada Controller dalam Jaringan LAN berbasis Openflow

4

BAB II
LANDASAN TEORI

2.1

Software Defined Networking

Software Defined Networking (SDN) adalah pendekatan model untuk pengaturan
jaringan, yang didasari prinsip bahwa alur trafik dari jaringan dirancang untuk dapat
diprogram sehingga memungkinkan terciptanya model - model baru dalam pengaturan
trafik jaringan. Pemisahan dari control plane dan data plane merupakan ide utama dari
prinsip kerja SDN. Contoh fungsi dan penerapan dari control plane dan data plane pada
jaringan tradisional dapat dilihat pada Tabel 2.1.

Tabel 2.1. Fungsi control plane dan data plane
(Marschke, et al. 2015)
Control Plane

2.2


Data Plane

Data konfigurasi

Forwarding Information Base (FIB)

Protokol Routing Unicast

Access Lists

Protokol Routing Multicast

Quality of Service (QoS)

Routing Information Base (RIB)

Interface

Protokol Openflow


Protokol Openflow merupakan implementasi dari konsep SDN. Openflow merupakan
standarisasi yang mendefenisikan antarmuka sistem komunikasi antara control plane
dan forwarding/data plane pada arsitektur SDN. Fokus dari rancangan ini awalnya
adalah untuk membuat protokol eksperimen pada jaringan antar gedung yang bisa
digunakan dalam penelitian. Rancangan protokol ini kemudian dilihat memiliki potensi
untuk menggantikan fungsi protokol layer 2 maupun layer 3 yang selama ini terintegrasi
pada perangkat-perangkat switch maupun router komersial. Model dari protokol

Universitas Sumatera Utara

5

Openflow dapat dilihat pada Gambar 2.1. Model tersebut juga menjelaskan pemahaman
umum dari SDN, yaitu sebagai berikut :
-

Pemisahan control plane dan data plane

-


Menggunakan protokol yang terstandarisasi, yaitu protokol Openflow, untuk
menghubungkan controller (yang menjalankan fungsi control plane) dan
elemen jaringan lainnya, seperti Openflow switch untuk menjalankan fungsi
forwarding.

-

Menjalankan fungsi pemrograman jaringan melalui API yang terpusat.

Gambar 2.1. Protokol Openflow (Nadeau & Grey, 2013)

Openflow terdiri dari sekelompok protokol dan sebuah API. Dengan kata lain,
controller tidak dapat melakukan apapun tanpa adanya program aplikasi yang
memberikan instruksi ke arah mana paket data akan mengalir dan ke perangkat mana.
Secara sederhana, Openflow controller dapat digambarkan sebagai sistem operasi pada
komputer, sementara Openflow switch sebagai perangkat keras dari komputer.

Universitas Sumatera Utara


6

2.2.1

Openflow Controller

Dalam jaringan Openflow, fungsi control plane dilakukan pada controller dan
data plane dilakukan pada switch. Sebuah channel komunikasi digunakan
sebagai penghubung kedua plane tersebut. Dengan protokol Openflow,
controller dapat menambah, memperbaharui maupun menghapus daftar flow
(Hu, 2014). Beberapa jenis dari controller adalah NOX, POX, Ryu, Floodlight
dan Opendaylight.
Openflow channel merupakan istilah yang digunakan terhadap sesi
koneksi antara Openflow controller dan Openflow switch yang diinisiasi oleh
Openflow switch. Koneksi tersebut menggunakan protokol TCP ,misalnya telnet
dan untuk lebih aman (dengan enkripsi) menggunakan TLS. Dengan demikian,
controller dan Openflow switch dapat terhubung melalui jaringan berbasis
TCP/IP (jaringan tradisional) sehingga yang dibutuhkan agar channel ini dapat
bekerja adalah koneksi yang bersifat routed connectivity. Hal tersebut membuat
controller tidak perlu terkoneksi langsung secara fisik namun dapat juga berada

pada lokasi remote (jarak jauh). Openflow channel juga disebut sebagai control
network, yaitu jaringan yang khusus untuk komunikasi sistem/pengaturan
kontrol antara controller dan switch. Sementara untuk komunikasi data antara
switch maupun host disebut data network.

2.2.2

Openflow Switch

Openflow switch bisa dikatakan sama dengan switch jaringan biasa, tetapi
tanpa/tidak memiliki protokol pintar yang terintegrasi di dalamnya. Openflow
switch akan menjalankan perangkat lunak yang berfungsi menghubungkannya
ke controller untuk menganalisa dan mengatur alur paket data. Secara spesifik,
komponen dari Openflow switch terbagi atas 2 bagian, yaitu :
-

Switch Agent
Switch Agent yaitu komponen dari switch yang berbicara kepada
controller dengan protokol Openflow. Switch agent berkomunikasi
dengan data plane dengan protokol internal. Demikian juga ketika

menerima notifikasi

dari

data

plane, switch

agent

akan

Universitas Sumatera Utara

7

menerjemahkan dengan protokol Openflow, lalu akan dikirimkan ke
controller
-


Data Plane
Data plane akan melakukan proses forwarding dan manipulasi dari
paket data. Apabila diperlukan, data plane akan mengirimkan paket
data ke switch agent untuk mengetahui tindakan yang perlu
dilakukan terhadap paket tersebut. Komponen data plane dari switch
yaitu port, flow table, flow, classifier dan instruksi yang perlu
dilakukan. Paket tiba dan keluar melalui port. Paket kemudian
diklasifikasikan termasuk flow yang mana, berdasarkan flow table.
Proses klasifikasi ini dilakukan oleh classifier. Parameter instruksi
lalu menentukan apa yang harus dilakukan terhadap paket yang tiba
tersebut, berdasarkan hasil klasifikasi sebelumnya (Flowgrammable,
2016)

Ada beberapa jenis perangkat lunak Openflow switch, antara lain Open vSwitch,
Indigo dan LINC.

2.3

Forwarding pada Jaringan Openflow


Openflow switch melakukan proses forwarding berdasarkan informasi yang ada pada
tabel flow. Informasi pada tabel flow diperoleh dari instruksi yang diberikan controller.
Tabel flow berisi parameter MAC address, IP address, nomor port dan parameter
lainnya yang dapat dikonfigurasi sesuai kebutuhan. Berdasarkan informasi dalam tabel
flow, instruksi terhadap paket data yang datang dapat diatur, misalnya berupa
forwarding ke port tertentu, dilakukan drop paket dan apabila parameter untuk paket
tersebut tidak ditemukan pada tabel flow, dapat dikirim ke controller untuk ditanyakan
mengenai instruksi yang perlu dilakukan.
Penggunaan tabel flow dalam Openflow mengalami perkembangan. Pada
protokol Openflow versi 1.0 hanya 1 tabel flow yang didukung, tetapi dimulai versi 1.1
dan seterusnya, sebuah Openflow switch dapat mendukung lebih dari satu tabel flow.
Misalnya dengan Open vSwitch, dapat menggunakan 254 tabel

flow. Tujuan

didukungnya beberapa tabel flow dalam switch adalah optimisasi jaringan data,
misalnya apabila terdapat terlalu banyak informasi flow data yang tersimpan dalam

Universitas Sumatera Utara


8

sebuah tabel flow. Dengan menggunakan banyak tabel, sebuah data dapat diproses
langsung ke tabel yang berisi informasi forwarding dari paket tersebut, sehingga tidak
perlu mencari dari keseluruhan data flow seperti apabila hanya menggunankan satu tabel
flow (Open Networking Foundation, 2014). Penulis mengilustrasikan konsep multiple
flow table ini pada Gambar 2.2. Dapat dilihat proses paket data yang diterima dapat
dilakukan drop, pencocokakn terhadap tabel flow lain atau ditanyakan ke controller.

Gambar 2.2. Multiple flow table.

Menurut prinsip kerjanya, proses forwarding dalam Openflow switch dibagi
tiga, yaitu :
-

Reactive Forwarding.
Ketika sebuah paket data atau flow dalam jaringan Openflow diterima
sebuah Openflow switch, switch agent di dalam switch tersebut melakukan
pencarian dalam tabel flow. Jika tidak ditemukan pasangan instruksi untuk
flow tersebut, switch akan membuat paket bernama packet-in dan dikirimkan

ke controller. Fungsinya adalah untuk menanyakan instruksi yang perlu
dilakukan terhadap paket/flow data yang baru saja diterima. Dari informasi

Universitas Sumatera Utara

9

packet-in yang diterima, controller juga secara dinamis dapat mempelajari
perangkat yang berada dalam topologi jaringan.
-

Proactive Forwarding.
Berbeda dengan reactive forwarding, proactive forwarding tidak bereaksi
terhadap jenis paket/flow data baru yang baru diterimanya. Switch telah
menerima informasi flow dari controller mengenai seluruh flow/paket data
yang kemungkinan akan diterima switch tersebut. Dengan begitu, sebelum
menerima sebuah flow/paket baru, switch telah mengetahui instruksi yang
perlu dilakukannya terhadap jenis flow tersebut. Hal tersebut membuat
komunikasi dengan controller, misalnya packet-in tidak perlu diinisiasi,
sehingga akan mengurangi latency. Prinsip ini mirip dengan routing table

pada router, dimana seluruh alamat trafik telah tersimpan sebelum paket dari
trafik tertentu diterima (Nadeau & Grey, 2013).

Proses awal dari switching tradisional dimulai ketika sebuah frame data diterima
oleh switch. Kemudian algoritma pencarian data MAC address pun dimulai oleh switch
itu sendiri. Proses tersebut dapat dilihat pada penjelasan berikutnya.

Gambar 2.3. Proses switching pada jaringan tradisional

Pada Gambar 2.3. dapat dilihat prinsip switching pada jaringan tradisional,
dengan penjelasan sebagai berikut :
1. Komputer A hendak mengirimkan data ke komputer B. Diterima switch X
pada port 1.
2. Karena switch X tidak mengetahui arah tujuan data tersebut, sehingga
dikirimkan ke seluruh port kecuali port asalnya, yaitu port 2. Switch X

Universitas Sumatera Utara

10

kemudian menyimpan informasi bahwa MAC address komputer A
terhubung ke port 1 pada tabel CAM. Data yg dikirimkan diterima switch Y
pada port 1.
3. Switch Y tidak mengetahui arah tujuan data tersebut, sehingga dikirimkan
ke seluruh port kecuali port asalnya, yaitu port 2. Switch Y kemudian
menyimpan informasi bahwa MAC address komputer A terhubung ke port
1 pada tabel CAM. Data yang dikirimkan diterima komputer B.
4. Komputer B menjawab data yg dikirimkan . Data tersebut diterima switch Y
pada port 2. Switch Y kemudian menyimpan informasi bahwa MAC address
komputer B terhubung ke port 2.
5. Berdasarkan informasi sebelumnya, diketahui bahwa tujuan data adalah
komputer A, sehingga switch Y mengirimkan data tersebut melalui port 1
ke switch X.
6. Berdasarkan informasi pada tabel CAM, switch X mengetahui bahwa tujuan
data adalah komputer A, sehingga switch X mengirimkan data tersebut
melalui port 1 ke komputer A.

Berdasarkan penjelasan diatas maka dapat dilihat bahwa setiap switch membuat
keputusan secara lokal, setiap switch memiliki otaknya masing-masing dan
pembaharuan tabel CAM dilakukan secara individu.
Sementara disisi lain, protokol Openflow menerapkan algoritma yang berbeda
untuk skenario jaringan sederhana yang sama. Dengan reactive forwarding, untuk jenis
paket baru yang baru diterima, prosesnya akan dijelaskan berikutnya.

Universitas Sumatera Utara

11

Gambar 2.4. Prinsip forwarding pada Openflow

Pada Gambar 2.4. dapat dilihat proses dalam jaringan Openflow, yaitu :
1. Komputer A mengirimkan data dengan tujuan komputer B.
2. Prinsip kerja switch pada Openflow dalam reactive forwarding yaitu ketika
menerima paket data yang tidak diketahui tujuannya, akan dikirimkan pesan
ke Openflow controller untuk menanyakan instruksi berikutnya yaitu
melalui pesan packet-in. Pada switch X, ketika mengirimkan pesan ke
controller, controller juga tidak mengetahui arah tujuan pengiriman data,
sehingga mengirimkan pesan ke switch untuk melakukan broadcast. Pesan
ini dinamakan packet-out. Disaat yang bersamaan controller mempelajari
bahwa komputer A terhubung pada port 1 di switch X. Informasi tersebut
disimpan oleh controller.
3. Switch X kemudian broadcast ke port lain, yaitu port 2.
4. Switch Y tidak mengetahui arah tujuan paket, sehingga mengirimkan
Packet-in ke controller. Controller mengirimkan packet-out berisi instruksi
untuk melakukan broadcast.
5. Switch Y mengirimkan broadcast. Komputer B menerima paket yang
dikirimkan.
6. Komputer B menjawab paket tersebut lalu dikirimkan ke switch Y.

Universitas Sumatera Utara

12

7. Switch Y tidak mengetahui kemana tujuannya sehingga mengirimkan pesan
Packet-in ke controller. Ketika menerima pesan tersebut, controller
mempelajari bahwa komputer B terhubung pada port 2 di switch B.
Digabung dengan informasi sebelumnya, controller melakukan update pada
tabel flow di seluruh switch mengenai informasi yang dimilikinya, sehingga
switch Y mengetahui arah pengiriman, yaitu ke switch X.
8. Paket tidak dilakukan broadcast, tetapi dikirimkan ke switch X sesuai
informasi terbaru pada tabel flow yang diterima dari controller.
9. Switch X kemudian mengirimkan paket ke komputer A. Untuk pengiriman
berikutnya dari komputer A ke B ataupun sebaliknya, switch X dan Y tidak
lagi menanyakan instruksi ke controller, dikarenakan sudah memiliki
informasi pada tabel flow masing-masing. Paket langsung dikirimkan sesuai
informasi dari tabel flow.

Dari proses tersebut, dapat dilihat bahwa controller mempelajari bagaimana switch
terhubung dan informasi pada controller dibagikan ke tabel flow pada switch, sehingga
pengiriman data yang sama pada giliran berikutnya tidak perlu melibatkan controller
lagi.
Melalui penjelasan prinsip kerja switching tradisional dan reactive forwarding
pada protokol Openflow pada skenario yang sama, dapat dilihat perbedaan algoritma
dalam proses pengaluran data. Dalam pencarian proses instruksi terhadap sebuah paket
data baru yang baru diterima, reactive forwarding cenderung menimbulkan latency
dikarenakan membutuhkan komunikasi dengan perangkat eksternal.

Universitas Sumatera Utara