Konsep dan Implementasi OSPF Dasar

Link-State Routing Protocols:

  • Ada 2 tipe:
    • IS – IS
    • OSPF
  • Memaintain 3 jenis tabel
    • Tabel Neighbor (router tetangga)
    • Tabel Topologi
    • Tabel routing
  • Menggunakan algoritma Dijkstra Shortest Path First (SPF)
  • Mengirimkan triggered update untuk memberitahukan adanya perubahan topologi.
  • Mengirimkan periodic update (LS Refresh) dengan interval yang panjang.
Tabel Topologi inilah yang membedakan dengan protokol distance vector, dimana tabel topologi pada link-state merupakan gambaran menyeluruh mengenai network, sedangkan pada distance vector hanya berisi list dari apa-apa yang diketahui oleh neighbor, itulah mengapa distance vector disebut juga sebagai routing by rumour.
Tabel topologi akan berisi semua jalur/path yang mungkin untuk menempuh setiap network destination. Dan untuk setiap network destination akan dipilih satu jalur/path terbaik yang kemudian akan disimpan kedalam tabel routing.
Setelah beberapa waktu yang lama, link-state router akan saling mengirimkan update secara periodic yang berisi keseluruhan informasi routing untuk memastikan konsistensi informasi pada semua router dalam 1 area, pada OSPF hal ini terjadi setiap 30 menit.



Desain Area dan Istilah-Istilah OSPF

icnd2_topology3_concept11
  • Setiap Area harus terhubung pada Area 0 (backbone).
  • Semua router dalam satu area akan memiliki tabel topologi (road map) yang identik.
  • Goal: melokalisasi update terjadi hanya dalam satu area.
  • Membutuhkan desain hirarkis
Autonomous System, adalah keseluruhan network-network yang berada pada 1 kewenangan administrasi yang sama, bisa saja terdiri dari beberapa area.
Area Border Router (ABR), adalah router yang terhubung pada 2 atau lebih area, salah 1 area nya haruslah area 0. ABR inilah yang akan melokalisasi update yang terjadi pada 1 area agar tidak tersebar pada area lainnya.
Autonomous System Boundary Router, adalah router yang menghubungkan autonomous system (AS) dengan AS yang lain yang bisa saja berupa network RIP, EIGRP atau network yang menjalankan protokol routing lain.
ABR dan ASBR adalah satu-satunya router yang dapat melakukan summarization, tidak seperti pada EIGRP dimana summarization dapat dilakukan pada router mana saja.

OSPF Neighbor Relationship

  • Tentukan Router ID
    • Router ID hanyalah identitas router dalam proses OSPF.
    • IP address terbesar diantara interface-interface yang aktif saat OSPF dijalankan akan menjadi Router ID.
    • Jika ada interface loopback yang aktif, maka Router ID akan diambil dari IP address terbesar interface loopback.
    • Dapat dikonfigurasi secara manual dengan perintah router-id dibawah proses OSPF. (lebih direkomendasikan).
    • Perlu diingat penggantian router id hanya akan berlaku setelah router di reboot atau proses OSPF di restart.
  • Tambahkan interface-interface pada database link state dengan menggunakan perintah network didalam proses ospf.
  • Router mengirimkan paket Hello via interface-interface yang terpilih. *Down State*
    • Paket Hello akan dikirimkan setiap 10 detik pada network broadcast/point-to-point
    • Dikirim setiap 30 detik pada network NBMA (nonbroadcast multiaccess).
    • Berisi informasi-informasi berikut:
      • Router ID
      • Hello Timer dan Dead Timer (harus sama)
      • Network Mask (harus sama)
      • Area ID (harus sama)
      • Neighbor-Neighbor yang dimiliki
      • Router Priority
      • IP address DR/BDR
      • Password Otentikasi (harus sama)
  • Router menerima paket Hello *Init State*
    Jika setelah pada fase ini, status adjacency kembali menjadi down-state, maka troubleshoot yang bisa dilakukan adalah dengan mengecek parameter-parameter yang harus identik:  
    • Cek Hello/Dead Interval.
    • Cek Netmask
    • Cek Area ID
    • Cek password Otentikasi
  • Router mengirimkan paket Reply Hello **2-way state**
    • Router akan mengecek apakah dirinya telah terdaftar sebagai neighbor dalam paket hello
      • Jika ya, maka dead timer akan di reset
      • Jika tidak, maka router neighbor akan ditambahkan kedalam list sebagai neighbor yang baru, dan proses berlanjut pada langkah berikutnya.
  • Router-router akan menentukan hubungan master-slave **Exstart State**
    Hubungan master-slave ini tidak begitu penting, karena hanya menentukan siapa yang lebih dulu mengirimkan link-state database terlebih dahulu.  
    • Ditentukan oleh “priority“, jika priority sama, maka router yang memilii router-id lebih besar akan menjadi master.
    • Master akan mengirimkan paket Database Description (DBD).
    • Baru kemudian Slave mengirimkan paket DBD-nya.
  • DBD akan di verifikasi dan di review oleh masing-masing router **Loading State**
    • Slave me-request detail (Link State RequestLSR).
    • Master mengirimkan update (Link State UpdatesLSU).
    • Master me-request detail (LSR).
    • Slave mengiriman update (LSU).
  • Masing-masing neighbor telah sinkron **Full State**
    • Kini masing-masing router memiliki link-state database yang sama.
Setelah link-state database telah dibangun maka sudah saatnya menjalankan algoritma SPF untuk membangun tabel routing.

OSPF Metric

Dalam OSPF metric disebut sebagai cost dan cost dihitung dengan
Cost = 100/bandwidth (Mbps)
Beberapa cost yang sudah umum antara lain:
  • Link 56k = 1785
  • Link 64k = 1562
  • T1 (1.544) = 65
  • Ethernet = 10
  • Fast Ethernet = 1

Konsep DR dan BDR

DR (Designated Router) dan BDR (Backup Designated Router) berfungsi sebagai pengontrol pengiriman update routing dalam satu segment network yang sama. Dalam satu segment network, 1 router akan dipilih sebagai DR dan satu lagi sebagai BDR, BDR tidak melakukan apapun kecuali DR mengalami kegagalan.
  • Pada saat terjadi perubahan pada salah satu network yang terhubung pada suatu router, maka router tersebut akan mengirimkan update kepada DR melalui address multicast 224.0.0.6.
  • Kemudia DR akan mengirimkan update routing ke semua router yang berpartisipasi dalam proses OSPF melalui address multicast 224.0.0.5
  • DR dan BDR akan dipilih untuk setiap segment network, kecuali pada link point-to-point.
  • Pemilihan DR dan BDR dipengaruhi oleh nilai router priority. Jika semua router field priority nya memiliki nilai yang sama, maka akan digunakan router-id untuk memilih DR dan BDR.
  • Dalam network broadcast (mis: Ethernet), siapa yang jadi DR dan BDR kurang begitu penting, DR dan BDR akan begitu berpengaruh pada NBMA.
  • Dalam satu shared network yang terdiri dari beberapa router, router menjalin hubungan neighbor pada status full-state hanya dengan DR dan BDR, dengan router lain hanya sampai 2-way state.

Tipe-Tipe paket OSPF

  • Database Description (DBD), potongan dari link-state database.
  • Link-State Request (LSR), untuk meminta informasi routing yang belum ketahui dari router lain.
  • Link-State Update (LSU), response dari LSR.
  • Link-State Advertisement (LSA). Update tentang informasi satu entri route tunggal, biasanya dalam satu LSU terdapat beberapa LSA.
  • Link-State Acknowledgement (LSACK), OSPF menggunakan protokol layer 4 sendiri untuk menjamin terkirimnya pesan update.

Implementasi dan Verifikasi

topology_ospf1
R1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#router ospf 1
R1(config-router)#network 172.30.49.0 0.0.0.255 area 0
R1(config-router)#^Z
R1#
Perintah diatas akan mengaktifkan OSPF pada interface ethernet1/0 R1, kita dapat memverifikasinya dengan perintah sh ip ospf interface
R1#sh ip ospf interface
Ethernet1/0 is up, line protocol is up
  Internet Address 172.30.49.1/24, Area 0
  Process ID 1, Router ID 172.30.49.1, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State WAITING, Priority 1
  No designated router on this network
  No backup designated router on this network
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    oob-resync timeout 40
    Hello due in 00:00:00
    Wait time before Designated router selection 00:00:20
  Supports Link-local Signaling (LLS)
  Index 1/1, flood queue length 0
  Next 0×0(0)/0×0(0)
  Last flood scan length is 0, maximum is 0
  Last flood scan time is 0 msec, maximum is 0 msec
  Neighbor Count is 0, Adjacent neighbor count is 0
  Suppress hello for 0 neighbor(s)
Dari Output perintah diatas kita dapat melihat nilai-nilai dead timer, hello timer, router ID, tipe network adalah Broadcast dan lain-lain, berikutnya kita aktifkan OSPF pada interface serial0/0.
R1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#router ospf 1
R1(config-router)#network 10.1.4.0 0.0.0.3 area 0
R1(config-router)#^Z
R1#
Kini jika kita eksekusi perintah sh ip ospf interface, kita akan melihat ada 2 interface yang aktif dalam proses OSPF
R1#sh ip ospf interface
Serial0/0 is up, line protocol is up
  Internet Address 10.1.14.1/30, Area 0
  Process ID 1, Router ID 172.30.49.1, Network Type POINT_TO_POINT, Cost: 64
  Transmit Delay is 1 sec, State POINT_TO_POINT,
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    oob-resync timeout 40
    Hello due in 00:00:04
  Supports Link-local Signaling (LLS)
  Index 2/2, flood queue length 0
  Next 0×0(0)/0×0(0)
  Last flood scan length is 0, maximum is 0
  Last flood scan time is 0 msec, maximum is 0 msec
  Neighbor Count is 0, Adjacent neighbor count is 0
  Suppress hello for 0 neighbor(s)
Ethernet1/0 is up, line protocol is up
  Internet Address 172.30.49.1/24, Area 0
  Process ID 1, Router ID 172.30.49.1, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State DR, Priority 1
  Designated Router (ID) 172.30.49.1, Interface address 172.30.49.1
  No backup designated router on this network
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    oob-resync timeout 40
    Hello due in 00:00:00
  Supports Link-local Signaling (LLS)
  Index 1/1, flood queue length 0
  Next 0×0(0)/0×0(0)
  Last flood scan length is 0, maximum is 0
  Last flood scan time is 0 msec, maximum is 0 msec
  Neighbor Count is 0, Adjacent neighbor count is 0
  Suppress hello for 0 neighbor(s)
Kita lihat nilai-nilai hello timer, dead timer dan lain-lain pada kedua interface adalah identik, perhatikan juga pada interface ethernet, karena ethernet termasuk network broadcast maka OSPF akan memilih salah satu router sebagai DR dan BDR dan karena R1 belum/tidak menjalin hubungan adjacency dengan satu neighbor pun pada interface ethernetnya, maka R1 akan mendeklarasikan dirinya sendiri sebagai DR. Sedangkan pada link serial, OSPF tidak melakukan pemilihan DR dan BDR untuk koneksi point-to-point, kini kita lakukan konfigurasi pada router R4
R4#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R4(config)#router ospf 1
R4(config-router)#network 172.30.50.0 0.0.0.255 area 0
R4(config-router)#^Z
R4#
Sebelum mengaktifkan OSPF pada interface yang terhubung ke R1, kita aktifkan beberapa fitur debug untuk memperhatikan dan menganalisa cara kerja OSPF
R4#debug ip ospf adj
R4#debug ip ospf events
*Mar  1 00:50:10.099: OSPF: Send hello to 224.0.0.5 area 0 on Ethernet1/0 from 172.30.50.4

Kita lihat bahwa OSPF mengirimkan paket hello ke address multicast 224.0.0.5, kini mari kita aktifkan link serial yang terhubung pada R1
R4#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R4(config)#router ospf 1
R4(config-router)#
*Mar  1 00:52:10.099: OSPF: Send hello to 224.0.0.5 area 0 on Ethernet1/0 from 172.30.50.4
R4(config-router)#network 10.1.14.0 0.0.0.3 area 0
R4(config-router)#
*Mar  1 00:52:30.083: OSPF: Interface Serial0/0 going Up
*Mar  1 00:52:30.083: OSPF: Send hello to 224.0.0.5 area 0 on Serial0/0 from 10.1.14.2
*Mar  1 00:52:30.099: OSPF: Send hello to 224.0.0.5 area 0 on Ethernet1/0 from 172.30.50.4
*Mar  1 00:52:30.587: OSPF: Build router LSA for area 0, router ID 172.30.50.4, seq 0×80000002
R4(config-router)#^Z
R4#
*Mar  1 00:52:33.807: %SYS-5-CONFIG_I: Configured from console by console
R4#
*Mar  1 00:52:35.763: OSPF: Rcv hello from 172.30.49.1 area 0 from Serial0/0 10.1.14.1
*Mar  1 00:52:35.763: OSPF: 2 Way Communication to 172.30.49.1 on Serial0/0, state 2WAY
*Mar  1 00:52:35.767: OSPF: Send DBD to 172.30.49.1 on Serial0/0 seq 0x3EA opt 0×52 flag 0×7 len 32
*Mar  1 00:52:35.767: OSPF: End of hello processing
*Mar  1 00:52:35.823: OSPF: Rcv DBD from 172.30.49.1 on Serial0/0 seq 0x157A opt 0×52 flag 0×7 len 32  mtu 1500 state EXSTART
*Mar  1 00:52:35.827: OSPF: First DBD and we are not SLAVE
*Mar  1 00:52:35.827: OSPF: Rcv DBD from 172.30.49.1 on Serial0/0 seq 0x3EA opt 0×52 flag 0×2 len 52  mtu 1500 state EXSTART
*Mar  1 00:52:35.831: OSPF: NBR Negotiation Done. We are the MASTER
*Mar  1 00:52:35.831: OSPF: Send DBD to 172.30.49.1 on Serial0/0 seq 0x3EB opt 0×52 flag 0×3 len 52
*Mar  1 00:52:35.831: OSPF: Database request to 172.30.49.1
*Mar  1 00:52:35.835: OSPF: sent LS REQ packet to 10.1.14.1, length 12
*Mar  1 00:52:35.867: OSPF: Rcv DBD from 172.30.4
R4#9.1 on Serial0/0 seq 0x3EB opt 0×52 flag 0×0 len 32  mtu 1500 state EXCHANGE
*Mar  1 00:52:35.871: OSPF: Send DBD to 172.30.49.1 on Serial0/0 seq 0x3EC opt 0×52 flag 0×1 len 32
*Mar  1 00:52:35.887: OSPF: Rcv DBD from 172.30.49.1 on Serial0/0 seq 0x3EC opt 0×52 flag 0×0 len 32  mtu 1500 state EXCHANGE
*Mar  1 00:52:35.887: OSPF: Exchange Done with 172.30.49.1 on Serial0/0
*Mar  1 00:52:35.891: OSPF: Synchronized with 172.30.49.1 on Serial0/0, state FULL
*Mar  1 00:52:35.891: %OSPF-5-ADJCHG: Process 1, Nbr 172.30.49.1 on Serial0/0 from LOADING to FULL, Loading Done
Segera setelah mengeksekusi perintah network 10.1.14.0 0.0.0.3 area 0, akan muncul pesan-pesan dari fitur debug yang sudah kita aktifkan. Kita bisa lihat bahwa R1 dan R4 saling bertukar paket Hello, perhatikan bagian-bagian yang tercetak tebal pada output debug diatas. Dan kita lihat setelah adjacency mencapai state FULL, berarti kedua router telah menjalin hubungan neighbor, kita bisa melihatnya dengan perintah sh ip ospf neighbor
R1#sh ip ospf nei

Neighbor ID     Pri   State           Dead Time   Address         Interface
172.30.50.4       0   FULL/  -        00:00:31    10.1.14.2       Serial0/0
Sebelum kita aktifkan OSPF pada R2 dan R3, berhubung tidak ada priority router yang di konfigurasi manual, maka priority setiap router akan sama dan dengan begitu DR dan BDR pada network ethernet akan ditentukan oleh Router ID, dari topologi diatas kita bisa menebak bahwa R4 akan menjadi DR karena IP address yang paling besar diantara ke-3 router, sedangkan BDR akan diduduki oleh R3.
Sekarang mari kita aktifkan OSPF pada R3 dan sekaligus debug untuk menganalisa perilaku OSPF
R3#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R3(config)#router ospf 1
R3(config-router)#do debug ip ospf adj
OSPF adjacency events debugging is on
R3(config-router)#do debug ip ospf ev
OSPF events debugging is on
R3(config-router)#network 172.30.0.0 0.0.255.255 area 0
R3(config-router)#
*Mar  1 01:09:55.527: OSPF: Interface Ethernet0/0 going Up
*Mar  1 01:09:55.531: OSPF: Send hello to 224.0.0.5 area 0 on Ethernet0/0 from 172.30.50.2
*Mar  1 01:09:56.031: OSPF: Build router LSA for area 0, router ID 172.30.50.2, seq 0×80000001
R3(config-router)#^Z
R3#
*Mar  1 01:09:56.995: %SYS-5-CONFIG_I: Configured from console by console
R3#
*Mar  1 01:10:00.687: OSPF: Rcv hello from 172.30.50.4 area 0 from Ethernet0/0 172.30.50.4
*Mar  1 01:10:00.687: OSPF: 2 Way Communication to 172.30.50.4 on Ethernet0/0, state 2WAY
*Mar  1 01:10:00.691: OSPF: Backup seen Event before WAIT timer on Ethernet0/0
*Mar  1 01:10:00.691: OSPF: DR/BDR election on Ethernet0/0
*Mar  1 01:10:00.691: OSPF: Elect BDR 172.30.50.2
*Mar  1 01:10:00.691: OSPF: Elect DR 172.30.50.4
*Mar  1 01:10:00.691: OSPF: Elect BDR 172.30.50.2
*Mar  1 01:10:00.695: OSPF: Elect DR 172.30.50.4
*Mar  1 01:10:00.695:        DR: 172.30.50.4 (Id)   BDR: 172.30.50.2 (Id)
*Mar  1 01:10:00.695: OSPF: Send DBD to 172.30.50.4 on Ethernet0/0 seq 0x15DF opt 0×52 flag 0×7 len 32
*Mar  1 01:10:00.699: OSPF: End of hello processing
*Mar  1 01:10:00.827: OSPF: Rcv DBD from 172.30.50.4 on Ethernet0/0 seq 0x22FA opt 0×52 flag 0×7 len 32  mtu 1500 state EXSTART
*Mar  1 01:10:00.827: OSPF: NBR Negotiation Done. We are the SLAVE
*Mar  1 01:10:00.831: OSPF: Send DBD to 17
R3#2.30.50.4 on Ethernet0/0 seq 0x22FA opt 0×52 flag 0×2 len 52
*Mar  1 01:10:00.903: OSPF: Rcv DBD from 172.30.50.4 on Ethernet0/0 seq 0x22FB opt 0×52 flag 0×3 len 72  mtu 1500 state EXCHANGE
*Mar  1 01:10:00.903: OSPF: Send DBD to 172.30.50.4 on Ethernet0/0 seq 0x22FB opt 0×52 flag 0×0 len 32
*Mar  1 01:10:00.907: OSPF: Database request to 172.30.50.4
*Mar  1 01:10:00.907: OSPF: sent LS REQ packet to 172.30.50.4, length 24
*Mar  1 01:10:00.939: OSPF: Rcv DBD from 172.30.50.4 on Ethernet0/0 seq 0x22FC opt 0×52 flag 0×1 len 32  mtu 1500 state EXCHANGE
*Mar  1 01:10:00.939: OSPF: Exchange Done with 172.30.50.4 on Ethernet0/0
*Mar  1 01:10:00.943: OSPF: Send DBD to 172.30.50.4 on Ethernet0/0 seq 0x22FC opt 0×52 flag 0×0 len 32
*Mar  1 01:10:00.947: OSPF: Synchronized with 172.30.50.4 on Ethernet0/0, state FULL
*Mar  1 01:10:00.947: %OSPF-5-ADJCHG: Process 1, Nbr 172.30.50.4 on Ethernet0/0 from LOADING to FULL, Loading Done
Perhatikan, segera setelah R3 dan R4 berada pada status 2-way state, akan dilakukan pemilihan DR dan BDR, setelah itu proses berjalan seperti pada R4 dan R1 sebelumnya, kini kita setup router terakhir
R2#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R2(config)#router ospf 1
R2(config-router)#network 172.30.0.0 0.0.255.255 area 0
R2(config-router)#^Z
R2#
Mari kita cek neighbor yang dimiliki oleh R2
R2#sh ip ospf nei

Neighbor ID     Pri   State           Dead Time   Address         Interface
172.30.50.2       1   FULL/BDR        00:00:37    172.30.50.2     Ethernet0/0
172.30.50.4       1   FULL/DR         00:00:39    172.30.50.4     Ethernet0/0
Keduanya adalah R4 sebagai DR dan R3 sebagai BDR, bagaimana jika kita lihat dari sudut pandang R3?
R3#sh ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface
172.30.50.3       1   FULL/DROTHER    00:00:34    172.30.50.3     Ethernet0/0
172.30.50.4       1   FULL/DR         00:00:39    172.30.50.4     Ethernet0/0

R2 terdeteksi sebagai DROTHER, dan kita tidak melihat BDR karena BDR adalah R3 itu sendiri.
Diatas telah disebutkan bahwa priority router tidak di set sehingga pemilihan DR dan BDR akan didasarkan pada Router ID setiap router, sekarang kita akan melihat bagaimana priority mempengaruhi proses pemilihan DR dan BDR, kita akan menaikkan nilai priority router R2 yang saat ini tidak menjabat DR ataupun BDR
R2#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R2(config)#int e0/0
R2(config-if)#ip ospf priority 2
R2(config-if)#^Z
R2#
Kemudian kita restart proses ospf pada semua router
R2#clear ip ospf process
R3#clear ip ospf proc
R4#clear ip ospf process
Setelah adjacency telah terjalin diantara ketiga router kita akan melihat bahwa R2 kini menjadi DR
R2#sh ip osp nei

Neighbor ID     Pri   State           Dead Time   Address         Interface
172.30.50.2       1   FULL/BDR        00:00:31    172.30.50.2     Ethernet0/0
172.30.50.4       1   FULL/DROTHER    00:00:37    172.30.50.4     Ethernet0/0

Kita lihat, DR tidak tercantum diatas, karena yang menjadi DR adalah R2 itu sendiri.

dikutip dari : http://pekoktenan.wordpress.com/2009/04/23/lab-bsci-konsep-dan-implementasi-ospf-dasar/
These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Furl
  • Reddit
  • Spurl
  • StumbleUpon
  • Technorati

One Response to this post

  1. rudy on Jumat, 22 Oktober 2010 pukul 11.06.00 WIB

    thank's lo banyak yang gua baca gan
    thank's,...