Border Gateway Protocol (BGP) merupakan salah satu jenis routing protokol yang digunakan untuk koneksi antar Autonomous System (AS), dan salah satu jenis routing protokol yang banyak digunakan di ISP besar (Telkomsel) ataupun perbankan. BGP termasuk dalam kategori routing protokol jenis Exterior Gateway Protokol (EGP).
Dengan adanya EGP, router dapat melakukan pertukaran rute dari dan ke luar jaringan lokal Auotonomous System (AS). BGP mempunyai skalabilitas yang tinggi karena dapat melayani pertukaran routing pada beberapa organisasi besar. Oleh karena itu BGP dikenal dengan routing protokol yang sangat rumit dan kompleks.
Berikut ini adalah tabel perbandingan antara BGP dengan routing protokol lain :
Bisa kita lihat BGP menggunakan attribut. apa itu attribut? Oke dibawah ini akan saya sebutkan macam – macam atribut bgp dan penjelasannya.
- Aggregator = ID dan AS dari Router yang melakukan summarisasi
- Path = adalah List Autonomous system yang akan di advertise.
- Atomic Aggregate = termasuk kedalam AS-AS yang akan di drop karena untuk route aggregation.
- Cluster ID = Asal Cluster
- Community = Route Tag
- Local Preference = Metric untuk internal neighbors yang digunakan untuk mencapai internal destination (Default 100).
- Multiple Exit Discriminator(MED) = metric untuk external neighbors untuk mencapai external destination (Default 100).
- Next Hop = peer eksternal dalam neighbor AS
- Origin = Type router dasarnya (IGP,EGP,atau tidak diketahui dari asalnya)
- Weight = Cisco Proprietary, tidak dikomunikasikan dengan peer ( default nya 0).
BGP mendukung class-inter-domain dan menggunakan route aggregation untuk mengurangi table routing. BGP diciptakan sebagai pengganti rotuing EGP yang mengijinkan routing secara tersebar sehingga tidak harus mengacu pada jaringan backbone saja.
BGP Attribute Categories
Ada empat kategori atribut BGP:
- Well-known mandatory, Harus di ada di semua BGP router, ada di semua BGP update dan dapat melewati semua BGP router. contoh = AS path, origin dan next hop.
- Well-known discretionary, Akan ada kalau di configurasikan = Local Preference.
- Optional transitive, Â kalau attribute itu tidak di kenali maka attribute nya akan dilewatkan. contoh = aggregator, community.
- Optional non-transitive, kalau attribute itu tidak dikenali maka attribute itu akan di drop. contoh = Multi-exit Discriminator(MED), Originator ID.
sebagai catatan, mandatory kalau diartikan pasti ada di semua router BGP.
Setiap vendor peralatan jaringan dapat membuat atribut BGP mereka sendiri yang dikenali oleh router mereka. Namun, atribut yang tidak dipahami akan diabaikan. Dapat diartikan, tidak mungkin jaringan akan menjalankan BGP tanpa router Cisco (mungkin ada perusahaan yang tidak menggunakan Cisco).
Sementara pada topik atribut khusus vendor, ada baiknya menyebutkan atribut Cisco yang penting namun eksklusif yang akan kita rujuk nanti di artikel ini: Weight. Weight memiliki signifikansi lokal untuk pemilihan rute yang disukai dan nilai yang lebih tinggi.
Karakteristik BGP
- Menggunakan algoritma routing distance vektor. Algoritma routing distance vector secara periodik menyalin table routing dari router ke router.
- Perubahan table routing di update antar router yang saling berhubungan pada saat terjadi perubahan topologi.
- Digunakan antara ISP dengan ISP dan client-client.
- Digunakan untuk merutekan trafik internet antar autonomous system.
- BGP adalah Path Vector routing protocol.Dalam proses menentukan rute-rute terbaiknya selalu mengacu kepada path yang terbaik dan terpilih yang didapatnya dari router BGP yang lainnya.
- Router BGP membangun dan menjaga koneksi antar-peer menggunakan port nomor 179.
- Koneksi antar-peer dijaga dengan menggunakan sinyal keepalive secara periodik.
- Metrik (atribut) untuk menentukan rute terbaik sangat kompleks dan dapat dimodifikasi dengan fleksibel.
- BGP memiliki routing table sendiri yang biasanya memuat prefiks-prefiks routing yang diterimanya dari router BGP lain
Database BGP
- Neighbour Database = semua list yang di configure BGP neighbours. untuk melihat gunakan perintah show ip bgp summary
- BGP database atau RIB(routing Information Base) = Daftar jaringan yang dikenal dengan BGP, bersama dengan mereka path dan attribute. Untuk melihatnya, gunakan perintah show ip bgp.
- BGP Routing tabel = Daftar jalan untuk setiap jaringan yang digunakan oleh router, dan hop berikutnya untuk setiap jaringan. untuk melihat, gunakan perintah show ip route bgp untuk melihatnya.
BGP Type Message
- Open =Â setelah sebuah neighbour di configure, BGP mengirim open message untuk mencoba establish peering antara neighbour itu. temasuk informasi mengenai autonomous number(AS), router ID dan Hold Time.
- Update = message yang digunakan untuk transfer routing informasi antara peer. termasuk route baru, route yang ditarik dan attribute path.
- Keepalive =Â BGP peer saling bertukar informasi setiap 60 detik secara default. ini yang membuat peering session tetap aktive.
- Notification = ketika sebuah masalah terjadi yang menyebabkan sebuah router di peering BGP terputus, maka notifikasi dalam bentuk message akan dikirim ke neighbour dan menyebabkan koneksi itu terputus.
Pemilihan Jalur
Dalam BGP, ada juga proses penentuan jalurnya, proses penentuan jalur ini nantinya yang akan mempengaruhi konfig kita. Urut-urutannya adalah sebagai berikut :
- Weight (tertinggi) = berdasarkan administrative preference.
- Local Preference (tertinggi) = Berkomunikasi antara peer dalam satu AS.
- Self/Locally Originated (True/False) = Lebih memilih origin local.
- AS Path (terendah) = Memilih AS hops yang terendah.
- Origin (IGP>EGP>?) = Lebih memilih IGP yang dipelajari router lewat EGP.
- MED (Terendah) = digunakan jalur external untuk masuk kedalam AS.
- External (eBGP) = Lebih dipilih routing yang didapat dari eBGP daripada iBGP.
- IGP Cost (Terendah) = Lebih memilih IGP metric.
- eBGP Peering (Oldest) = Lebih menghasilkan routing yang stabil.
- Router ID (Lowest) = dipilih sebagai penentu terakhir dalam penentuan path.
Neighbour State atau Pesan dalam BGP
- Idle = neighbour tidak merespon.
- Active = mencoba untuk terhubung
- Connect = TCP session established
- Open Sent = Open message dikirim
- Open Confirm = Response diterima
- Establish = BGP terhubung dengan neighbour
Beberapa contoh configurasi untuk mempengaruhi path selection :
Weight :
1 |
#neighbour 192.168.0.1 weight 100 |
MED :
1 |
#default metric 400 |
Local Preference :
1 |
#bgp default local-preference 100 |
Route Map :
1 |
#neighbour 172.16.0.1 route-map Fo0 |