Load balance digunakan untuk mendistribusikan beban trafik koneksi pada dua atau lebih jalur koneksi secara seimbang agar trafik berjalan optimal, sehingga dapat memaksimalkan throughput bandwidth yang didapat dari provider. Selain itu laoad balance dapat digunakan untuk memperkecil waktu tanggap dan menghindari overload pada salah satu jalur koneksi. Ada beberapa metode load balance yang bisa kita gunakan, diantaranya ECMP (Equal-Cost Multiple Path), PCC (Per-Connection Classifier) dan NTH.
Topologi Script Load Balance 2 ISP pada Mikrotik yang akan kktara.com bagikan sebagai berikut:
PCC (Per-Connection Classifier) mengambil bidang yang dipilih dari header IP, kemudian dengan bantuan algoritma hashing mengubah bidang tersebut menjadi 32-bit. Nilai ini kemudian dibagi dengan denominator tertentu dan sisanya kemudian dibandingkan dengan reminder tertentu, apabila sama maka paket akan ditangkap. Rules dapat dibuat dengan memilih informasi dari src-address, dst-address, src-port atau dst-port dari header IP.
Metode PCC (Per-Connection Classifer) merupakan metode yang menspesifikasikan suatu paket menuju gateway suatu koneksi tertentu. Mikrotik akan mengingat-ingat gateway yang telah dilewati di awal trafik koneksi, sehingga pada paket-paket data selanjutnya yang masih berkaitan dengan paket data sebelumnya akan dilewatkan pada jalur gateway yang sama.
Adapun kelebihan dan kekurangan menggunakan metode PCC antara lain :
Kelebihan :
- Hubungan antara client dan server lebih terjamin karena menggunakan satu jalur yang sama
- Tidak merepotkan di end user atau pengguna akhir
- Render atau streaming di youtube lebih stabil.
Kekurangan : - Memungkinkan terjadinya overload di salah satu jalur ISP
- Ketidak seimbangan penggunaan bandwidth
Script Load Balance Mikrotik PCC 2 ISP
Script berikut silakan disesuaikan sesuai sendiri:
/interface
set ether1 comment=ISP-1
set ether2 comment=ISP-2
set ether3 comment=Lan
/ip firewall address-list
add address=192.168.0.0/16 list=IP-LOKAL
add address=172.16.0.0/12 list=IP-LOKAL
add address=10.0.0.0/8 list=IP-LOKAL
/ ip address
add address=192.168.1.2/24 network=192.168.1.0 broadcast=192.168.1.255 interface=ether1
add address=192.168.4.48/24 network=192.168.4.0 broadcast=192.168.4.255 interface=ether2
add address=192.168.66.1/24 network=192.168.66.0 broadcast=192.168.66.255 interface=ether3
/ip route
add check-gateway=ping distance=1 gateway="192.168.1.1" routing-mark="to-ether1"
add check-gateway=ping distance=1 gateway="192.168.4.1" routing-mark="to-ether2"
add check-gateway=ping distance=1 gateway="192.168.1.1"
add check-gateway=ping distance=2 gateway="192.168.4.1"
/ip dns set cache-max-ttl=1d cache-size=2048KiB servers=8.8.8.8,8.8.4.4
/ip firewall nat
add chain=srcnat out-interface="ether1" action=masquerade
add chain=srcnat out-interface="ether2" action=masquerade
/ip firewall mangle
add action=mark-connection chain=input in-interface="ether1" new-connection-mark="cm-ether1" passthrough=yes
add action=mark-connection chain=input in-interface="ether2" new-connection-mark="cm-ether2" passthrough=yes
add action=mark-routing chain=output connection-mark="cm-ether1" new-routing-mark="to-ether1" passthrough=yes
add action=mark-routing chain=output connection-mark="cm-ether2" new-routing-mark="to-ether2" passthrough=yes
add action=mark-connection chain=prerouting dst-address-list=!IP-LOKAL dst-address-type=!local new-connection-mark="cm-ether1" passthrough=yes per-connection-classifier=both-addresses-and-ports:2/0 src-address-list=IP-LOKAL
add action=mark-connection chain=prerouting dst-address-list=!IP-LOKAL dst-address-type=!local new-connection-mark="cm-ether2" passthrough=yes per-connection-classifier=both-addresses-and-ports:2/1 src-address-list=IP-LOKAL
add action=mark-routing chain=prerouting connection-mark="cm-ether1" dst-address-list=!IP-LOKAL new-routing-mark="to-ether1" passthrough=yes src-address-list=IP-LOKAL
add action=mark-routing chain=prerouting connection-mark="cm-ether2" dst-address-list=!IP-LOKAL new-routing-mark="to-ether2" passthrough=yes src-address-list=IP-LOKAL
Penutup:
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.