Network - Pengertian 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.
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
Mengapa BGP?
BGP memiliki kemampuan untuk mengontrol dan mengatur
trafik-trafik dari sumber berbeda di dalam network multi-home (tersambung ke
lebih dari 1 ISP/Internet Service Provider). Tujuan utama BGP adalah untuk
memperkenalkan kepada publik di luar network (upsteram provider atau peer)
tentang rute atau porsi spasi address yang dimiliki dengan “meminta izin”
membawa data ke suatu spasi address tujuan (meng-advertise).
Salah satu kelemahan yang mungkin dihadapi oleh BGP
routing adalah ia mempublikasikan rute yang tidak diketahui bagaimana cara
mencapainya. Ini dinamakan black-holing, yaitu melakukan advertise, atau
meminta izin untuk membawa data, tetapi beberapa bagian spasi address adalah
milik orang lain, akibatnya proses advertise malah menyulitkan.
Internet tanpa BGP
Kemungkinan yang harus ditempuh tanpa melibatkan BGP ke
provider:
Harus membuat rute default ke upstream provider, dan semua paket non-lokal
diantarkan melalui interface yang ditetapkan oleh rute tersebut.
Provider akan menerapkan rute-rute statis ke network
kita, dan mendistribusi ulang rute tersebut melalui IGP mereka. Dari IGP,
selanjutnya bisa juga diredistribusikan ke BGP.
Dengan BGP, provider akan memberi kita semua rute yang mereka miliki, dan
berusaha “mendengarkan” setiap announcement rute-rute yang kita miliki untuk
kemudian meredistribusikannya ke peer-peer atau customer tujuan.
Hubungan BGP Neighbor
Arisitektur Internet sebenarnya tersusun atas AS-AS yang
saling terkoneksi. Router yang berkomunikasi langsung melalui BGP dikenal
sebagai BGP speaker. Beberapa BGP speaker dapat ditempatkan pada AS yang sama
atau AS yang berbeda. Dalam masing-masing AS ini, BGP speaker berkomunikasi
satu sama lain untuk melakukan pertukaran informasi reachabilitas network
berdasarkan set-set policy yang dibangun dalam AS-AS.
Beberapa versi BGP
BGP versi 1
- Ukuran message 8 – 1024 byte.
- Terdapat 8 bit field Direction yang menandkan arah yang
diambil oleh informasi routing.
- Lima kemungkinan field Direction: Up, Down, Horizontal, EGP-derived
information, Incomplete
BGP versi 2
- Ukuran message 19 – 4096 byte.
- Menghilangkan konsep up, down, dan horizontal di antara
AS-AS
- Menambahkan konsep path-attribute.
BGP versi 3
- Ukuran message 19 – 4096 byte
- Mengklarifikasi prosedur pendistribusian rute-rute BGP di
antara speaker-speaker dalam sebuah AS.
- Meningkatkan restriksi terhadap penggunaan path attribute
Next-hop
BGP versi 4
- Ukuran message 19 – 4096 byte.
- Path atribute AS telah dimodifikasi sehingga set AS-AS
dapat digambarkan sebagaimana AS individual.
- Inter-AS Metric path attribute telah didefinisikan ulang
sebagai Multi-Exit Discriminator path attribute.
- Local preference path attribute ditambahkan.
- Aggregator path attribute ditambahkan.
- Dukungan untuk CIDR (Classless Inter Domain Routing)
Ringkasan Operasi BGP
Saat sebuah router BGP baru dibangun, peer-peer BGP
dengan sendirinya melakukan pertukaran tabel routing yang mereka miliki,
setelah itu peer-peer mengirim notifikasi atau pemberitauan berkaitan dengan
perubahan yang terjadi pada tabel routing. Update message memberi informasi
peer BGP hanya untuk satu path. Bila perubahan yang timbul mempengaruhi banyak
path, maka multiupdate, message perlu dikirim.
Setelah BGP menghimpun update-update routingnya dari beragam AS, protokol akan
membuat keputusan untuk mengambil path spesifik untuk masing-masing rute
tujuan. Biasanya hanya satu path yang dibutuhkan untuk mencapai satu tujuan.
BGP menggunakan atribut path (path attribute) yang dilepas kepadanya melalui
update message agar bisa menentukan satu path terbaik bagi setiap tujuan.
Ada dua bentuk sistem koneksi transport protocol yang
penting dimengerti. Mereka saling bertukar pesan (message) untuk membuka dan
mengkonfirmasi parameter-parameter koneksi. Alur data awal yang dihasilkan
tidak lain berupa keseluruhan tabel routing BGP, yang selanjutnya beberapa
update penambahan dikirim sebagai perubahan pada tabel routing. BGP dalam hal
ini tidak menuntut refresh secara periodik atas keseluruhan tabel routing. Oleh
karena itu, BGP speaker harus memelihara versi terkini keseluruhan tabel
routing BGP dari semua peer-nya selama durasi koneksi tertentu.
Pesan KeepAlive dikirim secara periodik untuk memastikan kelancaran koneksi.
Pesan Notification dikirim untuk merespon adanya error atau kondisi-kondisi
khusus yang terjadi. Jika sebuah koneksi menemukan sebuah error, pesan
Notification segera dikirim dan koneksi pun ditutup.
Perangkat Hardware & Software untuk Komunikasi BGP
Perlengkapan yang dibutuhkan adalah router komersial
seperti Cisco router dan Bay router atau klon-klon PC yang menjalankan Linux,
BSD, atau varian Unix lainnya dibantu dengan program yang dinamakan gated untuk
memanage BGP.
eBGP vs iBGP
BGP mensupport dua tipe pertukaran informasi routing:
- Pertukaran di antara AS-AS yang berbeda (external BGP
atau eBGP)
- Pertukaran dalam satu AS tunggal (internal BGP atau iBGP)
Sebuah sistem BGP berbagi informasi reachabilitas network
dengan sistem-sitem BGP berdekatan lainnya yang dikenal dengan neighbor atau
peer. Sistem BGP tersusun atas grup-grup (groups). Dalam sebuah grup BGP
internal, semua peer anggota grup (internal peer) berada dalam AS yang sama.
Grup internal menggunakan rute-rute dari IGP untuk memutuskan penyampaian atau
forwarding address-adress. Mereka juga menyebarkan rute-rute eksternal di
antara router-router internal lain yang menjalankan BGP internal, menghitung
next hop dengan mengambil hop BGP yang diterima dengan rute, lalu memutuskannya
menggunakan informasi yang diperoleh dari salah satu IGP.
eBGP dan iBGP saling berbagi protokol level dasar yang sama untuk bertukar rute
dan juga berbagi algoritma. Namun eBGP digunakan untuk bertukar rute di antara
AS yang berbeda, sedang iBGP digunakan untuk bertukar rute di antara AS yang
sama. Dalam faktanya, iBGP termasuk salah satu “interior routing protocol” yang
dapat digunakan untuk melakukan routing aktif dalam sebuah network.
Perbedaan utama eBGP dan iBGP adalah bahwa eBGP tidak bosan-bosannya mencoba
meng-advertise setiap rute BGP yang diketahui ke semua orang sehingga mungkin
harus digunakan filter untuk menghentikannya. Sedang iBGP pada dasarnya cukup
sulit bekerja karena iBGP tidak meredistribusi rute-rute. Speaker iBGP dalam
lingkungan network harus melakukan peer dengan semua speaker iBGP lain untuk
membuatnya dapat bekerja (routing mesh).
AS Number (ASN)
ASN merupakan nomor unik yang mengidentifikasikan AS-AS.
Nomor ini diatur oleh ARIN (Autonomous Number from The American Registry for
Internet Numbers).
Kondisi yang harus dipenuhi untuk mendapatkan nomor AS:
Unique Routing Policy
Multi-homed Site
AS-Path
Setiap kali sebuah rute disebarkan melalui BGP, ia akan diberi ‘perangko’ dengan
sebuah nomor AS (AS number) dari router yang menyelenggarakannya. Rute ini
bergerak dari satu AS ke AS lain sehingga membentuk sebuah alur atau path
(AS-Path)
Kegunaan AS-Path:
- Memberikan penelusuran diagnostik terhadap routing dalam
sebuah network.
- Merupakan salah satu nomor metric yang menetapkan
bagimana rute-rute yang “didengar” melalui BGP dimasukkan ke dalam tabel
routing IP.
- Memungkinkan untuk melakukan routing policy, misalkan
ketika kita ingin mengambil rute tertentu.
BGP Message
- Open: untuk membuat koneksi BGP di antara 2 sistem BGP
- Update: untuk melakukan pertukaran informasi
reachabilitas network.
- KeepAlive: untuk menetapkan apakah sebuah link atau host
fail atau tidak lagi eksis.
- Notification: dikirim ketika kondisi error terdeteksi;
menyebabkan sesi BGP dan koneksi TCP di antara sistem-sistem BGP akan ditutup.