Tag

, , ,

Dalam artikel kali ini, saya membahas 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 :

  1. 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.
  2. 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.
  3. 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.
  4. ASN pertama dalam AS_PATH harus merupakan ASN tetangga

Screen Shot 2014-03-05 at 11.08.09 PMSyarat 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 :

  1. Path dengan nilai Weight tertinggi
  2. Path dengan nilai LOCAL_PREFERENCE tertinggi
  3. Path yang berasal dari diri sendiri baik dengan command “network” atau “aggregate”
  4. Path dengan nilai AS_PATH terpendek
  5. Path dengan origin type terkecil. IGP < EGP < incomplete
  6. Path dengan nilai Multi_Exit_Discriminator (MED) terkecil
  7. Path yang berasal dari eBGP dibanding iBGP
  8. Path yang memiliki metric IGP terkecil ke next hop
  9. Path yang masuk terlebih dahulu (oldest)
  10. Path yang berasal dari BGP router-id terkecil

Semua parameter tersebut dibandingkan dan dijalankan secara berurutan.

Contoh

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.

Kita ambil kembali contoh kasus lain :

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.

Sumber

http://www.cisco.com/c/en/us/support/docs/ip/border-gateway-protocol-bgp/13753-25.html