Anda di halaman 1dari 28

BGP

Border Gateway Protokol


PENGERTIAN
BGP atau Border Gateway Protokol adalah
suatu protokol routing yang
merupakan backbone dari jaringan internet di
seluruh dunia.
BGP termasuk dalam kategori Eksterior
Gateway Protocol (EGP) yang berarti
protokol ini melakukan routing antara multiple
Autonomous System (AS) atau domain dan
melakukan pertukaran routing dan informasi
reachability dengan sistem BGP lainnya.
Karakteristik BGP
– Menggunakan TCP port 179 untuk membangun dan
menjaga koneksi antar peer.
– Merupakan distance vector routing protocol, namun
kebanyakan menyebutnya Path vector protocol.
– Memiliki metric paling besar dan kompleks bila
dibandingkan protokol routing lainnya.
– Secara default best path ditentukan oleh jumlah hop,
namun hop yang dimaksud disini bukanlah sebuah
router melainkan sebuah AS (Autonomous System).
Kelebihan
1. Sangat sederhana dalam instalasi.
2. BGP memang sangat rumit dan complicated,
namun justru di sinilah letak kehebatannya.
Routing protocol BGP menjadi rumit karena
banyak sekali pernak-pernik yang dapat Anda
atur dan harus diperhatikan jika ingin semuanya
berjalan lancar. Jika mau bekerja sesuai dengan
keinginan, Anda 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 Anda tidak berhati-
hati.
Kekurangan
1. Sangat terbatas dalam mempergunakan
topologi.
2. Kalau sudah bermasalah pasti keseluruhan akses
Anda ke Internet menjadi kacau. Bukan hanya
itu saja, server-server, pelanggan-pelanggan,
dan semua jaringan yang ada di belakang router
BGP milik Anda tidak dapat dikenali lagi dari
dunia Internet. Masalah ini menjadi sangat fatal
kalau jaringan yang mengandalkan router BGP
ini sudah berskala besar. Maka dari itu, perlu
keahlian khusus dan pengalaman yang sudah
cukup banyak untuk dapat mengatur routing
protocol ini.
Waktu penggunaan routing BGP

BGP merupakan routing protocol yang kompleks


dan sulit untuk di-maintain. Dengan demikian,
penggunaannya diperlukan keahlian khusus
dan juga perangkat router berkemampuan
proses yang tinggi. Ada kalanya Anda tidak
perlu menggunakan routing protocol ini dalam
berhubungan dengan AS lain.
Jangan gunakan BGP untuk jaringan dengan
situasi seperti berikut ini:
1. Hanya ada satu buah koneksi yang menuju ke Internet
atau ke AS lain. Jaringan ini sering disebut dengan
istilah singlehoming.
2. Policy routing untuk ke Internet dan pemilihan jalur
terbaik tidak terlalu diperlukan dalam sebuah AS.
3. Perangkat router yang akan digunakan untuk
menjalankan BGP tidak memiliki cukup memory dan
tenaga processing untuk menangani update informasi
dalam jumlah besar dan konstan.
4. Keterbatasan pengetahuan dan kemampuan para
administrator jaringannya dalam hal policy routing dan
karakteristik BGP lainnya.
5. Bandwidth yang kecil yang menghubungkan AS yang
satu dengan lainnya.
Beberapa versi BGP
BGP versi 1
• Ukuran message 8 – 1024 BGP versi 2
byte.
• Ukuran message 19 –
• Terdapat 8 bit field 4096 byte.
Direction yang menandkan
• Menghilangkan konsep
arah yang diambil oleh
up, down, dan horizontal
informasi routing.
di antara AS-AS
• Lima kemungkinan field
• Menambahkan konsep
Direction: Up, Down,
path-attribute.
Horizontal, EGP-derived
information, Incomplete
BGP versi 3 BGP versi 4
• Ukuran message 19 – 4096 • Ukuran message 19 – 4096 byte.
byte • Path atribute AS telah
dimodifikasi sehingga set AS-AS
• Mengklarifikasi prosedur
dapat digambarkan sebagaimana
pendistribusian rute-rute AS individual.
BGP di antara speaker-
• Inter-AS Metric path attribute
speaker dalam sebuah AS. telah didefinisikan ulang sebagai
• Meningkatkan restriksi Multi-Exit Discriminator path
terhadap penggunaan path attribute.
attribute Next-hop • Local preference path attribute
ditambahkan.
• Aggregator path attribute
ditambahkan.
• Dukungan untuk CIDR (Classless
Inter Domain Routing)
Packet dan Tables pada BGP

Packets : Tables :
• Open  Paket ini untuk • Neighbour table 
membuka session. Berisi list tetangga sekitar
• Keepalive  Paket ini untuk yang konek via BGP
memberi tahu kalau • BGP Table  Berisi
routingnya masih eksis. daftar seluruh BGP router
• Update  Paket ini • Routing Table  Berisi
bertugas melakukan daftar route terbaik
pertukaran informasi jalur
yang masih bisa dilewati.
• Notification  Paket ini
bertugas close session kalau
something bad was happen
Implementasi dan Tuning
IBGP vs EBGP

IBGP  Internal BGP digunakan pada sebuah


Autonomous System (AS) number yang sama.

EBGP  External BGP digunakan antara AS


number yang berbeda
Membuat BGP Neighbor
Relationship
1. Configure AS Number 2. Configure Neighbor
R1(config)# router bgp 6500 R1(config-router)#
R1(config-router)# exit neighbor 10.65.12.1
remote-as 5500

Cat : sebuah router BGP cuma bisa


dipasangkan satu buah AS Cat : IP dan remote AS yang diatas
number merupakan ip dan remote AS
neighbor.
3. Lihat apakah routing BGP nya sudah naik atau
belum.
R1#sh ip bgp summary
BGP router identifier , local AS number 6500
Neighbor V AS MsgRcvd MsgSent
TblVer InQ OutQ Up/Down State/PfxRcd
10.65.12.1 4 5500 0 0 0 0 0
00:01:34 Idle

Cat :
Beberapa kondisi state pada BGP :
1. IDLE : verifying route to neighbor
2. ACTIVE : attempting connectivity to neighbor
3. OPEN SENT : open message (HELLO) sent to neighbor
4. OPEN CONFIRM : neighbor replied with open message
4. ACTIVE : neighbor failed to reply or mismatched
parameters
5. ESTABLISHED
Memahami Update Source
Kalau router kita punya multiple interface untuk
redundancy jaringan, biasanya ip yang dipakai untuk
membuat neighbor relationship dalam IBGP adalah
loopback address (bukan ip wan nya). Nah, untuk
penggunaan loopback address ini kita perlu
menambahkan command source address untuk
melakukan routing updates.

Adapun contohnya adalah sebagai berikut:


R1(config)# int loopback 4
R1(config-if)# ip address 4.4.4.4 255.255.255.255
R1(config)# router bgp 5500
R1(config-router)# neighbor 1.1.1.1 remote-as 5500
R1(config-router)# neighbor 1.1.1.1 update-source loopback 4
Memahami EBGP-Multihop
Pada EBGP, router harus directly connected. Kemudian,
bila ingin menggunakan loopback address maka harus
menggunakan tambahan argument ebgp-multihop.

R1(config-router)# neighbor 5.5.5.5 ebgp-multihop 2


cat : kebanyakan tidak bisa menggunakan lebih dari 5
hop
Advertising network dalam BGP
Ada dua cara untuk mengadvertise network pada BGP :

1. Network command

Pada BGP, network command hanya memberitahukan


network yang di advertise. Adapun command nya
adalah sebagai berikut :

R1(config)# router bgp 5500


R1(config-router)# network 50.0.0.0 atau
R1(config-router)# network 50.1.1.0 mask 255.255.255.0
2. Redistribution

Cara ini bisa dilakukan dengan membuat access-list, kemudian


route-map untuk memfilter redistribution

access-list 1 permit 170.10.0.0 0.0.255.255

route-map FILTER permit 10


match ip-address 1
set metric 2

R1(config-router)# redistribute connected route-map FILTER


Memahami BGP Peer Groups

Dengan BGP peer groups ini kita bisa melakukan konfigurasi dalam group secara
global daripada harus mensetting neighbor secara satu persatu (intinya sih ada satu
global command yang bisa di copy paste). Adapun langkah membuatnya :

1.Buat sebuah group dengan menggunakan command global :

R1(config)# router bgp 5500


R1(config-router)# neighbor IBGP_PEERS peer-group
R1(config-router)# neighbor IBGP_PEERS remote-as 5500
R1(config-router)# neighbor IBGP_PEERS next-hop-self
R1(config-router)# neighbor IBGP_PEERS update-source loopback 1

2. Kemudian terapkan pada seluruh individual neighbor

R1(config-router)# neighbor 2.2.2.2 peer-group IBGP_PEERS


R1(config-router)# neighbor 3.3.3.3 peer-group IBGP_PEERS
Tuning Attributes
Attribute merupakan cara untuk menentukan incoming atau outgoing BGP routes.

BGP menggunakan attributes untuk menemukan jalur terbaik (best path) dengan cara
sebagai berikut:

1.Memilih jalur dengan nilai WEIGHT tertinggi (harus di set oleh network admin,
bila tidak di set, default nya bernilai 0). Contoh command setting WEIGHT :

R1(config)# router bgp 5500


R1(config-router)# neighbor 3.3.3.3 weight 500
R1# clear ip bgp *
2. Memilih jalur dengan nilai LOCAL_PREF tertinggi (harus
di set oleh network admin, bila tidak di set default nya bernilai
100).

Pada dasarnya LOCAL_PREF ekuivalen dengan


WEIGHT, tetapi LOCAL_PREF dapat diadvertise ke seluruh
router dari Autonomous System (AS) sedangkan WEIGHT
hanya dikonfigur secara lokal pada router dengan nilai yang
semakin tinggi semakin baik.
Contoh setting LOCAL_PREF untuk seluruh routes :
R1(config)# router bgp 5500
R1(config-router)# bgp default local-preference 500
Contoh setting LOCAL_PREF untuk route spesifik :
R1(config)# ip access-list standard ROUTES_FOR_R3
R1(config-std-nacl)# permit 150.1.2.0 0.0.0.255
R1(config-std-nacl)# permit 150.1.3.0 0.0.0.255
R1(config)# ip access-list standard ROUTES_FOR_R2
R1(config-std-nacl)# permit 200.0.0 0.255.255.255
R1(config)# route-map LOCAL_PREF permit 10
R1(config-route-map)# match ip address
ROUTES_FOR_R3
R1(config-route-map)# set local-preference 500
R1(config)# route-map LOCAL_PREF permit 20
R1(config-route-map)# match ip address
ROUTES_FOR_R2
R1(config-route-map)# set local-preference 10
R1(config)# route-map LOCAL_PREF permit 30
Baris permit terakhir (tebal) sangat penting,
karena tanpa command tersebut route-map
akan berfungsi sebagai Access-list yang
menyebabkan route lainnya tidak akan di
advertise.

R1(config)# router bgp 5500


R1(config-router)# neighbor 4.4.4.4 route-
map LOCAL_PREF in
3. Memilih jalur yang melalui network yang sama atau
BGP subcommand yang sama atau melalui redistribusi dari
IGP.

4. Memilih jalur dengan AS_PATH yang paling pendek.

5. Memilih jalur dengan nilai origin type yang paling


rendah.
6. Memilih jalur dengan nilai multi-exit discriminator (MED)
yang paling rendah.

Dengan attribut ini kita dapat menganjurkan AS tetangga untuk melalui


sebuah jalur dibandingkan dengan jalur lainnya.

Contoh konfigurasi global untuk seluruh routes :


R1(config)# router bgp 5500
R1(config-router)# default-metric 200

Contoh konfigurasi dengan spesifik route dengan route-map


...
R1(config)# route-map LOCAL_PREF permit 10
R1(config-route-map)# match ip address ROUTES_FOR_R3
R1(config-route-map)# set metric 200
...
7. Lebih memilih jalur eBGP daripada iBGP.

8. Lebih memilih jalur dengan nilai metric IGP yang paling rendah
bila dibandingkan dengan BGP next-hop.

9. Menentukan apakah diperlukan instalasi multiple path pada


routing table untuk BGP multipath.

10. Ketika terdapat dua jalur eksternal, maka akan lebih memilih
jalur yang pertama kali diterima.
11. Memilih jalur yang berasal dari BGP router
dengan nilai router ID yang paling rendah.

12. Untuk kasus multiple path dengan router ID asal


yang sama, maka akan dipilih jalur dengan cluster
list length yang paling minimum.

13. Lebih memilih jalur yang berasal dari neighbor


address yang paling rendah.
14. Mengabaikan route dengan next hop address yang
inaccessible.
WEIGTH, LOCAL_PREF dan AS_PATH dapat dilihat dengan
command sh ip bgp

R1#sh ip bgp
BGP table version is 8, local router ID is 10.1.13.1
Status codes: s suppressed, d damped, h history, * valid, > best, i -
internal
Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path


* i200.50.2.0/24 10.1.24.2 100 0 777 911 711 i
*>i 10.1.36.2 0 100 0 777 711 i