Load Balancing dengan metode NTH - Pada blog ini kita sudah pernah mencoba menerapkan metode pembagian traffic ini menggunakan 2 metode. Yaitu Policy Based Routing (PBR), dan juga Ecual Cost Multiple Path (ECMP). Kalian bisa baca Postingan tersebut pada link dibawah.

Baca Juga : https://kucingit.blogspot.com/2020/10/load-balancing-dengan-ecmp.html

                   https://kucingit.blogspot.com/advance-static-route-routing-policy.html

Selain kedua metode tersebut kita juga dapat menggunakan alternatif lain dalam membagi beban yaitu dengan menggunakan metode NTH.Jika sebelumnya pada Policy Based Routing kita menentukan kebijakan yang dibuat oleh admin jaringan dalam membagi traffic nya, Pada NTH traffic akan dibagikan sesuai dengan perhitungan packet yang dikonfigurasikan pada router. Atau pembagian traffic tersebut dikenal dengan Per packet load balance.

Untuk menerapkan NTH ini penting dalam memahami bagaimana NTH membagi traffic nya agar dapat diterapkan dengan baik dalam jaringan. Karena metode ini memiliki perbedaan dalam membagi traffic nya dengan metode yang pernah dibahas pada blog ini sebelumnya.

Yang menjadi perbedaan NTH dengan metode sebelumnya adalah prinsip pembagian traffic dari NTH ini yaitu Per packet load balance. Namun karena prinsip tersebut juga NTH sering mendapat masalah ketika diterapkan dalam jaringan.

Kita akan bahas lebih jauh disini sebelum kita menerapkan Konfigurasi pembagian traffic menggunakan metode ini.

NTH Overview

 NTH merupakan salah satu metode yang dapat digunakan dalam membagi beban traffic dengan menggunakan prinsip Per packet load balance atau juga bisa menerapkan Per connection load balance. Sehingga dalam menerapkan nya dibutuhkan ketelitian yang cukup ketika akan melakukan mangle packet agar konfigurasi dapat diterapkan.

Penting! Tidak semua layanan di internet dapat digunakan pembagian traffic dengan prinsip per packet ini, Beberapa layanan mungkin membutuhkan keutuhan packet. Namun bukan berarti per packet ini tidak dapat digunakan.

Karena NTH ini dapat bekerja dengan dua prinsip tadi, Selanjutnya kita akan bahas ke dua prinsip dari pembagian beban tersebut.

Per Packet Load Balance

Sebelumnya kita pernah membahas PBR, Dalam penerapan nya kita langsung memanfaatkan mark routing ke dalam tabel routing tersebut, Dan Pembagian beban pun telah dilakukan. Namun pada NTH ketika kita hanya menerapkan mark routing saja dengan pendekatan per packet load balance. Maka packet-packet dari jaringan local router akan disebarkan ke beberapa link ISP tanpa melihat packet tersebut dari satu koneksi atau tidak.

Berikut mari kita lihat sebuah topologi yang mengambarkan terdapat sebuah client yang akan mengirim 4 packet ke alamat www.kaptenkid.my.id dengan 2 link ISP. Dan router CAPT tersebut menjalankan NTH yang akan mendistribusikan ke  4 packet tersebut.

Gambar 1.1

Ketika router CAPT tersebut hanya menjalankan mark routing tanpa menandai mark connection diawal maka akan menyebabkan keempat packet tersebut menggunakan link yang berbeda-beda seperti yang dapat kita lihat pada Gambar 1.2

Gambar 1.2

Pada Gambar 1.2 router CAPT mengaktifkan per packet load balance dan terlihat packet menuju destination melalui link yang berbeda. Jika packet-packet yang dikirim tersebut tidak memerlukan satu informasi yang utuh, Seperti packet ICMP misalnya maka tidak akna menjadi masalah. Client akan tetap dapat berkomunikasi dengan web site tersebut. Namun jika website membutuhkan data yang utuh maka data/packet tersebut harus dialirkan melewati satu ISP yang sama. Maka dari itu kita harus membuat NTH menggunakan prinsip per connection load balance.

Per Connection Load Balance

  Selanjutnya untuk membuat packet-packet keluar dalam satu koneksi melalui link ISP yag sama maka kita harus menjadikan NTH bekerja menggunakan prinsip Per Connection Load Balance. Pada Gambar 1.3 terlihat bahwa ada client yang ingin mengirimkan packet ke situs www.kaptenkid.my.id. Jika kita menerapkan per packet ketika website tersebut memiliki tingkat kemanan yang tinggi maka komunikasi akan ditolak oleh server. Ini menjadi alasan bahwa kita harus mengelompokan packet packet yang berasal dari satu koneksi yang sama harus dikirim melalui satu link ISP.

Gambar 1.3

Ketika menggunakan per connection NTH akan memeriksa asal packet berdasarkan koneksi awalnya. Sehingga packet yang dikirimkan akan melalui link ISP yang sama juga. 

Perhitungan NTH

Dalam pembagian packet nya untuk diarahkan ke beberapa link ISP, NTH menggunakan 2 parameter yaitu parameter every dan packet. Kedua parameter ini yang berfungsi sebagai penghitung dan digunakan untuk menangkap packet untuk kemudian ditentukan packet ke berapa yang akan di mark. Setelah packet tersebut di marking dengan action mark-routing kemudian akan dimasukan ke dalam table routing agar dapat dikirim ke link tertentu.

NTH = 2,1

Ketika menggunakan konfigurasi firewall mangle dengan parameter NTH = 2,1, Dimana maksud 2 adalah nilai parameter every dan 1 adalah packet. Router akan melakukan perhitungan dengan menandai setiap 2 packet akan melakukan penandaan pada packet pertama.

Gambar 1.5

Dengan memberikan nilai ini, Setiap 2 akan ditandai 1 packet, Kemudian jika packet menerima 4 packet akan ditandai lagi packet pertama dari penandaan sebelumnya dan begitu seterusnya.

NTH = 2,2

Ketika kita memberikan nilai 2,2 maka rule akan menandai packet ke dua setiap 2 packet yang lewat. Untuk lebih jelas nya kalian bisa lihat pada Gambar 1.6 dibawah

Gambar 1.6

Router akan mengelompokan packet dan setiap anggota ke dua dari kelompok akan ditandai. Pada gambar diatas Kelompok pertama beranggota kan 1A dan 1B dan kelompok ke dua beranggota kan 1C dan 1D. Maka router akan menandai anggota ke dua dari kelompok-kelompok tersebut yaitu packet 1B dan 1D.

Konfigurasi NTH

Oke selanjutnya kita akan masuk ke penerapan NTH ini dan di asumsikan Bandwith dari masing-masing ISP sama. Topologi yang digunakan saat ini dapat dilihat pada Gambar 1.7 dibawah.

Gambar 1.7


Router CAPT memiliki 2 link ISP yaitu ISP-A dan ISP-B. Nantinya Router CAPT akan mengaktifkan NTH dan diharapkan packet akan kembali sesuai sesuai dengan link upstream nya.

  •  Membuat konektivitas ke router CAPT

Sebelum melakukan konfigurasi, Kita perlu membuat rule untuk menghubungkan client ke router CAPT karena nantinya client dan router akan terputus karena terjadinya penambahan table routing baru. Bahkan jika Physical nya terhubung secara langsung ke router namun jika kita PING maka akan RTO. Kenapa bisa seperti itu?

Ketika client mengirim PING ke router CAPT, Packet ping tentu akan diterima oleh router CAPT tetapi mungkin saja nanti kita mengelompokan bahwa client tersebut merupakan IP address dari link-A jadi router akan menyerahkan tugas untuk me-reply packet ping tersebut ke group link ISP-A. Namun tabel routing via link-ISP-A ini tidak mengenal IP dari client. Jadi kita perlu mencatat terlebih dahulu traffic tersebut.

  • Penandaan traffic UPSTREAM dan DOWNSTREAM
Kemudian kita akan control traffic dari internet yang menuju ke salah satu interface router CAPT yang terhubung ke masing-masing ISP. Disini saya menggunakan Interface ether1 ke ISP-A dan ether5 ke ISP-B. 
 
Misalnya jika anda me remote router CAPT dari luar. Tentu kita akan menggunakan IP Public dari router yang mana pada contoh disini adalah 100.100.100.2 dan 200.200.200.2. Jika kita tidak menerapkan ini bisa saja kita remote menggunakan jalur ISP-B namun dikembalikan lewat ISP-A sehingga menimbulkan ketidak seimbangan pada traffic. Disini kita coba mengontrol agar traffic yang datang dari internet lewat ISP-A maka harus dikembalikan juga lewat ISP-A oleh router. Begitu pun dengan ISP-B.


  • Konfigurasi NTH
Disini kita akan mencoba menerapkan per connection load balance. Karena untuk penandaan koneksi maka konfigurasi awal NTH harus menandai koneksi itu sendiri. NTH akan menandai packet dengan status new. Jadi parameter NTH = 2,1 akan melakukan marking terhadap packet pertama dari beberapa packet. Lalu bagaimana dengan NTH = 2,2 ? NTH hanya akan melakukan marking terhadap packet ke 2 - 4 dan seterusnya yang disini kita akan alirkan ke link ISP-B nantinya.


  • Mark-routing
Rule diatas akan menandai koneksi setiap packet dengan status new. Misal nya terdapat packet 1A, Packet ini akan di marking oleh nth =2,1 kemudian terdapat packet lagi 2A maka packet ini akan dimarking oleh nth=2,2. Lalu bagaimana misalnya ada Packet 1B? yang mana packet tersebut bukanlah packet dengan status new.
Packet ini akan kita marking dengan action mark-routing dengan memanfaatkan connection mark yang telah kita buat sebelumnya agar dikelola oleh table routing tambahan yang terbuat dengan action mark-routing itu sendiri.
 
  • Summary rule mangle
Secara keseluruhan rule mangle yang telah kita buat seperti berikut. Sampai sini kita telah memiliki 2 routing table tambahan dengan nama via-ISP-A dan via-ISP-B.
 
  • Membuat entry default route pada table routing tambahan
Tambahkan entry default route pada tambahan seperti berikut.

  • Membuat entry default route pada table routing main. Bertujuan untuk router CAPT itu sendiri untuk ke Internet.
 
  •  Summary routing table

Berikut adalah susuna routing table yang telah terbentuk dalam konfigurasi Load Balance dengan NTH ini.


  •   Konfigurasi NAT dan DNS  untuk client agar client terhubung ke Internet
 
 Sampai sini kita telah melakukan Load Balance dengan metode NTH tersebut, Yang mana akan memisahkan traffic koneksi 1 dan ke 2 dari client. Misalnya saja ketika Client mendownload sebuah file. Koneksi pertama yang dibuat client akan memanfaatkan link ISP-A. Lalu ketika client menggunakan 2 koneksi untuk download sekaligus maka traffic akan dilairkan melewati jalur ISP-B.
 
Skenario 2
 
Diatas kita telah membuat NTH dengan asumsi bahwa kedua link ISP memberikan alokasi bandwith yang sama besar, Namun bagaimana jika alokasi yang diberikan berbeda?
 
Gambar 1.8

Seperti pada Gambar 1.8 misalnya saja ketika ISP-A memberikan alokasi sebesar 2mbps dan ISP-B 1mbps, yang mana tentu kita ingin agar traffic lebih di bebankan kepada link yang lebih besar. Kita memerlukan 3 NTH untuk diberikan 2 diantaranya ke link yang lebih besar pada topologi disini.
  • Marking Connection
Tentu saja yang perlu kita lakukan pertama kali adalah mencatat koneksi dengan connection-state=new agar koneksi dapat dipilah berdasarkan koneksi yang baru, Kemudian pada parameter nth kita akan mencatat setiap 3 koneksi catat packet baru ke 1,2, dan 3. Kemudian 1 dan 2 kita berikan ke connection mark yang sama bertujuan agar packet 1 dan 2 lewat ISP yang lebih besar jumlah bandwith nya dan packet ke 3 lewat ISP yang satunya.
 
  •  Membuat table routing tambahan
 Selanjutnya kita perlu membuat table routing tambahan dengan menggunakan penandaan koneksi yang telah kita buat sebelumnya.
 
  • Membuat entry default route pada table routing main dan table routing tambahan
Terakhir kita hanya tinggal membuat entry default route memanfaatkan table routing tambahan yang telah kita buat diatas, Kemudian untuk router nya sendiri kita buatkan juga default route nya pada table routing main agar untuk jalur internet si router itu sendiri.



Sekian tulisan kali ini, Semoga bermanfaat.

Jika ada kesalahan dalam penulisan kalian bisa comment di bawah untuk menghindari kekeliruan.

Ciaoww

 

Source : MikroTik Kungfu Kitab 4

 

0 Comments