Kuasai protokol routing BGP dan OSPF. Pelajari kapan menggunakan masing-masing, cara kerjanya, best practice konfigurasi, dan strategi deployment dunia nyata untuk jaringan enterprise.

Routing adalah tulang punggung jaringan modern. Setiap paket yang bepergian di seluruh internet bergantung pada keputusan routing yang dibuat oleh perangkat jaringan. Meskipun routing statis bekerja untuk topologi sederhana, jaringan enterprise memerlukan protokol routing dinamis yang beradaptasi dengan perubahan jaringan, kegagalan, dan pertumbuhan.
BGP (Border Gateway Protocol) dan OSPF (Open Shortest Path First) adalah dua protokol routing dinamis dominan dalam jaringan produksi saat ini. Memahami perbedaan, kekuatan, dan keterbatasan mereka sangat penting bagi engineer jaringan, praktisi DevOps, dan arsitek infrastruktur.
Panduan ini mengeksplorasi kedua protokol secara mendalam, mencakup mekanika mereka, konfigurasi, dan pola deployment dunia nyata.
Sebelum menggali spesifik BGP dan OSPF, mari kita tetapkan konsep inti.
Jaringan diorganisir menjadi Autonomous System (AS) — domain administratif di bawah kontrol tunggal. Protokol routing jatuh ke dua kategori:
Anggap saja seperti sistem postal. OSPF adalah layanan postal lokal Anda yang merutekan mail dalam kota. BGP adalah sistem postal internasional yang merutekan paket antar negara.
Protokol berbeda menggunakan metrik berbeda untuk menentukan path optimal:
OSPF adalah protokol routing link-state yang dirancang untuk jaringan internal besar dan kompleks.
Router OSPF mempertahankan peta lengkap topologi jaringan. Setiap router:
Pendekatan ini berbeda secara fundamental dari protokol distance-vector seperti RIP, yang hanya berbagi tabel routing dengan neighbor.
OSPF menggunakan area untuk scale secara efisien:
Area 0 (Backbone)
|
+-- Area 1 (Campus A)
|
+-- Area 2 (Campus B)
|
+-- Area 3 (Data Center)Hierarki ini mencegah ledakan LSDB di jaringan besar.
router ospf 1
router-id 10.0.0.1
network 10.0.0.0 0.0.0.255 area 0
network 10.1.0.0 0.0.0.255 area 1
network 10.2.0.0 0.0.0.255 area 1
default-information originate always metric 100
interface GigabitEthernet0/0
ip ospf cost 10
ip ospf hello-interval 10
ip ospf dead-interval 40Parameter kunci:
Kecepatan konvergensi OSPF bergantung pada tuning timer:
interface GigabitEthernet0/0
ip ospf hello-interval 1
ip ospf dead-interval 4
ip ospf retransmit-interval 1Trade-off: Timer lebih cepat meningkatkan penggunaan CPU dan bandwidth. Seimbangkan berdasarkan kebutuhan jaringan.
BGP adalah protokol routing path-vector yang dirancang untuk routing inter-AS dan traffic engineering berbasis policy.
Router BGP membentuk koneksi TCP (port 179) dan menukar informasi routing:
BGP tidak menghitung path seperti OSPF. Sebaliknya, ia mempercayai atribut AS Path dan menerapkan aturan policy.
Ketika multiple route ada untuk prefix yang sama, BGP memilih best path menggunakan urutan ini:
Algoritma ini memungkinkan traffic engineering yang sophisticated.
iBGP (Internal BGP)
Router A (AS 65000) ←→ Router B (AS 65000)
eBGP (External BGP)
Router A (AS 65000) ←→ Router C (AS 65001)router bgp 65000
bgp router-id 10.0.0.1
bgp log-neighbor-changes
neighbor 10.1.0.1 remote-as 65001
neighbor 10.1.0.1 description "ISP-Primary"
neighbor 10.1.0.1 timers 3 9
neighbor 10.2.0.1 remote-as 65001
neighbor 10.2.0.1 description "ISP-Backup"
neighbor 10.2.0.1 timers 3 9
address-family ipv4 unicast
neighbor 10.1.0.1 activate
neighbor 10.2.0.1 activate
neighbor 10.1.0.1 route-map PRIMARY-IN in
neighbor 10.1.0.1 route-map PRIMARY-OUT out
neighbor 10.2.0.1 route-map BACKUP-IN in
neighbor 10.2.0.1 route-map BACKUP-OUT out
exit-address-family
route-map PRIMARY-IN permit 10
set local-preference 200
route-map BACKUP-IN permit 10
set local-preference 100
route-map PRIMARY-OUT permit 10
match ip address prefix-list INTERNAL-ROUTES
set as-path prepend 65000 65000
route-map BACKUP-OUT permit 10
match ip address prefix-list INTERNAL-ROUTESKonsep kunci:
Di jaringan besar, full iBGP mesh menjadi tidak praktis. Route Reflector menyelesaikan ini:
Route Reflector (RR)
/ \
/ \
Router A Router B
Router A dan B tidak perlu koneksi iBGP langsung.
RR mencerminkan route di antara mereka.Route Reflector mengurangi koneksi iBGP dari O(n²) menjadi O(n).
router bgp 65000
bgp router-id 10.0.0.1
neighbor 10.1.0.1 remote-as 65000
neighbor 10.1.0.2 remote-as 65000
neighbor 10.1.0.3 remote-as 65000
address-family ipv4 unicast
neighbor 10.1.0.1 activate
neighbor 10.1.0.2 activate
neighbor 10.1.0.3 activate
bgp cluster-id 10.0.0.1
neighbor 10.1.0.1 route-reflector-client
neighbor 10.1.0.2 route-reflector-client
neighbor 10.1.0.3 route-reflector-client
exit-address-family| Aspek | OSPF | BGP |
|---|---|---|
| Scope | Interior (dalam AS) | Exterior (antar AS) |
| Algoritma | Link-state (Dijkstra) | Path-vector |
| Metrik | Cost (berbasis bandwidth) | Panjang AS Path + policy |
| Konvergensi | Cepat (detik) | Lebih lambat (menit) |
| Scalability | Medium (ribuan router) | Sangat besar (jutaan route) |
| Kompleksitas | Moderate | Tinggi |
| Kontrol Policy | Terbatas | Ekstensif |
| Penemuan Neighbor | Otomatis (Hello) | Konfigurasi manual |
| Penggunaan Bandwidth | Moderate | Rendah (setelah konvergensi) |
| Penggunaan CPU | Moderate | Rendah (setelah konvergensi) |
Gunakan OSPF ketika:
Contoh: Jaringan kampus dengan multiple gedung, jaringan inti data center, atau WAN enterprise.
Gunakan BGP ketika:
Contoh: Enterprise dengan multiple koneksi ISP, backbone cloud provider, atau content delivery network.
1. Desain Area Tidak Benar
router ospf 1
network 0.0.0.0 255.255.255.255 area 0Semua interface dalam Area 0 menyebabkan ledakan LSDB. Gunakan desain hierarki dengan multiple area.
2. Pengaturan Timer Suboptimal
interface GigabitEthernet0/0
ip ospf hello-interval 1
ip ospf dead-interval 4Diterapkan ke semua interface meningkatkan beban CPU secara tidak perlu. Gunakan timer agresif hanya di mana diperlukan (core link).
**3. Mengabaikan Perhitungan Cost
OSPF default cost = 100,000,000 / bandwidth (Mbps). Link modern mungkin memiliki cost yang tidak benar.
interface GigabitEthernet0/0
bandwidth 1000000
ip ospf cost 1
interface GigabitEthernet0/1
bandwidth 100000
ip ospf cost 101. Menerima Semua Route Tanpa Filtering
router bgp 65000
neighbor 10.1.0.1 remote-as 65001
address-family ipv4 unicast
neighbor 10.1.0.1 activateNeighbor yang berbahaya atau salah konfigurasi dapat inject route yang tidak diinginkan. Selalu filter.
2. Local Preference Tidak Benar
route-map PRIMARY-IN permit 10
set local-preference 50
route-map BACKUP-IN permit 10
set local-preference 100Local-preference lebih tinggi menang. Konfigurasi ini membuat backup menjadi primary.
3. AS Path Prepending Tanpa Batas
route-map DEPRIORITIZE permit 10
set as-path prepend 65000 65000 65000 65000 65000 65000 65000 65000Prepending ekstrem dapat membuat route tidak dapat dijangkau. Gunakan maksimal 1-3 prepend.
**4. Lupa BGP Synchronization
Di jaringan yang mencampur OSPF dan BGP, pastikan route yang dipelajari via iBGP juga dalam IGP sebelum mengiklankan secara eksternal. Jika tidak, traffic mungkin blackhole.
1. Implementasikan Desain Hierarki
Area 0 (Backbone) - Core router saja
├── Area 1 (Campus A)
├── Area 2 (Campus B)
└── Area 3 (Data Center)Batasi Area 0 ke < 50 router. Gunakan ABR untuk menghubungkan area.
2. Pantau Ukuran LSDB
show ip ospf database summary
show ip ospf statisticsLSDB besar menunjukkan masalah desain. Implementasikan stub area atau split ke multiple proses OSPF.
3. Gunakan Stub Area untuk Leaf Network
router ospf 1
area 2 stub
area 2 default-cost 1Stub area tidak menerima route eksternal, mengurangi LSDB sebesar 30-50%.
4. Tune Timer Berdasarkan Tipe Link
interface GigabitEthernet0/0
description "Core Link"
ip ospf hello-interval 1
ip ospf dead-interval 4
interface Serial0/0
description "WAN Link"
ip ospf hello-interval 30
ip ospf dead-interval 120Timer cepat di core link yang andal. Timer konservatif di WAN link.
1. Implementasikan Comprehensive Route Filtering
ip prefix-list CUSTOMER-ROUTES seq 10 permit 203.0.113.0/24
ip prefix-list CUSTOMER-ROUTES seq 20 permit 198.51.100.0/24
ip prefix-list CUSTOMER-ROUTES seq 30 deny 0.0.0.0/0 le 32
route-map CUSTOMER-IN permit 10
match ip address prefix-list CUSTOMER-ROUTES
set local-preference 150
route-map CUSTOMER-IN deny 20
router bgp 65000
neighbor 10.1.0.1 remote-as 65001
address-family ipv4 unicast
neighbor 10.1.0.1 route-map CUSTOMER-IN in
exit-address-familyHanya terima prefix yang diharapkan. Tolak semuanya yang lain.
2. Gunakan Route Reflector untuk Scale
router bgp 65000
bgp router-id 10.0.0.1
bgp cluster-id 10.0.0.1
neighbor 10.1.0.1 remote-as 65000
neighbor 10.1.0.2 remote-as 65000
neighbor 10.1.0.3 remote-as 65000
address-family ipv4 unicast
neighbor 10.1.0.1 route-reflector-client
neighbor 10.1.0.2 route-reflector-client
neighbor 10.1.0.3 route-reflector-client
exit-address-familyMengurangi kompleksitas iBGP mesh. Gunakan 2-3 RR untuk redundansi.
3. Implementasikan BGP Graceful Restart
router bgp 65000
bgp graceful-restart
bgp graceful-restart restart-time 120
neighbor 10.1.0.1 remote-as 65001
neighbor 10.1.0.1 graceful-restartMemungkinkan router restart tanpa drop route. Neighbor mempertahankan route selama 120 detik.
4. Pantau Konvergensi BGP
show ip bgp summary
show ip bgp neighbors 10.1.0.1
show ip bgp dampening flap-statisticsPantau route flapping (siklus up-down cepat). Implementasikan BGP dampening jika diperlukan.
5. Gunakan Community untuk Policy
route-map TAG-ROUTES permit 10
set community 65000:100
route-map PREFER-TAGGED permit 10
match community 100
set local-preference 200
router bgp 65000
address-family ipv4 unicast
neighbor 10.1.0.1 route-map TAG-ROUTES out
neighbor 10.2.0.1 route-map PREFER-TAGGED in
exit-address-familyCommunity memungkinkan policy fleksibel tanpa memodifikasi route-map di mana-mana.
Banyak jaringan menjalankan kedua protokol:
┌─────────────────────────────────────┐
│ AS 65000 (Internal) │
│ ┌──────────────────────────────┐ │
│ │ OSPF Area 0 (Backbone) │ │
│ │ ┌────────────────────────┐ │ │
│ │ │ OSPF Area 1 (Campus A) │ │ │
│ │ └────────────────────────┘ │ │
│ │ ┌────────────────────────┐ │ │
│ │ │ OSPF Area 2 (Campus B) │ │ │
│ │ └────────────────────────┘ │ │
│ └──────────────────────────────┘ │
│ ↓ BGP ↓ │
│ ┌──────────────────────────────┐ │
│ │ BGP to ISP (AS 65001) │ │
│ └──────────────────────────────┘ │
└─────────────────────────────────────┘Arsitektur:
router ospf 1
redistribute bgp 65000 subnets
router bgp 65000
redistribute ospf 1 match internal external 1 external 2
address-family ipv4 unicast
redistribute ospf 1
exit-address-familyPenting: Redistribusi dapat menyebabkan routing loop. Gunakan route-map untuk mengontrol apa yang di-redistribusi.
ip prefix-list INTERNAL-ROUTES seq 10 permit 10.0.0.0/8 le 24
route-map OSPF-TO-BGP permit 10
match ip address prefix-list INTERNAL-ROUTES
router bgp 65000
address-family ipv4 unicast
redistribute ospf 1 route-map OSPF-TO-BGP
exit-address-familyBGP dan OSPF melayani tujuan berbeda di jaringan modern:
Sebagian besar jaringan enterprise menggunakan keduanya: OSPF secara internal untuk kecepatan dan kesederhanaan, BGP secara eksternal untuk kontrol dan fleksibilitas.
Mulai dengan OSPF untuk jaringan internal. Perkenalkan BGP saat terhubung ke jaringan eksternal atau memerlukan routing berbasis policy. Pantau waktu konvergensi, ukuran LSDB, dan stabilitas route. Implementasikan filtering dan community untuk mencegah misconfiguration dari cascading failure.
Kunci kesuksesan produksi adalah memahami kekuatan setiap protokol, merancang secara hierarki, dan mengimplementasikan policy filtering dan monitoring yang comprehensive.