1. Apa Itu OSPF?
OSPF (Open Shortest Path First) adalah protokol routing dinamis tipe link-state yang dikembangkan oleh IETF (RFC 2328 untuk OSPFv2). OSPF merupakan Interior Gateway Protocol (IGP) yang paling banyak digunakan di jaringan enterprise karena konvergensi yang cepat, dukungan VLSM, dan kemampuan untuk membagi jaringan ke dalam beberapa area.
Karakteristik Utama OSPF
- โ Triggered update (bukan periodic)
- โ Perubahan link langsung di-propagate
- โ SPF algorithm (Dijkstra)
- โ Mendukung subnet mask variabel
- โ Route summarization
- โ CIDR notation
- โ Multi-area design
- โ Mengurangi LSA flooding
- โ Skalabilitas tinggi
Perbandingan OSPF dengan Protokol Lain
| Fitur | OSPF | RIP | EIGRP |
|---|---|---|---|
| Tipe | Link-State | Distance Vector | Advanced DV (hybrid) |
| Algoritma | Dijkstra (SPF) | Bellman-Ford | DUAL |
| Metrik | Cost (bandwidth) | Hop count | Bandwidth + delay |
| Konvergensi | Cepat (detik) | Lambat (menit) | Sangat cepat |
| Skalabilitas | Enterprise besar | Jaringan kecil | Enterprise |
| Standard | Open (RFC) | Open (RFC) | Proprietary Cisco |
2. OSPF Areas
Area dalam OSPF adalah pengelompokan logis dari router dan jaringan. Pembagian area bertujuan untuk mengurangi ukuran database LSDB (Link-State Database) dan membatasi flooding LSA, sehingga meningkatkan efisiensi routing.
Jenis-Jenis Area OSPF
- โ Area utama โ wajib ada
- โ Semua area lain harus terhubung ke Area 0
- โ Semua tipe LSA diterima
- โ Pusat pertukaran routing
- โ Normal non-backbone area
- โ Menerima semua tipe LSA
- โ Bisa berisi internal & external routes
- โ Cocok untuk departemen
- โ Tidak menerima LSA tipe 5 (external)
- โ Menggunakan default route ke ABR
- โ NSSA: bisa inject external via LSA 7
- โ Mengurangi ukuran LSDB
IR (Internal Router): Semua interface di satu area.
ABR (Area Border Router): Memiliki interface di Area 0 dan area lain.
ASBR (AS Boundary Router): Menginject route dari protokol lain (redistribution).
Backbone Router: Memiliki minimal satu interface di Area 0.
3. Single Area OSPF
Konfigurasi single area OSPF adalah bentuk paling sederhana โ semua router berada dalam satu area (biasanya Area 0). Cocok untuk jaringan kecil hingga menengah dengan jumlah router yang tidak terlalu banyak.
Konfigurasi Router ID
Set router-id unik untuk setiap router. Gunakan IP loopback atau IP terbesar.
Daftarkan Network ke OSPF
Assign setiap network yang akan diiklankan ke Area 0 (backbone).
Atur Cost Interface
Sesuaikan cost berdasarkan bandwidth agar path selection optimal.
Verifikasi Neighbor & Routing Table
Pastikan semua neighbor dalam state Full dan routing table terisi.
Konfigurasi Router A (Router ID: 1.1.1.1)
# Step 1: Buat loopback interface
/interface bridge
add name=loopback
/ip address
add address=1.1.1.1/32 interface=loopback
# Step 2: Set OSPF Instance
/routing ospf instance
set 0 name=default router-id=1.1.1.1
# Step 3: Daftarkan network ke backbone area
/routing ospf network
add network=192.168.1.0/24 area=backbone comment="LAN Kantor"
add network=10.0.0.0/30 area=backbone comment="Link ke Router B"
add network=10.0.0.4/30 area=backbone comment="Link ke Router C"
# Step 4: Verifikasi
/routing ospf neighbor print
/routing ospf route print
/ip route print where ospf
Konfigurasi Router B (Router ID: 2.2.2.2)
/interface bridge
add name=loopback
/ip address
add address=2.2.2.2/32 interface=loopback
/routing ospf instance
set 0 name=default router-id=2.2.2.2
/routing ospf network
add network=192.168.2.0/24 area=backbone comment="LAN Gudang"
add network=10.0.0.0/30 area=backbone comment="Link ke Router A"
# Atur cost pada interface (opsional, untuk path control)
/routing ospf interface
set [find interface=ether1] cost=10
set [find interface=ether2] cost=50
Verifikasi OSPF
# Cek OSPF neighbors
/routing ospf neighbor print
# Cek OSPF routes
/routing ospf route print
# Cek LSDB (Link-State Database)
/routing ospf lsa print
# Cek status interface OSPF
/routing ospf interface print detail
# Cek routing table untuk route OSPF
/ip route print where ospf
4. Multi-Area OSPF
Multi-area OSPF digunakan untuk jaringan skala besar. Dengan membagi jaringan ke dalam beberapa area, kita bisa membatasi flooding LSA, mengurangi ukuran LSDB, dan mempercepat proses perhitungan SPF.
Konfigurasi ABR (Area Border Router)
ABR adalah router yang memiliki interface di Area 0 (backbone) dan minimal satu area lain. ABR bertanggung jawab meringkas dan me-mergikan informasi routing antar area.
# Konfigurasi ABR: Router yang menghubungkan Area 0 dan Area 1
/routing ospf instance
set 0 name=default router-id=10.10.10.1
# Buat area baru
/routing ospf area
add name=area-lantai2 area-id=0.0.0.2 type=default comment="Gedung Lantai 2"
add name=area-gudang area-id=0.0.0.3 type=stub comment="Gudang - Stub Area"
# Daftarkan network ke masing-masing area
/routing ospf network
# Backbone
add network=10.0.0.0/30 area=backbone comment="P2P Link ke Core"
# Area 1 - Lantai 2
add network=10.10.2.0/24 area=area-lantai2 comment="VLAN Lantai 2"
add network=10.10.3.0/24 area=area-lantai2 comment="VLAN Lantai 3"
# Area 3 - Gudang (stub)
add network=10.20.1.0/24 area=area-gudang comment="LAN Gudang"
# Atur summarization di ABR (mengurangi LSA)
/routing ospf area range
add area=area-lantai2 prefix=10.10.0.0/16 advertise=yes comment="Summary Lantai 2"
add area=area-gudang prefix=10.20.0.0/16 advertise=yes comment="Summary Gudang"
Dalam OSPF, setiap area non-backbone harus terhubung langsung ke Area 0. Jika ada area yang tidak bisa terhubung langsung ke Area 0, gunakan Virtual Link melalui area transit. Tanpa koneksi ke Area 0, route dari area tersebut tidak akan di-propagate ke area lain.
Konfigurasi Stub Area
# Konfigurasi stub area pada ABR
/routing ospf area
add name=area-stub area-id=0.0.0.5 type=stub
# Pada router internal di stub area
/routing ospf area
set [find name=backbone] type=stub
# Stub area tidak menerima external LSA (Type 5)
# Router di stub area akan menggunakan default route ke ABR
# Default cost: 1 (bisa diubah dengan default-cost)
/routing ospf area
set [find name=area-stub] default-cost=10
5. OSPF Neighbors
OSPF bekerja dengan membangun neighbor relationship (adjacency) antar router yang terhubung. Proses ini melibatkan pertukaran Hello packets dan beberapa state sebelum adjacency terbentuk sepenuhnya.
OSPF Neighbor States
| State | Deskripsi | Aktivitas |
|---|---|---|
| Down | Belum menerima Hello dari neighbor | Router mengirim Hello secara periodik |
| Init | Hello diterima, tapi belum mutual | Router melihat dirinya di Hello packet neighbor |
| 2-Way | Komunikasi mutual tercapai | DR/BDR election (pada broadcast network) |
| ExStart | Menentukan master/slave | Negosiasi sequence number untuk DBD exchange |
| Exchange | Pertukaran DBD (Database Description) | Router saling mengirim ringkasan LSDB |
| Loading | Meng-request LSA yang belum dimiliki | LSR โ LSU โ LSAck dipertukarkan |
| Full | Adjacency terbentuk penuh | LSDB sinkron, SPF dihitung |
Syarat Terbentuknya Adjacency
Agar dua router OSPF bisa menjadi neighbor, semua kondisi berikut harus terpenuhi:
# Syarat OSPF Adjacency:
# 1. Area ID yang sama
# 2. Hello interval dan Dead interval yang sama
# 3. Authentication type dan key yang sama (jika diaktifkan)
# 4. Subnet mask yang sama pada interface
# 5. Stub area flag yang sama
# 6. MTU yang sama (jika MTU check diaktifkan)
# Troubleshooting neighbor
/routing ospf neighbor print detail
# Cek parameter interface OSPF
/routing ospf interface print detail where interface=ether1
Broadcast: Default pada Ethernet โ DR/BDR election, Hello 10s, Dead 40s.
Point-to-Point: Cocok untuk link antar router โ tidak ada DR/BDR, Hello 10s.
NBMA: Untuk Frame Relay/X.25 โ perlu manual neighbor.
Point-to-Multipoint: Tidak perlu DR/BDR, cocok untuk hub-and-spoke.
6. Route Redistribution
Route redistribution adalah proses menginject route dari satu protokol routing ke protokol lain. Misalnya, mengambil route static atau BGP dan memasukkannya ke OSPF agar router lain bisa mengetahuinya.
Redistribute Static ke OSPF
# Redistribute static routes ke OSPF
/routing ospf instance
set 0 redistribute-static=as-type-1
# Redistribute connected routes
set 0 redistribute-connected=as-type-1
# Redistribute RIP routes (jika ada)
set 0 redistribute-rip=as-type-2
# Redistribute BGP routes
set 0 redistribute-bgp=as-type-1
# Filter redistribution dengan routing filter
/routing filter
add chain=ospf-redistribute prefix=10.0.0.0/8 prefix-length=8-32 action=accept
add chain=ospf-redistribute action=discard comment="Block everything else"
Type 1 (E1): Cost = internal cost ke ASBR + external cost. Cocok ketika
ada beberapa ASBR dan ingin path selection yang lebih presisi.
Type 2 (E2): Cost = external cost saja (default). Cocok ketika hanya
ada satu ASBR atau external cost lebih diprioritaskan.
7. Troubleshooting OSPF
Berikut panduan troubleshooting untuk masalah OSPF yang umum dihadapi:
Command Troubleshooting OSPF
# 1. Cek status OSPF instance
/routing ospf instance print detail
# 2. Cek semua neighbor dan state-nya
/routing ospf neighbor print detail
# Pastikan state = Full (bukan Init, 2-Way, atau Down)
# 3. Cek OSPF interface
/routing ospf interface print detail
# Pastikan interface aktif dan state benar
# 4. Cek LSDB (database LSA)
/routing ospf lsa print
# Pastikan semua LSA yang diharapkan ada
# 5. Debug OSPF (gunakan dengan hati-hati di production)
/system logging
add topics=ospf,!debug action=memory
# 6. Cek routing table
/ip route print where ospf
# Pastikan route OSPF muncul dan aktif
# 7. Ping test antar router
/ping 10.0.0.1 count=5
Masalah Umum dan Solusi
| Masalah | Penyebab | Solusi |
|---|---|---|
| Neighbor stuck di Init | Hello/Dead interval tidak cocok | Samakan parameter pada kedua ujung link |
| Neighbor stuck di 2-Way | Normal pada DR-other router | Ini normal โ hanya DR/BDR yang mencapai Full |
| Route tidak muncul | Network belum didaftarkan ke OSPF | Tambahkan network di /routing ospf network |
| Neighbor tidak terbentuk | Firewall memblokir paket OSPF | Allow protokol 89 (OSPF) di firewall |
| Subnet mismatch | Subnet mask berbeda pada kedua ujung | Samakan subnet mask pada interface |
| Route bouncing/flapping | Link tidak stabil | Cek fisik kabel, setting BFD untuk fast detection |
8. Best Practices OSPF
Terapkan best practices berikut untuk konfigurasi OSPF yang optimal dan aman:
| Best Practice | Prioritas | Implementasi |
|---|---|---|
| Gunakan Loopback sebagai Router ID | ๐ด Tinggi | Loopback selalu up, menjamin stabilitas Router ID |
| Desain Hierarki Area | ๐ด Tinggi | Gunakan multi-area untuk jaringan > 50 router |
| Aktifkan OSPF Authentication | ๐ด Tinggi | Gunakan MD5/SHA pada semua interface OSPF |
| Route Summarization di ABR | ๐ก Sedang | Ringkas prefix di ABR untuk mengurangi LSDB |
| Passive Interface pada LAN | ๐ก Sedang | Set interface LAN sebagai passive untuk keamanan |
| Tuning Timer | ๐ข Standar | Sesuaikan hello/dead interval sesuai kebutuhan |
Konfigurasi Passive Interface dan Authentication
# Set interface LAN sebagai passive (tidak mengirim Hello)
/routing ospf network
add network=192.168.1.0/24 area=backbone passive=yes comment="LAN - Passive"
# Aktifkan MD5 authentication pada interface P2P
/routing ospf interface
set [find interface=ether1] authentication=md5 authentication-key="Str0ng0SPF!Key"
# BFD untuk fast failure detection
/routing ospf interface
set [find interface=ether1] use-bfd=yes
# Distribute-list untuk filtering route
/routing filter
add chain=ospf-in prefix=0.0.0.0/0 prefix-length=0-32 action=discard \
comment="Block all OSPF routes from specific neighbor"
Default reference bandwidth OSPF adalah 100 Mbps. Untuk jaringan dengan link 1 Gbps atau
10 Gbps, sesuaikan reference bandwidth agar cost lebih akurat:
/routing ospf instance set 0 redistribute-static-as-type-1
Ingat: semua router harus menggunakan reference bandwidth yang sama!
9. Quiz: Uji Pemahamanmu
Jawab pertanyaan berikut untuk menguji pemahaman kamu tentang OSPF pada MikroTik. Pilih satu jawaban terbaik untuk setiap pertanyaan.