Şimdiye kadar OSPF’i hep tek area’da, yani sadece Area 0’da kurdum. Bu yazıda eNSP’de kurduğum lab’ı büyütüp üç area yapıyorum ve OSPF’in area’lar arasında nasıl davrandığına çıktılarla bakıyorum. Hedef, “ABR ne yapar, Area 0 neden zorunlu, LSDB’de ne değişir” sorularına kendi lab’ımdan cevap vermek.
1. Neden birden fazla area?
Tek area’da her router, ağdaki tüm router’ların ve linklerin bilgisini tutar. Ağ büyüdükçe LSDB şişer, bir link her düştüğünde de herkes SPF’i baştan hesaplar. Küçük ağda sorun değil, büyük ağda ciddi yük.
Area’lar ağı bölgelere ayırır:
- Bir bölgedeki link düşünce sadece o bölgede SPF tekrar çalışır.
- Router’lar sadece kendi bölgesinin detayını tutar, diğer bölgeleri özet olarak görür.
- Özetleme (summarization) mümkün olur, routing table küçülür.
Bunu bir hava yolu ağına benzetebilirim. İstanbul aktarma merkezi (Area 0). İzmir ve Ankara birer bölge (Area 1 ve Area 2). İzmir’den Ankara’ya direkt uçuş yok, her şey İstanbul üzerinden. İzmir’in uçuş tablosu sadece İzmir’in hatlarını ve “İstanbul’un ötesi için İstanbul’a git” bilgisini tutar. Ankara’daki bir pist kapanınca İzmir’in tablosu değişmez.
Parçalar:
- Area 0 (backbone): Omurga. Diğer tüm area’ların bağlanması zorunlu.
- ABR (Area Border Router): Bir ayağı Area 0’da, diğer ayağı başka bir area’da olan router. Her area için ayrı LSDB tutar ve aralarında özet taşır.
- Type 1 (Router) LSA: Her router’ın kendi linklerini anlattığı LSA. Area dışına çıkmaz.
- Type 2 (Network) LSA: Bir segmentin DR’ı üretir, area dışına çıkmaz.
- Type 3 (Summary /
Sum-Net) LSA: ABR’nin bir area’daki ağları başka area’ya özet olarak verdiği LSA. Area’lar arası bilgi sadece bununla taşınır.
2. Topoloji ve IP planı
Beş router var: Area 0’da R1, R2, R3; R3’ün arkasında Area 1’de R4; R1’in arkasında Area 2’de R5. R1 ve R3 ABR.

| Router | Loopback0 (= Router ID) | Link’ler |
|---|---|---|
| R1 | 1.1.1.1/32 | G0/0/1: 10.12.12.1/24 (R2), G0/0/0: 10.15.15.1/24 (R5) |
| R2 | 2.2.2.2/32 | G0/0/0: 10.12.12.2/24 (R1), G0/0/1: 10.23.23.1/24 (R3) |
| R3 | 3.3.3.3/32 | G0/0/0: 10.23.23.3/24 (R2), G0/0/1: 10.34.34.3/24 (R4) |
| R4 | 4.4.4.4/32 | G0/0/0: 10.34.34.4/24 (R3) |
| R5 | 5.5.5.5/32 | G0/0/0: 10.15.15.2/24 (R1) |
| Area | Router’lar | Ağlar |
|---|---|---|
| Area 0 | R1, R2, R3 | 10.12.12.0/24, 10.23.23.0/24, loopback’ler |
| Area 1 | R3 (ABR), R4 | 10.34.34.0/24, 4.4.4.4/32 |
| Area 2 | R1 (ABR), R5 | 10.15.15.0/24, 5.5.5.5/32 |
R1 ve R3’ün loopback’leri Area 0’da, R4 ve R5’inkiler kendi area’larında.
3. Konfigürasyon
Area 0 (R1, R2, R3)
Üçünde de aynı kalıp: loopback, link IP’leri, sonra OSPF. Örnek olarak R3:
system-view
sysname R3
interface LoopBack0
ip address 3.3.3.3 32
quit
interface GigabitEthernet0/0/0
ip address 10.23.23.3 24
quit
ospf 1 router-id 3.3.3.3
area 0.0.0.0
network 3.3.3.3 0.0.0.0
network 10.23.23.0 0.0.0.255
quit
quit
network satırlarında wildcard mask kullanılıyor, subnet mask değil: /24 için 0.0.0.255, /32 loopback için 0.0.0.0.
Area 1: R3’ü ABR yapmak, R4’ü eklemek
R3’te Area 0 ayarlarına dokunmadan Area 1’i ekliyorum. R3’ün G0/0/1 interface’i artık R4’e bakıyor:
interface GigabitEthernet0/0/1
ip address 10.34.34.3 24
quit
ospf 1
area 0.0.0.1
network 10.34.34.0 0.0.0.255
quit
quit
R4’te:
system-view
sysname R4
interface LoopBack0
ip address 4.4.4.4 32
quit
interface GigabitEthernet0/0/0
ip address 10.34.34.4 24
quit
ospf 1 router-id 4.4.4.4
area 0.0.0.1
network 4.4.4.4 0.0.0.0
network 10.34.34.0 0.0.0.255
quit
quit
Area 2: R1’i ABR yapmak, R5’i eklemek
R1’de:
interface GigabitEthernet0/0/0
ip address 10.15.15.1 24
quit
ospf 1
area 0.0.0.2
network 10.15.15.0 0.0.0.255
quit
quit
R5’te:
system-view
sysname R5
interface LoopBack0
ip address 5.5.5.5 32
quit
interface GigabitEthernet0/0/0
ip address 10.15.15.2 24
quit
ospf 1 router-id 5.5.5.5
area 0.0.0.2
network 5.5.5.5 0.0.0.0
network 10.15.15.0 0.0.0.255
quit
quit
Kurulum bu kadar. Asıl iş çıktıları okumakta.
4. Doğrulama
ABR’ler kimler?
Saf Area 0 router’ı olan R2’den bakıyorum, iki ABR’yi birden görmesi lazım:
<R2>display ospf abr-asbr
OSPF Process 1 with Router ID 2.2.2.2
Routing Table to ABR and ASBR
RtType Destination Area Cost Nexthop Type
Intra-area 1.1.1.1 0.0.0.0 1 10.12.12.1 ABR
Intra-area 3.3.3.3 0.0.0.0 1 10.23.23.3 ABR
R1 ve R3, tam beklediğim gibi.
Area 0’ın defteri: R2’nin LSDB’si
<R2>display ospf lsdb
OSPF Process 1 with Router ID 2.2.2.2
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 2.2.2.2 2.2.2.2 1196 60 80000020 1
Router 1.1.1.1 1.1.1.1 1535 48 80000016 1
Router 3.3.3.3 3.3.3.3 1208 48 8000001C 0
Network 10.12.12.2 2.2.2.2 1196 32 80000004 0
Network 10.23.23.3 3.3.3.3 1208 32 80000003 0
Sum-Net 10.34.34.0 3.3.3.3 164 28 80000004 1
Sum-Net 5.5.5.5 1.1.1.1 80 28 80000001 1
Sum-Net 4.4.4.4 3.3.3.3 180 28 80000001 1
Sum-Net 10.15.15.0 1.1.1.1 1472 28 80000001 1
Bu tabloyu satır satır okuyalım:
- Router LSA’lar (Type 1): Üç tane, Area 0’daki üç router. R4 ve R5 için Router LSA yok. R2, onların var olduğunu bilmiyor.
- Network LSA’lar (Type 2): İki segment, iki DR. LinkState ID, DR’ın interface IP’si:
10.12.12.2(DR R2),10.23.23.3(DR R3). Segment başına bir DR olduğu için iki satır var. İlk açılan router DR oluyor, preemption yok. - Sum-Net’ler (Type 3): Dört satır.
10.34.34.0ve4.4.4.4Area 1’in özeti, Adv Router 3.3.3.3.10.15.15.0ve5.5.5.5Area 2’nin özeti, Adv Router 1.1.1.1. R2 bu ağlara “şu ABR’nin arkasında” diye bakıyor.
Yani topoloji area’nın içinde kalıyor. Dışarı sadece “bu ağa şu ABR üzerinden ulaşırsın” bilgisi çıkıyor.
Area 1’in defteri: R4’ün LSDB’si
<R4>display ospf lsdb
OSPF Process 1 with Router ID 4.4.4.4
Link State Database
Area: 0.0.0.1
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 4.4.4.4 4.4.4.4 225 48 80000006 1
Router 3.3.3.3 3.3.3.3 1466 36 8000000C 1
Network 10.34.34.3 3.3.3.3 1466 32 80000004 0
Sum-Net 5.5.5.5 3.3.3.3 126 28 80000001 3
Sum-Net 3.3.3.3 3.3.3.3 210 28 80000004 0
Sum-Net 10.12.12.0 3.3.3.3 1254 28 80000003 2
Sum-Net 2.2.2.2 3.3.3.3 1254 28 80000003 1
Sum-Net 10.15.15.0 3.3.3.3 1518 28 80000001 3
Sum-Net 1.1.1.1 3.3.3.3 1247 28 80000003 2
Sum-Net 10.23.23.0 3.3.3.3 1296 28 80000003 1
R4 sadece iki router görüyor (kendisi ve R3), geri kalan dünya yedi tane Sum-Net olarak geliyor ve hepsinin Adv Router’ı 3.3.3.3. R4 için dünya tek bir kapıdan ibaret.
R5’in LSDB’si bunun ayna görüntüsü: iki router (1.1.1.1 ve 5.5.5.5), geri kalan her şey Sum-Net ve Adv Router 1.1.1.1.
Sum-Net’teki Metric neyi anlatıyor?
Sum-Net’teki metric, ABR’den o ağa olan cost. R4’ün LSDB’sinden R3’ün gözüyle bakınca:
| Sum-Net | Metric | R3’ten yol |
|---|---|---|
| 3.3.3.3 | 0 | R3’ün kendisi |
| 10.23.23.0 | 1 | doğrudan bağlı |
| 2.2.2.2 | 1 | R3 → R2 |
| 10.12.12.0 | 2 | R3 → R2 → R1 tarafı |
| 1.1.1.1 | 2 | R3 → R2 → R1 |
| 10.15.15.0 | 3 | R1’in arkası |
| 5.5.5.5 | 3 | R3 → R2 → R1 → R5 |
Gigabit link’in cost’u varsayılan referans bant genişliğiyle 1 olduğu için sayılar hop sayısıyla örtüşüyor.
ABR’nin iki defteri: R1’in LSDB’si
R1 hem Area 0’da hem Area 2’de olduğu için çıktıda iki blok var:

Burada üç şey dikkatimi çekti:
Router 1.1.1.1iki kez var. Biri Area 0’da (Len 48, Seq 80000016), diğeri Area 2’de (Len 36, Seq 80000005). ABR her area için ayrı bir Router LSA üretiyor, yani her ayağı için ayrı defter tutuyor.- Area 2’deki
4.4.4.4ve10.34.34.0Area 1’den doğrudan gelmedi. R1, R4’ün Router LSA’sını hiç görmedi. Bu bilgiyi R3’ün Area 0’a bastığı Sum-Net’ten öğrendi ve kendi Area 2’sine tekrar bastı. Metric de bunu gösteriyor: Area 0’da R3’ün verdiği4.4.4.4metric 1, R1’in Area 2’ye verdiği ise 3 (R1→R2 1, R2→R3 1, artı R3’ün 1’i). Yani area’lar arası OSPF topolojiyi değil mesafeyi taşıyor, distance-vector gibi çalışıyor. Area 0 kuralının asıl sebebi bu: özetler hep omurgadan geçtiği için döngü oluşmuyor. - Yerel ağlar kendi area’sında Sum-Net olmuyor. Area 2’de
10.15.15.0için Sum-Net yok, çünkü zaten Router/Network LSA’dan biliyor. Sum-Net sadece “başka area’dan gelen” bilgi için üretiliyor.
Routing table: R4’ün OSPF rotaları
<R4>display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 7 Routes : 7
OSPF routing table status : <Active>
Destinations : 7 Routes : 7
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.1.1.1/32 OSPF 10 3 D 10.34.34.3 GigabitEthernet0/0/0
2.2.2.2/32 OSPF 10 2 D 10.34.34.3 GigabitEthernet0/0/0
3.3.3.3/32 OSPF 10 1 D 10.34.34.3 GigabitEthernet0/0/0
5.5.5.5/32 OSPF 10 4 D 10.34.34.3 GigabitEthernet0/0/0
10.12.12.0/24 OSPF 10 3 D 10.34.34.3 GigabitEthernet0/0/0
10.15.15.0/24 OSPF 10 4 D 10.34.34.3 GigabitEthernet0/0/0
10.23.23.0/24 OSPF 10 2 D 10.34.34.3 GigabitEthernet0/0/0
- Yedi rota = yedi Sum-Net. LSDB’deki her Sum-Net tabloya bir rota olarak girmiş.
- Hepsinin next hop’u
10.34.34.3(R3). R4 hangi hedefe giderse gitsin tek kapıyı kullanıyor. - Cost = R4’ün R3’e olan link cost’u (1) + Sum-Net metric’i.
5.5.5.5için 1 + 3 = 4. - Pre 10: Huawei’de OSPF’in preference değeri 10. Cisco’da bu 110.
4.4.4.4ve10.34.34.0listede yok, çünkü R4’ün kendi bağlı ağları.
R5’in tablosu aynı mantıkla ayna: hepsi 10.15.15.1 (R1) üzerinden, cost’lar R1’den 1, R2’den 2, R3’ten 3, R4’ten 4.
Rotanın tipi: display ospf routing
Huawei, area’lar arası rotayı tabloda ayrıca işaretlemiyor, ama bu komut tipini gösteriyor:

Intra Area: 2 kendi area’sından, Inter Area: 7 başka area’lardan. Hepsinde AdvRouter 3.3.3.3.
Bağlantı ve yol testi
R4’ten R5’e, loopback’ten loopback’e:
<R4>ping -a 4.4.4.4 5.5.5.5
PING 5.5.5.5: 56 data bytes, press CTRL_C to break
Reply from 5.5.5.5: bytes=56 Sequence=1 ttl=252 time=40 ms
Reply from 5.5.5.5: bytes=56 Sequence=2 ttl=252 time=20 ms
Reply from 5.5.5.5: bytes=56 Sequence=3 ttl=252 time=50 ms
Reply from 5.5.5.5: bytes=56 Sequence=4 ttl=252 time=40 ms
--- 5.5.5.5 ping statistics ---
4 packet(s) transmitted
4 packet(s) received
0.00% packet loss
round-trip min/avg/max = 20/37/50 ms
ttl=252: cevap R5’te 255 ile çıkıp yolda üç router (R1, R2, R3) geçtiği için 252 geliyor. Hop sayısıyla uyumlu.

Yol R3 → R2 → R1 → R5. Area 1’den Area 2’ye trafik doğrudan değil, Area 0 üzerinden gidiyor.
5. Nerede takıldım
Router ID beklediğim gibi çıkmadı
R4’ün OSPF başlığında Router ID 10.34.34.4 yazıyordu, 4.4.4.4 değil. Loopback’i yazmadan ospf 1 açmıştım, router da interface IP’sinden birini seçti. Router ID elle verilmezse sırayla en yüksek loopback IP’sine, loopback yoksa en yüksek interface IP’sine bakılıyor ve bu seçim süreç açılırken yapılıp sonradan IP değişse bile kalıyor. Bu yüzden artık hep ID’yi elle veriyorum:
ospf 1 router-id 4.4.4.4
Process çalışırken yeni ID’nin devreye girmesi için süreci resetlemek gerekiyor.
router-id OSPF’in içinde çalışmadı
Nokia alışkanlığıyla ospf 1 yazıp içine girince router-id 4.4.4.4 yazdım, kabul etmedi. Huawei VRP’de OSPF görünümünde böyle bir komut yok. İki yol var: process’i açarken tek satırda ospf 1 router-id 4.4.4.4, ya da system-view’da genel router id 4.4.4.4.
reset ospf 1 process tanınmadı
Komutun kendisi doğruydu ama yanlış yerde yazıyordum. reset komutları Huawei’de kullanıcı görünümünde (<R4>) çalışıyor, [R4] içinde değil. Önce return yazıp çıkıyorum, sonra:
<R4>reset ospf 1 process
Warning: The OSPF process will be reset. Continue? [Y/N]:y
Aynı kural save için de geçerli.
LSDB’de 4.4.4.4 ve 5.5.5.5 yoktu
İlk baktığımda R2’nin LSDB’sinde sadece link ağları (10.34.34.0, 10.15.15.0) vardı, loopback’ler yoktu. Sebep, R4 ve R5’e loopback’i hiç yazmamam, yani Router ID ile adres ayrımını karıştırmamdı. Router ID sadece router’ın kimliği. LSDB’de “5.5.5.5 diye bir ağ var” görünmesi için o IP’nin bir interface’te olması ve OSPF’e network satırıyla verilmesi gerekiyor. Loopback’i ve network 5.5.5.5 0.0.0.0 satırını ekledikten sonra Sum-Net’ler geldi.
6. Virtual-link: Area 0’a bağlanamayan area
Area 0 kuralının bir istisna yolu var. Bir area fiziksel olarak Area 0’a bağlanamıyorsa, aradaki area’nın (transit area) üzerinden Area 0’a sanal bir bağ çekilebilir. Fiziksel kablo aynı kalır, ama OSPF o iki router’ı Area 0 komşusu sayar.
Lab’da R3 ile R4 arasında denedim. Komut, Hello’ların geçeceği transit area’nın içinde yazılıyor ve karşı ucu Router ID ile tanımlıyor:
R3’te:
ospf 1
area 0.0.0.1
vlink-peer 4.4.4.4
R4’te:
ospf 1
area 0.0.0.1
vlink-peer 3.3.3.3
İki uçta da girilmesi gerekiyor. İlk denemede komutu Area 0’ın içine yazmıştım:
[R3-ospf-1-area-0.0.0.0]vlink-peer 4.4.4.4
Error: Virtual-link can not be configured in backbone area.
Virtual-link Area 0’ı uzatmak için kullanıldığından Area 0’ın içinde değil, transit area’nın (burada Area 1) içinde yazılıyor. Karşı uca giden yolu R3, Area 1’in iç yönlendirmesinden buluyor. R4’ün loopback’inin Area 1’de duyurulmuş olması bu yüzden önemliydi.
Komutu doğru yere yazınca log, sıradan bir komşuluktaki aynı geçişleri gösterdi:
VirtualLinkNeighborAddress=4.4.4.4, NeighborEvent=HelloReceived, PreviousState=Down, CurrentState=Init
VirtualLinkNeighborAddress=4.4.4.4, NeighborEvent=2WayReceived, PreviousState=Init, CurrentState=ExStart
VirtualLinkNeighborAddress=4.4.4.4, NeighborEvent=NegotiationDone, PreviousState=ExStart, CurrentState=Exchange
Sanal bağ da sıradan bir OSPF komşuluğu gibi LSDB değişimine geçiyor.
Kurallar:
- Transit area stub olamaz. LSA’lar o area’dan geçtiği için tam LSDB taşıması gerekiyor.
- Kırılgan: Sanal bağ, transit area’nın fiziksel hattına bağlı. O hat giderse virtual-link de düşer.
- İlk tercih değil. Doğru tasarım, area’yı gerçekten bir ABR üzerinden Area 0’a bağlamak. Virtual-link genelde geçici çözüm olarak ya da bir link koptuğunda omurgayı tekrar bağlamak için kullanılıyor.
7. Özet
- Area’lar ağı bölgelere ayırır: SPF hesabı küçülür, LSDB küçülür, özetleme mümkün olur.
- ABR, bir ayağı Area 0’da olan router. Her area için ayrı defter (LSDB) tutar.
- Area 0 zorunlu: area’lar arası bilgi sadece omurgadan, Type 3 (Sum-Net) LSA’larla taşınır.
- Area’lar arası OSPF topolojiyi değil mesafeyi taşır, distance-vector gibi. Bu yüzden döngü olmaz.
- Bir router dışarıdaki area’nın detayını görmez: LSDB’de sadece Sum-Net’ler ve hepsinin Adv Router’ı ABR.
- Routing table’da cost = bağlandığın ABR’ye cost + Sum-Net metric’i,
display ospf routingile rota tipini (Intra-area,Inter-area) görürsün. - Router ID kimliktir, loopback ise adres. LSDB’de ağ görünmesi için
networksatırı şart. - Huawei’de
resetvesavekullanıcı görünümünde,router-idiseospf 1 router-id X.X.X.Xolarak yazılır. - Virtual-link, Area 0’a bağlanamayan area için yama çözümdür ve transit area’nın içinde yazılır.