27 Okt 2015

Border Gateway Protocol (BGP)

Image result for BGP network
Border Gateway Protocol atau yang sering disingkat BGP merupakan salah satu jenis routing protocol yang ada di dunia komunikasi data. Sebagai sebuah routing protocol, BGP memiliki kemampuan melakukan pengumpulan rute, pertukaran rute dan menentukan rute terbaik menuju ke sebuah lokasi dalam jaringan. Routing protocol harus dilengkapi dengan algoritma yang pintar dalam mencari jalan terbaik. Namun yang membedakan BGP dengan routing protocol lain seperti misalnya OSPF dan IS-IS adalah BGP salah satu yang termasuk dalam kategori routing protocol jenis Exterior Gateway Protocol (EGP).

Protocol ini yang menjadi backbone dari jaringan internet dunia. BGP adalah protokol routing inti dari internet yg digunakan untuk melakukan pertukaran informasi routing antar jaringan. BGP dijelaskan dalam RFC 4271. RFC 4276 menjelaskan implementasi report pada BGP-4, RFC 4277 menjelaskan hasil ujicoba penggunaan BGP-4. Ia bekerja dengan cara memetakan sebuah tabel IP network yang menunjuk ke jaringan yg dapat dicapai antar Autonomous System (AS). Hal ini digambarkan sebagai sebuah protokol path vector. BGP tidak menggunakan metrik IGP (Interior Gateway Protocol) tradisional, tapi membuat routing decision berdasarkan path, network policies, dan atau ruleset. dari Januari 2006 hingga saat ini BGP versi 4 masih digunakan. BGP mendukung Class Inter-Domain Routing dan menggunakan route aggregation untuk mengurangi ukuran tabel routing. sejak tahun 1994, BGP-4 telah digunakan di internet. semua versi dibawahnya sudah tidak digunakan. BGP diciptakan untuk menggantikan protokol routing EGP yang mengijinkan routing secara tersebar sehingga tidak harus mengacu pada satu jaringan backbone saja.

Multi Protocol Label Switching (MPLS) adalah jaringan (network) yang didefinisikan oleh IETF untuk memadukan mekanisme label swapping di layer dua dengan routing di layer tiga untuk mempercepat pengiriman paket. Arsitektur MPLS dirancang guna memenuhi karakteristik-karakteristik wajib dari sebuah jaringan kelas carrier (pembawa) berskala besar.[IETF]

Multiprotocol Label Switching (MPLS) merupakan sebuah teknik yang menggabungkan kemampuan manajemen switching yang ada dalam teknologi ATM dan fleksibilitas network layer yang dimiliki teknologi IP. Konsep utama MPLS ialah teknik peletakan label dalam setiap paket yang dikirim melalui jaringan ini. MPLS bekerja dengan cara memberi label untuk paket-paket data, untuk menentukan rute dan prioritas pengiriman paket tersebut. Label tersebut akan memuat informasi penting yang berhubungan dengan informasi routing suatu paket, diantaranya berisi tujuan paket serta prioritas paket mana yang harus dikirimkan terlebih dahulu.
Teknik ini biasa disebut dengan label switching. Dengan informasi label switching yang didapat dari router network layer, setiap paket hanya dianalisa sekali di dalam router dimana paket tersebut masuk dalam jaringan untuk pertama kali. Router tersebut berada di tepi dan dalam jaringan MPLS yang biasa disebut label switching router (LSR).

Network MPLS terdiri atas sirkit yang disebut label-switched path (LSP), yang menghubungkan titik-titik yang disebut label-switched router (LSR). LSR pertama dan terakhir disebut ingress dan egress. Setiap LSP dikaitkan dengan sebuah forwarding equivalence class (FEC), yang merupakan kumpulan paket yang menerima perlakukan forwarding yang sama di sebuah LSR. FEC diidentifikasikan dengan pemasangan label.


Untuk membentuk LSP, diperlukan suatu protokol persinyalan. Protokol ini menentukan forwarding berdasarkan label pada paket. Label yang pendek dan berukuran tetap mempercepat proses forwarding dan mempertinggi fleksibilitas pemilihan path. Hasilnya adalah network datagram yang bersifat lebih connection-oriented.

Penggunaan label swapping ini memiliki banyak keuntungan. Ia bisa memisahkan masalah routing dari masukan forwarding. Routing merupakan masalah jaringan global yang membutuhkan kerjasama dari semua router sebagai partisipan. Sedang forwarding (pengiriman) merupakan masalah setempat. Router switch mengambil keputusannya sendiri tentang jalur mana yang akan diambil. MPLS juga memiliki kelebihan yang mampu memperkenalkan kembali connection stak ke dalam dataflow IP.

Algoritma Multi Protocol Label Switching (MPLS)adalah suatu metode forwarding paket yang melalui suatu jaringan dengan menggunakan informasi label yang dilekatkan pada paket IP. Dan merupakan perkembangan terbaru dari multilayer switch yang diusahakan oleh IETF (InternetEngineering Task Force). Hal ini dilakukan agar terdapat standar untuk multilayer switch dan mendukung interoperabilitas. Disebut multiprotokol karena tekniknya dapat diterapkan pada semua protokol layer jaringan. Dasar teknologi label switching mampu meningkatkan performansi routing,memperbaiki jangkauan layer jaringan, dan menyediakan fleksibilitas yang lebih besar dalam pengiriman pelayanan routing. MPLS menerapkan komponen control yang mirip dengan multilayer switch. Untuk mendukung interoperabilitas, MPLS mendefinisikan pensinyalan IP dan protokol distribusi label yang baru. Sedangkan komponen forwardingnya berdasarkan algoritma label swapping.

BGP memiliki sifat-sifat yang terkait yang digunakan untuk menentukan rute terbaik menuju suatu tujuan bila beberapa jalur, untuk tujuan tertentu. Sifat-sifat ini disebut sebagai atribut BGP, dan pemahaman tentang bagaimana pengaruh atribut BGP pilihan rute diperlukan untuk desain jaringan yang kuat. Bagian ini menjelaskan tentang atribut BGP dalam proses seleksi rute:
·         Weight
·         Local preference
·         Multi-exit discriminator
·         Origin Attribute
·         AS_path
·         Next hop

Weight Attribute
Weight adalah atribut yang didefinisikan oleh Cisco dari lokal ke router. Weight Attribute tidak ditujukan ke neighboring routers. Jika router menuju ke lebih dari satu rute ke tujuan yang sama, rute dengan berat tertinggi akan lebih disukai. Dalam Gambar 39-2, Router A adalah menerima advertisement untuk jaringan 172.16.1.0 dari router B dan C. Ketika router A menerima advertisement dari Router B, weight yang terkait di set menjadi 50. Ketika router A menerima iklan dari Router C, weight yang terkait di set menjadi 100. Kedua jalur untuk jaringan 172.16.1.0 akan ada di tabel routing BGP, dengan bobot masing-masing. Rute dengan weight tertinggi akan dipasang di IP tabel routing.
Local preference
Atribut local preference ini digunakan untuk memilih titik exit dari sistem autonom (AS) lokal. Tidak seperti weight atribut, atribut local preference disebarkan di seluruh local AS. Jika ada beberapa titik exit dari AS, atribut local preference digunakan untuk memilih titik exit rute tertentu. Dalam Gambar 39-3, AS 100 adalah menerima dua iklan untuk jaringan 172.16.1.0 dari AS 200. Ketika router A menerima iklan untuk jaringan 172.16.1.0, local preference yang sesuai diatur 50. Ketika Router B menerima iklan untuk jaringan 172.16.1.0, local preference yang sesuai diatur 100. Nilai-nilai local preference ini akan dipertukarkan antara router A dan B. Karena Router B mempunyai preferensi lokal yang lebih tinggi daripada Router A, Router B akan digunakan sebagai titik keluar dari AS 100 untuk mencapai jaringan 172.16.1.0 di AS 200.

Multi-exit discriminator
Multi-exit discriminator(MED) atau atribut metrik digunakan sebagai saran untuk eksternal AS yang berkaitan dengan rute yang terpilih menuju AS yang mengiklankan metrik.
Istilah saran ini digunakan karena AS eksternal yang menerima MED mungkin menggunakan atribut BGP lain untuk seleksi rute. Dalam Gambar 39-4, Router C mengiklankan rute 172.16.1.0 dengan metrik 10, sementara Rute D mengiklankan 172.16.1.0 dengan metrik 5. Nilai metrik yang lebih rendah lebih disukai, sehingga AS 100 akan memilih rute ke Router D untuk jaringan 172.16.1.0 di AS 200. Meds diiklankan di seluruh lokal AS.

Origin Attribute
Origin Attribute menunjukkan bagaimana BGP belajar tentang rute tertentu. Origin attribute dapat memiliki salah satu dari tiga kemungkinan nilai:
·         IGP-Rute yang merupakan interior ke originating AS. Nilai ini mengatur kapan perintah konfigurasi router jaringan digunakan untuk menginject rute ke BGP.
·         EGP-Rute yang dipelajari melalui Exterior Border Gateway Protocol (EBGP).
·         Tidak lengkap-Asal dari rute yang tidak diketahui atau dipelajari di beberapa cara lain. Sebuah asal yang tidak lengkap terjadi ketika rute didistribusikan ke BGP.

AS_path Attribute
Ketika sebuah iklan rute melewati sistem autonom, maka nomor AS akan ditambahkan ke daftar terurut sebagai nomor AS yang iklan rute nya telah dilewati. Gambar dibawah ini menunjukkan situasi di mana rute melewati tiga sistem otonom.
AS 1 berasal dari rute 172.16.1.0 dan mengiklankan rute ini kepada AS 2 dan AS 3, dengan atribut AS_path sama dengan (1). AS 3 akan mengiklankan kembali ke AS 1 dengan AS-path atribut (3,1), dan AS 2 akan mengiklankan kembali ke AS 1 dengan AS-path atribut (2,1). AS 1 akan menolak rute ini ketika nomor AS sendiri terdeteksi di rute iklan. Ini adalah mekanisme yang digunakan untuk mendeteksi BGP routing loop. AS 2 dan AS 3 menyebarkan rute satu sama lain dengan nomor ASnya ditambahkan ke AS_path atribut. Rute tersebut tidak akan diinstal dalam tabel routing IP karena AS 2 dan AS 3 mempelajari rute 172.16.1.0 dari AS 1 dengan daftar AS_path yang lebih singkat.

Next-Hop Atribut
Next-Hop Atribut EBGP adalah alamat IP yang digunakan untuk mencapai router iklan. Untuk EBGP peers, next-hop address adalah alamat IP dari hubungan antar peers. Untuk IBGP, next-hop address dilakukan ke lokal AS, seperti digambarkan pada Gambar dibawah.
Dalam Gambar dibawah, AS 1 mengiklankan 172.16.1.0 kepada AS 2 dengan atribut komunitas no-advertise. Router B di AS 2 akan tidak mengiklankan rute ini ke router lainnya.




Gambar dibawah ini menunjukkan community atribut Internet. Tidak ada keterbatasan ruang lingkup iklan rute dari AS 1.

BGP Path Selection
BGP mungkin menerima beberapa iklan untuk rute yang sama dari beberapa sumber. BGP memilih hanya satu jalur sebagai jalan terbaik. Ketika jalan dipilih, BGP menempatkan jalan yang dipilih dalam tabel routing IP dan menyebarkan path ke tetangga-tetangganya. BGP menggunakan kriteria berikut, dalam urutan yang disajikan, untuk memilih jalan tujuan:
·         Jika path menetapkan hop berikutnya tidak dapat diakses, maka drop update.
·         Pilih path dengan weight terbesar.
·         Jika bobot sama, pilih jalan dengan local preference terbesar.
·         Jika preferensi lokal adalah sama, pilih path dimana BGP berasal berjalan pada router ini.
·         Jika tidak ada rute asal, pilih rute terpendek yang memiliki AS_path.
·         Jika semua jalan AS_path yang sama panjang, pilih path dengan jenis asal terendah (di mana IGP lebih rendah daripada EGP, dan EGP lebih rendah daripada yang tidak lengkap).
·         Jika kode asal yang sama, pilih path dengan atribut MED yang paling rendah.
·         Jika jalur MED yang sama, pilih path eksternal melalui path internal.
·         Jika jalan masih sama, pilih jalan melalui IGP tetangga terdekat.
·         Pilih jalan dengan alamat IP yang paling rendah, seperti yang ditentukan oleh BGP router ID.


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)


Kegunaan BGP :
BGP merupakan satu-satunya routing protocol yang dapat digunakan untuk menghubungkan dua organisasi besar yang berbeda kepentingan. Meskipun routing protocol jenis EGP bukan hanya BGP, namun tampaknya BGP sudah menjadi standar internasional untuk keperluan ini. Hal ini dikarenakan BGP memiliki fitur-fitur yang luar biasa banyak dan fleksibel. Mulai dari pengaturan frekuensi routing update, sistem pembangunan hubungan dengan AS tetangga, system hello, policy-policy penyebaran informasi routing, dan banyak lagi fitur lain yang dapat Anda modifikasi dan utak-atik sendiri sesuai dengan selera. Maka dari itu BGP merupakan routing protocol yang dapat dikontrol sebebas-bebasnya oleh pengguna. Dengan demikian, banyak sekali kebutuhan yang dapat terpenuhi dengan menggunakan BGP. BGP juga sangat tepat jika sebuah perusahaan memiliki jalur menuju internet yang berjumlah lebih dari satu. Kondisi jaringan dimana memiliki jalur keluar lebih dari satu buah ini sering disebut dengan istilah multihoming.
Jaringan multihoming pada umumnya adalah jaringan berskala sedang sampai besar seperti misalnya ISP, bank, perusahaan minyak multinasional, dan banyak lagi. Biasanya jaringan ini memiliki blok IP dan nomor AS sendiri. Peranan BGP dalam jaringan multihoming ini sangat besar. Pertama, BGP akan berperan sebagai routing protocol yang melakukan pertukaran routing dengan ISP atau NAP yang berada di atas jaringan ini. Kedua, BGP dengan dipadukan oleh pengaturan policy-policynya yang sangat fleksibel dapat membuat sistem load balancing traffic yang keluar masuk. Bagaimana membuat sistem load balancing dengan menggunakan BGP. Selain itu, BGP juga merupakan routing protocol yang sangat reliable kerjanya. Hal ini dikarenakan BGP menggunakan protocol TCP untuk berkomunikasi dengan tetangganya dalam melakukan pertukaran informasi. TCP merupakan protocol yang menganut sistem reliable service, di mana setiap sesi komunikasi yang dibangun berdasarkan protocol ini harus dipastikan sampai tidaknya.
Pemastian ini dilakukan menggunakan sistem acknowledge terhadap setiap sesi komunikasi yang terjadi. Dengan demikian, hampir tidak ada informasi routing dari BGP yang tidak sampai ke perangkat tujuannya. Routing protocol BGP yang sekarang banyak digunakan adalah BGP versi 4 atau lebih sering disingkat sebagai BGP-4.

Karakterisitik BGP :
Kecanggihan dan kerumitan BGP sebenarnya dapat diperjelas intinya dengan beberapa karakteristik kunci. Berikut ini adalah karakteristik routing protocol BGP yang menandakan ciri khasnya:
1. BGP adalah Path Vector routing protocol yang dalam proses menentukan rute-rute terbaiknya selalu mengacu kepada path yang terbaik dan terpilih yang didapatnya dari router BGP yang lainnya.
2. Routing table akan dikirim secara penuh pada awal dari sesi BGP, update selanjutnya hanya bersifat incremental atau menambahi dan mengurangi routing yang sudah ada saja.
3. Router BGP membangun dan menjaga koneksi antar-peer menggunakan port TCP nomor 179.
4. Koneksi antar-peer dijaga dengan menggunakan sinyal keep-alive secara periodik.
5. Kegagalan menemukan sinyal keep-alive, routing update, atau sinyal-sinyal notifikasi lainnya pada sebuah router BGP dapat memicu perubahan status BGP peer dengan router lain, sehingga mungkin saja akan memicu update-update baru ke router yang lain.
6. Metrik yang digunakan BGP untuk menentukan rute terbaik sangat kompleks dan dapat dimodifikasi dengan sangat fleksibel. Ini merupakan sumber kekuatan BGP yang sebenarnya. Metrik-metrik tersebut sering disebut dengan istilah attribute.
7. Penggunaan sistem pengalamatan hirarki dan kemampuannya untuk melakukan manipulasi aliran traffic membuat routing protocol BGP sangat skalable untuk perkembangan jaringan dimasa mendatang.
8. BGP memiliki routing table sendiri yang biasanya memuat informasi prefix-prefix routing yang diterimanya dari router BGP lain. Prefix-prefix ini juga disertai dengan informasi atributnya yang dicantumkan secara spesifik di dalamnya.
9. BGP memungkinkan memanipulasi traffic menggunakan attribute-attributenya yang cukup banyak. Attribute ini memiliki tingkat prioritas untuk dijadikan sebagai acuan.




1 komentar: