Load Balance dengan Menggunakan Metode PCC (Simple)
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.
/ alamat IP
tambahkan alamat = 192.168.0.1 / 24 jaringan = 192.168.0.0 siaran = 192.168.0.255 antarmuka = ether5 tambahkan alamat = 10.111.0.2 / 24 jaringan = 10.111.0.0 siaran = 10.111.0.255 antarmuka = ether1 / ip dhcp-client add interface = ether2 add-default-route = no disabled = no |
NAT
Untuk konfigurasi NAT, karena terdapat dua uplink ke ISP, maka tambahkan dua
rule src-nat mengarah ke ISP masing-masing.
/ ip firewall nat
tambahkan chain = srcnat out-interface = ether1 action = masquerade comment = nat-isp1 tambahkan 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
tambahkan chain = prerouting dst-address = 10.111.0.0 / 24 action = accept in-interface = ether5 tambahkan chain = prerouting dst-address = 172.16.0.0 / 24 action = accept in-interface = ether5 tambahkan chain = prerouting in-interface = ether1 connection-mark = no-mark action = mark-connection tanda-koneksi-baru = ISP1_conn tambahkan chain = prerouting in-interface = ether2 connection-mark = no-mark action = mark-connection tanda-koneksi-baru = 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
tambahkan chain = prerouting in-interface = ether5 connection-mark = no-mark dst-address-type =! local per-koneksi-classifier = kedua-alamat: 3/0 tindakan = mark-koneksi baru-koneksi-mark = ISP1_conn tambahkan chain = prerouting in-interface = ether5 connection-mark = no-mark dst-address-type =! local per-koneksi-classifier = kedua-alamat: 3/1 tindakan = mark-koneksi baru-koneksi-mark = ISP1_conn tambahkan chain = prerouting in-interface = ether5 connection-mark = no-mark dst-address-type =! local per-koneksi-classifier = kedua alamat: 3/2 tindakan = mark-koneksi baru-koneksi-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
tambahkan chain = prerouting connection-mark = ISP1_conn in-interface = ether5 action = mark-routing new-routing-mark = to_ISP1 tambahkan chain = prerouting connection-mark = ISP2_conn in-interface = ether5 action = mark-routing new-routing-mark = to_ISP2 tambahkan rantai = keluaran koneksi-mark = ISP1_conn tindakan = tanda-perutean-perutean-mark = ke_ISP1 tambahkan rantai = keluaran 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
tambahkan dst-address = 0.0.0.0 / 0 gateway = 10.111.0.1 routing-mark = to_ISP1 check-gateway = ping tambahkan dst-address = 0.0.0.0 / 0 gateway = 172.16.0.1 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
tambahkan dst-address = 0.0.0.0 / 0 gateway = 10.111.0.1 jarak = 1 check-gateway = ping tambahkan dst-address = 0.0.0.0 / 0 gateway = 172.16.0.1 jarak = 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 202.65.113.16 melalui gateway
ISP-1 (10.111.0.1) sementara tujuan 103.255.15.28 melalui
0 Response to "Load Balance dengan Menggunakan Metode PCC (Simple)"
Posting Komentar