Basic Implementasi BGP
Basic Implementasi BGP - Kemarin kita telah membahas sedikit tentang BGP, Dan telah mengetahui bahwa Routing ini menjadi Backbone dari internet di dunia saat ini. Jika kalian belum baca postingan tersebut kalian bisa klik disini. Namun kita akan sedikit mengevaluasi lagi tentang BGP ini sebelum kita akan melakukan implementasi dasar pada BGP.
BGP Overview
BGP (Border Gateway Protocol) merupakan satu satunya saat ini protocol routing dengan kategori Exterior Gateway Protocol (EGP). Maka cara kerja BGP dalam menentukan link/jalur terbaik nya (Best Path) pun berbeda dengan routing IGP seperti OSPF, RIP, IS-IS dan EIGRP. Metric yang kita bahas sebelum nya hanyalah salah satu attribute dalam menentukan best path pada BGP. Protocol routing ini juga telah support dengan CIDR sehingga mendukung jaringan-jaringan yang telah mengalami subnetting, VLSM ataupun summarization.
Router di IGP selalu memperkenalkan network yang dimiliki beserta metric yang dapat digunakan untuk mencapai network tersebut. Berbeda dengan BGP router yang menjalankan routing protocol ini akan saling bertukar informasi untuk mencapai sebuah network. Dan informasi routing inilah disebut dengan path vector, Dan path vector ini terdiri dari beberapa attribute.
Path vector ini berisi beberapa attribute yang bisa saja berisi jalur dari satu AS ke AS yang lain (hop by hop), Bisa juga berupa IP Address untuk mencapai suatu network (next hop attribute), Router ID. Dan masih banyak lagi attribute yang digunakan dalam menentukan jalur terbaik dan menciptakan routing yang bebas dari loop.
BGP menggunakan TCP untuk mengirimkan paket dan berjalan pada port 179. Jadi ketika menjalankan BGP make sure bahwa tidak adanya pemblokiran packet pada port tersebut.
Kapan harus menggunakan BGP?
Jadi kapan kita harus menggunakan BGP? Berikut adalah rangkuman kondisi kapan anda harus menggunakan BGP.
- Memiliki range IP Address public dan ingin di advertise ke internet.
- Memiliki jaringan yang terhubung ke beberapa AS lain (AS External). Kondisi ini biasanya ketika anda memiliki jaringan yang mengarah ke internet melalui beberapa provider.
- Ketika memiliki jaringan yang terhubung ke AS lain pada provider yang sama.
BGP Peer
Ketika sebuah router menjalankan BGP maka router tersebut disebut sebagai BGP Speaker, Dan untuk membuat BGP bekerja maka BGP Speaker ini harus terhubung dengan BGP Speaker lainya, Atau bahasa keren nya membentuk sebuah Neighborship. Hubungan antar BGP Speaker ini disebut dengan Peer atau BGP Peers. Peering antar router BGP ini yang membutuhkan Koneksi TCP dengan port 179.
Hubungan antar BGP Speaker 1 dengan lainya dibedakan menjadi 2 yaitu:
- iBGP Peers, Peer ini dilakukan oleh router router BGP dalam AS yang sama.
- eBGP Peers, Peer ini dilakukan oleh router router BGP dalam AS yang berbeda.
Gambar 1.1 |
Dari Gambar 1.1 kita dapat melihat bahwa terdapat 2 ASN yaitu AS 10 dan AS 100, Mereka terhubung oleh router paling ujung dari masing-masing AS tersebut. AS 10 memiliki 3 Router yang terdiri dari R-1,R-2,R-3, Kemudian menjalankan IGP untuk melakukan routing internal AS. Dan dapat dilihat bahwa R-1 dan R-3 menjalankan BGP sehingga kedua router tersebut dapat dikatakan BGP Neighborship dan dikategorikan sebagai iBGP karena berada dalam satu ASN yang sama.
Dapat dilihat juga dari gambar tersebut bahwa R-3 dan R-4 membentuk sebuah hubungan, Kedua router ini juga disebut BGP Neighborship dan hubungan kedua router ini berasa dari ASN yang berbeda sehingga dapat dikategorikan sebagai External BGP atau eBGP.
Dan dalam kondisi ketika satu AS memiliki beberapa router yang menjalankan BGP dan membentuk iBGP maka harus dibangun hubungan BGP fullmesh diantara router-router tadi. Kenapa? Karena pada dasarnya ketika suatu router menerima update dari router iBGP lain maka router tersebut tidak memforward pada router iBGP lain. Untuk full mesh ini mungkin akan kita bahas lain waktu.
BGP Message type
Dalam membangun BGP Peer, BGP Speaker harus menggunakan beberapa BGP Message, BGP Message ini yang akan dikirimkan antar BGP Speaker yang akan membangun peer. BGP Message ini dibedakan menjadi 4 yaitu :
- Open Message
- Keepalive Message
- Update Message
- Notification Message
Selanjutnya Keepalive Message yang defaultnya dikirim oleh BGP Speaker setiap 60 dtk, Yang berfungsi untuk mengecek apakah BGP Neighbors nya masih aktif atau tidak. Dan jika selama 180 dtk tidak menerima message ini maka BGP Speaker ini akan beranggapan bahwa BGP Neighbors nya telah mati/down. Nilai waktu tunggu 180 dtk ini dikenal sebagai Hold time period.
Update Message digunakan untuk bertukar informasi routing diantara router router BGP yang telah melakukan peering.
Dan yang terakhir Notification Message yang dikirimkan jika mendapati kondisi error, Dan jika pesan ini dikirim maka sesi Neighborship antar BGP akan gagal dan kemudian di reset.
BGP Infinite State
Dalam membangun BGP peer, Maka router - router yang menjalankan BGP akan melewati beberapa tahapan, Ini mungkin hampir mirip seperti OSPF yang mengirimkan hello packet, dll hingga akhirnya membentuk Link State yang saling bertukar informasi.
Adapun tahapan-tahapan tersebut sebagai berikut :
- Idle, Tahapan awal pada saat router akan membangun BGP Peer.
- Connect, Tahapan ketika BGP menunggu koneksi TCP dari Neighbor / peer, Jika tahap ini berhasil maka akan dikirimkan Open Message, Dan jika gagal akan masuk ke tahap Active.
- Active, Ditahap ini route BGP akan mencoba mengawali membangun koneksi TCP dengan peer nya. Jika gagal maka router BGP akan menunggu sessuai dengan Connect Retry Timer yang telah di set. Jika waktu tersebut habis maka akan dikembalikan ke tahap Connect.
- Open Sent, Tahap ini yaitu dimana kedua router BGP telah berhasil membangun koneksi TCP dan telah saling mengirim Open Message, Jika menerima balasan maka akan dilanjut mengirim Keep Alive message.
- Open Confirm, Tahap ketika router BGP saling menerima Keep Alive Message.
- Established, Tahapan terakhir dan [ada sesi ini BGP peering telah berhasil. Dan pada kondisi ini Update Message yang berisi informasi routing dikirimkan.
Konfigurasi Dasar BGP pada MikroTik
Gambar 1.2 |
Pada Gambar 1.2 disini saya memiliki 2 Buah router yang terdiri dari 2 AS Number yang berbda yaitu AS: 10 pada router ISP-A dan AS: 100 pada router ISP-B yang masing yang kedua router tersebut dihubungkan oleh network 1.1.1.0/30 dan mempunyai Network 10.10.10.0/24 pada ISP-A dan 100.100.100.0/24 pada ISP-B.
Konfigurasi BGP Peering
Pertama kita akan set AS number dari kedua router, Default nya router MikroTik menggunakan nilai AS 65530 sebagai AS default.
- ISP-A. Dapat dilihat disini bahwa nilai default dari AS nya adalah 65530, Kita dapat menggunakan Instance default namun jika diperlukan kalian dapat menambahkan Instance baru. Instance disini apa yah dapat dibilang mungkin sebuah profile unik yang terdiri dari berbagai informasi. Selanjutnya kita akan menambahkan IP address sesuai dengan topologi. Dan mengedit ASN pada Instance default menjadi AS yang sesuai dengan topologi. Router-id disini maksud nya ialah hostname dalam format IP address yang digunakan untuk mengidentifikasi suatu router dalam melakukan routing, CMIIW.
- ISP-B. Sama dengan ISP-A disini kita akan memberikan IP address dan mengubah AS number sesuai dengan topologi.
- ISP-A. Selanjutnya kita akan melakukan peering dimana router ISP-A terhubung ke ISP-B melalui network 1.1.1.0/30. Dalam melakukan peering paling tidak kita membutuhkan 2 informasi yang wajib diisi yaitu parameter remote-address dan remote-as, Pada parameter tersebut masukan informasi dari router ISP-B.
- ISP-B. Pada ISP-B kita pun perlu mnegisi paramater-parameter tersebut dengan informasi dari router ISP-A.
NOTE : Flag E (Establisihed) yang menandakan komunikasi tersebut telah terbentuk setelah kita melakukan Peering pada kedua sisi router.
Advertise Network
- ISP-A. Dapat kita lihat disini, Tabel routing dari ISP-A belum mengetahui adanya eksistensi network 100.100.100.0/24 yang dimiliki oleh ISP-B. Begitupun sebaliknya ISP-B pun belum mengetahui bahwa ISP-A memiliki network 10.10.10.0/24. Maka dari itu kita akan mengadvertise network 10.10.10.0/24 ini yang dimiliki oleh ISP-A tersebut ke dalam BGP.
- ISP-B. Pada ISP-B pun kita akan mengadvertise network yang dia miliki yaitu 100.100.100.0/24 agar ISP-A mengetahui eksistensi network yang ISP-B miliki.
- Setelah kita mengadvertise masing-masing network yang dimiliki oleh ISP tersebut, Kita dapat melihat lagi pada table routing yang menunjukan bahwa ISP-A memiliki Informasi dari network ISP-B yang telah di advertise ke dalam routing BGP, Dan jika kita lihat lebih detail disini menunjukan parameter BGP as path dengan AS number dari ISP yang membentuk Neigborship dengan ISP tersebut.
0 Comments