by: CITRAWEB SOLUSI TEKNOLOGI, PT
Aturan | Tentang Kami | Kontak Kami

Artikel

[Load Balance] Load Balance dengan Menggunakan Metode PCC (Simple)

Jum'at, 18 Desember 2020, 10:46:00 WIB
Kategori: Fitur & Penggunaan

Kebutuhan layanan internet yang sangat besar pada saat ini memungkinkan kita untuk berlangganan lebih dari satu layanan internet. Sebagai administrator/pengelola jaringan, kita harus memastikan koneksi internet yang dimiliki dapat digunakan secara optimal dengan membagi beban dan koneksi ke beberapa jalur/link yang dimiliki dengan menggunakan teknik Load Balance.

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.

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.

PCC merupakan metode yang menspesifikasikan suatu paket menuju gateway koneksi tertentu. PCC mengelompokkan trafik koneksi yang akan melalui atau keluar masuk router menjadi beberapa kelompok. 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.

KONFIGURASI DASAR
Topologi yang akan digunakan adalah sebagai berikut.


IP Address
Router memiliki dua jalur WAN (ISP) dengan alamat IP statis 10.111.0.2/24 (ISP-1) dan alamat IP dinamis 172.16.0.0/24 (ISP-2), sedangkan jaringan lokal menggunakan network 192.168.0.0/24.

<em>/ ip address 

add address=192.168.0.1/24 network=192.168.0.0 broadcast=192.168.0.255 interface=ether5

add address=10.111.0.2/24 network=10.111.0.0 broadcast=10.111.0.255 interface=ether1


/ip dhcp-client add interface=ether2 add-default-route=no disabled=no</em>

 

NAT
Untuk konfigurasi NAT, karena terdapat dua uplink ke ISP, maka tambahkan dua rule src-nat mengarah ke ISP masing-masing.

<em>/ 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

</em>


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.

<em>/ ip firewall mangle

add chain=prerouting dst-address=10.111.0.0/24  action=accept in-interface=ether5

add chain=prerouting dst-address=172.16.0.0/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</em>

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.

<em>/ 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</em>

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.

<em>/ 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

</em><em>
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</em>

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.

<em>/ ip route

add dst-address=0.0.0.0/0 gateway=10.111.0.1 routing-mark=to_ISP1 check-gateway=ping

add dst-address=0.0.0.0/0 gateway=172.16.0.1 routing-mark=to_ISP2 check-gateway=ping</em>

Tambahkan juga rule berikut ini, yang bisa berfungsi sebagai failover saat salah satu ISP mati atau putus.

<em>/ ip route

add dst-address=0.0.0.0/0 gateway=10.111.0.1 distance=1 check-gateway=ping

add dst-address=0.0.0.0/0 gateway=172.16.0.1 distance=2 check-gateway=ping</em>


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 202.65.113.16 melalui gateway ISP-1 (10.111.0.1) sementara tujuan 103.255.15.28 melalui gateway ISP-2 (172.16.0.1).


Artikel ini disusun pada tanggal 18 Desember 2020




Kembali ke :
Halaman Artikel | Kategori Fitur & Penggunaan