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
- 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
- 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.
Version
BGP Version 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)
Cara Kerja
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.