Statik Route Nedir? yazısında rotalar elle yazıldı. Bu yaklaşım küçük ve az değişen bir ağda iyi çalışır. Ağ büyüdükçe her yeni ağ için başka bir cihazda rota yazmak gerekir; bir bağlantı değiştiğinde rotaları da biri elle güncellemelidir. Dinamik routing protokolleri bu bilgiyi router’ların kendi aralarında paylaşmasını sağlar.
Bu yazı iki protokolün nasıl çalıştığını karşılaştırıyor: RIPv2 ve OSPF. Sonra kampüse eklenen yeni bir binanın ağlarını OSPF ile core’a duyuruyor. Rotaların tabloya nasıl girdiği ve AD Router Nasıl Karar Verir? yazısında, OSPF komşuluğu kurulmadığında yapılacaklar OSPF Komşuluğu Kurulmuyor mu? yazısında anlatıldı; burada tekrar edilmiyor.
Adresler sitenin öğretici kampüs topolojisine aittir; gerçek bir saha yapılandırması değildir. Yapılandırma örnekleri resmî belgelerdeki sözdizimine göre yazıldı, laboratuvarda denenmedi. Çıktılar temsilîdir.
Senaryo: kampüse yeni bir bina
Yeni binaya bir L3 switch konuyor. Bu switch, binadaki iki VLAN’ın gateway’i:
| Öğe | Değer |
|---|---|
| Core ↔ bina transit | 10.0.253.0/30 (core 10.0.253.1, bina switch’i 10.0.253.2) |
| Bina VLAN 80 | 10.0.80.0/24 |
| Bina VLAN 90 | 10.0.90.0/24 |
| OSPF alanı | Area 0 |
Transit bağlantı örneklerde iki tarafta da VLAN 253 SVI’si olarak gösterildi. Core’daki 10.0.0.0/16 → Null0 rotası ve firewall’daki 10.0.0.0/16 → 10.0.254.1 dönüş rotası yerinde kalır. Yeni ağlar 10.0.0.0/16’nın içinde olduğu için firewall onları zaten core’a gönderir. Core’da ise /24 rotalar Null0’ın /16’sından daha uzun eşleştiği için kazanır.
Her iki yaklaşımda da bina switch’inin merkeze ve internete giden yolu gerekir. Bu yazıda bunun için binada statik bir default route kullanılıyor: 0.0.0.0/0 → 10.0.253.1. Core’un default route’u OSPF ile duyurması da mümkündür ama ayrıca yapılandırılır; örneğin Huawei’de default-route-advertise, FortiOS’ta default-information-originate ile.
Statik rotanın sınırı
Statik yaklaşımda core’a iki rota yazılır: 10.0.80.0/24 ve 10.0.90.0/24, ikisi de 10.0.253.2’ye. Bu çalışır, ama:
- Her değişiklik iki yerde yapılır. Binaya yeni bir VLAN eklenince binadaki SVI’nin yanında core’a da yeni bir rota yazılması gerekir. Bina sayısı arttıkça unutulan rota olasılığı da artar.
- Statik rota arızayı kendisi fark etmez. Rotanın tablodan çıkması için arayüzün düşmesi ya da next-hop’un çözülememesi gerekir. Öteki durumlar için izleme mekanizmaları gerekir; bunlar statik route yazısında anlatıldı.
Dinamik bir protokol bu iki işi devralır. Bunu üç adımda yapar: komşularını bulur, bildiği ağları paylaşır, kendi tablosu için en iyi yolu seçip tabloya önerir. RIP ile OSPF bu adımları çok farklı biçimde yapar.
RIPv2: komşuya ne biliyorsan söyle
RIP bir distance-vector protokolüdür. RFC 2453’e göre her router, bildiği hedefleri ve uzaklıklarını (hop sayısı) komşularına gönderir. Komşu bu bilgiye kendi uzaklığını ekler ve kendi tablosunu buna göre kurar. Bir router uzaktaki ağın yolunu görmez; yalnızca komşusunun ne söylediğini bilir.
RFC 2453’teki temel kurallar:
- Periyodik güncelleme: Her router güncellemeyi komşularına 30 saniyede bir gönderir.
- Rota zaman aşımı: Her rotanın kendi zamanlayıcısı vardır. Zamanlayıcı rota kurulduğunda ve o rota için her güncelleme geldiğinde yeniden başlar. Son güncellemenin üzerinden 180 saniye geçerse rota geçersiz sayılır. Bu, komşu bağlantısının genel bir zamanlayıcısı değil, her rota için ayrı işleyen bir süredir.
- Tetiklenen güncelleme: Bir rota değişince 30 saniye beklemeden güncelleme gönderilir. RFC, bunların ağı boğmaması için sıklığının sınırlanmasını ister. Tetiklenen güncelleme değişikliği haber verir; zaman aşımı ise haber gelmeyen rotayı geçersiz sayar. İkisi ayrı mekanizmalardır.
- Hop sınırı: Ağın çapı 15 hop ile sınırlıdır. 16 “sonsuz”, yani ulaşılamaz anlamına gelir.
- Döngüye karşı önlemler: Split horizon ve poisoned reverse’ün temel amacı döngü riskini azaltmaktır. Split horizon rotayı öğrenildiği komşuya geri duyurmaz; poisoned reverse onu duyurur ama metriğini 16, yani ulaşılamaz yapar. Bunlar “sonsuza kadar sayma” sorununu azaltır ama tamamen ortadan kaldırmaz.
RIPv2, OSPF’teki gibi hello paketleriyle kurulan bir komşuluk ya da ortak bir bağlantı durumu veritabanı kullanmaz. Hop sınırı ve yavaş yakınsama yüzünden RFC’nin kendisi de protokolü orta ölçekli ağlar için uygun görür.
OSPF: önce harita, sonra yol
OSPF bir link-state protokolüdür. Router’lar birbirine hazır rota değil, bağlantılarının durumunu anlatır. Her router bu bilgilerden bir harita çıkarır ve en iyi yolu kendisi hesaplar. RFC 2328’e göre süreç şöyle ilerler:
- Komşu keşfi: Router, OSPF çalışan arayüzlerinden düzenli olarak hello paketleri gönderir. Kendini komşusunun hello paketinde gördüğünde iletişimin iki yönlü olduğunu anlar.
- Adjacency: Bilgi alışverişi için komşularla adjacency kurulur. RFC, her komşu çiftinin adjacent olmadığını belirtir; yayın ağlarında bunu DR seçimi belirler. Bu yazıdaki transit bağlantıda yalnızca iki router vardır.
- Veritabanı eşitleme: Adjacent router’lar ellerindeki bağlantı durumu kayıtlarını (LSA) birbirine özetler, eksik ya da daha yeni olanları ister. Böylece iki taraf aynı bilgiye sahip olur.
- Yayma (flooding): Bir bağlantı değiştiğinde yeni LSA alana yayılır.
- SPF: Her router kendi bağlantı durumu veritabanından (LSDB) kendisini kök alan bir en kısa yol ağacı hesaplar. Sonuç rotalar tabloya önerilir; hangisinin kurulacağına AD ile karar verilir.
LSDB’ler ne zaman aynıdır? RFC 2328’e göre aynı area’daki iki router o area için aynı LSDB’yi tutar. Birden çok area’ya bağlı bir router ise her area için ayrı bir LSDB tutar. Bu yüzden “bütün OSPF router’ları aynı haritayı görür” demek tek area’lı bir ağ için doğrudur, genel kural değildir. Area tasarımı bu yazının kapsamı dışında.
Bir bağlantı kopunca
İki protokol değişikliği farklı yollardan öğrenir. RIP’te bir rota için güncelleme gelmeyi keserse router o rotayı ancak son güncellemeden 180 saniye sonra geçersiz sayar. Değişikliği fark eden router tetiklenen bir güncelleme gönderir, ama bilgi komşudan komşuya taşınır ve her router yalnızca komşusunun bildirdiğine göre karar verir. Split horizon ve poisoned reverse döngü riskini azaltır, ama RFC’nin de belirttiği gibi sonsuza kadar sayma riskini tamamen ortadan kaldırmaz.
OSPF’te komşusunu kaybeden router kendi bağlantı durumunu yeni bir LSA ile anlatır. Bu LSA area’ya yayılır ve her router SPF’i kendi LSDB’si üzerinde yeniden hesaplar. Router’lar başkasının hesapladığı sonucu beklemez; değişen haritadan yolu kendisi çıkarır. Bu yazıda RIP’e kavramsal karşılaştırma olarak yer verildi; yapılandırma örneği yalnızca OSPF için var.
OSPF’in metriği cost’tur. Cost’un nasıl hesaplandığı ve farklı protokollerin metriklerinin neden karşılaştırılmadığı routing tablosu yazısının konusu.
OSPF’i açmak: hangi arayüz, hangi rol?
OSPF açmak, cihazın bütün ağlarını kendiliğinden duyurması anlamına gelmez. Hangi arayüzlerin OSPF’e dahil olduğu açıkça belirtilir: ya bir network ifadesiyle ya da arayüz üzerinde. Yeni bir VLAN eklendiğinde, kapsayan bir network ifadesi yoksa onun arayüzü de OSPF’e ayrıca dahil edilmelidir.
Bu senaryoda arayüzlerin iki rolü var:
- Transit (VLAN 253): Aktif OSPF. Core ile bina switch’i burada komşu olur.
- Kullanıcı VLAN’ları (80 ve 90): OSPF’e dahil ama passive. Bu ağlar duyurulur, ama bu arayüzlerde komşuluk kurulmaz.
Passive interface ne yapar? Passive arayüz OSPF paketi göndermez ve almaz, dolayısıyla orada komşuluk oluşmaz; arayüzün ağı ise duyurulmaya devam eder. AOS-CX güvenlik kılavuzu bunu “alt ağları duyurulur ama komşuluk kurmaz” diye özetler ve OSPF’li bütün arayüzleri passive yapıp yalnızca onaylı komşuların olduğu arayüzlerde bunu kaldırmayı önerir. Passive interface, OSPF kimlik doğrulamasının yerine geçmez. Aktif kalan transit bağlantıda komşunun gerçekten beklenen cihaz olduğunu doğrulamak için kimlik doğrulama ayrıca yapılandırılır; aynı kılavuz bunu da önerir.
Dört üreticide bina switch’i
Aşağıdaki örnekler bina switch’inin yapılandırmasıdır ve Cisco ile AOS-CX’te global configuration modundan, Huawei’de sistem görünümünden başlar. Core’da OSPF yalnızca transit arayüzde aktif olarak açılır. FortiOS örneği, bu rolü bir FortiGate’in üstlendiği durumu gösterir; arayüz adları örnektir. Router ID olarak transit adresi kullanıldı.
Cisco IOS XE (Catalyst 9300, 17.14.x): network ifadesi hangi arayüzlerin OSPF çalıştıracağını belirler; passive-interface o arayüzde hello gönderimini durdurur.
router ospf 1
network 10.0.253.0 0.0.0.3 area 0
network 10.0.80.0 0.0.0.255 area 0
network 10.0.90.0 0.0.0.255 area 0
passive-interface Vlan80
passive-interface Vlan90
exit
ip route 0.0.0.0 0.0.0.0 Vlan253 10.0.253.1
Cisco’nun kılavuzu “OSPF for Routed Access” için tek bir OSPFv2 instance’ı ve en fazla 1000 dinamik olarak öğrenilmiş rota sınırı belirtir; platformun lisans durumu ayrıca kontrol edilmelidir.
Huawei VRP (S5700/S6700 V200R023C10): ospf komutu process’i ve router ID’yi, network ifadesi area içindeki ağları tanımlar.
ospf 1 router-id 10.0.253.2
silent-interface Vlanif80
silent-interface Vlanif90
area 0
network 10.0.253.0 0.0.0.3
network 10.0.80.0 0.0.0.255
network 10.0.90.0 0.0.0.255
quit
quit
ip route-static 0.0.0.0 0 10.0.253.1
Huawei’de passive işlevini silent-interface görür. Huawei’nin komut başvurusuna göre silent arayüz OSPF paketi göndermez ve almaz, komşuluk kurmaz, ama doğrudan bağlı rotalarını duyurmaya devam eder. Bu açıklama CX320 V100R001 komut başvurusundandır; S serisi V200R023C10 kılavuzunda aynı açıklamayı bulamadık. Huawei’ye göre OSPF bu S serisi switch’lerde lisansa bağlı değildir; S5731-L ve S5731S-L dışındaki modeller destekler.
FortiOS (7.6): Ağlar config network, passive arayüzler passive-interface ile tanımlanır. Ağların area’sı belirtilmezse varsayılan değer 0.0.0.0’dır. OSPF bloğu default route içermez; 0.0.0.0/0 → 10.0.253.1 rotası config router static ile ayrıca yazılır.
config router ospf
set router-id 10.0.253.2
set passive-interface "vlan80" "vlan90"
config area
edit 0.0.0.0
next
end
config network
edit 1
set prefix 10.0.253.0 255.255.255.252
next
edit 2
set prefix 10.0.80.0 255.255.255.0
next
edit 3
set prefix 10.0.90.0 255.255.255.0
next
end
end
config router static
edit 1
set dst 0.0.0.0 0.0.0.0
set gateway 10.0.253.1
set device "vlan253"
next
end
HPE Aruba AOS-CX (10.13–10.16): OSPF arayüz üzerinde ip ospf <process> area <area> ile açılır; passive için ip ospf passive kullanılır.
router ospf 1
router-id 10.0.253.2
exit
interface vlan 253
ip ospf 1 area 0.0.0.0
exit
interface vlan 80
ip ospf 1 area 0.0.0.0
ip ospf passive
exit
interface vlan 90
ip ospf 1 area 0.0.0.0
ip ospf passive
exit
ip route 0.0.0.0/0 10.0.253.1
Doğrulama
Komşuluğun kurulduğunu ve rotaların öğrenildiğini görmek için:
| Üretici | Komşuluk | OSPF rotaları |
|---|---|---|
| Cisco IOS XE | show ip ospf neighbor |
show ip route ospf |
| Huawei VRP | display ospf peer brief |
display ip routing-table protocol ospf |
| FortiOS | get router info ospf neighbor |
get router info routing-table all |
| AOS-CX | show ip ospf neighbors |
show ip route ospf |
Core’da beklenen sonuç, 10.0.80.0/24 ve 10.0.90.0/24’ün OSPF rotası olarak, next-hop 10.0.253.2 ile görünmesidir. Temsilî bir Cisco çıktısı:
O 10.0.80.0/24 [110/2] via 10.0.253.2, 00:04:12, Vlan253
O 10.0.90.0/24 [110/2] via 10.0.253.2, 00:04:12, Vlan253
Komşuluk Full durumuna gelmiyorsa nereden başlanacağı OSPF komşuluğu yazısında.
Dinamik routing yedekliliği yaratmaz
Bu senaryoda core ile bina arasında tek bir bağlantı var. O bağlantı koparsa OSPF bunu fark eder ve bina ağlarını tablodan çıkarır, ama gidecek başka bir yol yoktur. Dinamik routing var olan yollar arasında seçim yapar ve değişikliğe kendisi uyum sağlar; olmayan bir yolu yaratamaz. Fiziksel yedeklilik ikinci bir bağlantıyla kurulur. O bağlantı olduğunda OSPF, statik rotadaki gibi ayrı bir izleme mekanizmasına gerek kalmadan ona geçebilir.
Kendinizi deneyin
Alıştırma 1: Binaya VLAN 100 (10.0.100.0/24) ekleniyor; SVI bina switch’inde. (a) Statik yaklaşımda ve OSPF’te hangi cihazların yapılandırması değişir? (b) Core ile bina arasındaki tek transit bağlantı koparsa iki yaklaşımda ne olur?
Cevap ve açıklama
- (a) Statik yaklaşım: İki cihaz değişir. Bina switch’inde VLAN 100 SVI’si oluşturulur, core’a da 10.0.100.0/24 → 10.0.253.2 rotası yazılır. Core’daki rota unutulursa core bu ağa giden paketleri 10.0.0.0/16 → Null0 rotasıyla atar.
- (a) OSPF: Yalnızca bina switch’i değişir. SVI oluşturulur, arayüz OSPF’e dahil edilir ve passive yapılır. Örneklerdeki
networkifadeleri her VLAN’ı ayrı yazdığı için yeni bir ifade ya da arayüz komutu gerekir; arayüz OSPF’e alınmazsa ağ duyurulmaz. Core rotayı OSPF ile öğrenir. - (b) İki yaklaşım da alternatif yol sağlamaz, çünkü fiziksel olarak tek yol var. OSPF’te komşuluk düşer, bina ağları core’un tablosundan çıkar; bu ağlara giden paketler core’da Null0 rotasıyla atılır. Statik yaklaşımda rota, next-hop çözülebildiği sürece tabloda kalabilir ama paketler yine karşı tarafa ulaşamaz. Çözüm ikinci bir fiziksel bağlantıdır; o zaman OSPF yolu kendiliğinden değiştirir.
Alıştırma 2: Bina switch’inde OSPF yapılandırılmış, ama passive ayarı unutulmuş: VLAN 80 ve VLAN 90 SVI’leri aktif OSPF arayüzü. Bir kullanıcı VLAN 80’e, OSPF çalıştıran bir test router’ı bağlıyor. Ne risk oluşur ve hangi arayüzler passive olmalıdır?
Cevap ve açıklama
- Risk: Aktif arayüz hello gönderir ve alır. Test router’ı aynı OSPF parametrelerini kullanıyorsa bina switch’iyle komşu olabilir. Komşu olan cihaz bildiği ağları OSPF’e duyurur; bu duyurular area içine yayılır ve core dahil diğer router’ların tablosuna girebilir. Örneğin daha uzun bir önek ya da bir default route duyurulursa trafik bu cihaza çekilebilir.
- Doğru ayar: VLAN 80 ve VLAN 90 passive yapılır: Cisco’da
passive-interface, Huawei’desilent-interface, FortiOS’tapassive-interface, AOS-CX’teip ospf passive. Bu ağlar duyurulmaya devam eder ama bu arayüzlerde komşuluk kurulmaz. Transit VLAN 253 aktif kalır, çünkü core ile komşuluk orada kurulmalıdır. - Tek başına yetmez: Passive yalnızca kullanıcı arayüzlerini kapatır. Aktif kalan transit bağlantı için OSPF kimlik doğrulaması ayrıca yapılandırılır. Passive interface kimlik doğrulamanın yerine geçmez.
Kaynaklar
- RFC 2453: RIP Version 2
- RFC 2328: OSPF Version 2
- Cisco: Catalyst 9300 IP Routing Configuration Guide, IOS XE 17.14.x, Configuring OSPF
- Huawei: Creating an OSPF Process (V200R023C10)
- Huawei: Enabling OSPF (V200R023C10)
- Huawei: Example for Configuring Basic OSPF Functions (V200R023C10)
- Huawei: Licensing Requirements and Limitations for OSPF (V200R023C10)
- Huawei: Configuring OSPF to Advertise Default Routes (V200R023C10)
- Huawei: silent-interface (OSPF), CX320 V100R001 komut başvurusu
- Fortinet: OSPF (FortiOS 7.6.4)
- Fortinet: Basic OSPF example (FortiOS 7.6.4)
- Fortinet: config router ospf (FortiOS 7.2.0 CLI Reference)
- Fortinet: config router static (FortiOS 7.6.7 CLI Reference)
- HPE Aruba Networking: Configuring OSPF on the routing switch (AOS-CX 10.13)
- HPE Aruba Networking: Setting OSPF network for the area (AOS-CX 10.16)
- HPE Aruba Networking: ip ospf passive (AOS-CX 10.15)
- HPE Aruba Networking: Securing Routing Protocols (AOS-CX 10.15 Hardening Guide)