Senin, 05 Desember 2016

Lab 106 - Kenapa IBGP Harus Full Mesh?

Oke pada lab ini saya akan coba menjelaskan kenapa sih IBGP harus full mesh??.. kira-kira kenapa ya?

Hal ini dikarenakan BGP mempunyai aturan split horizon seperti berikut

Saat suatu router menerima update dari router IBGP lain, maka router tersebut tidak akn memforward paket tersebut ke router IBGP lain.


Analoginya seperti ini
Gambar 1 Topologi jaringan IBGP
Pada topologi tersebut, R1, R2, dan R3 menjalankan IBGP. Karena menjalankan IBGP, maka saat R2 menerima update dari R1, maka R2 tidak akan meneruskan update tersebut ke R3. Inilah yang disebut split horizon. Split horizon ini digunakan untuk mencegah routing loop.

Oke sekarang kita buktikan ya, apakah benar R2 tidak meneruskan update yang dikirim oleh R1 ke R3?.. Pertama kita konfig dulu BGP nya
R1(config)#int e0/0 R1(config-if)#no sh R1(config-if)#ip add 12.12.12.1 255.255.255.0 R1(config-if)#int l0 R1(config-if)#ip add 1.1.1.1 255.255.255.255 R1(config-if)#router bgp 123 R1(config-router)#neigh 12.12.12.2 remote-as 123 R1(config-router)#net 1.1.1.1 mas 255.255.255.255
R2(config)#int e0/0 R2(config-if)#no sh R2(config-if)#ip add 12.12.12.2 255.255.255.0 R2(config-if)#int e0/1 R2(config-if)#no sh R2(config-if)#ip add 23.23.23.2 255.255.255.0 R2(config-if)#int l0 R2(config-if)#ip add 2.2.2.2 255.255.255.255 R2(config-if)#router bgp 123 R2(config-router)#nei 12.12.12.1 remote-as 123 R2(config-router)#nei 23.23.23.3 remote-as 123 R2(config-router)#net 2.2.2.2 mask 255.255.255.255
R3(config)#int e0/0 R3(config-if)#no sh R3(config-if)#ip add 23.23.23.3 255.255.255.0 R3(config-if)#int l0 R3(config-if)#ip add 3.3.3.3 255.255.255.255 R3(config-if)#router bgp 123 R3(config-router)#nei 23.23.23.2 remote-as 123 R3(config-router)#net 3.3.3.3 mask 255.255.255.255
Oke sekarang kita sudah selesai konfigurasi BGP, untuk memastikan, kita coba lihat apakah R1 dan R3 sudah establish dengan R2
R2(config-router)#do sh ip bgp sum
... Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 12.12.12.1 4 123 6 5 4 0 0 00:01:58 1 23.23.23.3 4 123 5 5 4 0 0 00:00:53 1
Oke R2 sudah establish dengan R1 dan R3. Selanjutnya kita akan coba buktikan ya,, apakah benar paket update yang dikirimkan oleh R1 ke R2 tidak akan diteruskan ke R3. Untuk itu kita coba lakukan debug di R2 dan R3
R2(config-router)#do debug ip bgp update
R3(config-router)#do debug ip bgp update
Oke sekarang kita clear BGP proses pada R2
R2(config-router)#do clear ip bgp * soft
Berikut hasil debugging pada R2
R2(config-router)# *Dec 5 10:57:30.871: BGP(0): (base) 12.12.12.1 send UPDATE (format) 2.2.2.2/32, next 12.12.12.2, metric 0, path Local *Dec 5 10:57:31.680: BGP: nbr_topo global 23.23.23.3 IPv4 Unicast:base (0xF38B2840:1) rcvd Refresh Start-of-RIB *Dec 5 10:57:31.680: BGP: nbr_topo global 23.23.23.3 IPv4 Unicast:base (0xF38B2840:1) refresh_epoch is 3 *Dec 5 10:57:31.680: BGP: nbr_topo global 12.12.12.1 IPv4 Unicast:base (0xF2A33EE0:1) rcvd Refresh Start-of-RIB *Dec 5 10:57:31.680: BGP: nbr_topo global 12.12.12.1 IPv4 Unicast:base (0xF2A33EE0:1) refresh_epoch is 3 *Dec 5 10:57:31.685: BGP(0): 12.12.12.1 rcvd UPDATE w/ attr: nexthop 12.12.12.1, origin i, localpref 100, metric 0 R2(config-router)# *Dec 5 10:57:31.685: BGP(0): 12.12.12.1 rcvd 1.1.1.1/32...duplicate ignored *Dec 5 10:57:31.685: BGP: nbr_topo global 12.12.12.1 IPv4 Unicast:base (0xF2A33EE0:1) rcvd Refresh End-of-RIB *Dec 5 10:57:31.686: BGP(0): 23.23.23.3 rcvd UPDATE w/ attr: nexthop 23.23.23.3, origin i, localpref 100, metric 0 *Dec 5 10:57:31.686: BGP(0): 23.23.23.3 rcvd 3.3.3.3/32...duplicate ignored *Dec 5 10:57:31.686: BGP: nbr_topo global 23.23.23.3 IPv4 Unicast:base (0xF38B2840:1) rcvd Refresh End-of-RIB
Perhatikan bahwa R2 menerima update dari 12.12.12.1 tentang 1.1.1.1. Selanjutnya kita coba lihat hasil debug di R3
R3(config-router)#
*Dec 5 10:57:30.869: BGP: nbr_topo global 23.23.23.2 IPv4 Unicast:base (0xF2AD1160:1) rcvd Refresh Start-of-RIB *Dec 5 10:57:30.869: BGP: nbr_topo global 23.23.23.2 IPv4 Unicast:base (0xF2AD1160:1) refresh_epoch is 3 *Dec 5 10:57:30.872: BGP(0): 23.23.23.2 rcvd UPDATE w/ attr: nexthop 23.23.23.2, origin i, localpref 100, metric 0 *Dec 5 10:57:30.872: BGP(0): 23.23.23.2 rcvd 2.2.2.2/32...duplicate ignored *Dec 5 10:57:30.872: BGP: nbr_topo global 23.23.23.2 IPv4 Unicast:base (0xF2AD1160:1) rcvd Refresh End-of-RIB *Dec 5 10:57:31.685: BGP(0): (base) 23.23.23.2 send UPDATE (format) 3.3.3.3/32, next 23.23.23.3, metric 0, path Local
Perhatikan bahwa R2 hanya menerima update tentang network 2.2.2.2, dimana paket update ini merupakan update yang dibuat oleh R2. R3 tidak akan menerima update yang dibuat oleh R1, yaitu update tentang 1.1.1.1.

Jika kita coba lihat tabel routing BGP pada R3, maka R3 tidak akan memiliki route untuk menuju 1.1.1.1
R3(config-router)#do sh ip bgp
... Network Next Hop Metric LocPrf Weight Path *>i 2.2.2.2/32 23.23.23.2 0 100 0 i *> 3.3.3.3/32 0.0.0.0 0 32768 i
Oke.. itu lah alasan kenapa IBGP harus full mesh.. sekarang kita coba konfig full mesh ya, dengan cara menambahkan peering antara R1 dan R3
R1(config)#ip route 23.23.23.0 255.255.255.0 12.12.12.2
R1(config)#router bgp 123 R1(config-router)#nei 23.23.23.3 remote-as 123
R3(config)#ip route 12.12.12.0 255.255.255.0 23.23.23.2 R3(config)#router bgp 123 R3(config-router)#nei 12.12.12.1 remote-as 123
Perhatikan bahwa kita perlu mengkonfigurasikan static routing, hal ini diperlukan untuk melakukan peering IBGP. Selanjutnya kita coba lihat hasil debug di R3
R3(config-router)#
*Dec 5 11:01:45.097: %BGP-5-ADJCHANGE: neighbor 12.12.12.1 Up *Dec 5 11:01:45.102: BGP(0): (base) 12.12.12.1 send UPDATE (format) 3.3.3.3/32, next 23.23.23.3, metric 0, path Local *Dec 5 11:01:45.103: BGP: nbr_topo global 12.12.12.1 IPv4 Unicast:base (0xF385E720:1) rcvd Refresh Start-of-RIB *Dec 5 11:01:45.103: BGP: nbr_topo global 12.12.12.1 IPv4 Unicast:base (0xF385E720:1) refresh_epoch is 2 *Dec 5 11:01:45.103: BGP(0): 12.12.12.1 rcvd UPDATE w/ attr: nexthop 12.12.12.1, origin i, localpref 100, metric 0 *Dec 5 11:01:45.103: BGP(0): 12.12.12.1 rcvd 1.1.1.1/32 *Dec 5 11:01:45.103: BGP: nbr_topo global 12.12.12.1 IPv4 Unicast:base (0xF385E720:1) rcvd Refresh End-of-RIB
Perhatikan bahwa saat ini R3 sudah menerima update tentang 1.1.1.1 dari R1 langsung. Kita coba lihat tabel routing pada R3
R3(config-router)#do sh ip bgp
... Network Next Hop Metric LocPrf Weight Path *>i 1.1.1.1/32 12.12.12.1 0 100 0 i *>i 2.2.2.2/32 23.23.23.2 0 100 0 i *> 3.3.3.3/32 0.0.0.0 0 32768 i
Perhatikan bahwa saat ini R3 sudah punya route untuk menuju 1.1.1.1. Oke sampai disini dulu, semoga bermanfaat..

Like the Post? Do share with your Friends.

Tidak ada komentar:

Posting Komentar

Komentar

FeedBack

Jika Anda merasa terbantu dengan artikel dari Coretan Bocah IT, silahkan berlangganan GRATIS via email. Dengan begitu, Anda akan mendapat kiriman artikel setiap ada artikel baru yang terbit di Coretan Bocah IT

Masukkan Email :

IconIconIconFollow Me on Pinterest