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, Cisconun EIGRP protokolünün karşıtı gibi). OSPFnin 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, RIPden 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 Dijkstranı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 Dijkstranı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] OSPFnin multicast yönlenirmesi için basit bir genişletme sunar.
Tek yönlendirmeli etki alanında hiyerarşi desteği: OSPFnin 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.