Jumat, 25 Juli 2008

OSPF - Cara Kerja

OSPF Bekerja pada Media Apa Saja?
Seperti telah dijelaskan pada posting sebelumnya ( OSPF - Pengenalan OSPF ), OSPF harus membentuk hubungan dulu dengan router tetangganya untuk dapat saling berkomunikasi seputar informasi routing. Untuk membentuk sebuah hubungan dengan router tetangganya, OSPF mengandalkan Hello protocol. Namun uniknya cara kerja Hello protocol pada OSPF berbeda-beda pada setiap jenis media. Ada beberapa jenis media yang dapat meneruskan informasi OSPF, masing-masing memiliki karakteristik sendiri, sehingga OSPF pun bekerja mengikuti karakteristik mereka. Media tersebut adalah sebagai berikut:

  • Broadcast Multiaccess
    Media jenis ini adalah media yang banyak terdapat dalam jaringan lokal atau LAN seperti misalnya ethernet, FDDI, dan token ring. Dalam kondisi media seperti ini, OSPF akan mengirimkan traffic multicast dalam pencarian router-router neighbour-nya. Namun ada yang unik dalam proses pada media ini, yaitu akan terpilih dua buah router yang berfungsi sebagai Designated Router (DR) dan Backup Designated Router (BDR). Apa itu DR dan BDR akan dibahas berikutnya.

  • Point-to-Point
    Teknologi Point-to-Point digunakan pada kondisi di mana hanya ada satu router lain yang terkoneksi langsung dengan sebuah perangkat router. Contoh dari teknologi ini misalnya link serial. Dalam kondisi Point-to-Point ini, router OSPF tidak perlu membuat Designated Router dan Back-up-nya karena hanya ada satu router yang perlu dijadikan sebagai neighbour. Dalam proses pencarian neighbour ini, router OSPF juga akan melakukan pengiriman Hello packet dan pesan-pesan lainnya menggunakan alamat multicast bernama AllSPFRouters 224.0.0.5.

  • Point-to-Multipoint
    Media jenis ini adalah media yang memiliki satu interface yang menghubungkannya dengan banyak tujuan. Jaringan-jaringan yang ada di bawahnya dianggap sebagai serangkaian jaringan Point-to-Point yang saling terkoneksi langsung ke perangkat utamanya. Pesan-pesan routing protocol OSPF akan direplikasikan ke seluruh jaringan Point-to-Point tersebut.
    Pada jaringan jenis ini, traffic OSPF juga dikirimkan menggunakan alamat IP multicast. Tetapi yang membedakannya dengan media berjenis broadcast multi-access adalah tidak adanya pemilihan Designated dan Backup Designated Router karena sifatnya yang tidak
    meneruskan broadcast.

  • Nonbroadcast Multiaccess (NBMA)
    Media berjenis Nonbroadcast multi-access ini secara fisik merupakan sebuah serial line biasa yang sering ditemui pada media jenis Point-to-Point. Namun secara faktanya, media ini dapat menyediakan koneksi ke banyak tujuan, tidak hanya ke satu titik saja. Contoh dari media ini adalah X.25 dan frame relay yang sudah sangat terkenal dalam menyediakan solusi bagi kantor-kantor yang terpencar lokasinya. Di dalam penggunaan media ini pun dikenal dua jenis penggunaan, yaitu jaringan partial mesh dan fully mesh.
    OSPF melihat media jenis ini sebagai media broadcast multiaccess. Namun pada kenyataannya, media ini tidak bisa meneruskan broadcast ke titik-titik yang ada di dalamnya. Maka dari itu untuk penerapan OSPF dalam media ini, dibutuhkan konfigurasi DR dan BDR yang dilakukan secara manual. Setelah DR dan BDR terpilih, router DR akan mengenerate LSA untuk seluruh jaringan.
    Dalam media jenis ini yang menjadi DR dan BDR adalah router yang memiliki koneksi langsung ke seluruh router tetangganya. Semua traffic yang dikirimkan dari router-router neighbour akan direplikasikan oleh DR dan BDR untuk masing-masing router dan dikirim dengan menggunakan alamat unicast atau seperti layaknya proses OSPF pada media Point-to-Point.

Bagaimana Proses OSPF Terjadi?
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 antarrouter-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.


Jaringan Besar? Gunakan OSPF!
Sampai di sini proses dasar yang terjadi dalam OSPF sudah lebih dipahami, meskipun masih sangat dasar dan belum detail. Melihat proses terjadinya pertukaran informasi di atas, mungkin Anda bisa memprediksi bahwa OSPF merupakan sebuah routing protokol yang kompleks dan rumit. Namun di balik kerumitannya tersebut ada sebuah kehebatan yang luar biasa. Seluruh informasi state yang ditampung dapat membuat rute terbaik pasti terpilih dengan benar. Selain itu dengan konsep hirarki, Anda dapat membatasi ukuran link-state database-nya, sehingga tidak terlalu besar. Artinya proses CPU juga menjadi lebih ringan.


0 komentar: