# 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.