Cara load balance mikrotik dengan 2 ISP atau lebih untuk mendistribusikan traffic secara merata ke beberapa jalur agar lebih optimal dan bisa dipakai lebih banyak user.
Jika anda punya 2 line internet atau lebih, maka anda wajib menggunakan tehnik loadbalancing agar bisa menggunakan kedua line internet secara bersamaan untuk berbagi beban sesuai kapasitas bandwidth.
Cara ini bisa anda gunakan untuk 2 ISP/Lebih, 1 ISP multi line, dengan kecepatan sama atau berbeda untuk tiap line.
Load balance ini biasanya dipakai bersama dengan QoS bandwidth management guna menjaga lancarnya koneksi internet di pelanggan walau jumlah client banyak.
Daftar Isi :
Memahami Cara kerja & tujuannya Loadbalancing
Sebelum praktek cara load balancing di mikrotik, alangkah baiknya kita samakan pemahaman tentang apa itu load balance, teknik yang bisa dipakai dan manfaatnya.
Apa itu loadbalancing pada jaringan internet?
Sesuai namanya “load balance” atau dalam bahasa indonesia “menyeimbangkan beban” adalah suatu cara /tehnik untuk membagi beban untuk mengantisipasi salah satu resource mengalami overload/kelebihan beban.
Loadbalancing yang dimaksud dalam bahasan ini adalah ,
Cara mendistribusikan traffic internet ke beberapa jalur internet ISP sesuai dengan kapasitas bandwidth .
tujuan nya agar kapasitas bandwidth meningkat sehingga internet lebih lancar walau dipakai oleh banyak user.
PENTING!!
Jadi loadbalance itu bukan menggabungkan 2 kecepatan internet supaya lebih kenceng (1m+1m=2m),
load balance hanya menambah kapasitas (bisa dipake lebih banyak user) speed tetap sama (1m+2m=2m+1m).
Makin banyak koneksi/user “load balance” akan makin imbang.
Apa manfaat/tujuan load balance Mikrotik?
Sudah sangat jelas kan?
Tujuan loadbalance bukanlah untuk menggabungkan kecepatan internet dari 2 ISP atau lebih agar lebih kenceng,
loadbalancing dipakai untuk membagi beban traffic internet ke beberapa jalur ISP sesuai kapasitas bandwidth nya agar kapasitas bandwidth meningkat sehingga bisa dipake lebih banyak user.
Dan yang terpenting adalah untuk menghindari terjadi overload/kelebihan beban di salah satu jalur yang berakibat internet lemot di client.
Bagaimana cara kerja loadbalancing ?
Mikrotik menyedikan beberapa algotirma yang bisa dipakai untuk loadbalancing.
Secara sederhana router akan menghintung banyaknya koneksi yang dibuat client ke internet dan berusaha membagi secara merata ke beberapa jalur ISP yang tersedia.
Router juga akan mengingat jalur-jalur tersebut untuk koneksi yang akan datang.
Pilihan Metode Cara Load balance Mikrotik
Dimikrotik anda bisa melakukan load balance berdasarkan jumlah koneksi yang dibuat oleh client, berdasarkan pemakaian bandwidth atau gabungan dari keduanya.
Loadbalance merupakan cara mengarahkan /menyebarkan traffic ke beberapa gateway agar pemakaian link lebih optimal (maximal tapi tidak overload).
Paket dan koneksi menjadi dasar acuan untuk melakukan load balancing.
Metode Load Balance connection based & Bandwidth based
Ada 2 jenis metode loadbalance otomatis yang disesiakan oleh mikrotik,
loadbalance “berdasarkan koneksi” & “berdasarkan bandwidth”.
ECMP, NTH & PCC adalah algoritma loadbalance yang dibuat berdasar koneksi (connection based),
sedangkan untuk melakukan load balance berdasar bandwidth anda bisa menggunakan MPLS, Traffic eng.
Atau anda bisa membuat opsi ke 3 sendiri,
yaitu membuat loadbalance sesuai kebutuhan anda dengan mengkombinasikan yang telah disebut diatas dengan script atau policy routing buatan anda sendiri.
Saya Pakai Metode loadbalance PCC di Mikrotik
Saya biasa menggunakan metode PCC untuk projek saya karena mudah, gak rewel, jalan lancar, dan yang terpenting PCC punya banyak pilihan/opsi classifier dalam mengenali koneksi sebagai bahan perhitungan loadbalance.
Mulai dari src address, src port, dst address, dst port dan gabungan dari kesemuanya.
Jadi bisa cocok untuk banyak skenario jaringan yang saya tangani.
Pemilihan classifier yang tepat akan menentukan suksesnya loadbalance metode PCC,
karena classifier menentukan bagaimana suatu koneksi ditandai sebagai dasar load balance.
Metode PCC Load balance Mikrotik
Per connection classifier (PCC) adalah algoritma loadbalance otomatis yang disediakan oleh mikrotik yang perhitungan nya berdasarkan jumlah koneksi dari lan ke WAN yang dibentuk oleh user saat berinternet.
Metode ini adalah yang paling mudah yang merupakan penyempurnaan dari metode sebelum nya (ECMP & NTH).
PCC hanya ada parameter:
- Classifier
- Denominator
- Reminder
#1 Menentukan Connection classifier
src address, src port, dst address, dst port atau kombinasi dari kesemuanya digunakan untuk menentukan bagaimana router mengingat sebuah koneksi.
Jika anda memilih bot addresses and port, maka router akan mengingat sebuah koneksi berdasar src address, src port, dst address & dst port.
Contoh kasus:
Anda memilih classifier bot addresses and port
Jika sebuah client membuat koneksi ke server dengan dst port 80 dan dst port 443 maka router menganggp client tersebut membuat 2 koneksi.
Berbeda jika pada classifier anda memilih both addresses , maka router akan menganggap client tersebut hanya membuat 1 koneksi saja.
Jadi tentukanlah classifier sesuai dengan kondisi jaringan anda agar loadbalance berjalan dan internet client juga lancar.
#2 Menentukan Nilai Denominator
Cara termudah menentukan nilai denominator/stream adalah dengan membuat perbandingan bandwidth dari ISP yang akan diloadbalance, lalu menjumlahkan nya.
Contoh #1 – ( 2 ISP bandwidth sama)
ISP A : 50Mbps, ISP B : 50Mbps
Nilai Perbandingan bandwidth ISP diatas adalah 1:1
Jika dijumlah hasilnya 1+1=2
Maka Nilai Denominatornya adalah 2
Itu artinya semua koneksi yang menuju internet akan dikelompokan menjadi 2 bagian.
ISP A dapet 1 bagian atau (1/2) dari total traffic
ISP B dapat 1 bagian atau (1/2) dari total traffic
Contoh #2 – (2 ISP Bandwidth berbeda)
ISP A : 50Mbps, ISP B : 100Mbps
Nilai Perbandingan bandwidth ISP diatas adalah 1:2
Jika dijumlah hasilnya 1+2=3
Maka Nilai Denominatornya adalah 3
Itu artinya semua koneksi yang menuju internet akan dikelompokan menjadi 3 bagian.
ISP A dapet 1 bagian atau 1/3 dari total traffic
SP B dapat 2 bagian atau (2/3) dari total traffic
Contoh #3 – ( 3 ISP Bandwidth berbeda)
ISP A : 50Mbps, ISP B : 100Mbps, ISP C: 200Mbps
Nilai Perbandingan bandwidth ISP diatas adalah 1:2:4
Jika dijumlah hasilnya 1+2+4=7
Maka Nilai Denominatornya adalah 7
Itu artinya semua koneksi yang menuju internet akan dikelompokan menjadi 7 bagian.
ISP A dapet 1 bagian atau 1/7 dari total traffic
ISP A dapat 2 bagian atau (2/7) dari total traffic
ISP A dapat 4 bagian atau (4/7) dari total traffic
#3Menentukan Nilai Reminder
Remiander adalah angka penanda setelah koneksi dibagi dengan nilai denominator.
Nilai reminder dimulai dari nol sejumlah jumlah stream/total denominator.
Misal jika denominator bernilai 3 mana nilai reminder diawali dari 0,1, 2
Cara Load Balance PCC Mikrotik 2 ISP Beda Bandwidth
Kita akan mencoba melakukan loadbalance 2 line dari ISP yang sama tapi kecepatan bandwidthnya berbeda.
Line A 50Mbps dan Line B 100Mbps.
Ini adalah konfigurasi real yang saya pakai di kantor tempat saya bekerja.
Menentukan Classifier, Nilai Denominator & Reminder
Both addresses and ports akan saya pilih sebagai classifier, karena internet ini akan dipakai di beberapa lokasi yang punya router distribusi sendiri.
Nilai denominator nya adalah 3 , sedangkan remindernya dimulai dari 0 sampai 2.
Cara menghitung nilai denominator dan reminder ada di atas.
Membuat list IP lokal
Kita hanya akan meload balance traffic dari dan menuju internet yang lewat WAN.
Sedangkan untuk traffic lokal akan dibypass.
Untuk memastikan hal itu anda harus membuat list ip yang dipake oleh jaringan lokal.
/ip firewall address-list
add address=10.0.0.0/8 disabled=no list=LOKAL
add address=172.16.0.0/12 disabled=no list=LOKAL
add address=192.168.0.0/16 disabled=no list=LOKAL
Bypass Lokal Route
Agar traffic dari dan menuju jaringan lokal yang melewati router tidak diloadbalance, maka anda perlu nenambahkan mangle dibawah ini.
/ip firewall mangle
add action=accept chain=prerouting comment="bypass lokal akses" \
dst-address-list=LOKAL in-interface-list=CABANG
add action=accept chain=output dst-address-list=LOKAL
“CABANG” adalah interface list menuju ke beberapa cabang kantor yang didistribusikan lewat jaringan wireless.
Jika anda hanya ada 1 interface, maka bisa tentukan di “in-interface”
Tandai Koneksi dengan algoritma PCC
Walau tanpa melakukan marking connection, anda bisa mark routing dengan algoritma PCC ini yang nantinya akan dilewatkan ke jalur tertentu.
Tapi untuk alasan efisiensi penggunaan resource baiknya anda marking dulu koneksinya sebelum melakukan mark routing.
/ip firewall mangle
add action=mark-connection chain=prerouting comment="PCC " \
in-interface-list=CABANG new-connection-mark="con pcc ISP1" \
passthrough=yes per-connection-classifier=\
both-addresses-and-ports:3/0 disabled=no
add action=mark-connection chain=prerouting \
in-interface-list=CABANG new-connection-mark="con pcc ISP2" \
passthrough=yes per-connection-classifier=\
both-addresses-and-ports:3/1 disabled=no
add action=mark-connection chain=prerouting \
in-interface-list=CABANG new-connection-mark="con pcc ISP2" \
passthrough=yes per-connection-classifier=\
both-addresses-and-ports:3/2 disabled=no
Disini saya membagi total traffic menjadi 3 stream
- 1/3 traffic ke Line A dengan label koneksi “ISP1”
- 2/3 traffic ke Line B dengan label koneksi “ISP2”
Arahkan koneksi yang sudah di mark ke Gateway Tiap Line
Untuk bisa mengarahkan koneksi yang telah dimarking oleh PCC, anda harus melakukan mark route dulu ke koneksi-koneksi ini.
/ip firewall mangle
add action=mark-routing chain=prerouting connection-mark="con pcc ISP1" \
disabled=no passthrough=yes in-interface-list=CABANG \
new-routing-mark="ke ISP1"
add action=mark-routing chain=prerouting connection-mark="con pcc ISP2" \
disabled=no passthrough=yes in-interface-list=CABANG \
new-routing-mark="ke ISP2"
Setelah mark route sudah dilakukan, anda harus menentukan gateway .
Dalam hal ini anda harus menentukan gateway untuk koneksi koneksi yang telah dirouting mark “ke ISP1” dan “ke ISP2”
/ip route
add dst-address=0.0.0.0/0 gateway=192.168.90.1 check-gateway=ping \
distance=1 disable=no routing-mark="ke ISP1" scope=30 target-scope=10
add dst-address=0.0.0.0/0 gateway=192.168.91.1 check-gateway=ping \
distance=1 disable=no routing-mark="ke ISP2" scope=30 target-scope=10
192.168.90.1 adalah IP gateway untuk Line A
192.168.91.1 adalah IP gateway untuk Line B
Harusnya distribusi bandwidth rata-rata untuk 2 line tersebut adalah :
- Ether1 Line A rata-rata mendapat separuh dari traffic ether2 Line B (bisa dilihat dari jumlah Tx packet)
- Ether2 Line B rata-rata mendapat 2x dari traffic ether1 Line A (bisa dilihat dari jumlah Tx packet)
Bagaimana Cara Load balance 3 ISP atau Lebih?
Caranya sama saja dengan diatas, anda hanya perlu menghitung jumlah stream yang akan dibuat (denominator).
Cara menghitungnya ada di atas ya…
Tinggal mangle nya disesuaikan , routing mark dan settingan gateway nya disesuaikan saja..
Sangat mudah jika anda mengerti konsep nya.
KESIMPUPAN
Loadbalance adalah teknik untuk membagi traffic dan mendistribusikan nya ke multi link (Multi ISP) agar didapat distribusi traffic yang lebih baik.
Dengan begitu bisa menghindari terjadinya kelebihan beban di salah satu jalur/line yang berakibat internet jadi lemot.
Jadi load baance bukanlah untuk menambah/ menggabungkan kecepatan internet.
Ketika melakukan loadbalance, anda juga harus memikirkan jika salah satu koneksi internet mati.
Untuk itu anda perlu melakukan failover ketika salah satu jalur internet mati.