Pengenalan OSPF dan Fiturnya





Pengenalan

Open Shortest Path First (OSPF) merupakan sebuah Interior Gateway Protocol (IGP) yang menggunakan link-state untuk pemilihan jalur/rute.  OSPF menggunakan link-state algoritm untuk membangun dan mengkalkulasi jalur terpendek untuk semua destinasi/tujuan yang telah diketahui. OSPF sendiri merupakan open standart protocol yang dikembangkan oleh Internet Engineering Task Force (IETF) untuk mengatasi keterbatasan yang dimiliki oleh routing protokol distance vector.

Link-States

OSPF merupakan link-state protocol. Apakah yang dimakasud link-state pada pembahasan ini? Mari simak keterangan berikut. Link adalah sebuah interface pada router. Sate, maksud saya state adalah deskripsi interface tersebut dan deskripsi bagaimana interface tersebut terhubung dengan router lain (neighbor router). Uraian deskripsi dari interface tersebut meliputi, semisal: IP address yang dimiliki oleh interface, subnet mask, jenis/tipe jaringan yang terhubung dengan interface tersebut, dan seterusnya. Kumpulan dari semua link-state akan membentuk yang namanya link-state database.
Link state routing protocol seperti OSPF memerlukan sebuah struktur hierarki jaringan. OSPF menggunakan 2 lapisan hierarki area, yaitu:

    Backbone area/transit area/area 0: Dua syarat utama dimana suatu area bisa dikatakan sebagai backbone area/transit area/area 0 yaitu area tersebut harus terhubung dengan semua nonbackbone area dan kedua area tersebut (backbone area dan nonbackbone area) harus bersebelahan/berdekatan. Maksudnya, nonbackbone area tidak boleh pisah dengan backbone area. Secara umum, end user tidak ditemukan dalam backbone area.
    Non backbone area/regular area: Fungsi utama dari nonbackbone area/regular area yaitu menghubungkan end user dan sumber daya yang ada. Traffic antar nonbackbone area yang berbeda harus selalu melewati backbone area.

OSPF Features

OSPF menawarkan tingkat skalabilitas yang besar dan konvergensi yang cepat. Berikut adalah beberapa fitur dari protokol OSPF:

    Independent transport: OSPF bekerja di atas IP (OSPF bekerja menggunakan IP address) dan menggunakan nomor protokol 89.
    Efficient use of updates: Ketika router OSPF pertama kali menemukan router baru (new neighbor). Router OSPF akan mengirimkan full update yang berisi semua informasi link-state yang telah diketahui oleh si router OSPF kepada router baru tersebut (new neighbor). Semua router dalam sebuah area OSPF harus memiliki link-state information yang sama dan tersinkronisasi di OSPF link-state database mereka.
    Metric: Metric dalam OSPF adalah cost.
    Update destination address: OSPF menggunakan multicast dan unicast untuk mengirim pesan. IPv4 multicast 224.0.0.5 digunakan OSPF untuk mengirim informasi dari DR/BDR kepada semua router OSPF dan IPv4 multicast 224.0.0.6 digunakan untuk mengirim informasi semua router OSPF kepada router DR/BDR.
    VLSM support: OSPF merupakan classless routing protocol. OSPF mendukung fitur Variable Lenght Subnet Masking (VLSM).
    Manual route summarization: Kita bisa melakakukan sumarisasi OSPF inter-area routes di Area Border Router (ABR), dan juga memungkinkan kita untuk melakukan sumarisasi OSPF external routes di Autonomus System Boundary Router (ASBR).
    Authentication: OSPF mendukung penggunaan autentikasi seperti clear-text, MD5, dan SHA.

Area

Definisi area dalam OSPF yaitu kumpulan logikal dari jaringan, router, dan link yang memiliki identitas area yang sama. Area merupakan sebuah batas Semua router yang berada dalam sebuah sebuah area memiliki link-state database yang persis.
Area pada OSPF memeliki beberapa karakeristik. Berikut adalah karakeristik area pada OSPF:

    Meminimalisasi entri pada routing table
    Membatasi dampak dari perubahan sebuah topologi dalam sebuah area
    Area akan menjadi batas ketika terjadi flooding LSA
    Memerlukan sebuah desain hierarki jaringan

OSPF memiliki pembatasan spesial ketika beberapa area dikonfigurasi dalam sebuah routing domain OSPF/Autonomus System (AS). Apabila lebih dari satu area  dikonfigurasi, hal tersebut biasa dikenal dengan istilah OSPF multiarea, dan salah satu dari area tersebut harus area 0/backbone area.
Area 0/backbone area harus menjadi pusat dari semua area, dan area lain (nonbackbone area) harus terhubung ke backbone area. Alasan utama mengapa harus sedemikian yaitu diharapkan semua area mengirimkan informasi routing ke dalam backbone area, yang mana nantinya informasi routing tersebut dari backnone area akan didistribusikan ke area lain.

OSPF Router Type

Router OSPF dibagi menjadi 4 jenis berdasarkan fungsi yang mereka lakukan dalam sebuah routing domain:

    Internal Router: Router yang semua interface router tersebut memiliki area yang sama (semua interface router tersebut hanya terhubung dalam satu area) dan memiliki LSDB (Link State Database) yang persis.
    Backbone Router: Sebuah router yang setidaknya memiliki satu interface yang terhubung ke backbone area.
    Area Border Router (ABR): Sebuah router yang memiliki interface yang  terhubung ke setidaknya dua area OSPF area yang berbeda.
    Autonomus System Boundary Router (ASBR): Sebuah router yang setidaknya memiliki satu interface yang terhubung ke area OSPF dan setidaknya memiliki satu interface yang terhubung ke area non-OSPF/routing protokol lain selain OSPF (RIP, EIGRP, BGP,dsb).

OSPF Operation

    Establish neighbor adjacencies: Router yang menjalankan OSPF harus membentuk sebuah adjacencies dengan router OSPF lain yang terhubung ke router tersebut (neighbor router) sebelum mereka saling bertukar informasi. Router yang menjalankan OSPF tersebut akan mengirim Hello Packets kepada semua router lain yang menjalankan OSPF (lebih spesifik yaitu kepada semua interface router yang menjalankan OSPF) untuk memastikan apakah neighbor router berada di link tersebut. Apabila neighbor router berada di link tersebut, kemudian router yang menjalankan OSPF akan mencoba membangun yang namanya neighbor adjacency dengan neighbor router tersebut.
    Exchange link-state advertisements: Ketika sebuah adjacencies sudah terbentuk, kemudian router yang menjalankan OSPF akan saling bertukar link-state advertisements (LSAs). LSAs berisi state dan cost setiap link yang terhubung langsung antar router yang menjalankan OSPF. Kemudian, router-router yang menjalankan OSPF akan melakukan flooding LSAs satu sama lain. Flooding tersebut dilakukan sampai masing-masing router yang menjalankan OSPF memiliki LSA semua router yang berada dalam area tersebut. 
    Build the topology table: Setelah masing-masing router menerima LSA, router-router tersebut akan membangun yang namanya topology table/Link State Database (LSDB) berdasarkan LSA yang sudah diterima. Link-state database ini yang nantinya akan memegang semua informasi mengenai topologi dalam sebuah jaringan. Yang harus diperhatikan dan tak kalah penting yaitu semua router yang berada dalam satu area harus memiliki informasi yang sama dalam LSDB masing-masing router.
    Execute the SPF algorithm: Setelah LSDB pada masing-masing router sudah terbentuk, kemudian router-router yang menjalankan OSPF akan menjalankan SPF (Shortest Path First) algoritm. Dari SPF algoritm nantinya akan membuat SPF (Shortest Path First) tree.
    Build the routing table: Dari SPF tree ini yang nantinya akan diperoleh rute/jalur terbaik. Rute/jalur terbaik tersebut akan dimasukkan ke dalam routing table. Keputusan mengenai rute yang akan dipakai akan dibuat berdasarkan semua informasi yang berada di routing table.

Shortest Path First (SPF) Algoritm

OSPF menggunakan shortest path first algoritm untuk membangun dan mengkalkulasi jalur/rute terdekat untuk semua destinasi yang telah diketahui. Jalur/rute terdekat dikalkulasi menggunakan Djikstra algoritm.

OSPF Cost

Cost atau bisa disebut metric pada sebuah interface dalam OSPF adalah sebuah indikasi yang menunjukkan batas atas/maksimal pengiriman paket melalui interface tertentu. Cost sebuah interface berbanding terbalik dengan bandwith yang dimiliki oleh interface tersebut. Semakin tinggi sebuah bandwidth sebuah interface, maka semakin rendah cost interface tersebut. Berikut rumus yang digunakan untuk menghitung cost:

    Cost= 1000000/bandwith of interface [bps]

Secara default, perhitungan cost dalam OSPF adalah berdasarkan bandwidth sebuah interface. Kita bisa memaksakan perubahan cost sebuah interface dengan perintah ip ospf cost <1-65535> pada mode interface subconfiguration.
R1(config-if)#ip ospf cost 100

OSPF Message Types

Sebelum neighbor adjacencies OSPF terbentuk, OSPF akan saling bertukar paket. Selain untuk membangun adjacencies, paket-paket tersebut juga berfungsi untuk mempertahankan topology database OSPF (LSDB). Setiap paket nantinya akan dienkapsulasi ke dalam IP header. IP protocol number yang digunakan OSPF adalah 89.

    Type 1: Hello packet: Hello packet digunakan untuk menemukan, membangun, dan mempertahankan neighbor adjacencies. Untuk membangun sebuah adjacencies, router OSPF yang sudah membentuk peering pada kedua sisi link interface router tersebut harus saling menyetujui beberapa parameter yang ada di Hello packet untuk menjadi OSPF neighbor router.
    Type 2: Database Description (DBD) packet: Ketika adjancency pada OSPF neighbor router sudah terbentuk, DBD ini nantinya akan mendeskripsikan Link State Database (LSDB) sehingga router-router OSPF bisa membandingkan/mencocokkan apakah database mereka sudah sinkron.
    Type 3: Link-State Request (LSR) packet: Ketika sinkronisasi database sudah dilalui, router OSPF mungkin memiliki beberapa list LSA yang hilang atau kurang. Ketika hal itu terjadi, router tersebut akan mengirimkan sebuah LSR packet untuk menginformasikan kepada OSPF neighbor router untuk mengirim versi terbaru dari LSA yang hilang atau kurang tadi.
    Type 4: Link-State Update (LSU) packet: Beberapa LSU biasa disebut LSAs. LSU packet digunakan untuk flooding LSA dan pengiriman LSA sebagai balasan dari LSR packet yang telah diterima OSPF neighbor router. LSU hanya dikirim kepada neighbor router yang terhubung langsung dengan router yang mengirim LSU yang mana neighbor router sebelumnya telah mengirim LSR packet kepada router tersebut.
    Type 5: Link-State Acknowledgment (LSAck) packet: Ketika router yang mengirim LSR sudah menerima LSU, maka router tersebut akan mengirim LSAck sebagai bentuk konfirmasi bahwa LSU telah diterima.

OSPF Neighbor States

Ketika OSPF adjacency telah terbentuk, router OSPF telah melalui beberapa proses pergantian state sebelum router OSPF tersebut menjadi full adjancent dengan router neighbor. Berikut adalah beberapa state yang dilalui router OSPF:

    Down: Down merupakan state pertama yang router OSPF. Pada saat state ini, tidak ada informasi (hello) yang telah diterima dari neighbor router. akan tetapi hello packet masih bisa dikirim ke neighbor router pada saat router berada di state ini. Selama full state pada router OSPF, apabila router OSPF tidak menerima hello packet dari neighbor router dalam DeadInterval yang telah ditentukan, maka state akan berubah dari Full menjadi Down. Secara default, perhitungan waktu DeadInterval = 4*HelloInterval.
    Attempt: State ini hanya berlaku ketika dikonfigurasi secara manual di NBMA (Non-Broadcast Multiple Access). Pada saat state ini, router mengirim unicast hello packet setiap poll interval kepada neighbor router, yang mana hello packet tersebut tidak diterima pada saat DeadInterval.
    Init: State ini menunjukkan bahwa router OSPF telah menerima hello packet dari neghbor router, akan tetapi router ID  dari router OSPF yang telah menerima hello packet tersebut tidak disertakan dalam hello packet. Ketika router OSPF menerima sebuah hello packet dari neighbor router, router OSPF harus mendaftarkan router ID dari router pengirim di hello packet router OSPF sebagai pemberitahuan bahwa router OSPF telah menerima hello packet yang benar (valid).
    2-Way: State ini menunjukkan bahwa komunikasi bi-directional telah terbentuk antara dua router. Maksud dari komunikasi bi-directional yaitu bahwa setiap router telah melihat hello packet dari router lain. 2-way state bisa tercapai manakala router OSPF menerima hello packet dari neighbor router dan melihat router ID miliknya (router OSPF yang menerima hello packet) di hello packet tersebut. Pada 2-way state, router OSPF memutuskan apakah akan menjadi adjacent router dengan neighbornya.
    Exstart: Begitu DR dan BDR terpilih, di state inilah sesungguhnya proses saling bertukar informasi link state bisa dimulai antara router dengan DR dan BDR. Di state ini juga, router OSPF termasuk router yang terpilih sebagai DR dan BDR akan membangun sebuah hubungan master-slave dan memilih permulaan urutan angka untuk pembentukan adjacency. Router yang memiliki router ID terbesar akan menjadi master dan memulai pertukaran. Dengan demikian, hanya router tersebut (router yang memiliki router ID terbesar) yang bisa menambah nomor urut (squence number).
    Exchange: Pada state ini, setiap router OSPF akan saling bertukar Database Descriptor (DBD) packet. Database Descriptor hanya berisi header Link State Advertisement (LSA) dan mendeskripikan semua isi dari keseluruhan link-state database. Pengiriman Link State Request (LSR) dan Link State Update (LSU) juga terjadi pada exchange state.
    Loading: Di state inilah proses pertukaran  informasi link-stae terjadi. Berdasarkan informasi yang disediakan oleh DBD, router akan link-state request packet. Neighbor router dari router tersebut akan menyediakan infomasi link-state yang diminta di link-state update packet. Selama adjacency, apabila router menerima LSA yang kadarluarsa atau beberapa bagian LSA yang hilang, router akan meminta LSA yang kadarluarsa atau hilang tersebut dengan mengirim Link State Request packet.
    Full: Pada Full state ini, adjancecy antar router sudah terbentuk secara penuh. Semua LSA type 1 dan type 2 sudah saling dipertukarkan antar router dan database masing-masing router sudah tersinkronisasi secara keseluruhan. Full merupakan state yang normal pada router OSPF.

OSPF Network Types

OSPF membedakan jenis/tipe jaringan (network type) berdasarkan jenis/tipe physical link. Cara kerja OSPF pada masing-masing tipe jaringan (network type) berbeda, termasuk bagaimana adjancency antar router terbentuk dan konfigurasi yang diperlukan di masing-masing tipe jaringan (network type) tersebut. Berikut adalah beberapa jenis/tipe jaringan (network type) dalam OSPF.

    Point-to-point: Router menggunakan komunikasi multicast (menggunakan IP 224.0.0.5) untuk menemukan neighbor secara otomatis. Di tipe jaringan point-to-point tidak ada pemilihan DR/BDR karena hanya ada dua router yang saling terhubung. Point-to-point merupakan default tipe jaringan (network type) OSPF pada link serial (PPP atau HDLC)  dan point-to-point yang berjalan di subinterface Frame Relay atau ATM.
    Broadcast: Di tipe jaringan broadcast, komunikasi multicast digunakan untuk menemukan neighbor. Di tipe jaringan ini ada pemilihan DR dan BDR untuk optimalisasi pertukaran informasi (LSA). Broadcast merupakan default tipe jaringan untuk Ethernet.
    Nonbroadcast: Tipe jaringan ini ada ketika ada  dua atau lebih router yang saling terhubung akan tetapi tidak memiliki kemampuan untuk broadcast. Salah satu contoh jaringan NonBroadcast Multiple Access (NBMA) ini adalah Frame Relay dan ATM. Setiap neighbor harus dikonfigurasi secara statik, kemudian diikuti oleh pemilihan DR/BDR. Tipe jaringan ini merupakan default pada semua physical interface dan multipoint subinterface yang menggunakan enkapsulasi Frame Relay.
    Point-to-multipoint: Tipe jaringan point-to-multipoint merupakan sekumpulan link logikal point-to-point. Di tipe jaringan ini tidak ada pemilihan DR/BDR. Router secara otomatis akan menemukan neighbor secara otomatis menggunakan komunikasi multicast.  Setiap rute dari IP address interface router akan muncul di routing table neighbor router x.x.x.x/32.
    Point-to-multipoint nonbroadcast: Point-to-multipoint nonbroadcast ini merupakan Cisco extension yang dimana memiliki karakteristik yang sama dengan tipe jaringan point-to-multipoint kecuali pada saat proses identifikasi/menemukan neighbor router tidak bisa secara otomatis (dynamic). Neighbor router harus ditentukan/ditetapkan secara manual dan di tipe jaringan ini (point-to-multipoint nonbroadcast) menggunakan komunikasi unicast.
    Loopback: Loopback ini merupakan default tipe jaringan ketika kita melakukan konfigurasi OSPF di interface loopback.

OSPF LSA Types

Setiap router OSPF memerlukan detail mengenai topologi jaringan untuk perhitungan jalur/rute terbaik. Bagaimana router OSPF bisa mengetahui detail topologi jaringan yang ada? Disinilah peranan Link State Advertisement (LSA). LSA akan mendeskripsikan/memberikan gambaran detail mengenai topologi jaringan yang ada. LSA akan mendeskripsikan keseluruhan topologi jaringan setiap area OSPF.

    Type 1, Router LSA: Setiap router akna menghasilkan router link advertisement untuk tiap-tiap area dimana router tersebut berada. Router link advertisement akan  mendiskripsikan keadaan sebuah router yang terhubung di area tersebut dan router link advertisement hanya akan disebarkan di dalam area tersebut. Untuk semua tipe LSA, ada 20 byte header LSA. Satu dari 20 byte header LSA tersebut adalah link-state ID. Link state ID dari type 1 LSA adalah router ID.
    Type 2, Network LSA: Router yang terpilih menjadi Designated Router (DR) akan menghasilkan network link advertisement dalam jaringan multiaccess. Network link advertisement mendiskripsikan kumpulan router yang saling terhubung dalam suatu jaringan multiacces. Network link advertisement akan disebarkan dalam area yang dimana area tersebut memiliki jaringan multiaccess. Link state ID dari type 2 LSA IP address interface Designated Router (DR).
    Type 3, Summary LSA: Area Border Router (ABR) akan mengambil suatu informasi yang telah ia pelajari di satu area dan mendeskrisikan serta merangkum informasi tersebut untuk area lain di summary link advertisement. Sumarisasi tersebut tidak aktif secara default. Link state ID dari type 3 LSA adalah IP network yang dituju (destination network number) ABR.
    Type 4, ASBR Summary LSA: ASBR summary link advertisement dihasilkan  oleh Autonomus System Boundary Router (ASVR) yang bertujuan untuk menginformasikan kepada router mengenai rute yang harus dilalui ketika router tersebut menuju ASBR. Link state ID dari type 4 LSA adalah router ID dari ASBR yang telah dideskripsikan.
    Type 5, Autonomous System LSA: Router-router ASBR menghasilkan autonomous system external link advertisements. Autonomus system external link advertisement mendeskripsikan rute/jalur menuju tujuan yang berada di luar Autonomus System (AS). Autonomus system external link advertisement akan disebarkan ke semua area, kecuali area-area tertentu (beberapa stub area). Link state ID dari type 5 LSA adalah external network yang telah di-advertise ke dalam LSA.
    Type 6, Multicast LSA: LSA khusus yang digunakna pada saat penerapan OSPF multicast.
    Type 7, NSSA External LSA: LSA ini digunakan pada Not So Stubby Area (NSSA). LSA type 7 berasal dari Autonomus System Boundary Router (ASBR) dalam NSSA tersebut dan LSA type 7 ini disebarkan (flooded) hanya dalam NSSA dimana LSA type 7 ini berasal.
    Type 8: LSA type 8 ini merupakan LSA khusus yang digunakan dalam internetworking OSPF dan BGP.

Post a Comment