OSPF

İngilizce *Open Shortest Path First*, yani "En kısa yola *Öncelik"* anlamına gelen **OSPF**, bir TCP/IP ağındaki router'ların birbirini otomatik olarak tanımasında kullanılan bir protokoldür. **OSPF** yönlendirme internette intra-AS yönlendirme için RIP gibi yaygınca kullanılan bir yöntemdir. **OSPF** temelde internet servis sağlayıcılarının (ISP) üst-tabakalarında kullanılır. **OSPF** kelimesindeki ilk O harfi yönlendirme protokolü şartlarının açık olduğunu gösterir (örnek olarak, Cisco'nun EIGRP protokolünün karşıtı gibi). **OSPF**'nin en güncel versiyonu ikincisidir[RFC 2328].

## Amaç

İnternet denen ağ, birçok ağın birbirine bağlantısı ile oluşur. Örneğin:

* Türkiye'deki çoğu internet servis sağlayıcısı, TTnet'in omurgasına bağlıdır.
* TTnet, birçok ülke üzerinden Avrupa ağı olan GEANT'ya bağlıdır.
* GEANT, ABD'ye ve Japonya'ya doğru birçok çıkışa sahiptir.
* vs.

Bu bağlantılarda routerlar kullanılır ve o routerlar bir şekilde hangi adrese ulaşırken hangi yolu kullanacağını bilmelidir. Bu durumda iki çözüm vardır:

* Ya birisi o router tablolarını el ile teker teker girecek
* Ya da router ağın bilgilerini otomatik olarak toplayacak

İlk çözümün ikinci çözüme göre birçok dezavantajı vardır:

* Belki de binlerce satır yönlendirme bilgisi girecek kişi sayısı azdır
* Ağ, değişimlere (örneğin TTnet'in su altı kablosunun kopması) karşı dayanıksız olacaktır

Dolayısıyla, OSPF ve başka protokoller (RIP de) router'ların birbirlerini otomatik olarak görmesi için gerekli hizmetleri sunarlar.

## Nasıl çalışır
**OSPF**, RIP'den sonra düşünülmüştür ve birçok gelişmiş özelliğe sahiptir. Temelde bağlantı-durum (İngilizce:link-state) bilgisinin taşmasını ve Dijkstra’nın en kısa yol algoritmasını kullanan bir bağlantı-durum protokolüdür. 
**OSPF** ile birlikte, bir yönlendirici ağın tüm topolojik haritasını oluşturur. Yönlendirici daha sonra yerel olarak tüm ağlara en kısa yol ağacını elde etmek için Dijkstra'nın en kısa yol algoritmasını kullanır, kendisini bu ağaçta kök olarak belirler. Yönlendiriciler arasında özel bağlantı maliyetleri ağ yöneticisi tarafından ayarlanır. Yönetici tüm bağlantı maliyetlerini 1 olarak belirleyebilir, böylece miminum-hop yönlendirmeyi başarabilir veya bağlantı yüklerini trafik veya bant-genişliğine göre seçebilir. OSPF bağlantı maliyetleriyle ilgilenmez, bunun yerine sadece verilen bağlantı maliyetleri kümesiyle elde edilebilecek en düşük maliyetli yolları belirlemek için bir protokol sunar.
OSPF ile bir yönlendirici yönlendirme bilgisini diğer tüm yönlendiricilere yayınlar, sadece kendi komşularına değil.

## RIP'ten farkı

OSPF, RIP ile benzer bir şekilde çalışır, yani router'lar ulaşabildikleri ağlar ile ilgili bilgileri birbirleri ile değişirler.

Öte yandan, OSPF bir ağa kaç adımda ulaşabildiğini değil bir ağa ne kadar zamanda (veya hangi hızda) ulaşabildiğini yollar. Dolayısıyla, RIP'te görülebilen sonsuza kadar sayma sorunu ortadan kalkmış olur.

Buna ek olarak, OSPF dört değişik ağ rütbesine (İngilizce *Backbone area*, *Stub area*, *Totally stubby area* ve *Not-so-stubby area*) sahiptir.

Benzer şekilde, router'lar da rütbelendirilebilir:

* Bölgeler arası router'lar
* Özerk ağ uç router'ı
* Özerk ağ iç router'ı
* Omurga ağ router'ı
* Seçilmiş router
* Seçilmiş yedek router

## Getirdiği yenilikler
* *Güvenlik:* OSPF yönlendiriciler arası iletişim kimlik kanıtlama kullanır. Basit(her yönlendiriciye aynı parola) ve MD5 olmak üzere iki çeşit doğrulama bulunmaktadır.
* *Aynı maliyetli çoklu yollar:* Aynı hedefe aynı maliyetli çok yol bulunursa, OSPF bunlardan birini seçmek yerine her birini de kullanmaya izin verir.
* *Unicast ve multicast yönlendirmeye destek:* Multicast OSPF(MOSPF)[RFC 1584] OSPF'nin multicast yönlenirmesi için basit bir genişletme sunar.
* *Tek yönlendirmeli etki alanında hiyerarşi desteği:* OSPF'nin otonom sistemler için hiyerarşik bir yapı oluşturabilmesi belki de en önemli yeniliğidir.

## OSPF'in sorunları

OSPF mesajları, router'ların kendi içlerinde ağın bir haritasını çizmesini sağlarlar. Öte yandan, bir haritayı hatırlayabilme ve o haritada yolunu bulabilme hafıza ve işlem gücü açısından çok pahalıya mal olabilir!

Unutulmamalıdır ki seyyar satıcı problemi NP-Zor bir problemdir.

## Ayrıca bakınız
* Open shortest path first
* Routing Information Protocol