Assalamualaikum Warohmatullahi Wabarokatuh...
Haloo mabor-mabor semua, kali ini saya mau sharing mengenai bagaimana BGP memilih best path. BGP sama seperti routing protocol lain yang memiliki parameter yang dibandingkan antara 1 path dengan path lain. Misalkan pada OSPF, parameter yang digunakan adalah metric (cost) yang dihitung berdasarkan bandwidth. Nah kalau BGP, ada lebih dari 1 parameter yang dihitung untuk menentukan best path.
Syarat Menjadi Best Path
Routing protocol BGP memiliki BGP database. BGP database ini berbeda dengan routing table. Routing table hanya berisi best path. BGP database berisi semua informasi routing yang kemudian akan dipilih mana yang menjadi best path. Syarat sebuat informasi routing dalam BGP table untuk bisa menjadi best path adalah seperti berikut :
- IP address yang menjadi next-hop harus ada di dalam routing table. Gambar dibawah merupakan hasil command “show ip bgp” untuk menampilkan BGP database. Dalam database tersebut ada kolom next-hop. Jika IP address next-hop tersebut tidak dapat ditemukan dalam routing table, maka network tersebut tidak dapat dimasukkan ke routing table. Dengan kata lain, network dari next hop tersebut bukan best path karena next hop nya tidak dapat diakses.
- Synchronization rule harus cocok atau didisable. Jika BGP synchronization rule diaktifkan, maka prefix di dalam routing table harus match dengan prefix dalam BGP table sehingga iBGP path tersebut dinyatakan valid. Jika tidak ada prefix yang match di routing table, maka prefix tersebut tidak diinstall ke routing table.
- Autonomous System Number (ASN) diri sendiri tidak boleh terkandung di dalam AS_PATH BGP prefix tersebut. Gambar dibawah merupakan hasil command “show ip bgp” untuk menampilkan BGP database. Dalam database tersebut ada kolom Path. Kolom tersebut berisi daftar AS yang disinggahi oleh prefix tersebut. Jika AS diri sendiri terkandung di dalam Path tersebut maka informasi tersebut tidak valid. Mengapa tidak valid? Karena terjadi loop.
- ASN pertama dalam AS_PATH harus merupakan ASN tetangga
Syarat diatas adalah syarat bahwa prefix dalam BGP database dinyatakan valid dan bisa dipasang ke routing table. Namun jika ada beberapa prefix yang sama namun memilki next hop berbeda, maka ada parameter tambahan sebagai pembanding. BGP memilih valid path pertama sebagai best path. Kemudian membandingkan satu persatu parameter secara berurutan dengan valid path yang lain. Berikut adalah parameter tersebut :
- Path dengan nilai Weight tertinggi
- Path dengan nilai LOCAL_PREFERENCE tertinggi
- Path yang berasal dari diri sendiri baik dengan command “network” atau “aggregate”
- Path dengan nilai AS_PATH terpendek
- Path dengan origin type terkecil. IGP < EGP < incomplete
- Path dengan nilai Multi_Exit_Discriminator (MED) terkecil
- Path yang berasal dari eBGP dibanding iBGP
- Path yang memiliki metric IGP terkecil ke next hop
- Path yang masuk terlebih dahulu (oldest)
- Path yang berasal dari BGP router-id terkecil
Semua parameter tersebut dibandingkan dan dijalankan secara berurutan.
Contoh 1
Kita ambil contoh kasus sebagai berikut. Anggap kedua prefix sudah memenuhi syarat sebagai valid path :
Prefix 1 :
- Prefix : 10.10.10.0/24
- Next Hop : 172.16.30.1
- Weight : 100
- Local_Pref : 100
- AS_Path : 100 200 300 400
Prefix 2
- Prefix : 10.10.10.0/24
- Next-Hop : 192.168.100.1
- Weight : 100
- Local_Pref : 100
- AS_Path : 100 400
Parameter weight dan local_pref sama sehingga sekarang pembandingnya adalah AS_PATH. Karena AS_PATH dari prefix 2 lebih pendek, maka prefix 2 akan masuk ke routing table sebagai best path.
Contoh 2
Prefix 1 :
- Prefix : 10.10.10.0/24
- Next Hop : 172.16.30.1
- Weight : 1000
- Local_Pref : 100
- AS_Path : 100 200 300 400
Prefix 2
- Prefix : 10.10.10.0/24
- Next-Hop : 192.168.100.1
- Weight : 100
- Local_Pref : 100
- AS_Path : 100 400
Parameter weight berbeda, local_pref sama, dan AS_PATH berbeda. Walaupun AS_PATH prefix 2 lebih pendek, namun parameter yang pertama kali dibandingkan adalah weight. Weight dari prefix 1 lebih besar dari prefix 2 sehingga prefix 1 akan dipasang dalam routing table dan menjadi best path.
Referensi