METODE LOAD BALANCING
KELOMPOK 1
Anggota :
1. Carissa Diyah Puspita
2. Desi Indri Aprillia
3. Laura Egydia Pricilla
4. M. Faruq Azhari
5. Mey Laella Tasya
6. Nur Rohimah
7. Rahma Triastuti
8. Wandari Noni Kristiya
9. Zulvia Amallia
A. METODE LOAD BALANCING PCC, ECMP, DAN NTH
1. PCC ( Per Connection Classifier )
• Pengertian PCC
PCC merupakan metode yang menspesifikasikan suatu paket
menuju gateway koneksi tertentu. Dengan PCC , Kita dapat mengelompokan traffic
koneksi yang melalui atau keluar masuk router menjadi beberapa kelompok.
Pengelompokan ini dapat dibedakan berdasarkan src-address, dst-address, src-port
dan/atau dst-port. Router akan mengingat ingat jalur gateway yang dilewati di awal
traffic koneksi. Sehingga pada paket-paket selanjutnya yang masih berkaitan dengan
koneksi awalnya akan dilewatkan pada jalur gateway yang sama juga. Kelebihan PCC
ini yang menjawab banyaknya keluhan sering putusnya koneksi pada teknik load
balancing lainnya sebelum adanya PCC karena perpindahan gateway.
Metode PCC hanya menyebarkan trafik ke salah satu jalur koneksi, tetapi dapat
mengakses web dengan intolerasi perubahan ip address.
•Kelebihan dan Kekurangan PCC
Kelebihan: Mampu memspesifikasikan gateway untuk tiap paket data yang masih
berhubungan dengan data yang sebelumnya yang sudah dilewatkan pada salah satu
gateway.
Kekurangan: Beresiko terjadi overload pada salah satu gateway yang disebabkan
oleh pengaksesan situs yang sama.
• Konfigurasi PCC
IP Address
Router memiliki dua jalur WAN (ISP) dengan alamat IP statis [Link]/24
(ISP-1) dan alamat IP dinamis [Link]/24 (ISP-2), sedangkan jaringan
lokal menggunakan network [Link]/24.
/ ip address
add address=[Link]/24 network=[Link] broadcast=[Link]
interface=ether5
add address=[Link]/24 network=[Link] broadcast=[Link]
interface=ether1
/ip dhcp-client add interface=ether2 add-default-route=no disabled=no
Ip address klik add
address=[Link]/24
network=[Link]
interface=ether5
klik apply klik ok
tambahkan IP untuk ether2
add address=[Link]/24
network=[Link]
interface=ether1
NAT
Untuk konfigurasi NAT, karena terdapat dua uplink ke ISP, maka tambahkan
dua rule src-nat mengarah ke ISP masing-masing.
/ ip firewall nat
add chain=srcnat out-interface=ether1 action=masquerade comment=nat-isp1
add chain=srcnat out-interface=ether2 action=masquerade comment=nat-isp2
Policy Routing
Langkah pertama, untuk mengelola koneksi yang dimulai dari luar, koneksi
replies harus keluar melalui interface yang sama (dari IP Publik yang sama)
saat koneksi request datang. Lakukan marking untuk menandai semua
koneksi masuk, untuk mengingat interface yang digunakan.
/ ip firewall mangle
add chain=prerouting dst-address=[Link]/24 action=accept in-
interface=ether5
add chain=prerouting dst-address=[Link]/24 action=accept in-
interface=ether5
add chain=prerouting in-interface=ether1 connection-mark=no-mark
action=mark-connection new-connection-mark=ISP1_conn
add chain=prerouting in-interface=ether2 connection-mark=no-mark
action=mark-connection new-connection-mark=ISP2_conn
Action mark-routing hanya dapat digunakan di mangle chain output dan
prerouting, tetapi mangle chain prerouting menangkap semua lalu lintas yang
menuju ke router. Untuk menghindari ini kita akan menggunakan dst-address-
type =!local. Selanjutnya tambahkan rule PCC untuk membagi lalu lintas
menjadi dua kelompok berdasarkan source address dan destination address
(both-addresses). Karena kecepatan koneksi kedua ISP berbeda (1 Mbps dan
512 kbps), kita membagi beban trafiknya menjadi 3 (tiga) bagian. Dua bagian
pertama akan melewati gateway ISP-1, dan 1 bagian terakhir akan melewati
gateway ISP-2.
/ ip firewall mangle
add chain=prerouting in-interface=ether5 connection-mark=no-mark dst-
address-type=!local
per-connection-classifier=both-addresses:3/0 action=mark-connection new-
connection-mark=ISP1_conn
add chain=prerouting in-interface=ether5 connection-mark=no-mark dst-
address-type=!local
per-connection-classifier=both-addresses:3/1 action=mark-connection new-
connection-mark=ISP1_conn
add chain=prerouting in-interface=ether5 connection-mark=no-mark dst-
address-type=!local
per-connection-classifier=both-addresses:3/2 action=mark-connection new-
connection-mark=ISP2_conn
Setelah rule PCC dibuat, tambahkan action mark-routing berdasarkan
connection -mark yang sudah dibuat. Karena policy routing hanya diperlukan
untuk trafik yang keluar/menuju ke internet, jangan lupa untuk menentukan
parameter in-interface.
/ ip firewall mangle
add chain=prerouting connection-mark=ISP1_conn in-interface=ether5
action=mark-routing
new-routing-mark=to_ISP1
add chain=prerouting connection-mark=ISP2_conn in-interface=ether5
action=mark-routing
new-routing-mark=to_ISP2
add chain=output connection-mark=ISP1_conn action=mark-routing new-
routing-mark=to_ISP1
add chain=output connection-mark=ISP2_conn action=mark-routing new-
routing-mark=to_ISP2
Berikut adalah contoh pembuatan marking load balance PCC pada firewall
mangle.
Konfigurasi ini bisa disesuaikan dengan jumlah uplink yang dimiliki, dan juga
jumlah jaringan lokal yang saat ini terpasang.
Setelah konfigurasi mark-connection dan mark-routing selesai, tambahkan
rule default route pada menu IP>Route, yaitu berdasarkan mark-routing yang
sudah dibuat.
Berikut contoh command line yang digunakan.
/ ip route
add dst-address=[Link]/0 gateway=[Link] routing-mark=to_ISP1 check-
gateway=ping
add dst-address=[Link]/0 gateway=[Link] routing-mark=to_ISP2 check-
gateway=ping
Tambahkan juga rule berikut ini, yang bisa berfungsi sebagai failover saat
salah satu ISP mati atau putus.
/ ip route
add dst-address=[Link]/0 gateway=[Link] distance=1 check-
gateway=ping
add dst-address=[Link]/0 gateway=[Link] distance=2 check-
gateway=ping
PENGUJIAN
Kita melakukan beberapa pengujian untuk membuktikan konfigurasi PCC
sudah berjalan dengan baik.
Pengujian Download
Dari hasil pengujian di atas, pada saat mendownload file pertama (1 koneksi)
mendapatkan speed 107 KBps/856 kbps yang melalui ISP-1, lalu melakukan
download file lagi (koneksi baru) pada server lain mendapatkan speed 59
KBps/472 kbps yang melalui ISP-2.
Pengujian Akses Video
Dari hasil pengujian di atas, ketika mengakses video di website yang berbeda
terlihat kedua jalur ISP aktif bersamaan. Dapat dilihat pada trafik kedua
interface upstream (ISP), Rx. Rate 1015 kbps dan 525 kbps sesuai dengan
kecepatan koneksi masing-masing ISP.
Pengujian Traceroute
Dari hasil kedua traceroute di atas untuk tujuan alamat IP yang berbeda,
terlihat keduanya melalui gateway ISP yang berbeda. Tujuan [Link]
melalui gateway ISP-1 ([Link]) sementara tujuan [Link] melalui
gateway ISP-2 ([Link]).
2. ECMP ( Equal Cost Multi Path )
• Pengertian ECMP
ECMP adalah salah satu teknik load balancing yang menggunakan algoritma round
robin (acak) yang berdasarkan kombinasi antara src-address dan dst-address atau
lebih dikenal dengan istilah Per address pair load balancing.
Metode load balancing ECMP adalah improvisasi dari metode round robin load
balance . ECMP merupakan "persistent per connection load balancing" atau "per-src-
dst-address combination load balancing" . Begitu salah satu gateway unreachable
atau terputus , check-gateway akan menonaktifkan gateway tersebut dan
menggunakan gateway yang masih aktif . Sehingga kita akan mendapatkan effect
failover .
Load balancing ECMP dilakukan dengan cara mengkonfigurasi beberapa default
gateway sekaligus dengan distance yang sama, dengan begitu maka router akan
selalu menggunakan gateway-gateway tersebut secara bersamaan, tentunya dengan
menerapkan mekanisme round robin, yaitu traffic akan dilewatkan secara acak oleh
router.
• Kelebihan dan Kekurangan ECMP
Kelebihan: Dapat membagi beban jaringan berdasarkan perbandingan kecepatan di
antara 2 ISP.
Kekurangan: Sering terjadi disconnection yang disebabkan oleh routing table yang
restart secara otomatis setiap 10 menit.
• Konfigurasi ECMP
Cara Konfigurasi Load Balancing 2 ISP Dengan Metode ECMP
Syarat utama untuk menerapkan konfigurasi load balancing pada router yaitu
harus memiliki 2 atau lebih jalur koneksi (link) untuk menuju ke network lain.
Dalam hal ini yaitu link melalui ISP untuk menuju ke jaringan internet. Teknik
load balancing ini biasanya digunakan apabila kita berlangganan beberapa
koneksi internet ke ISP yang berbeda lalu ingin menggabungkannya ke dalam
satu router yang sama.
Kondisi dari topologi diatas yaitu sebagai berikut :
Router yang digunakan yaitu tipe RB951Ui-2HnD
Interface ether1 terhubung ke ISP-1
Interface ether2 terhubung ke ISP-2
Interface ether3 terhubung ke switch sebagai gateway untuk jaringan lokal
Sekarang saatnya kita konfig load balance-nya, untuk IP address ISP
sesuaikan dengan IP dai ISP kalian masing-masing.
Buka New Terminal mikrotik atau winbox
#1. Tambahkan Konfigurasi IP address
Pertama, kita tambahkan alamat IP pada masing-masing interface router,
yaitu ether1 dan ether2 untuk WAN, sedangkan ether3 untuk gateway
jaringan LAN.
/ip address
add address=[Link]/30 comment=ISP-1 interface=ether1
network=[Link]
add address=[Link]/30 comment=ISP-2 interface=ether2
network=[Link]
add address=[Link]/24 comment="Local Network" interface=ether3
network=[Link]
ether1
menu IP address add (+)
address = [Link]/30
network = [Link]
interface = ether1
comment = ISP1
ether2
add (+)
address = [Link]/30
network = [Link]
interface = ether2
comment = ISP2
ether3
add (+)
address = [Link]/24
network = [Link]
interface = ether3
comment = Lokal
#2. Konfigurasi DNS Resolver
Berikutnya, tambahkan konfigurasi DNS resolver, tujuannya agar router dapat
menjangkau semua alamat domain yang ada di internet. Tanpa konfigurasi
DNS maka router hanya bisa menjangkau alamat IP saja (tidak bisa browsing
melalui browser).
/ip dns
set allow-remote-requests=yes servers=[Link],[Link]
menu IP DNS
servers = [Link]
[Link]
Centang allow-remote-requests
#3. Konfigurasi Rule NAT Masquerade
Agar komputer dan device lainnya yang berada di bawah router dapat
terhubung ke internet, maka kita perlu menambahkan rule NAT (network
address translation) masquerade, rule NAT ini harus dibuat 2 rule sesuai
dengan jumlah link ISP yang dipakai.
/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1
add action=masquerade chain=srcnat out-interface=ether2
ISP1
menu IP Firewall Nat add (+) pada tab General:
chain = srcnat
out-interface = ether1
pada tab action
action = masquerade
ISP2
menu IP Firewall Nat add (+) pada tab General:
chain = srcnat
out-interface = ether2
pada tab action
action = masquerade
#4. Konfigurasi Entri Routing
Setelah konfigurasi dasar selesai dilakukan, sekarang saatnya kita konfigurasi
load balance ECMP, caranya cukup mudah karena kita hanya perlu
menambahkan entri default route saja.
/ip route
add check-gateway=ping distance=1 gateway=[Link],[Link]
menu IP route add(+)
dst. Address = [Link]/0
gateway = [Link]
[Link]
Distance= 1
Hasil dari penambahan entri routing diatas akan terlihat seperti ini pada
routing table router.
[admin@[Link]] > /ip route print
Flags: X - disabled, A - active, D - dynamic,
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme,
B - blackhole, U - unreachable, P - prohibit
# DST-ADDRESS PREF-SRC GATEWAY DISTANCE
0 A S [Link]/0 [Link] 1
[Link]
1 ADC [Link]/24 [Link] ether3 0
2 ADC [Link]/30 [Link] ether1 0
3 ADC [Link]/30 [Link] ether2 0
Perhatikan table routing di atas, bisa dilihat bahwa dst-address [Link]/0
dapat dijangkau melalui 2 gateway sekaligus, yaitu gateway [Link] dan
[Link] yang memiliki nilai distance yang sama.
Dengan begitu, maka traffic yang keluar menuju internet akan dilewatkan
melalui kedua gateway tersebut oleh router secara bersamaan dan acak.
Sebagai contoh, misalnya saja ada client di bawah router akan mengakses
situs [Link], maka traffic yang menuju ke situs tersebut
bisa saja oleh router dilewatkan melalui gateway ISP-1 dan bisa juga
dilewatkan melalui gateway ISP-2.
Tutorial ini bandwidth yang didapatkan dari kedua ISP memiliki alokasi
bandwidth yang sama yaitu masing-masing sebesar 5 Mbps.
Bagaimana jika alokasi bandwidth yang diterima dari kedua ISP berbeda?
misalnya alokasi bandwidth dari ISP-1 sebesar 4 Mbps, sedangkan dari ISP-2
hanya 2 Mbps saja?
Untuk kasus seperti itu, kita bisa membuat perbandingan. Karena ISP-1
memiliki alokasi bandwidth sebesar 4 Mbps dan ISP-2 hanya 2 Mbps, maka
kita bisa membuat perbandingan 2:1, sehingga default route ke ISP-1 bisa
kita buat 2 gateway sedangkan ke ISP-2 cukup 1 gateway saja, yaitu dengan
langkah:
/ip route
add check-gateway=ping distance=1
gateway=[Link],[Link],[Link]
Untuk table routingnya akan terlihat seperti ini.
[admin@[Link]] > /ip route print
Flags: X - disabled, A - active, D - dynamic,
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme,
B - blackhole, U - unreachable, P - prohibit
# DST-ADDRESS PREF-SRC GATEWAY DISTANCE
0 A S [Link]/0 [Link] 1
[Link]
[Link]
1 ADC [Link]/24 [Link] ether3 0
2 ADC [Link]/30 [Link] ether1 0
3 ADC [Link]/30 [Link] ether2 0
Dengan begitu maka diharapkan nantinya traffic akan lebih sering dilewatkan
oleh router melalui jalur ISP-1 karena memiliki alokasi bandwidth yang paling
besar.
#5. Konfigurasi Mangle
Load balancing ECMP merupakan metode load balancing yang simple karena
kita cukup mengkonfigurasi beberapa default route secara bersamaan
dengan nilai distance yang sama.
Namun karena load balance ECMP menerapkan algoritma round robin, yaitu
pendistribusian traffic outgoing secara acak dan tidak konsisten, maka akan
menimbulkan masalah baru apabila metode ECMP ini diterapkan pada
jaringan yang memiliki Server DMZ ataupun port forwarding.
Contoh, manakala ada traffic masuk dari luar jaringan atau internet menuju
router (incoming packet) melalui ISP-1, maka traffic respon (outgoing) dari
router akan terkena load balance juga sehingga bisa saja router akan
meresponnya melalui link ISP-2.
Untuk menghindari hal seperti ini, maka kita harus membuat aturan atau
penandaan paket pada mangle agar traffic outgoing bisa sesuai dengan
packet incoming yang masuk melalui interface router.
/ip firewall mangle
add action=mark-connection chain=input in-interface=ether1 new-connection-
mark=Conn-ISP1
add action=mark-connection chain=input in-interface=ether2 new-connection-
mark=Conn-ISP2
add action=mark-routing chain=output connection-mark=Conn-ISP1 new-
routing-mark=Jalur-ISP1
add action=mark-routing chain=output connection-mark=Conn-ISP2 new-
routing-mark=Jalur-ISP2
/ip route
add distance=1 gateway=[Link] routing-mark=Jalur-ISP1
add distance=1 gateway=[Link] routing-mark=Jalur-ISP2
ISP1
menu IP firewall mangle
tab general:
chain = input
in-interface = ether1
new-connection-mark = Conn-ISP1
tab action
action = mark-connection
ISP2
menu IP firewall mangle
tab general:
chain = input
in-interface = ether2
new-connection-mark = Conn-ISP2
tab action
action = mark-connection
ISP1
menu IP firewall mangle
tab general:
chain = output
connection-mark = Conn-ISP1
new-routing-mark = jalur-ISP1
tab action
action = mark-routing
ISP2
menu IP firewall mangle
tab general:
chain = output
connection-mark = Conn-ISP2
new-routing-mark = jalur-ISP2
tab action
action = mark-routing
Routing ISP1
menu IP route add(+)
dst. Address = [Link]/0
gateway = [Link]
routing-mark= jalur ISP1
distance = 1
Routing ISP2
menu IP route add(+)
dst. Address = [Link]/0
gateway = [Link]
routing-mark= jalur ISP2
distance = 1
Untuk membuktikan apakah konfigurasi load balace sudah berhasil atau
belum, kamu bisa melihat traffic pada kedua interface router yaitu ether1 dan
ether2.
3. NTH
.Pengertian NTH
Nth adalah sebuah fitur pada firewall yang digunakan sebagai penghitung ( counter )
dari paket data atau koneksi ( packet new ) . Penggunaan NTH ini dilakukan dengan
mengaktifkan counter pada mangle , Kemudian ditandai dengan ' Route - Mark ' .
Dengan demikian , route mark ini digunakan sebagai dasar untuk membuat policy
route .
Metode NTH dapat menyebarkan trafik secara merata berdasarkan pengujian
download, tetapi ketika mengakses atau melakukan login ke suatu web dengan
intoleransi perubahan ip address selalu gagal.
• Kelebihan dan Kekurangan NTH
Kelebihan: Dapat membagi penyebaran paket data yang merata pada masing-masing
gateway.
Kekurangan: Kemungkinan terjadi terputusnya koneksi yang disebabkan
perpindahan gateway karena load balancing.
• Konfigurasi NTH
Berdasarkan mekanisme NTH, untuk topologi diatas setiap trafik/paket data yang
lewat akan dibagi menjadi 1 dan 2. Kemudian untuk link ISP-A akan digunakan untuk
jalur paket 1 dan link ISP-B akan digunakan untuk jalur paket 2.
Langkah, pertama kita akan buat rule mangle terlebih dahulu untuk membuat
routing-mark berdasarkan parameter NTH. Masuk ke menu IP --> Firewall -->
Mangle. Tambahkan rule seperti berikut.
/ip firewall mangle
add action=mark-connection chain=prerouting in-interface=ether5 new-connection-
mark=conn-1 nth=2,1
add action=mark-connection chain=prerouting in-interface=ether5 new-connection-
mark=conn-2 nth=2,2
add action=mark-routing chain=prerouting connection-mark=conn-1 new-routing-
mark=jalur-1 passthrough=no
add action=mark-routing chain=prerouting connection-mark=conn-2 new-routing-
mark=jalur-2 passthrough=no
Setelah membuat mangle, kita akan mengatur policy routing untuk menentukan
jalur trafik ke masing-masing gateway.
/ip route
add distance=1 gateway=[Link] routing-mark=jalur-1
add distance=1 gateway=[Link] routing-mark=jalur-2
add distance=1 gateway=[Link],[Link]
Pada routing diatas terdapat 3 default gateway. Untuk gateway baris 1 dan 2
merupakan gateway untuk trafik dari LAN di ether5, sedangkan baris ke 3
merupakan gateway untuk trafik selain dari LAN (misal, trafik local process).
B. PERBEDAAN ANTARA METODE LOAD BALANCING PCC, ECMP, DAN NTH
1. PCC ( Per Connection Classifier )
Dengan PCC , Kita dapat mengelompokan traffic koneksi yang melalui atau keluar
masuk router menjadi beberapa kelompok. Pengelompokan ini dapat dibedakan
berdasarkan src-address, dst-address, src-port dan/atau dst-port. Router akan
mengingat ingat jalur gateway yang dilewati di awal traffic koneksi. Sehingga pada
paket-paket selanjutnya yang masih berkaitan dengan koneksi awalnya akan
dilewatkan pada jalur gateway yang sama juga. Kelebihan PCC ini yang menjawab
banyaknya keluhan sering putusnya koneksi pada teknik load balancing lainnya
sebelum adanya PCC karena perpindahan gateway.
2. ECMP
Metode load balancing ECMP adalah improvisasi dari metode round robin load
balance . ECMP merupakan "persistent per connection load balancing" atau "per-src-
dst-address combination load balancing" . Begitu salah satu gateway unreachable
atau terputus , check-gateway akan menonaktifkan gateway tersebut dan
menggunakan gateway yang masih aktif . Sehingga kita akan mendapatkan effect
failover .
3. NTH
Nth adalah sebuah fitur pada firewall yang digunakan sebagai penghitung ( counter )
dari paket data atau koneksi ( packet new ) . Penggunaan NTH ini dilakukan dengan
mengaktifkan counter pada mangle , Kemudian ditandai dengan ' Route - Mark ' .
Dengan demikian , route mark ini digunakan sebagai dasar untuk membuat policy
route .
C. KESIMPULAN
Jadi Hasil yang didapat dari penelitian menunjukkan bahwa metode ECMP adalah
metode load balancing yang paling baik digunakan pada topologi jaringan di antara
dua metode lainnya yaitu Nth dan PCC untuk menangani pembagian beban trafik
secara merata pada dua jalur gateway dan juga handal terhadap efek failover. Hal
tersebut dikarenakan metode Nth adalah metode load balancing yang dapat
melakukan pembagian beban trafik pada dua jalur gateway secara beraturan namun
tidak handal terhadap efek failover. Sedangkan metode PCC adalah metode load
balancing yang memiliki karakteristik untuk membagi beban trafik pada dua jalur
gateway berdasarkan pengelompokkan paket-paket yang diingat oleh router. Selain
itu, pada metode PCC untuk mendapatkan efek failover setiap host yang
disconnected harus melakukan reload koneksi terlebih dahulu.