OSPF (Open Shortest Path First), İlk Önce En Kısa Yolu Protokolü açık standart bir bağlantı durumu yönlendirme protokolüdür. OSPF algoritmasını, gitmek istediğimiz bir yere bizi en kısa yoldan ulaştıran navigasyon cihazlarına benzetebiliriz.
OSPF, her yönlendiricide ağın genel bir haritasını oluşturur ve bu haritayı tüm yönlendiriciler arasında paylaşır. Böylece yönlendiriciler, trafiği en kısa ve en verimli rotalar üzerinden iletebilir. OSPF, bu işlemi gerçekleştirmek için Dijkstra’nın Shortest Path First (SPF) algoritmasını kullanır.
OSPF’in temel özellikleri şunlardır;
- Yönetimsel Mesafe (AD) değeri 110’dur. RIP ve IS-IS’den daha düşük bir AD değeri vardır.
- Sınıfsız (Classless) yönlendirmeyi destekler, yani ağ adresi ile birlikte alt ağ maskesini de güncellemelerde gönderir.
- Ağ topolojisinde bir değişiklik olduğunda yönlendirme güncellemeleri tetiklenir (triggred) ve en iyi yolu belirlemek için SPF algoritması çalışmaya başlar.
- Ağ değişikliği diğer yönlendiricilere çok hızlı yayılır yani hızlı convergence sağlar.
- Alan (area) sistemini desteklediğinden daha iyi ölçeklenebilir (scalable).
- MD5(Message Digest 5) kimlik doğrulamayı desteklediği için güvenilirdir. Bu sayede yönlendiriciler birbirlerine gönderdikleri güncellemeleri şifreleyebilirler.
OSPF Cost Hesaplaması Denklem 1’ deki gibi yapılır.
Cost = Referans Bant Genişliği / Arayüz Bant Genişliği
(1)
Cisco Yönlendiricilerde OSPF için varsayılan referans bant genişliği 100 Mbps olarak tanımlanmıştır. OSPF’de bir arayüzün cost (maliyet) değeri üç farklı yöntemle değiştirilebilir.
- Arayüz altında ip ospf cost X ile manuel cost belirleme işlemi Şekil 1’de ki gibidir. Bu komut, belirli bir arayüz için OSPF maliyetini elle ayarlamayı sağlar. Uygulandıktan sonra, yapılan değişiklik
show ip ospf interface
komutu ile doğrulanabilir.

Şekil.1 Manuel Cost Belirleme (Komut Satırı)
bandwidth
komutu ile arayüz bant genişliğini değiştirme işlemi Şekil 2’ deki gibi yapılır.
OSPF cost değeri, arayüz bant genişliği ile ters orantılı olarak hesaplandığı için,interface
modunda verilenbandwidth X
komutu ile arayüzün bant genişliği değiştirilerek dolaylı yoldan cost değeri etkilenebilir. Bu yöntem, özellikle farklı hızlardaki bağlantılar arasında daha anlamlı cost değerleri elde etmek için kullanılır.

Şekil 2. Bant Genişliği Değiştirme (Komut Satırı)
- OSPF’de referans bant genişliğini değiştirme işlemi Şekil 3’ teki gibi yapılır. Auto-coast referance-bandwith komutu, referans alınan bant genişliği değerini belirler. Bir cihazda değişirse tüm cihazlarda değişmesi gerekmektedir. “Cost = 100Mb / bw” değeri ile defaultda hesaplanır. Referans değerini değiştirmek istersek buradaki 100Mb değerini değiştirmiş oluruz. Örneğin 100Mb bağlantı hızınız varsa “Cost = 100Mb / 100 = 1Mb” dir. Bağlantı hızınız 1000Mb olsa da “100/1000 = 0.1” olur fakat OSPF yalnızcatam sayı (integer) cost değeri kabul ettiğinden 1 alınır. Bu durumda 100 ve 1000Mb bağlantı değerleri OSPF tarafından eşit değerlendirilmiş olur. Bu durumun önüne geçebilmek için referans değeri değiştirilir.

Şekil 3. Referans Bant Genişliği Değiştirme (Komut Satırı)

Şekil 4. Varsayılan Arayüz Cost Değerleri
OSPF Çalışma Adımları
Adım 1 – OSPF komşuluk kurulumu (Hello Paketleri)
OSPF, komşu yönlendiricilerle ilk olarak Hello paketleri göndererek “Neighbor Adjacencies” yani komşuluk ilişkisi kurar. Bu işlemde 224.0.0.5 multicast adresi kullanılır. Hello paketleri varsayılan olarak her 10 saniyede bir gönderilir. Eğer 40 saniye boyunca (Dead Timer) komşudan Hello paketi alınmazsa, o yönlendiricinin bağlantısı kesilmiş (down) kabul edilir.
Hello paketinin içeriğinde şu bilgiler bulunur:
- Router ID: Yönlendiricinin aktif arayüzleri arasındaki en yüksek IP adresidir. Eğer loopback arayüz tanımlanmışsa, Router ID olarak loopback IP adresi kullanılır. Birden fazla loopback adresi varsa, en yüksek IP’ye sahip olan tercih edilir.
- Network Mask: Router ID’yi belirleyen arayüzün ağ maskesidir.
- Area ID: Hello paketini gönderen arayüzün bağlı olduğu OSPF alanıdır.
- Router Priority: DR (Designated Router) veya BDR (Backup Designated Router) seçiminde kullanılır. En yüksek priority değerine sahip yönlendirici DR olarak atanır.
- Hello Interval: Hello paketlerinin gönderim sıklığıdır. Varsayılan olarak 10 saniyedir ve aşağıdaki komutla değiştirilebilir:
Router(config-if)# ip ospf hello-interval n Buradaki “n”, saniye cinsinden belirlenen değerdir.
İki arayüz arasında OSPF komşuluğu kurulabilmesi için Hello aralıklarının eşit olması zorunludur. Aksi takdirde komşuluk ilişkisi kurulamaz. - Ölüm Aralığı (Dead Interval): Komşu yönlendiriciyle bağlantının koptuğunu belirleyen süredir. Varsayılan olarak Hello aralığının 4 katıdır.
- DR IP Adresi: Ağdaki yönlendirme bilgilerini toplayarak diğer yönlendiricilere dağıtan ana yönlendiricidir.
- BDR IP Adresi: DR’ın yedeğidir. DR down olursa BDR devreye girer.
- DR ve BDR Seçimi: Varsayılan olarak Router ID’ye göre yapılır. En yüksek Router ID’ye sahip yönlendirici DR, ikinci en yüksek olan ise BDR olur.
- Komşu Router ID’leri: Komşuluk tablosunda yer alan routerların kimlikleridir. Yönlendirici, kendi ID’sini bu tabloda görürse LSDB paylaşımı başlatılır.
- Authentication Information: OSPF kimlik doğrulama tipini ve gerekli bilgileri içerir.
- Stub Area Flag: Eğer yönlendiriciler Stub Area içinde yer alıyorsa bu bayrak etkinleştirilmelidir. Her iki router’da da aynı ayar yapılmalıdır.
Hello paketleri dışında OSPF konuşan Routerların birbirlerine gönderdikleri 4 ayrı paket şekli daha vardır. Bunlar;
LSDB – Links State Database = Database tablo özeti gönderilir.
LSAck – Links Statte Acknowledge = Onay Mesajı. Hello paketlerine acknowledge gönderilmez.
LSR – Link State Request = Bir network ya da tüm database tekrar almak için kullanılır.
LSU – Link State Update = LSR paketlerine cevap dönülür.
Adım 2 – LSA paketlerinin gönderilmesi ve LSDB’nin oluşumu
Ağda bir bağlantının durumu değiştiğinde, yani bir router eklendiğinde, bir router devre dışı kaldığında ya da tekrar aktif hale geldiğinde, bu değişikliği tespit eden yönlendirici, triggered update yöntemiyle LSA (Link State Advertisement) paketlerini komşu yönlendiricilere gönderir.

Şekil 5. LSA Paketlerinin Gönderilmesi
OSPF protokolünde, hello paketlerine gelen cevaplara göre LSA paketlerinin iletimi başlar. LSA paketlerinin içeriğinde yönlendiricilerin bağlantıları, arayüz bilgileri ve hat durumu gibi bilgiler yer alır. Bu paket alışverişi sonucunda her yönlendirici kendisine ait bir LSA tablosu oluşturur. Oluşan bu tablo, diğer yönlendiricilere gönderilerek tüm yönlendiricilerin birbirlerinin LSA bilgilerini öğrendiği LSDB (Link-State Database) yani hat durumu veritabanı meydana gelir. LSDB veritabanı, hedef ağa ulaşmak için en uygun yolu belirlemek amacıyla kullanılır.
Adım 3 – SPF algoritması ile yol hesaplaması
Oluşturulan LSDB veritabanı sayesinde ağ içerisindeki yol bilgisi ve mesafeler hesaplanır. SPF (Shortest Path First) algoritması kullanılarak ağ topolojisi çıkarılır ve bu işlem her 30 dakikada bir yeniden gerçekleştirilir. Eğer ağ topolojisinde bir değişiklik meydana gelmişse, cost hesaplaması yeniden yapılır ve en düşük maliyete sahip yolun belirlenmesi için SPF algoritması tekrar çalıştırılır.
Adım 4 – Güncelleme yapılmayan durum
Ağ topolojisinde herhangi bir değişiklik yoksa, yönlendiriciler arasında güncelleme yapılmaz. Bu durumda ağda dolaşan tek paket hello paketidir.
Okuduğunuz için teşekkürler…