Mengenal BGP, Protokol yang Mengatur Jalur Data di Internet
Ketika membuka website, menonton video streaming, bermain game online, atau mengirim pesan melalui internet, data yang kita kirim sebenarnya harus melewati berbagai jaringan sebelum sampai ke tujuan. Perjalanan tersebut tidak selalu berlangsung melalui satu jalur yang sama. Data dapat melewati jaringan milik operator, penyedia layanan internet atau Internet Service Provider (ISP), perusahaan teknologi, hingga jaringan internasional.
Agar berbagai jaringan tersebut dapat saling berkomunikasi dan menentukan jalur terbaik untuk mengirimkan data, internet membutuhkan protokol routing yang mampu bekerja dalam skala sangat besar. Salah satu protokol terpenting dalam sistem tersebut adalah Border Gateway Protocol (BGP).
BGP dapat dianggap sebagai salah satu fondasi utama internet modern. Protokol ini bertugas mengatur pertukaran informasi mengenai rute jaringan antar-Autonomous System (AS). Dengan informasi tersebut, jaringan dapat menentukan ke mana paket data harus dikirim agar bisa mencapai jaringan tujuan.
Jika internet diibaratkan sebagai sistem jalan raya global, BGP dapat dianalogikan sebagai sistem yang membantu menentukan rute antarkota dan antarnegara. BGP tidak sekadar mencari jalan yang paling pendek, tetapi mempertimbangkan berbagai aturan dan kebijakan jaringan sebelum memilih jalur yang dianggap paling sesuai.
Apa Itu Border Gateway Protocol?
Border Gateway Protocol atau BGP adalah protokol routing yang digunakan untuk bertukar informasi routing antar-Autonomous System di internet.
Autonomous System merupakan sekumpulan jaringan atau prefix IP yang berada di bawah satu administrasi dan memiliki kebijakan routing sendiri. Setiap AS memiliki nomor identifikasi yang disebut Autonomous System Number (ASN).
Contohnya, sebuah ISP besar dapat memiliki satu atau beberapa ASN untuk mengidentifikasi jaringan yang mereka kelola. Ketika ISP tersebut terhubung dengan ISP lain, kedua jaringan dapat menggunakan BGP untuk bertukar informasi mengenai jaringan yang mereka miliki dan jalur yang dapat digunakan untuk mencapainya.
Karena internet terdiri dari ribuan jaringan independen, dibutuhkan mekanisme yang memungkinkan setiap jaringan mengetahui bagaimana cara mencapai jaringan lainnya.
Di sinilah BGP memainkan peran penting.
BGP tidak hanya melihat apakah sebuah tujuan dapat dicapai. Protokol ini juga membawa informasi mengenai jalur yang harus dilewati oleh sebuah rute, kemudian menggunakan berbagai atribut untuk menentukan jalur yang paling sesuai.
Bagaimana Cara Kerja BGP?
BGP menggunakan pendekatan Path Vector. Berbeda dari protokol routing tertentu yang terutama mengandalkan metrik jarak atau biaya, BGP mempertimbangkan informasi mengenai jalur Autonomous System yang harus dilewati.
Salah satu informasi terpenting yang dibawa BGP adalah AS_PATH. Atribut ini menunjukkan daftar AS yang dilewati sebuah rute.
Misalnya, jaringan A ingin mencapai jaringan D. Informasi routing yang diterima mungkin menunjukkan bahwa rute tersebut harus melewati AS 100, kemudian AS 200, lalu AS 300 sebelum mencapai tujuan.
Dengan mengetahui jalur tersebut, BGP dapat membantu mencegah terjadinya routing loop. Jika sebuah router melihat nomor AS-nya sendiri sudah tercantum dalam AS_PATH, rute tersebut dapat ditolak karena berpotensi menciptakan jalur berputar.
BGP juga tidak perlu mengirim seluruh tabel routing setiap kali terjadi perubahan. Setelah sesi BGP terbentuk dan informasi awal dipertukarkan, BGP menggunakan incremental updates. Artinya, pembaruan biasanya dikirim ketika terjadi perubahan pada informasi routing.
Mekanisme tersebut sangat penting karena jumlah jaringan dan prefix di internet sangat besar. Mengirim ulang seluruh informasi routing setiap kali ada perubahan akan membutuhkan sumber daya jaringan yang jauh lebih besar.
Baca juga : Bocoran Warna iPhone Ultra Terungkap, Ada Silver dan Biru Gelap
BGP Menggunakan TCP Port 179
Salah satu karakteristik penting BGP adalah penggunaan TCP port 179 untuk membangun sesi komunikasi.
TCP membantu memastikan data pertukaran informasi BGP dapat dikirim secara andal antara dua perangkat. Sebelum bertukar informasi routing, perangkat BGP terlebih dahulu membangun hubungan komunikasi yang disebut BGP peering atau adjacency.
Setelah koneksi terbentuk, kedua perangkat dapat bertukar informasi mengenai prefix jaringan yang mereka ketahui.
Misalnya, sebuah router milik ISP A terhubung dengan router ISP B. Setelah sesi BGP terbentuk, ISP A dapat mengumumkan jaringan atau prefix yang berada di bawah pengelolaannya kepada ISP B. Sebaliknya, ISP B juga dapat mengumumkan prefix yang dapat dicapainya kepada ISP A.
Dengan mekanisme tersebut, informasi mengenai keberadaan berbagai jaringan dapat menyebar melalui internet.
Apa Itu BGP Peering?
BGP peering adalah hubungan antara dua perangkat atau sistem routing yang menggunakan BGP untuk bertukar informasi mengenai rute.
Peering dapat terjadi antara jaringan yang berbeda maupun di dalam satu jaringan yang sama. Berdasarkan hubungan tersebut, BGP secara umum dibagi menjadi dua jenis, yaitu eBGP dan iBGP.
1. eBGP
External BGP atau eBGP digunakan untuk bertukar informasi routing antara dua Autonomous System yang berbeda.
Contohnya adalah hubungan antara dua ISP. ISP A memiliki ASN tertentu, sedangkan ISP B memiliki ASN berbeda. Ketika keduanya saling bertukar rute melalui BGP, hubungan tersebut termasuk eBGP.
eBGP sangat penting dalam konektivitas internet global karena memungkinkan jaringan yang dikelola oleh organisasi berbeda untuk saling mengetahui jalur menuju jaringan masing-masing.
Hubungan antara ISP, perusahaan besar, penyedia cloud, jaringan pusat data, dan berbagai organisasi lainnya dapat menggunakan eBGP untuk mengumumkan serta menerima rute.
2. iBGP
Berbeda dengan eBGP, Internal BGP atau iBGP digunakan untuk menyebarkan informasi routing di dalam Autonomous System yang sama.
Misalnya sebuah ISP memiliki banyak router yang tersebar di berbagai kota. Router-router tersebut perlu mengetahui informasi rute yang diterima dari jaringan eksternal.
iBGP dapat digunakan untuk menyebarkan informasi tersebut ke router lain yang berada dalam AS yang sama.
Dengan demikian, eBGP lebih berkaitan dengan pertukaran rute antar-AS, sedangkan iBGP membantu menyebarkan informasi routing di dalam satu AS.
Keduanya memiliki peran berbeda tetapi saling melengkapi dalam sistem routing jaringan besar.
Bagaimana BGP Memilih Jalur?
Salah satu hal yang membuat BGP menarik adalah kemampuannya memilih jalur berdasarkan sejumlah atribut dan kebijakan.
BGP tidak selalu memilih jalur dengan jumlah hop paling sedikit. Sebuah jaringan mungkin sengaja memilih jalur tertentu karena pertimbangan performa, kebijakan bisnis, biaya koneksi, atau kebutuhan operasional.
Urutan proses pemilihan jalur dapat berbeda tergantung implementasi dan kebijakan vendor. Pada perangkat Cisco, misalnya, beberapa atribut yang umum dibahas dalam proses pemilihan jalur adalah Weight, Local Preference, AS_PATH, dan MED.
1. Weight
Pada implementasi Cisco, Weight merupakan atribut lokal yang memiliki prioritas tinggi dalam proses pemilihan jalur.
Semakin tinggi nilai Weight, semakin besar kemungkinan rute tersebut dipilih oleh router Cisco.
Weight bersifat lokal pada router sehingga tidak menjadi atribut BGP yang dibawa kepada router BGP lainnya.
Atribut ini biasanya digunakan administrator untuk memberikan preferensi terhadap jalur tertentu.
2. Local Preference
Setelah Weight, salah satu atribut penting adalah Local Preference.
Local Preference digunakan untuk menentukan jalur keluar yang lebih disukai dari suatu Autonomous System. Nilai yang lebih tinggi biasanya lebih diprioritaskan.
Misalnya sebuah perusahaan memiliki dua koneksi internet dari ISP berbeda. Administrator dapat memberikan Local Preference lebih tinggi kepada koneksi yang dianggap lebih baik sehingga trafik keluar lebih banyak diarahkan melalui koneksi tersebut.
Berbeda dari Weight yang bersifat lokal pada satu router, Local Preference digunakan di dalam satu AS untuk membantu menentukan jalur keluar.
3. AS_PATH
BGP juga mempertimbangkan panjang AS_PATH.
Secara umum, jalur dengan AS_PATH yang lebih pendek lebih disukai ketika atribut-atribut dengan prioritas lebih tinggi tidak menentukan pilihan.
Misalnya terdapat dua jalur menuju sebuah jaringan. Jalur pertama melewati tiga Autonomous System, sedangkan jalur kedua melewati lima Autonomous System. Dalam kondisi tertentu, jalur pertama dapat lebih diprioritaskan karena memiliki AS_PATH lebih pendek.
Namun, AS_PATH bukan satu-satunya faktor yang menentukan keputusan. Administrator jaringan dapat mengatur berbagai kebijakan sehingga jalur yang lebih panjang pun tetap dapat dipilih.
4. MED
Atribut lain yang dapat dipertimbangkan adalah Multi-Exit Discriminator atau MED.
MED dapat digunakan untuk memberikan saran kepada AS tetangga mengenai jalur masuk yang lebih disukai ketika terdapat beberapa koneksi antar-AS.
Secara umum, nilai MED yang lebih rendah lebih disukai dalam proses pemilihan jalur ketika atribut tersebut relevan dan dibandingkan dalam kondisi yang sesuai.
Penggunaan MED sangat berguna bagi organisasi yang memiliki beberapa titik koneksi menuju jaringan tetangga.
Mengapa BGP Sangat Penting bagi Internet?
Tanpa protokol seperti BGP, jaringan-jaringan besar di internet akan kesulitan bertukar informasi mengenai cara mencapai satu sama lain.
Bayangkan internet sebagai kumpulan negara yang masing-masing memiliki sistem jalan sendiri. Setiap negara memiliki jaringan jalan, aturan lalu lintas, dan pintu perbatasannya sendiri.
BGP berperan membantu setiap jaringan mengetahui jalur menuju jaringan lain sekaligus mempertimbangkan berbagai kebijakan dalam menentukan rute.
Ketika sebuah jaringan mengalami gangguan, informasi routing dapat berubah. BGP kemudian dapat membantu jaringan menyesuaikan jalur berdasarkan informasi yang tersedia.
Inilah alasan BGP sangat penting bagi ISP dan organisasi yang memiliki jaringan besar.
BGP juga memungkinkan perusahaan memiliki beberapa koneksi internet sekaligus. Dengan konfigurasi dan kebijakan yang tepat, administrator dapat mengatur koneksi utama, koneksi cadangan, serta jalur tertentu untuk trafik tertentu.
BGP Bukan Sekadar Mencari Jalur Terpendek
Kesalahpahaman yang cukup umum adalah menganggap BGP hanya mencari jalur paling pendek.
Padahal, BGP merupakan protokol yang sangat dipengaruhi oleh kebijakan routing.
Jalur yang dipilih belum tentu merupakan jalur dengan jumlah hop paling sedikit. Administrator jaringan dapat menentukan preferensi berdasarkan kapasitas link, biaya, keamanan, hubungan bisnis, performa, maupun kebutuhan lainnya.
Karena itu, BGP dapat disebut sebagai protokol routing berbasis kebijakan.
Pendekatan tersebut sangat penting dalam internet karena setiap jaringan memiliki kepentingan dan kebijakan yang berbeda.
Kesimpulan
Border Gateway Protocol (BGP) merupakan salah satu protokol paling penting dalam infrastruktur internet. Protokol ini memungkinkan Autonomous System yang berbeda bertukar informasi routing sehingga data dapat menemukan jalur menuju jaringan tujuan.
BGP menggunakan konsep Path Vector, berkomunikasi melalui TCP port 179, serta membangun hubungan BGP peering untuk bertukar informasi routing.
Dalam penerapannya terdapat eBGP yang digunakan antar-Autonomous System dan iBGP yang digunakan di dalam Autonomous System yang sama.
BGP juga memiliki mekanisme pemilihan jalur berdasarkan berbagai atribut. Pada implementasi Cisco, misalnya, administrator dapat mempertimbangkan Weight, kemudian Local Preference, panjang AS_PATH, serta MED dalam proses pemilihan jalur, sesuai urutan dan kondisi yang berlaku pada konfigurasi perangkat.
Dengan mekanisme tersebut, BGP tidak hanya membantu menemukan jalur menuju suatu jaringan, tetapi juga memungkinkan administrator mengendalikan bagaimana trafik bergerak berdasarkan kebijakan tertentu.
Karena internet terdiri dari begitu banyak jaringan yang dikelola oleh organisasi berbeda, kemampuan tersebut menjadi sangat penting. Setiap kali pengguna membuka website, mengakses layanan cloud, bermain game online, atau mengirim data ke server di negara lain, berbagai jaringan di belakang layar harus mengetahui bagaimana paket tersebut dapat mencapai tujuannya.
BGP menjadi salah satu mekanisme utama yang memungkinkan jaringan-jaringan tersebut tetap saling terhubung. Meskipun pengguna internet sehari-hari mungkin tidak pernah berinteraksi langsung dengan BGP, protokol inilah yang membantu menjaga konektivitas internet global tetap berjalan.