Apa itu OSPF?
OSPF itu pakai algoritma Dijkstra buat nentuin jalur paling pendek. Awalnya dia bikin dulu shortest path tree, habis itu baru ngumpulin routing table berdasarkan jalur terbaik yang ada. OSPF juga support equal-cost path, jadi kalau ada beberapa jalur dengan cost yang sama, semuanya bisa dipakai barengan. Selain itu, OSPF bisa jalan di IPv4 dan IPv6.
Beberapa fitur keren dari OSPF:
-
Dibagi-bagi ke dalam area dan pakai process-ID
-
Update routing-nya efisien, jadi nggak boros trafik
-
Cocok buat network yang gede karena scalable
-
Support VLSM dan CIDR
-
tidak ada batasan hop count seperti routing RIP
-
Open standard, jadi bisa dipakai di perangkat multi-vendor
OSPF termasuk link-state routing protocol, artinya setiap router tahu kondisi dan topologi network secara detail. Karena itu, keputusan routing jadi lebih akurat dan minim kesalahan.
OSPF punya banyak fitur yang bikin dia cepat dan scalable. Idealnya, OSPF itu didesain secara hierarchical, alias network besar dipecah jadi bagian-bagian kecil yang disebut area.
Kenapa OSPF perlu desain hierarchical?
-
Biar routing overhead berkurang
-
Proses convergence jadi lebih cepat
-
Masalah di satu area nggak nyebar ke area lain
Untuk nentuin jalur terbaik, OSPF pakai yang namanya cost.
Rumusnya:
reference bandwidth / bandwidth interface (dalam kbps)
Di router Cisco, default reference bandwidth-nya adalah 100.000 kbps.
Topologi LAB OSPF
Idealnya untuk IP Address p2p itu pake /30 dan IP private jika koneksinya untuk internal saja, namun untuk kebutuhan LAB kita buat agar mudah saja.
Konfigurasi R1
R1(config-router)#network 12.12.12.0 0.0.0.255 area 0
R1(config-router)#network 1.1.1.1 0.0.0.0 area 0
Konfigurasi R2
R2(config-router)#network 12.12.12.0 0.0.0.255 area 0
R2(config-router)#network 23.23.23.0 0.0.0.255 area 10
R2(config-router)#network 2.2.2.2 0.0.0.0 area 10
Konfigurasi R3
R3(config-router)#network 23.23.23.0 0.0.0.255 area 10
R3(config-router)#network 3.3.3.3 0.0.0.0 area 10
Verifikasi via R2
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
1.0.0.0/32 is subnetted, 1 subnets
O 1.1.1.1 [110/2] via 12.12.12.1, 00:02:41, FastEthernet0/0
2.0.0.0/32 is subnetted, 1 subnets
C 2.2.2.2 is directly connected, Loopback0
3.0.0.0/32 is subnetted, 1 subnets
O 3.3.3.3 [110/2] via 23.23.23.3, 00:02:11, FastEthernet0/1
12.0.0.0/24 is subnetted, 1 subnets
C 12.12.12.0 is directly connected, FastEthernet0/0
23.0.0.0/24 is subnetted, 1 subnets
C 23.23.23.0 is directly connected, FastEthernet0/1
Perhatikan tanda yang diberi warna merah, kode huruf O menunjukkan bahwa route tersebut berasal dari OSPF dalam satu area. Angka 110 adalah Administrative Distance milik OSPF, sedangkan angka 2 menunjukkan cost untuk mencapai tujuan. Nilai cost ini dihitung menggunakan rumus OSPF, yaitu reference bandwidth dibagi bandwidth interface yang dikonfigurasi (dalam kbps).
show ip ospf neighbor via R2
Neighbor ID Pri State Dead Time Address Interface
1.1.1.1 1 FULL/BDR 00:00:35 12.12.12.1 FastEthernet0/0
3.3.3.3 1 FULL/BDR 00:00:32 23.23.23.3 FastEthernet0/1
show ip ospf databases via R1
OSPF Router with ID (1.1.1.1) (Process ID 10)
Router Link States (Area 0)
Link ID ADV Router Age Seq# Checksum Link count
1.1.1.1 1.1.1.1 1288 0x80000006 0x00feff 3
2.2.2.2 2.2.2.2 1286 0x80000007 0x00feff 2
Summary Net Link States (Area 0)
Link ID ADV Router Age Seq# Checksum
2.2.2.2 2.2.2.2 1272 0x80000005 0x00fa02
3.3.3.3 2.2.2.2 1203 0x80000006 0x00fa02
ping via R1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 31/32/32 ms
R1#ping 3.3.3.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 62/63/63 ms
Kalau ping-nya sukses, berarti bisa dibilang konfigurasi yang kita buat sudah jalan dan berhasil
Karena sekarang udah banyak interface yang pakai Gigabit bahkan lebih, kita juga perlu biasain buat ngubah reference bandwidth di OSPF. Soalnya secara default, OSPF masih pakai 100 Mbps, yang udah nggak relevan buat network sekarang.
Best practice-nya, reference bandwidth disamain dengan interface paling besar yang ada di network. Contohnya, kalau di network tersebut ada interface TenGigabit (10 Gbps), maka reference bandwidth OSPF juga sebaiknya di-set ke 10 Gbps. Dengan begitu, perhitungan cost jadi lebih akurat dan masuk akal.
% OSPF: Reference bandwidth is changed.
Please ensure reference bandwidth is consistent across all routers
Cara kerja OSPF
Setelah ngerjain LAB sebelumnya, sekarang kita lanjut buat ngulik cara kerja Routing OSPF. Di sesi ini kita bakal bahas mulai dari paket-paket OSPF, proses neighbor discovery lewat Hello Packet, Router ID, pemilihan DR/BDR, sampai tipe network yang dipakai OSPF.
OSPF Packet
Apa sih fungsi dari masing-masing packet OSPF?
Hello: dipakai buat nemuin neighbor, bikin hubungan (adjacency), sekaligus jaga koneksi antar-router biar tetap aktif.
DBD (Database Description): berfungsi buat ngecek apakah isi LSDB di dua router sudah sama. Isinya cuma ringkasan database, bukan detail lengkap.
LSR (Link State Request): digunakan buat minta informasi link-state tertentu ke router tetangga.
LSU (Link State Update): dipakai buat ngirim link-state yang tadi diminta lewat LSR.
LSAck (Link State Acknowledgment): karena OSPF itu protokol yang reliable, packet ini dipakai buat konfirmasi bahwa packet lain sudah diterima.
Neighbor Discovery
Supaya bisa jadi neighbor, OSPF harus ngelewatin 7 tahap (state) terlebih dulu, yaitu:
Down: belum ada tetangga OSPF yang terdeteksi sama sekali.
Init: router sudah nerima Hello packet dari neighbor.
Two-Way: Router ID kita muncul di Hello packet yang diterima, artinya komunikasi dua arah sudah oke.
Exstart: router mulai nentuin siapa yang jadi master dan siapa yang jadi slave.
Exchange: kedua router saling kirim Database Description (DBD).
Loading: proses minta dan kirim data LSDB lewat LSR dan LSU.
Full: semua data sudah sinkron dan OSPF adjacency terbentuk sepenuhnya.
Dari pembahasan neighbor discovery sebelumnya, kita bisa lihat kalau ada yang namanya Hello packet. Paket ini adalah salah satu packet OSPF yang paling krusial, karena tanpa Hello packet, topologi OSPF tidak akan bisa terbentuk.
Setiap Hello packet nantinya bakal membawa berbagai macam informasi, seperti yang ditunjukkan di ilustrasi di atas. Dari sekian banyak info yang ada, untuk sekarang yang perlu kita fokuskan adalah Router ID, Hello/Dead Interval, dan Area ID.
Router ID: identitas unik router dengan format 32-bit (mirip IPv4). Biasanya diambil dari IP loopback tertinggi, kalau nggak ada loopback, pakai IP interface tertinggi.
Hello/Dead Interval: ngatur seberapa sering Hello packet dikirim dan batas waktu sebelum neighbor dianggap down kalau nggak ada Hello yang masuk.
Area ID: nunjukin area OSPF dari router pengirim Hello. Harus sama dengan area router tetangga biar bisa jadi neighbor.
Type network ospf
Broadcast
Dipakai di network yang banyak router dalam satu segmen (contoh: Ethernet). OSPF akan milih DR dan BDR buat ngurangin traffic update.Point-to-Point
Dipakai buat koneksi langsung antar dua router. Tidak ada DR/BDR, karena cuma ada dua router yang saling terhubung.Broadcast Multi-Access (BMA)
Satu network dipakai banyak router dan support broadcast (contoh: Ethernet). OSPF akan milih DR dan BDR supaya pertukaran routing lebih efisien.Point-to-Multipoint (P2MP)
Satu router terhubung ke beberapa router lain. Tidak ada DR/BDR, dan tiap koneksi dianggap seperti point-to-point.Non-Broadcast Multi-Access (NBMA)
Satu network dipakai banyak router tapi tidak support broadcast (contoh: Frame Relay). Tetap ada DR/BDR, tapi neighbor biasanya harus dikonfigurasi manual. Tipe jaringan NBMA untuk sekarang ini jarang digunakan karena tidak begitu efisien dikarenakan proses pengiriman paket nya tidak menggunakan multicast melainkan unicast.
DR/BDR Election
Di jaringan broadcast multi-access, DR dan BDR itu penting karena jadi pusat pertukaran informasi OSPF. Semua update OSPF bakal lewat DR dan dibackup sama BDR. Pemilihan DR/BDR ditentukan dari nilai Priority. Router dengan priority tertinggi jadi DR, urutan kedua jadi BDR. Secara default, priority = 1. Nilainya berkisar 0–255
- 255 → router pasti jadi DR
- 0 → router nggak akan jadi DR/BD
Jika semua router punya priority yang sama, maka OSPF akan menggunakan Router ID sebagai penentu. Router dengan Router ID paling besar akan terpilih jadi DR, dan Router ID terbesar kedua jadi BDR.

No comments:
Post a Comment