Kamis, 17 April 2008

TUGAS JARKOM

BGP INTI DARI DUNIA INTERNET

“Kunci utama dari terjadinya dunia Internet adalah routing protocol BGP. BGP memiliki kelebihan yang sangat luar biasa, yaitu fleksibilitas mengatur rute-rute yang ingin dikirim dan terima dari dunia luar.”

Routing protocol BGP menjadi rumit karena banyak sekali pernak-pernik yang dapat Kita atur dan harus diperhatikan jika ingin semuanya berjalan lancar. Jika mau bekerja sesuai dengan keinginan, Kita harus selalu melakukan modifikasi, tuning, perbaikan, dan terus-menerus memainkan atribut-atribut yang mengiringi jalannya routing protokol ini. Dan itupun sangat rentan terhadap masalah jika Kita tidak berhati-hati.

Kalau sudah bermasalah pasti keseluruhan akses Kita ke Internet menjadi kacau. Bukan hanya itu saja, server-server, pelanggan-pelanggan, dan semua jaringan yang ada di belakang router BGP milik Kita tidak dapat dikenali lagi dari dunia Internet. Masalah ini menjadi sangat fatal kalau jaringan yang mengkitalkan router BGP ini sudah berskala besar. Maka dari itu, perlu keahlian khusus dan pengalaman yang sudah cukup banyak untuk dapat mengatur routing protocol ini.

Berikut ini adalah beberapa poin penting yang perlu diketahui untuk mempelajari routing protokol BGP lebih dalam lagi. Untuk mempelajarinya, mungkin akan membutuhkan waktu yang cukup lama, namun dengan mengetahui poin-poin pentingnya, tentu akan lebih mudah bagi Kita untuk mempelajarinya lebih dalam lagi.

A. Jenis-jenis BGP

Routing protokol BGP dibagi menjadi dua subbagian besar yang berbeda berdasarkan fungsi, lokasi berjalannya sesi BGP, dan kebutuhan konfigurasinya:

1. IBGP (Internal BGP)

Sesuai dengan namanya, internal BGP atau IBGP adalah sebuah sesi BGP yang terjalin antara dua router yang menjalankan BGP yang berada dalam satu hak administrasi, atau dengan kata lain berada dalam satu autonomous system yang sama. Sesi internal BGP biasanya dibangun dengan cara membuat sebuah sesi BGP antarsesama router internal dengan menggunakan nomor AS yang sama.

Biasanya IBGP berguna untuk memungkinkan router internal saling bertukar rute-rute yang didapat dari dunia luar. Dengan demikian semua router saling dapat mengetahui rute-rute apa saja yang disimpan oleh masing-masing router. Setelah mengetahui lebih banyak rute, maka jalan menuju ke suatu situs di internet memiliki banyak pilihan.

IBGP biasanya digunakan pada jaringan internal ISP atau perusahaan-perusahaan besar. Tujuannya adalah agar antarsesama router di dalamnya dapat saling bertukar informasi yang didapat dari dunia luar, atau dengan kata lain dari AS number lain. Untuk menjalankan IBGP dalam jaringan internal, sebuah sesi IBGP memerlukan bantuan routing protocol yang lain. Tujuannya adalah agar router tetangga yang menjadi tujuan sesi IBGP dapat dicapai oleh router tersebut. Hal ini diperlukan karena untuk membuka sebuah sesi BGP diperlukan reachability ke tetangga tujuannya.

Sebuah sesi IBGP antardua buah router atau lebih tidak memerlukan koneksi secara langsung, atau dengan kata lain tidak memerlukan koneksi Point-to-Point. Kita bisa membangun sesi IBGP antardua router meskipun keduanya berada dalam jarak yang jauh, asalkan tidak terpisah dalam autonomous system yang lain. Namun syarat untuk membuatnya demikian adalah desain dan implementasi internal routing protocol yang baik. Internal routing protocol sangat berguna untuk melakukan routing terhadap paket-paket komunikasi BGP sehingga bisa sampai dari router asal ke router tujuannya.

2. EBGP (External BGP)

Kebalikannya dari IBGP, External BGP atau sering disingkat EBGP berarti sebuah sesi BGP yang terjadi antardua router atau lebih yang berbeda autonomous systemnya atau berbeda hak administratif. Tidak hanya sekadar beda nomor AS saja, namun benar-benar berbeda administrasinya. Jadi misalnya router Kita dengan router ISP ingin dapat saling bertukar informasi dengan menggunakan bantuan BGP, maka kemungkinan besar Kita akan membuat sesi EBGP. Hal ini dikarena autonomous system router Kita dengan router ISP dibuat berbeda.

Pihak ISP tentu tidak akan memasukkan router BGP Kita dalam autonomous systemnya karena memang bukan hak dan kewajiban mereka untuk mengurus router Kita. Dengan perbedaan autonomous system ini, maka seperangkat peraturan saat melakukan routing update tentu berbeda dengan apa yang ada dalam IBGP. Untuk itulah sesi BGP jenis ini dikategorikan berbeda, yaitu sebagai External BGP.

Sesi External BGP biasanya dibuat dengan menggunakan bantuan media point-to-point seperti misalnya line Point-to-Point serial, satelite Point-to-Point, wireless Point-to-Point, dan banyak lagi. Sesi EBGP biasanya terjadi pada router yang letaknya berada di perbatasan antara jaringan Kita dengan jaringan lain, atau sering disebut juga dengan istilah border router. Tujuan utama dibuatnya EBGP adalah untuk memudahkan pendistribusian informasi routing dari pihak luar ke jaringan Kita.

B. Cara Kerja Router Menjalankan Routing Protokol 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 sampai 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.
  6. Setelah semuanya berjalan dengan baik, maka sebuah sesi BGP dapat bekerja dengan baik pada router Kita.

Untuk membentuk dan mempertahankan sebuah sesi BGP dengan router tetangganya, BGP mempunyai mekanismenya sendiri yang unik. Pembentukan sesi BGP ini mengkitalkan 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.

  1. 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.

  1. 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.

  1. 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.

C. 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, Kita dapat dengan bebas mengatur bagaimana karakteristik dan sifat dari sesi BGP tersebut.

Untuk melayani Kita 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 Kita 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 mkitatory. 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 tkitanya adalah huruf “e” untuk exterior. Sedangkan apabila rute didapat dari hasil redistribusi dari routing protokol lain, maka tkitanya adalah “?” yang artinya adalah incomplete.

  1. AS_Path

Atribut ini harus ada pada setiap rute yang dipertukarkan menggunakan BGP. Atribut ini menunjukkan perjalanan paket dari awal hingga berakhir di tempat Kita. 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 Kita.

  1. 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 Mkitatory.

  1. 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.

  1. 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.

  1. 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.

  1. 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.

  1. 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.

  1. 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.

  1. 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.

  1. 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 Kita dapat mengatur dengan leluasa jalan mana yang akan digunakan. Weight tidak digunakan pada router lain selain Cisco.

D. Proses Path Selection (Pemilihan Jalur Terbaik) dalam BGP

Router 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. 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.

6. Jika atribut Origin pada rute-rute tersebut sama, maka atribut selanjutnya yang digunakan adalah MED (Multi Exit Discriminator). MED merupakan atribut untuk memungkinkan Kita 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.

7. 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.

8. 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.

9. 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 Kita dapat memodifikasi dan mengubah atribut-atribut yang ada pada sebuah rute, sehingga proses pemilihan jalur terbaik ini juga dapat Kita atur. Dengan mengatur proses ini, maka Kita dapat mengatur lalu-lintas data yang keluar masuk jaringan Kita.

0 komentar:


Blogspot Template by Isnaini Dot Com