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.
Dengan saling mengadvertise network ke beberapa AS lainya, Menjadikan kelebihan dari BGP dengan keleluasaan nya mengendalikan traffic yang dapat masuk ke dalam AS yang anda miliki.

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:

  1. iBGP Peers, Peer ini dilakukan oleh router router BGP dalam AS yang sama.
  2. 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 :

  1. Open Message
  2. Keepalive Message
  3. Update Message
  4. Notification Message
Open Message pertama dikirimkan dengant tujuan untuk membangun koneksi TCP antar BGP Speaker. yang terdiri dari beberapa parameter seperti BGP Version, Local ASN yang digunakan, Router ID, dan paremeter tambahan lainya. 

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 :

  1. Idle, Tahapan awal pada saat router akan membangun BGP Peer.
  2. 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.
  3. 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.
  4. 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.
  5. Open Confirm,  Tahap ketika router BGP saling menerima Keep Alive Message.
  6. 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


Oke selanjutnya pada tahap ini kita akan mencoba konfigurasi BGP pada router MikroTik, Adapun pada kali ini kita hanya akan menggunakan topologi sederhana  dan diharapkan dengan penjelasan diawal dapat dengan mudah membantu kita semua dalam melakukan konfigurasi disini.


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. 

Sampai sini peering telah berhasil dilakukan di kedua router, Namun agar kedua router saling mengenal network yang dimiliki kita harus mengadvertise network tersebut kedalam routing BGP ini.

Advertise Network

Advertise network dilakukan agar antar router yang melakukan peering dapat menerima informasi network yang dimiliki oleh neighbors nya.

  • 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. 

Dalam mengadvertise network, Router MikroTik dapat mengadvertise network yang tidak dimiliki dalam tabel routing nya. Yang berarti bisa saja kita bisa mengadvertise network yang bahkan tidak berada dalam AS number nya dan bahkan network tersebut miliki ISP lain. Ini benar-benar berbahaya ketika kita melakukan nya di internet, Kenapa? Misal saja ketika Administrator jaringan melakukan kesalahan dalam mengadvertise network nya sebut saja misal alamat dari Youtube. Ketika kita melakukan ini Bisa saja pengguna internet mengira bahwa anda adalah pemiliki alamat dari youtube karena router anda mengadvertise alamat tersebut dan kemudian seluruh traffic dari youtube akan di alirkan ke router anda!

Untuk itu kita perlu mempelajari BGP Filter yang semoga bisa kita bahas di kesempatan selanjutnya, Melihat dari Potensi Human error yang dilakukan oleh admin jaringan semoga mikrotik memberikan update dalam fitur routing BGP ini agar meminimalisir potensi kesalahan yang dapat menimbulkan kekacauan tersebut.

Ciaoww


Sumber refrensi : MikroTik kungfu KITAB 4

0 Comments