Daha önceki makalemde Distance Vector Protocol'lerden olan RIPv2 ve IGRP Dynamic Routing (dinamik yönlendirme) protokollerinden bahsetmiştim. Bu malemde de, Link State Dynamic Routing protokolü olan OSPF (Open Shortest Path First- İlk Açık Yöne Öncelik) protokolünden bahsedeceğim.
OSPF (Open Shortest Path First), RIP (Routing Information Protocol) protokolünde bulunan bazı eksik yanları geliştirmek ve düzeltmek için IETF (Internet Engineering Task Force) tarafından geliştirilmiş bir protokoldür. RIP'in aksine OSPF, Link-state (Hat Durumu) protokolü olarak tasarlanmıştır. Link-state yönlendirme protokolleri, topolojinin tamamını görebildiği gibi, Network değişikliklerinde Triggered Update (Tetiklenmiş Güncelleme) gönderir. Buna göre Router'lar, Network'te iki nokta arasında bulunan tüm yolların bilgisine ulaştıktan sonra SPF (Shortest Path First) algoritmalarını kullanarak hangi yolun en iyisi olduğuna karar verirler. Ayrıca Link-state Refresh (Hat Durumu Güncellemesi) olarak bilinen, 30 dakikada bir periyodik güncellemeler gönderir.
OSPF’nin Özellikleri
● Max. Hop değeri: OSPF'te Hop sınırlaması yoktur. Router'lar birlerine Point-to-Point bağlıdırlar.
● Area: OSPF, Area(Alan) mantığı üzerinde çalışır. Area0, Backbone Area olarak kabul edilir.
● Administrative Distance-Metric: 110'dur.
● Metrik: Metrik hesaplaması olarak Cost Calculation kullanılır. Buna göre en düşük maliyetli yol, en iyi yoldur. Cost Calculation bilgisi, Router Routing table'a yazılır. Oluşturulan veri tabanı sayesinde Network (ağ) içerisinde yol bilgisi ve mesafe hesaplaması otomatik yapılır. SPF (Shortest Path First) algoritması ile Network (ağ) toplojisi çıkar ve her 10 sn'de bir değişiklik var mı, yok mu diye Hello paketleriyle yoklama çeker.
● Trigger Update mantığıyla çalışır.
● Subnet Mask üzerinde Netmask yerine Wildcard Mask kullanılır. Wilcard Mask, Netmask'ın eksi değerli karşılığıdır.
Ör. 1
Netmask: 255.255.224.0
Wildcard Mask: 0.0.31.255
255-224=31
Ör. 2
Netmask: 255.240.0.0
Wildcard Mask:0.15.255.255
255-240=15
Ör. 3
Netmask: 252.0.0.0
Wildcard Mask:003.255.255.255
255-252=3
NOT 1: Wildcard Mask, sadece Router'ların kendilerine bağlı Interface'lerinde Network tanımlaması yaparken kullanılacaktır.
Netmask, Router'ların port'larına IP adresi tanımlama yaparken kullanılacaktır.
OSPF Çalışma Mantığı
OSPF’nin Özellikleri bölümünde belirtilen bilgileri biraz daha açalım.
1- Bir Link State Protokolü olan OSPF, Distance Vector Protocol'ler de olduğu gibi update table mantığında değil, komşu Router'larının UP olup olmadıklarını anlamak için hedefe gidilecek en kısa yolu (Shortest Path) seçer ve her 10 saniyede bir değişiklik var mı, yok mu diye küçük Hello paketleri gönderirler.

Hello paketi içerisinde yer alan bilgiler:
• Hello and Dead Interval: 10 saniye de bir gönderilen hello paketlerinin süresidir.
• Neighbors: İletişimde bulunan komşuların sayısıdır.
• Area ID: OSPF prokolü Area mantığı ile çalışır ve iletişim kuran Router'ların Area ID'leridir.
NOT 2: Area yapısında Backbone Area (omurga alan) Area 0'dır ve her OSPF topolojisi
• Router ID: Router'ı tanımlayan 32-Bit'lik ve tek olan numaradır. Router ID, Router'ın aktif olan Interface'ndeki en yüksek IP adresidir. Yani aktif olan Interface'lerdeki en büyük IP adresi, o Router'ın ID'sidir. Router'da Loopback IP adresi tanımlanmışsa ki genelde tanımlanır; o Router'ın ID'si, Loopback IP adresidir. IP adresinin küçük veya büyük olması durumu değiştirmez, burada Loopback adresinin böyle bir ayrıcalığı vardır. Ancak birden fazla Loopback IP adresi tanımlanmışsa, burada da yine en büyük Loopback IP adresi, o Router'ın ID'si olur.
Ör1.
Router1 ip1 1.1.1.1
Router1 ip2 2.2.2.2
Burada en büyük IP adresi 2.2.2.2 olduğu için, Router ID'si de budur.
• DR & BDR IP Adresses: Network'ün DR (Designated Router) ve BDR (Backup Designated Router) adresidir.
- DR (Designated Router): Network'teki yönlendirme bilgilerini kendine toplayıp diğer Router'lara dağıtır.
- BDR (Bacup Designated Router): DR'ın yedeği olarak çalışır ve DR aktif olmadığı durumda BDR devreye girer.
- DR ve BDR seçimi, Router ID'lerine göre yapılır. Network'teki en yüksek Router ID'ye sahip Router, DR olarak seçilir ve ikinci en büyük Router ID'ye sahip Router ise BDR olarak seçilir.
Ör.-1
Router1 ip 1.1.1.1
Router2 ip 2.2.2.2
Burada;
Router2 DR olur.
Router1, BDR olarak seçilir.
• Router Priority: İletişimde kullanılan 8-bit'lik sayıdır.
-En yüksek priority değerine sahip olan Router, DR olarak seçilir. Eğer Router'ların priority değeri aynı ise, ki varsayılan olarak priority değer 0'dır, bu sefer de Router ID değeri en yüksek olan Router DR olarak seçilir. Bu da yukarıda anlattığım gibi Router ID, Router'ın aktif olan Interface'ndeki en yüksek IP adresidir.
NOT 5: Priority değeri 0 olan Router, asla DR/BDR seçim işleminde yer almaz.
Ör.-2
Router1 priority 1 ip 1.1.1.1
Router2 priority 1 ip 2.2.2.2
Burada;
Router2, DR olur.
Router1 ise BDR olarak seçilir.
Ör.-3
Router1 priority 1 ip1 1.1.1.1
Router1 priority 1 ip2 2.2.2.2
Router2 priority 1 ip1 3.3.3.3
Router2 priority 1 ip2 4.4.4.4
Burada;
Router2 için DR 4.4.4.4'lü Interface'dir.
Router1 için BDR 1.1.1.1'li Interface'dir.
• Authentication Password: Router Session (oturum) şifreleridir.
• Stub Area Flag: Özel bir Area olup her iki Router'da da aynı olmalıdır.
2- Değişiklik varsa, yani ortama yeni bir Router eklendiğinde veya bir Router down olduğunda, Trigger Update ile LSA paketlerini neighbour (komşu) Router'lara gönderir ki Neighbour (komşu) tablosunda, bir Router'ın iletişim kurduğu tüm Router'ların listesi bulunur. LSA paketini alan Router, kendi LSA tablosunu günceller.
NOT 3: Aynı alandaki (Area) tüm Router'lar ortak veri tabanı olan LSDB’ye sahiptir.
3- Metrik hesaplaması, Cost Calculation'ı yeniden düzenler yani yol bilgisi ve mesafe tekrar hesaplanır.
4- Değişen Cost Calculation ile oluşturulmuş olan SPF (Shortest Path First) algoritması ile Network (ağ) toplojisini günceller.
5- Network (ağ) üzerinde herhangi bir değişiklik yoksa, güncelleme yapılmaz ve Network'te (ağda) dolalan tek trafik, Hello paketidir.

OSPF Konfigürasyonu Yazım Kuralı
Router>enable Router#configure terminal
Router(config)#Router ospf 1
Router(config-Router)#Network NetworkID WilcardMask AreaNo
(Router'ın diğer Router'lara bildireceği Network. Bu kısıma, Router'a bağlı olan tüm bacakların, yani Network'lerin, IP Adres bilgileri tek tek girilmelidir.)
OSPF Konfigürasyonu
Area'lardaki Router sayısı arttıkça LSA paketi sayısı da aynı oranda artmaktadır. Dolayısıyla da oluşan LSDB boyutu büyür ve CPU yükü artar. Area'lar oluşturmak suretiyle bir değişikliğin sadece o Area'daki Router'alara bildirilerek gereksiz Network trafiğinin önününe geçilmiş olur. Birden fazla Area'dan oluşturulan sisteme Automous System (otonom sistem) denir. Bir otonom sistemde tüm Area'lar Backbone Area (omurga alan) olan Area0'a bağlı olmak zorundadır. Area'lar arasındaki bağlantıyı ABR (Area Border Router-Alan Sınır Yönlendirici) Router'lar sağlar. Aşağıdaki görselde R2 ve R3 Router'ları ABR (Area Border Router) Router'lardır.


Area-0 Yapılandırması
● Area0-Router1 konfigürasyonu
Router>enable
Router#configure terminal
Router(config)#Hostname Area0-Router1
Area0-Router1(config)#Interface gigabitEthernet 0/0
Area0-Router1(config-if)#ip address 10.10.10.1 255.255.255.0
Area0-Router1(config-if)#no shutdown
Area0-Router1(config-if)#exit
Area0-Router1(config)#Interface serial 0/0/0
Area0-Router1(config-if)#ip address 87.87.87.2 255.255.255.0
Area0-Router1(config-if)#ip ospf priority 1
Area0-Router1(config-if)#clock rate 128000
Area0-Router1(config-if)#no shutdown
Area0-Router1(config-if)#exit
Area0-Router1(config)#Interface serial 0/0/1
Area0-Router1(config-if)#ip address 88.88.88.1 255.255.255.0
Area0-Router1(config-if)#ip ospf priority 1
Area0-Router1(config-if)#clock rate 128000
Area0-Router1(config-if)#no shutdown
Area0-Router1(config-if)#exit
Area0-Router1(config)#do write
Building configuration...
[OK]
Area0-Router1(config)#end

Area0-Router1 Hostname'li Router'ın kendisine bağlı Network'lerin ve Area bilgisinin tanımlanması.
Area0-Router1#configure terminal
Area0-Router1(config)#Router ospf 1
Area0-Router1(config-Router)#Network 87.87.87.0 0.0.0.255 Area 0
Area0-Router1(config-Router)#Network 88.88.88.0 0.0.0.255 Area 0
Area0-Router1(config-Router)#Network 10.10.10.0 0.0.0.255 Area 0
Area0-Router1(config-Router)#do wr
Building configuration...
[OK]

Area-1 Yapılandırması
● ABR-Router1 konfigürasyonu
Router>enable
Router#configure terminal
Router(config)#Hostname ABR-Router1
ABR-Router1(config)#Interface serial 0/0/0
ABR-Router1(config-if)#ip address 87.87.87.1 255.255.255.0
ABR-Router1(config-if)#ip ospf priority 1
ABR-Router1(config-if)#no shutdown
ABR-Router1(config-if)#exit
ABR-Router1(config)#Interface serial 0/0/1
ABR-Router1(config-if)#ip address 86.86.86.1 255.255.255.0
ABR-Router1(config-if)#ip ospf priority 1
ABR-Router1(config-if)#clock rate 128000
ABR-Router1(config-if)#no shutdown
ABR-Router1(config-if)#exit
ABR-Router1(config)#do write
Building configuration...
[OK]
ABR-Router1(config)#end

ABR-Router1 Hostname'li Router'ın kendisine bağlı Network'lerin ve Area bilgisinin tanımlanması.
ABR-Router1#configure terminal
ABR-Router1(config)#Router ospf 1
ABR-Router1(config-Router)#Network 87.87.87.0 0.0.0.255 Area 0
ABR-Router1(config-Router)#Network 86.86.86.0 0.0.0.255 Area 1
ABR-Router1(config-Router)#do wr
Building configuration...
[OK]

● Area1-Router1 OSPF Yapılandırması
Router>enable
Router#configure terminal
Router(config)#Hostname Area1-Router1
Area1-Router1(config)#Interface gigabitEthernet 0/0
Area1-Router1(config-if)#ip address 10.10.20.1 255.255.255.0
Area1-Router1(config-if)#ip ospf priority 1
Area1-Router1(config-if)#no shutdown
Area1-Router1(config-if)#exit
Area1-Router1(config)#Interface serial 0/0/0
Area1-Router1(config-if)#ip address 86.86.86.2 255.255.255.0
Area1-Router1(config-if)#no shutdown
Area1-Router1(config-if)#do write
Building configuration...
[OK]
Area1-Router1(config-if)#end

Area1-Router1 Hostname'li Router'ın kendisine bağlı Network'lerin ve Area bilgisinin tanımlanması.
Area1-Router1#configure terminal
Area1-Router1(config)#Router ospf 1
Area1-Router1(config-Router)#Network 86.86.86.0 0.0.0.255 Area 1
Area1-Router1(config-Router)#Network 10.10.20.0 0.0.0.255 Area 1
Area1-Router1(config-Router)#do wr
Building configuration...
[OK]

Area-2 Yapılandırması
● ABR-Router2 OSFP Yapılandırması
Router>enable
Router#configure terminal
Router(config)#Hostname ABR-Router2
ABR-Router2(config)#Interface serial 0/0/0
ABR-Router2(config-if)#ip address 88.88.88.2 255.255.255.0
ABR-Router2(config-if)#ip ospf priority 1
ABR-Router2(config-if)#no shutdown
ABR-Router2(config-if)#exit
ABR-Router2(config)#Interface serial 0/0/1
ABR-Router2(config-if)#ip address 89.89.89.1 255.255.255.0
ABR-Router2(config-if)#ip ospf priority 1
ABR-Router2(config-if)#clock rate 128000
ABR-Router2(config-if)#exit
ABR-Router2(config)#do write
Building configuration...
[OK]
ABR-Router2(config)#end

ABR-Router2 Hostname'li Router'ın kendisine bağlı Network'lerin ve Area bilgisinin tanımlanması.
ABR-Router2#configure terminal
ABR-Router2(config)#Router ospf 1
ABR-Router2(config-Router)#Network 88.88.88.0 0.0.0.255 Area 0
ABR-Router2(config-Router)#Network 89.89.89.0 0.0.0.255 Area 2
ABR-Router2(config-Router)#do wr
Building configuration...
[OK]

● Area2-Router1 OSFP Yapılandırması
Router>enable
Router#configure terminal
Router(config)#Hostname Area2-Router1
Area2-Router1(config)#Interface gigabitEthernet 0/0
Area2-Router1(config-if)#ip address 10.10.30.1 255.255.255.0
Area2-Router1(config-if)#no shutdown
Area2-Router1(config-if)#exit
Area2-Router1(config)#Interface serial 0/0/0
Area2-Router1(config-if)#ip address 89.89.89.2 255.255.255.0
Area2-Router1(config-if)#ip ospf priority 1
Area2-Router1(config-if)#no shutdown
Area2-Router1(config-if)#do write
Building configuration...
[OK]
Area2-Router1(config-if)#end

Area2-Router1 Hostname'li Router'ın kendisine bağlı Network'lerin ve Area bilgisinin tanımlanması.
Area2-Router1#configure terminal
Area2-Router1(config)#Router ospf 1
Area2-Router1(config-Router)#Network 89.89.89.0 0.0.0.255 Area 2
Area2-Router1(config-Router)#Network 10.10.30.0 0.0.0.255 Area 2
Area2-Router1(config-Router)#do wr
Building configuration...
[OK]

OSPF Konfigürasyon Sonrası Test Aşaması
OSPF yapılandırma işlemim tamamlandı. Sıra; yapılandırmamın başarılı bir şekilde oluşturulup, oluşturulmadığını test etmeye geldi.

Area1 Network'ündeki A1PC1 Hostname'li PC'den, Area2 Network'ündeki A2PC3 Hostname'li PC'ye ICMP Request (Ping) paketi yolluyorum.









ICMP Request (Ping) paketini alan Area2 Network'ündeki A2PC3 Hostname'li PC, aynı yolu izleyerek ICMP Reply (Ping) paketi yolluyor ve yapılandırmamızın başarılı bir şekilde tamamladığını görebiliyorum.

Faydalı olması dileğiyle...
Etiketler: Cisco, OSFP, open shortest path first, ilk açık yöne öncelik, dynamic Routing, dinamik yönlendirme.
Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.