jump to navigation

BGP : Pemahaman mengenai Synchronization July 15, 2009

Posted by ZoeL in Cisco, Routing.
Tags: ,
trackback

Salah satu topik menarik di BGP (setidaknya menurut gw), adalah mengenai synchronization.

BGP mode synchronization sebenarnya adalah mode yang semenjak IOS versi 12.2 sudah tidak menjadi default. Saat ini default mode untuk BGP adalah no synchronization. Sebenarnya apa sih itu synchronization?

BGP Synchronization adalah sebuah mekanisme yang gunanya untuk memastikan AS yang menjadi tempat transit bagi AS lain memiliki routing BGP yang juga ada di dalam routing IGP di semua router yang ada di dalam AS meskipun ada router di dalam AS transit tidak menjalankan routing BGP.

Mungkin masih bingung, coba lihat ilustrasi berikut (gambar diambil dari CiscoDOC).

BGP synch

Dari scenario diatas, koneksi EBGP adalah dari C ke A dan D ke B. IBGP berjalan diatas router A ke B. Untuk IGP, router OSPF dijalankan di A E dan B. Router C dan D mengirimkan default route ke peer masing2. Secara IGP (OSPF), router B punya semua network yang ke E dan A begitu juga sebaliknya. Secara BGP, router A punya network ke D dan router B punya network ke C, selain itu Router A juga punya koneksi peering BGP ke Router B.

A bisa ping ke C dan B bisa ping ke D. Tetapi C dan D tidak bisa saling ping karena secara IGP mereka tidak terhubung di router A, E dan B. Dalam artian, E tidak memiliki informasi network C dan D di routing tabel-nya. Disinilah objektif kita dengan mode synchronization enable,  menghubungkan C (AS 300) dan D (AS 400) dengan melewati (transit) di A, B dan E (AS 100).

Untuk case seperti ini, C dan D bisa dihubungkan dengan melakukan redistribution routing dari bgp ke dalam ospf. Setelah redistribution, router E akan memiliki routing OSPF external type-2 (E2) yang menuju C dan D, A punya routing external (E2) yang menuju ke D dan B punya routing external (E2) yang menuju C.

Dengan redistribution, router E sudah memiliki routing ke network C dan D di dalam routing tabel IGP. Sehingga syarat synchronization terpenuhi, IGP dan BGP synched.

Config :

Berikut config dan hasilnya ketika synchronization hidup.

Router C
!
interface Loopback0
ip address 170.10.0.1 255.255.255.255
!
interface FastEthernet0/0
ip address 2.2.2.1 255.255.255.0
!
router bgp 300
network 170.10.0.1 mask 255.255.255.255
neighbor 2.2.2.2 remote-as 100
!
ip route 0.0.0.0 0.0.0.0 2.2.2.2
!

Router A
!
interface FastEthernet0/0
ip address 2.2.2.2 255.255.255.0
!
interface Serial0/1
ip address 15.0.0.1 255.255.255.0
!
router ospf 1
network 0.0.0.0 255.255.255.255 area 0
!
router bgp 100
synchronization
neighbor 2.2.2.1 remote-as 300
neighbor 25.0.0.1 remote-as 100
!

Router E
!
interface Serial1/2
ip address 15.0.0.2 255.255.255.0
!
interface Serial1/3
ip address 25.0.0.2 255.255.255.0
!
router ospf 1
network 0.0.0.0 255.255.255.255 area 0
!

Router B
!
interface FastEthernet0/0
ip address 24.0.0.2 255.255.255.0
!
interface Serial0/3/1
ip address 25.0.0.1 255.255.255.0
!
router ospf 1
network 0.0.0.0 0.0.0.0 area 0
!
router bgp 100
synchronization
neighbor 15.0.0.1 remote-as 100
neighbor 24.0.0.1 remote-as 400
!

Router D
!
interface Loopback0
ip address 4.4.4.4 255.255.255.255
!
interface FastEthernet0/0
ip address 24.0.0.1 255.255.255.0
duplex auto
speed auto
!
router bgp 400
no synchronization
network 4.4.4.4 mask 255.255.255.255
neighbor 24.0.0.2 remote-as 100
!
ip route 0.0.0.0 0.0.0.0 24.0.0.2
!

Dari A diperoleh IGP network dari C tetapi tidak ada diperoleh yang dari D. Tetapi, untuk BGP, A memperoleh network dari C dan D

R-A#sh ip route //IGP (OSPF)
Gateway of last resort is not set

170.10.0.0/32 is subnetted, 1 subnets
B       170.10.0.1 [20/0] via 2.2.2.1, 00:24:15

2.0.0.0/24 is subnetted, 1 subnets
C       2.2.2.0 is directly connected, FastEthernet0/0
25.0.0.0/24 is subnetted, 1 subnets
O       25.0.0.0 [110/128] via 15.0.0.2, 00:26:14, Serial0/1
24.0.0.0/24 is subnetted, 1 subnets
O       24.0.0.0 [110/129] via 15.0.0.2, 00:26:14, Serial0/1
15.0.0.0/24 is subnetted, 1 subnets
C       15.0.0.0 is directly connected, Serial0/1
R-A#sh ip bgp //BGP

Network          Next Hop            Metric LocPrf Weight Path
* i4.4.4.4/32       24.0.0.1                 0    100      0 400 i
*> 170.10.0.1/32    2.2.2.1                  0             0 300 i

R-A#

Didalam router E juga tidak ada routing network C dan D

R-E#sh ip route
Gateway of last resort is not set

2.0.0.0/24 is subnetted, 1 subnets
O       2.2.2.0 [110/65] via 15.0.0.1, 00:33:05, Serial1/2
25.0.0.0/24 is subnetted, 1 subnets
C       25.0.0.0 is directly connected, Serial1/3
24.0.0.0/24 is subnetted, 1 subnets
O       24.0.0.0 [110/65] via 25.0.0.1, 00:33:05, Serial1/3
15.0.0.0/24 is subnetted, 1 subnets
C       15.0.0.0 is directly connected, Serial1/2

Karena itu, terdapat ketidak singkronisasi-an antara IGP(OSPF) dan BGP seperti yang dipersyaratkan oleh BGP synchronization. Dan Router C belum bisa menjangkau Router D. Begitu juga sebaliknya.

Router A
R-A#sh ip bgp 4.4.4.4
BGP routing table entry for 4.4.4.4/32, version 0
Paths: (1 available, no best path)
Not advertised to any peer
400
24.0.0.1 (metric 129) from 25.0.0.1 (25.0.0.1)
Origin IGP, metric 0, localpref 100, valid, internal, not synchronized
R-A#

Router B
R-B#sh ip bgp 170.10.0.1
BGP routing table entry for 170.10.0.1/32, version 2
Paths: (1 available, no best path)
Not advertised to any peer
300
2.2.2.1 (metric 129) from 15.0.0.1 (15.0.0.1)
Origin IGP, metric 0, localpref 100, valid, internal, not synchronized
R-B#

Sekarang, kita pasang redistribute ke router A dan B, sehingga routing dari C dan D masuk ke dalam IGP (OSPF). Untuk menghindari network BGP lain ter-advertise (ter-distribusi) ke dalam router A dan B, kita gunakan prefix-list sehingga spesifik hanya network 170.10.0.1 dari A dan 4.4.4.4 dari B yang di-inject kedalam OSPF.

R-A# conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R-A(config)#router ospf 1
//pasang redistribute routing bgp ke dalam ospf beserta parameter subnet,
//tujuan parameter subnet agar subnet yang dipilih di inject kedalam ospf.

R-A(config-router)#redistribute bgp 100 subnets route-map dari_router_c
R-A(config-router)#
//aktifkan route-map dengan match ke prefix-list, prefix-list digunakan untuk
//filter ke routing table

R-A(config)#route-map dari_router_c permit 10
R-A(config-route-map)#match ip address prefix-list dari_router_c
R-A(config-route-map)#
//buat prefix-list baru dengan nama dari_router_c dan spesifik filter subnet 170.10.0.1
R-A(config-router)#ip prefix-list dari_router_c seq 5 permit 170.10.0.1/32
R-A(config-route-map)#^Z
R-A#
R-A#

verifikasi dari router E dan pastikan router E sudah mendapat routing network dari C.

R-E#sh ip route
Gateway of last resort is not set

170.10.0.0/32 is subnetted, 1 subnets
O E2    170.10.0.1 [110/1] via 15.0.0.1, 00:10:51, Serial1/2
2.0.0.0/24 is subnetted, 1 subnets
O       2.2.2.0 [110/65] via 15.0.0.1, 00:19:51, Serial1/2
25.0.0.0/24 is subnetted, 1 subnets
C       25.0.0.0 is directly connected, Serial1/3
24.0.0.0/24 is subnetted, 1 subnets
O       24.0.0.0 [110/65] via 25.0.0.1, 00:19:51, Serial1/3
15.0.0.0/24 is subnetted, 1 subnets
C       15.0.0.0 is directly connected, Serial1/2
R-E#

Lakukan juga hal yang sama di router B untuk network 4.4.4.4 dari router D.

R-B(config-router)#redistribute bgp 100 subnets route-map dari_router_d
R-B(config-router)#exit
R-B(config)#route-map dari_router_d permit
R-B(config-route-map)#match ip address prefix-list dari_router_c
R-B(config-route-map)#exit
R-B(config)#ip prefix-list dari_router_c permit 4.4.4.4/32
R-B#

Lakukan verifikasi dari router E dan perhatikan kedua network dari C dan sudah ada di dalam routing IGP.

R-E#sh ip route

Gateway of last resort is not set

170.10.0.0/32 is subnetted, 1 subnets
O E2    170.10.0.1 [110/1] via 15.0.0.1, 00:27:29, Serial1/2
2.0.0.0/24 is subnetted, 1 subnets
O       2.2.2.0 [110/65] via 15.0.0.1, 00:27:29, Serial1/2
4.0.0.0/32 is subnetted, 1 subnets
O E2    4.4.4.4 [110/1] via 25.0.0.1, 00:26:15, Serial1/3
25.0.0.0/24 is subnetted, 1 subnets
C       25.0.0.0 is directly connected, Serial1/3
24.0.0.0/24 is subnetted, 1 subnets
O       24.0.0.0 [110/65] via 25.0.0.1, 00:27:29, Serial1/3
15.0.0.0/24 is subnetted, 1 subnets
C       15.0.0.0 is directly connected, Serial1/2
R-E#

Verifikasi dan ping dari C dan D

Router C
R-C#sh ip route

Gateway of last resort is 2.2.2.2 to network 0.0.0.0

170.10.0.0/32 is subnetted, 1 subnets
C       170.10.0.1 is directly connected, Loopback0
2.0.0.0/24 is subnetted, 1 subnets
C       2.2.2.0 is directly connected, FastEthernet0/0
4.0.0.0/32 is subnetted, 1 subnets
B       4.4.4.4 [20/0] via 2.2.2.2, 00:26:08
S*   0.0.0.0/0 [1/0] via 2.2.2.2
R-C#
R-C#p 4.4.4.4

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 4.4.4.4, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 56/56/60 ms
R-C#

Router D
R-D#sh ip route

Gateway of last resort is 24.0.0.2 to network 0.0.0.0

170.10.0.0/32 is subnetted, 1 subnets
B       170.10.0.1 [20/0] via 24.0.0.2, 00:44:04
4.0.0.0/32 is subnetted, 1 subnets
C       4.4.4.4 is directly connected, Loopback0
24.0.0.0/24 is subnetted, 1 subnets
C       24.0.0.0 is directly connected, FastEthernet0/0
S*   0.0.0.0/0 [1/0] via 24.0.0.2
R-D#
R-D#ping 170.10.0.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 170.10.0.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 56/58/60 ms
R-D#

Summary :

  • Synch default disabled untuk IOS versi 12.2 keatas
  • Mode synch lebih bersifat sebagai verifikator agar route BGP yang lewat selalu dibarengi dengan IGP
  • Router yang tidak menjalankan BGP tetap perlu memiliki routing yang berasal dari BGP didala routing IGP-nya.

.end.

Comments»

1. myocto13er - March 27, 2013

artikel yang banyak singkatan
membingungkan

2. BGP transit via non-BGP Routers dengan menggunakan Tunnelling « Notes and Journals - July 17, 2009

[…] BGP, BGP melalui tunneling, BGP transit via tunnel trackback Di post saya sebelumnya mengenai synchronization, memperlihatkan bagaimana redistribute membantu melewatkan koneksi BGP melalui non-BGP router. Kali […]


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: