OSPF (Open Shortest Path First) merupakan sebuah routing protokol berjenis IGP yang hanya
dapat bekerja dalam jaringan internal suatu ogranisasi atau perusahaan.
Jaringan internal maksudnya adalah jaringan di mana Anda masih memiliki hak
untuk menggunakan, mengatur, dan memodifikasinya. Atau dengan kata lain, Anda
masih memiliki hak administrasi terhadap jaringan tersebut.
OSPF merupakan routing protokol yang menggunakan konsep hirarki
routing, artinya OSPF membagi-bagi jaringan menjadi beberapa tingkatan.
Tingkatan-tingkatan ini diwujudkan dengan menggunakan sistem pengelompokan
area. Dengan menggunakan konsep hirarki routing ini sistem penyebaran
informasinya menjadi lebih teratur dan tersegmentasi, tidak menyebar ke sana ke
mari dengan sembarangan. Efek dari keteraturan distribusi routing ini adalah
jaringan yang penggunaan bandwidth-nya lebih efisien, lebih cepat mencapai
konvergensi, dan lebih presisi dalam menentukan rute-rute terbaik menuju ke
sebuah lokasi. OSPF merupakan salah satu routing protocol yang selalu berusaha
untuk bekerja layaknya prinsip kerja seperti demikian.
Untuk memulai semua aktivitas OSPF dalam menjalankan pertukaran
informasi routing, hal pertama yang harus dilakukannya adalah membentuk sebuah
komunikasi dengan para router lain. Router lain yang berhubungan langsung atau
yang berada di dalam satu jaringan dengan router OSPF tersebut disebut dengan
neighbour router atau router tetangga.
Langkah pertama yang harus dilakukan sebuah router OSPF adalah
harus membentuk hubungan dengan neighbour router. Router OSPF mempunyai sebuah
mekanisme untuk dapat menemukan router tetangganya dan dapat membuka hubungan.
Mekanisme tersebut disebut dengan istilah Hello protocol.
Dalam membentuk hubungan dengan tetangganya, router OSPF akan
mengirimkan sebuah paket berukuran kecil secara periodik ke dalam jaringan atau
ke sebuah perangkat yang terhubung langsung dengannya. Paket kecil tersebut
dinamai dengan istilah Hello packet. Pada kondisi standar, Hello packet
dikirimkan berkala setiap 10 detik sekali (dalam media broadcast multiaccess)
dan 30 detik sekali dalam media Point-to-Point.
Hello packet berisikan informasi seputar pernak-pernik yang ada
pada router pengirim. Hello packet pada umumnya dikirim dengan menggunakan
multicast address untuk menuju ke semua router yang menjalankan OSPF (IP
multicast 224.0.0.5). Semua router yang menjalankan OSPF pasti akan
mendengarkan protokol hello ini dan juga akan mengirimkan hello packet-nya
secara berkala. Cara kerja dari Hello protocol dan pembentukan neighbour router
terdiri dari beberapa jenis, tergantung dari jenis media di mana router OSPF
berjalan.
Secara garis besar, proses yang dilakukan routing protokol OSPF
mulai dari awal hingga dapat saling bertukar informasi ada lima langkah.
Berikut ini adalah langkah-langkahnya:
1)
Membentuk Adjacency Router
Adjacency
router arti harafiahnya adalah router yang bersebelahan atau yang terdekat.
Jadi proses pertama dari router OSPF ini adalah menghubungkan diri dan saling
berkomunikasi dengan para router terdekat atau neighbour router. Untuk dapat
membuka komunikasi, Hello protocol akan bekerja dengan mengirimkan Hello
packet. Misalkan ada dua buah router, Router A dan B yang saling
berkomunikasi OSPF. Ketika OSPF kali pertama bekerja, maka kedua router
tersebut akan saling mengirimkan Hello packet dengan alamat multicast sebagai
tujuannya. Di dalam Hello packet terdapat sebuah field yang berisi Neighbour
ID. Misalkan router B menerima Hello packet lebih dahulu dari router A. Maka
Router B akan mengirimkan kembali Hello packet-nya dengan disertai ID dari
Router A.
Ketika
router A menerima hello packet yang berisikan ID dari dirinya sendiri, maka
Router A akan menganggap Router B adalah adjacent router dan mengirimkan
kembali hello packet yang telah berisi ID Router B ke Router B. Dengan demikian
Router B juga akan segera menganggap Router A sebagai adjacent routernya.
Sampai di sini adjacency router telah terbentuk dan siap melakukan pertukaran
informasi routing.
Contoh
pembentukan adjacency di atas hanya terjadi pada proses OSPF yang
berlangsung pada media Point-to-Point. Namun, prosesnya akan lain lagi jika
OSPF berlangsung pada media broadcast multiaccess seperti pada jaringan
ethernet. Karena media broadcast akan meneruskan paket-paket hello ke seluruh
router yang ada dalam jaringan, maka adjacency router-nya tidak hanya satu.
Proses pembentukan adjacency akan terus berulang sampai semua router yang ada
di dalam jaringan tersebut menjadi adjacent router.
Namun
apa yang akan terjadi jika semua router menjadi adjacent router? Tentu
komunikasi OSPF akan meramaikan jaringan. Bandwidth jaringan Anda menjadi tidak
efisien terpakai karena jatah untuk data yang sesungguhnya ingin lewat di
dalamnya akan berkurang. Untuk itu pada jaringan broadcast multiaccess akan
terjadi lagi sebuah proses pemilihan router yang menjabat sebagai “juru bicara”
bagi router-router lainnya.
Router
juru bicara ini sering disebut dengan istilah Designated Router. Selain router
juru bicara, disediakan juga back-up untuk router juru bicara ini. Router ini
disebut dengan istilah Backup Designated Router. Langkah berikutnya adalah
proses pemilihan DR dan BDR, jika memang diperlukan.
2)
Memilih DR dan BDR (jika diperlukan)
Dalam
jaringan broadcast multiaccess, DR dan BDR sangatlah diperlukan. DR dan BDR
akan menjadi pusat komunikasi seputar informasi OSPF dalam jaringan tersebut.
Semua paket pesan yang ada dalam proses OSPF akan disebarkan oleh DR dan BDR.
Maka itu, pemilihan DR dan BDR menjadi proses yang sangat kritikal. Sesuai
dengan namanya, BDR merupakan “shadow” dari DR. Artinya BDR tidak akan
digunakan sampai masalah terjadi pada router DR. Ketika router DR bermasalah,
maka posisi juru bicara akan langsung diambil oleh router BDR. Sehingga
perpindahan posisi juru bicara akan berlangsung dengan smooth.
Proses
pemilihan DR/BDR tidak lepas dari peran penting Hello packet. Di dalam Hello
packet ada sebuah field berisikan ID dan nilai Priority dari sebuah router.
Semua router yang ada dalam jaringan broadcast multi-access akan menerima semua
Hello dari semua router yang ada dalam jaringan tersebut pada saat kali pertama
OSPF berjalan. Router dengan nilai Priority tertinggi akan menang dalam
pemilihan dan langsung menjadi DR. Router dengan nilai Priority di urutan kedua
akan dipilih menjadi BDR. Status DR dan BDR ini tidak akan berubah sampai salah
satunya tidak dapat berfungsi baik, meskipun ada router lain yang baru
bergabung dalam jaringan dengan nilai Priority-nya lebih tinggi.
Secara
default, semua router OSPF akan memiliki nilai Priority 1. Range Priority ini
adalah mulai dari 0 hingga 255. Nilai 0 akan menjamin router tersebut tidak
akan menjadi DR atau BDR, sedangkan nilai 255 menjamin sebuah router pasti akan
menjadi DR. Router ID biasanya akan menjadi sebuah “tie breaker” jika nilai
Priority-nya sama. Jika dua buah router memiliki nilai Priority yang sama, maka
yang menjadi DR dan BDR adalah router dengan nilai router ID tertinggi dalam
jaringan. Setelah DR dan BDR terpilih, langkah selanjutnya adalah mengumpulkan
seluruh informasi jalur dalam jaringan.
3)
Mengumpulkan State-state dalam Jaringan
Setelah
terbentuk hubungan antar router-router OSPF, kini saatnya untuk bertukar
informasi mengenai state-state dan jalur-jalur yang ada dalam jaringan. Pada
jaringan yang menggunakan media broadcast multiaccess, DR-lah yang akan
melayani setiap router yang ingin bertukar informasi OSPF dengannya. DR akan
memulai lebih dulu proses pengiriman ini. Namun yang menjadi pertanyaan
selanjutnya adalah, siapakah yang memulai lebih dulu pengiriman data link-state
OSPF tersebut pada jaringan Point-to-Point?
Untuk
itu, ada sebuah fase yang menangani siapa yang lebih dulu melakukan pengiriman.
Fase ini akan memilih siapa yang akan menjadi master dan siapa yang menjadi
slave dalam proses pengiriman. Router yang menjadi master akan melakukan
pengiriman lebih dahulu, sedangkan router slave akan mendengarkan lebih dulu.
Fase ini disebut dengan istilah Exstart State. Router master dan
slave dipilih berdasarkan router ID tertinggi dari salah satu router. Ketika
sebuah router mengirimkan Hello packet, router ID masing-masing juga dikirimkan
ke router neighbour.
Setelah
membandingkan dengan miliknya dan ternyata lebih rendah, maka router tersebut
akan segera terpilih menjadi master dan melakukan pengiriman lebih dulu ke
router slave. Setelah fase Exstart lewat, maka router akan memasuki fase
Exchange. Pada fase ini kedua buah router akan saling mengirimkan Database
Description Packet. Isi paket ini adalah ringkasan status untuk seluruh media
yang ada dalam jaringan. Jika router penerimanya belum memiliki informasi yang
ada dalam paket Database Description, maka router pengirim akan masuk dalam
fase loading state. Fase loading state merupakan fase di mana sebuah router
mulai mengirimkan informasi state secara lengkap ke router tetangganya.
Setelah
loading state selesai, maka router-router yang tergabung dalam OSPF akan
memiliki informasi state yang lengkap dan penuh dalam database statenya. Fase
ini disebut dengan istilah Full state. Sampai fase ini proses awal OSPF sudah
selesai, namun database state tidak bisa digunakan untuk proses forwarding
data. Maka dari itu, router akan memasuki langkah selanjutnya, yaitu memilih
rute-rute terbaik menuju ke suatu lokasi yang ada dalam database state
tersebut.
4)
Memilih Rute Terbaik untuk Digunakan
Setelah
informasi seluruh jaringan berada dalam database, maka kini saatnya untuk
memilih rute terbaik untuk dimasukkan ke dalam routing table. Jika sebuah rute
telah masuk ke dalam routing table, maka rute tersebut akan terus digunakan.
Untuk memilih rute-rute terbaik, parameter yang digunakan oleh OSPF adalah
Cost. Metrik Cost biasanya akan menggambarkan seberapa dekat dan cepatnya
sebuah rute. Nilai Cost didapat dari perhitungan dengan rumus: Cost of
the link = 108 /Bandwidth Router OSPF akan menghitung semua cost yang
ada dan akan menjalankan algoritma Shortest Path First untuk memilih rute
terbaiknya. Setelah selesai, maka rute tersebut langsung dimasukkan dalam
routing table dan siap digunakan untuk forwarding data.
5)
Menjaga Informasi Routing Tetap Upto-date
Ketika
sebuah rute sudah masuk ke dalam routing table, router tersebut harus juga
me-maintain state database-nya. Hal ini bertujuan kalau ada sebuah rute yang
sudah tidak valid, maka router harus tahu dan tidak boleh lagi menggunakannya.
Ketika ada perubahan link-state dalam jaringan, OSPF router akan melakukan
flooding terhadap perubahan ini. Tujuannya adalah agar seluruh router dalam
jaringan mengetahui perubahan tersebut. Sampai di sini semua proses OSPF akan
terus berulang-ulang. Mekanisme seperti ini membuat informasi rute-rute yang
ada dalam jaringan terdistribusi dengan baik, terpilih dengan baik dan dapat
digunakan dengan baik pula.