Pengenalan dan Cara Kerja BGP
BGP atau yang kepanjangannya
Border Gateway Protokol 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.
Karakteristik BGP
1. 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.
2. Digunakan antara ISP dengan
ISP dan client-client.
3. Digunakan untuk merutekan
trafik internet antar autonomous system.
4. 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.
5. Router BGP membangun dan
menjaga koneksi antar-peer menggunakan port nomor 179.
6. Koneksi antar-peer dijaga
dengan menggunakan sinyal keepalive secara periodik.
7. Metrik (atribut) untuk
menentukan rute terbaik sangat kompleks dan dapat dimodifikasi dengan
fleksibel.
8. BGP memiliki routing table
sendiri yang biasanya memuat prefiks-prefiks routing yang diterimanya dari
router BGP lain
Cara Kerja BGP
Routing protokol BGP baru dapat
dikatakan bekerja pada sebuah router jika sudah terbentuk sesi komunikasi
dengan router tetangganya yang juga menjalankan BGP. Sesi komunikasi ini adalah
berupa komunikasi dengan protokol TCP dengan nomor port 179. Setelah terjalin
komunikasi ini, maka kedua buah router BGP dapat saling bertukar informasi
rute.
Untuk berhasil menjalin
komunikasi dengan router tetangganya sampai dapat saling bertukar informasi
routing, ada beberapa hal yang perlu diperhatikan:
1. Kedua buah router telah
dikonfigurasi dengan benar dan siap menjalankan routing protokol BGP.
2. Koneksi antarkedua buah router
telah terbentuk dengan baik tanpa adanya gangguan pada media koneksinya.
3. Pastikan paket-paket pesan BGP
yang bertugas membentuk sesi BGP dengan router tetangganya dapat samp dengan
baik ke tujuannya.
4. Pastikan kedua buah router BGP
tidak melakukan pemblokiran port komunikasi TCP 179.
5. Pastikan kedua buah router
tidak kehabisan resource saat sesi BGP sudah terbentuk dan berjalan.
Setelah semuanya berjalan dengan
baik, maka sebuah sesi BGP dapat bekerja dengan baik pada router Anda.
Untuk membentuk dan
mempertahankan sebuah sesi BGP dengan router tetangganya, BGP mempunyai
mekanismenya sendiri yang unik. Pembentukan sesi BGP ini mengandalkan
paket-paket pesan yang terdiri dari empat macam. Paket-paket tersebut adalah
sebagai berikut:
1. Open Message
Sesuai dengan namanya, paket
pesan jenis ini merupakan paket pembuka sebuah sesi BGP. Paket inilah yang
pertama dikirimkan ke router tetangga untuk membangun sebuah sesi komunikasi.
Paket ini berisikan informasi mengenai BGP version number, AS number, hold
time, dan router ID.
2. Keepalive Message
Paket Keepalive message bertugas
untuk menjaga hubungan yang telah terbentuk antarkedua router BGP. Paket jenis
ini dikirimkan secara periodik oleh kedua buah router yang bertetangga. Paket
ini berukuran 19 byte dan tidak berisikan data sama sekali.
3. Notification Message
Paket pesan ini adalah paket yang
bertugas menginformasikan error yang terjadi terhadap sebuah sesi BGP. Paket
ini berisikan field-field yang berisi jenis error apa yang telah terjadi,
sehingga sangat memudahkan penggunanya untuk melakukan troubleshooting.
4. Update Message
Paket update merupakan paket
pesan utama yang akan membawa informasi rute-rute yang ada. Paket ini berisikan
semua informasi rute BGP yang ada dalam jaringan tersebut. Ada tiga komponen
utama dalam paket pesan ini, yaitu Network-Layer Reachability Information
(NLRI), path attribut, dan withdrawn routes.
Apa Saja Atribut-atribut BGP?
Salah satu ciri khas dan juga
merupakan kekuatan dari routing protokol BGP ada pada atribut-atribut
pendukungnya. Atribut-atribut ini yang nantinya digunakan sebagai parameter
untuk menentukan jalur terbaik untuk menuju ke suatu situs. Atribut ini juga
dapat mengatur keluar masuknya routing update dari router-router BGP tetangga.
Dengan mengatur atribut ini, Anda dapat dengan bebas mengatur bagaimana karakteristik
dan sifat dari sesi BGP tersebut.
Untuk melayani Anda mengatur
dengan sebebas-bebasnya, tersedia 10 macam atribut BGP yang umum ditambah satu
atribut BGP yang hanya ada pada produk-produk Cisco. Masing-masing memiliki
ciri khas dan tugasnya tersendiri untuk memungkinkan Anda memanajemen routing
update dan traffic yang keluar masuk. Berikut ini adalah ke-11 atribut-atribut
BGP:
1. Origin
Atribut BGP yang satu ini
merupakan atribut yang termasuk dalam jenis Well known mandatory. Jika
sumbernya berasal router BGP dalam jaringan lokal atau menggunakan asnumber yag
sama dengan yang sudah ada, maka indicator atribut ini adalah huruf “i” untuk
interior. Apabila sumber rute berasal dari luar jaringan lokal, maka tandanya
adalah huruf “e” untuk exterior. Sedangkan apabila rute didapat dari hasil
redistribusi dari routing protokol lain, maka tandanya adalah “?” yang artinya
adalah incomplete.
2. AS_Path
Atribut ini harus ada pada setiap
rute yang dipertukarkan menggunakan BGP. Atribut ini menunjukkan perjalanan
paket dari awal hingga berakhir di tempat Anda. Perjalanan paket ini
ditunjukkan secara berurut dan ditunjukkan dengan menggunakan nomor-nomor AS.
Dengan demikian, akan tampak melalui mana saja sebuah paket data berjalan ke
tempat Anda.
3. Next Hop
Next hop sesuai dengan namanya,
merupakan atribut yang menjelaskan ke mana selanjutnya sebuah paket data akan
dilemparkan untuk menuju ke suatu lokasi. Dalam EBGP-4, yang menjadi next hop
dari sebuah rute adalah alamat asal (source address) dari sebuah router yang
mengirimkan prefix tersebut dari luar AS. Dalam IBGP-4, alamat yang menjadi
parameter next hop adalah alamat dari router yang terakhir mengirimkan rute
dari prefix tersebut. Atribut ini juga bersifat Wellknown Mandatory.
4. Multiple Exit Discriminator
(MED)
Atribut ini berfungsi untuk
menginformasikan router yang berada di luar AS untuk mengambil jalan tertentu
untuk mencapat si pengirimnya. Atribut ini dikenal sebagai metrik eksternal
dari sebuah rute. Meskipun dikirimkan ke AS lain, atribut ini tidak dikirimkan
lagi ke AS ketiga oleh AS lain tersebut. Atribut ini bersifat Optional
Nontransitive.
5. Local Preference
Atribut ini bersifat Wellknown
Discretionary, di mana sering digunakan untuk memberitahukan router-router BGP
lain dalam satu AS ke mana jalan keluar yang di-prefer jika ada dua atau lebih
jalan keluar dalam router tersebut. Atribut ini merupakan kebalikan dari MED,
di mana hanya didistribusikan antar-router-router dalam satu AS saja atau
router IBGP lain.
6. Atomic Aggregate
Atribut ini bertugas untuk
memberitahukan bahwa sebuah rute telah diaggregate (disingkat menjadi pecahan
yang lebih besar) dan ini menyebabkan sebagian informasi ada yang hilang.
Atribut ini bersifat Wellknown Discretionary.
7. Aggregator
Atribut yang satu ini berfungsi
untuk memberikan informasi mengenai Router ID dan nomor Autonomous System dari
sebuah router yang melakukan aggregate terhadap satu atau lebih rute. Parameter
ini bersifat Optional Transitive.
8. Community
Community merupakan fasilitas
yang ada dalam routing protokol BGP-4 yang memiliki kemampuan memberikan tag
pada rute-rute tertentu yang memiliki satu atau lebih persamaan. Dengan
diselipkannya sebuah atribut community, maka akan terbentuk sebuah persatuan
rute dengan tag tertentu yang akan dikenali oleh router yang akan menerimanya
nanti. Setelah router penerima membaca atribut ini, maka dengan sendirinya
router tersebut mengetahui apa maksud dari tag tersebut dan melakukan proses
sesuai dengan yang diperintahkan. Atribut ini bersifat Optional Transitive.
9. Originator ID
Atribut ini akan banyak berguna
untuk mencegah terjadinya routing loop dalam sebuah jaringan. Atribut ini
membawa informasi mengenai router ID dari sebuah router yang telah melakukan
pengiriman routing. Jadi dengan adanya informasi ini, routing yang telah
dikirim oleh router tersebut tidak dikirim kembali ke router itu. Biasanya
atribut ini digunakan dalam implementasi route reflector. Atribut ini bersifat
Optional Nontransitive.
10. Cluster list
Cluster list merupakan atribut
yang berguna untuk mengidentifikasi router-router mana saja yang tergabung
dalam proses route reflector. Cluster list akan menunjukkan path-path atau
jalur mana yang telah direfleksikan, sehingga masalah routing loop dapat
dicegah. Atribut ini bersifat Optional Nontransitive.
11. Weight
Atribut yang satu ini adalah
merupakan atribut yang diciptakan khusus untuk penggunaan di router keluaran
vendor Cisco. Atribut ini merupakan atribut dengan priority tertinggi dan
sering digunakan dalam proses path selection. Atribut ini bersifat lokal hanya
untuk
digunakan pada router tersebut
dan tidak diteruskan ke router lain karena belum tentu router lain yang bukan
bermerk Cisco dapat mengenalinya. Fungsi dari atribut ini adalah untuk memilih
salah satu jalan yang diprioritaskan dalam sebuah router.
Ketika ada dua buah jalan keluar,
maka dengan memodifikasi atribut Weight ini, router dapat memilih salah satu
jalan untuk diprioritaskan sebagai jalan keluar. Jadi Anda dapat mengatur
dengan leluasa jalan mana yang akan digunakan. Weight tidak digunakan pada
router lain selain Cisco.
Bagaimana Proses Path Selection
(Pemilihan Jalur Terbaik) dalam BGP?
Setelah Anda mengenal semua jenis
atribut dan kegunaannya, kini saatnya untuk mengetahui bagaimana
atribut-atribut tersebut digunakan untuk proses pemilihan jalan terbaik menuju
suatu lokasi. Mengapa perlu dilakukan pemilihan rute terbaik? Kapan proses
pemilihan rute terbaik dilakukan oleh BGP?
Router Anda perlu melakukan
pemilihan rute terbaik ketika mendapatkan dua atau lebih rute untuk menuju ke
suatu lokasi di luar. Biasanya sebuah router BGP mungkin saja mendapatkan
sebuah rute lebih dari dua, tergantung pada banyaknya sesi BGP yang dibentuk
dengan tetangga-tetangganya. Semakin banyak sesi BGP dengan router tetangga, maka
router tetangga tersebut akan mengirimkan banyak rute yang diketahuinya,
sehingga mungkin saja ada yang sama.
Ketika dihadapkan pada dua jalan
dengan tujuan yang sama, maka tugas router BGP adalah harus memilih salah satu
jalan untuk digunakan meneruskan informasi yang dibawanya. Jalan yang dipilih
haruslah jalan yang terbaik yang ada saat itu untuk dapat meneruskan informasi
sebaik mungkin. Untuk memilih salah satu jalan tersebut, router BGP akan
langsung menjalankan prosedur pemilihan rute terbaik atau yang sering disebut
dengan istilah path selection.
Dalam proses pemilihan jalur
terbaik atau path selection, atribut-atribut yang telah dijelaskan di ataslah
yang sangat berperan penting. Semua atribut tersebut memiliki tingkat
prioritasnya sendiri dalam proses penentuan jalur terbaik. Maksudnya ketika ada
dua rute menuju ke lokasi www.yahoo.com masing-masing memiliki atribut B dan C,
maka router BGP akan membandingkan nilai B dengan C.
Jika ternyata nilai B yang lebih
baik, maka rute menuju ke www.yahoo.com adalah rute yang beratribut B. Rute
tersebut akan dijadikan sebagai jalur terbaik dan semua traffic menuju
www.yahoo.com akan dilarikan melalui jalur B. Sedangkan rute yang memiliki
atribut C dijadikan sebagai back-up. Back-up ini akan digunakan suatu saat
ketika rute yang beratribut B tadi sedang bermasalah. Jadi rute yang tidak
terpilih bukan berarti diabaikan begitu saja. Mekanisme inilah yang merupakan
salah satu kehebatan dari BGP.
Proses path selection ke sebuah
lokasi yang terjadi dalam sebuah sesi BGP hingga menemukan sebuah jalur terbaik
adalah sebagai berikut:
1. Jika hanya ada sebuah rute
menuju ke lokasi A, maka rute tersebutlah yang pasti dijadikan rute terbaik dan
akan langsung digunakan.
2. Jika ada dua buah rute menuju
ke lokasi A, maka router BGP akan menggunakan atribut WEIGH untuk memilih rute
mana yang paling baik. Rute dengan nilai WEIGH yang paling tinggi akan dipilih
sebagai jalur terbaik.
3. Jika nilai weight keduanya
sama, maka router akan menggunakan atribut LOCAL PREFERENCE sebagai bahan
pembanding. Rute dengan nilai LOCAL PREFERENCE yang paling tinggi adalah rute
yang terpilih sebagai rute terbaik.
4. Jika nilai local preference
sama, maka sebagai bahan pembanding router BGP akan memeriksa rute mana yang
berasal dari dirinya sendiri. Jika rute tersebut berasal dari dirinya sendiri
maka rute tersebut yang akan dijadikan rute terbaik.
5. Jika rute menuju A bukan
berasal dari dirinya, maka router akan menggunakan atribut AS_PATH untuk
mencari rute terbaik. Rute dengan atribut AS_PATH terpendek akan dipilih
sebagai rute terbaik.
6. Apabila atribut AS_PATH nya
sama, maka atribut selanjutnya yang digunakan untuk memilih jalan terbaik
adalah ORIGIN. Atribut ORIGIN terdiri parameter IGP, EGP dan Incomplete.
Parameter dengan nilai referensi terendah yang akan dipilih menjadi rute
terbaik. IGP memiliki nilai referensi paling rendah, disusul EGP dan akhirnya
Incomplete. Rute dengan atribut ORIGIN IGP akan lebih dipilih daripada EGP atau
Incomplete, begitu seterusnya hingga rute dengan atribut Incomplete menjadi
rute yang berada di urutan paling belakang.
7. Jika atribut Origin pada
rute-rute tersebut sama, maka atribut selanjutnya yang digunakan adalah MED
(Multi Exit Discriminator). MED merupakan atribut untuk memungkinkan Anda memilih
jalan mana yang paling baik untuk menuju sebuah situs. Jenisnya kurang lebih
sama seperti Local Preference, namun bedanya atribut MED ini hanya disebarkan
dalam satu AS yang sama saja. Atribut ini tidak dikirimkan ke luar AS dari
router BGP tersebut. Biasanya atribut ini banyak digunakan jika sebuah router
memiliki dua atau lebih jalan yang sama namun menuju ke satu ISP. Rute dengan
nilai MED yang paling rendah adalah yang terpilih sebagai rute terbaik.
8. Jika nilai MED pada kedua rute
tersebut sama, maka router BGP akan melakukan pemilihan berdasarkan jenis sesi
BGP dari rute-rute tersebut. Seperti telah dijelaskan diatas, jenis BGP ada dua
macam yaitu IBGP dan EBGP. Kedua parameter ini juga digunakan dalam pemilihan
jalan terbaik. Sebuah rute yang berasal dari sebuah sesi EBGP memiliki
prioritas yang lebih tinggi daripada rute dari sesi IBGP. Jadi rute yang
berasal dari sesi EBGP dengan router BGP lain tentu akan dijadikan sebagai rute
terbaik.
9. Jika setelah melalui ketentuan
diatas, kedua rute tersebut juga masih identik, maka proses path selection
selanjutnya adalah menggunakan parameter jalur terdekat dalam jaringan internal
untuk menuju ke Next Hop. Maksudnya adalah, router BGP akan membaca atribut
Next hop dari kedua jalur tersebut. Setelah diketahui, router tersebut akan
memeriksa jalur mana yang memilik Next hop yang terdekat dari router tersebut.
Jalur yang diperiksa ini merupakan jalur yang berasal dari routing protokol
internal seperti OSPF, EIGRP, atau bahkan statik. Setelah didapatkan rute mana
yang memiliki Next hop yang paling dekat dan mudah diakses, maka rute tesebut
langsung dipilih menjadi yang terbaik.
10. Jika prosedur ini masih tidak
membuahkan sebuah rute terbaik juga, maka jalan terakhir untuk menemukannya
adalah dengan membandingkan BGP ROUTER ID dari masingmasing rute. Sebuah rute
pasti akan membawa informasi BGP ROUTER ID dari router asalnya. Parameter
inilah yang menjadi pembanding terakhir untuk proses path selection ini. Karena
BGP ROUTER ID tidak mungkin sama, maka sebuah jalan terbaik pastilah dapat
terpilih. BGP ROUTER ID biasanya adalah alamat IP tertinggi dari sebuah router
atau dapat juga berupa IP interface loopback.
Router BGP akan memilih rute
dengan nilai BGP ROUTER ID yang terendah.
Kekuatan BGP yang lainnya adalah
Anda dapat memodifikasi dan mengubah atribut-atribut yang ada pada sebuah rute,
sehingga proses pemilihan jalur terbaik ini juga dapat Anda atur. Dengan
mengatur proses ini, maka Anda dapat mengatur lalu-lintas data yang keluarmasuk
jaringan Anda.
Pelajari Lebih Lanjut
Ilmu BGP tidak hanya berhenti
sampai sini karena ini hanyalah dasar-dasarnya saja. Masih banyak trik yang ada
di dalamnya yang tidak akan habis dibahas dua atau tiga bulan karena routing
protokol BGP memang sangat rumit. Namun jika Anda sudah mengetahui dasarnya ini
dengan baik, tentu akan lebih mudah untuk mempelajarinya lebih lanjut.
Pengaplikasian BGP tidak dapat
dengan mudah Anda temukan. Penggunaan BGP biasanya hanya akan Anda temukan di
ISP atau di perusahaan yang sangat besar yang memiliki banyak cabang dan sangat
mengandalkan teknologi informasi seperti misalnya
bank. Untuk itu jika Anda kuasai
BGP, tentu akan lebih mudah untuk Anda dapat bekerja di perusahaan-perusahaan
jenis tersebut. Mulailah pelajari dari sekarang.





