Home / Şəbəkə / OSPF protokolunda marşrutların filtrlənməsi
ospf

OSPF protokolunda marşrutların filtrlənməsi

Əvvəlki məqalələrdən birində biz EIGRP dinamik marşrutlama protokolundan istifadə zamanı marşrutların filtrləşdirilməsi üsullarını nəzərdən keçirdik. Cisco-nun proprietar məhsulu olan EIGRP-dən fərqli olaraq, OSPF (Open Shortest Path First) açıq standartlı protokoldur və bütün şəbəkə avadanlıqları istehsalçıları tərəfindən dəstəklənir. Güman edirəm ki, oxucu bu marşrutlama protokolunu haqqında CCNA səviyyəsində biliklərə malikdir.

Qeyd: 2013-cü ildən etibarən Cisco digər istehsalçılara da EIGRP protokolunu məhsullarına inteqrasiya etməyə icazə verib.

 OSPF də marşrutların filtrləşdirilməsini dəstəkləyir. Lakin filtrləmə əməliyyatı istənilən marşrutlaşdırıcıda edilə bilən EIGRP-dən fərqli olaraq, burada yalnız  ABR (Area Border Router) və ASBR (Autonomous System Boundary Router) adlanan sərhəd routerlərində mümkündür. Buna səbəb OSPF protokolunda marşrutların elan edilməsi məntiqidir. Xırdalıqlara varmadan deyim ki, burada marşrutlar LSA (Link State Advertisement) vasitəsilə elan olunur. LSA 11 növü var, amma biz onları nəzərdən keçirməyəcəyik. Məqalənin gedişatında yalnız Type 3 LSA və Type 5 LSA baxacağıq.

ABR – bir interfeysi ilə magistral (backbone) bölgəyə, ən azi bir interfeysi ilə isə qeyri-magistral bölgəyə birləşən marşrutlayıcıdır.

ASBR – ən azı bir interfeysi qeyri-OSPF domeninə qoşulu olan marşrutlayıcıdır.

Üçüncü tip LSA ABR routerləri tərəfindən yaradılır. “Type 3 LSA” həm də “Summary LSA” adlanır. Bu tip LSA vasitəsi ilə ABR şəbəkələri bir bölgəsən digərinə elan edir. OSPF Məlumat Bazası Cədvəlində bu növ LSA “Summary Net Link States” olaraq göstərilir:

summary-lsa

Üçüncü tip LSA üzrə filtrləmə zamanı marşrutlayıcıya şəbəkələrin bir bölgədən digərinə elan edilməməli olduğu bildirilir. Bununla da digər bölgələrdə göstərilməsinə ehtiyac olmayan şəbəkələr həmin bölgələrin maşrutlayıcılarında əks olunmur.

Filtrləməni işə salmaq üçün OSPF konfiqurasiya rejimində area area-num filter-list prefix prefix-list-name {in | out} komandasından istifadə olunur. Göründüyü kimi, burada da əvvəlki məqalədə danışdığımız prefikslər siyahısı tətbiq olunur. Marşrut prefiks siyahısında deny komandası ilə müşayət olunarsa digər bölgələrə elan edilmir.

Bu komandada çaşqınlıq yaradan inout açar sözləridir. Bu parametrlər area are-num filter komandasında göstərilən bölgə nömrəsindən asılı olaraq filtrasiya istiqamətini müəyyən edir, iş prinsipi isə aşağıdakı kimidir:

  • Əgər in sözü yazılıbsa, onda marşrutlayıcı göstərilən şəbəkələrin komandada göstərilən bölgəyə düşməsinin qarşısını alır.
  • Əgər out sözü yazılıbsa, o zaman marşrutlayıcı komandada nömrəsi göstərilən bölgədən gələn şəbəkələrin filtrləyir.
Sxematik olaraq belə görünür:

area 0 filter-list… in komandası bütün Type 3 LSA  (1 və 2 bölgələrindən gələn) elanlarını filtrləyir və onlar 0 bölgəsinə daxil olmayacaqlar. Lakin 1-ci bölgədə olan marşrutlar 2-ci bölgəyə düşəcək, çünki marşrutlayıcıya area 2 filter-list … in və ya area 1 filter-list… out kimi komandalar verilməyib. Ikinci komanda: area 2 filter-list… out bütün marşrutları filtrləyir. Bu nümunədə ikinci bölgədən marşrut məlumatı heç bir bölgəyə daxil olmayacaq.

Aşağıdakı topologiyada iki filtrasiya nöqtəsi, yəni iki sərhəd marşrutlayıcısı var – ABR1 və ABR2:

ospf-topology

Həm ABR, həm də ASBR üçün olan konfiqurasiyanı buradan endirə bilərsiniz.

Bu marşrutlayıcıların hər biri fərqli şəbəkələri filtrləyəcək. Burada in və out açar sözlərindən də istifadə edəcəyik. Beləliklə, ABR1-də aşağıdakı prefix-list-ləri yazaq:

ip prefix-list FILTER-INTO-AREA-34 seq 5 deny 10.16.3.0/24
ip prefix-list FILTER-INTO-AREA-34 seq 10 permit 0.0.0.0/0 le 32
ospf-abr-filtering

ABR2-də isə:

ip prefix-list FILTER-OUT-OF-AREA-0 seq 5 deny 10.16.2.0/23 ge 24 le 24
ip prefix-list FILTER-OUT-OF-AREA-0 seq 10 permit 0.0.0.0/0 le 32
abr2-filtering

Dəyişikliklərdən sonra R3-ün marşrut cədvəlində 10.16.3.0 şəbəkəsinə gedən marşrutun olmadığını görəcəyik:

ospf-filtering-result

Indi marşrutlayıcıya verdiyimiz komandaları izah edək. ABR1 konfiqurasiyasında deny komandası olan ilk prefix-list yalnız 10.16.3.0 ilə başlayan marşrut ilə üst-üstə düşür, prefiksin uzunluğu isə 24-ə bərabərdir. Ikinci prefiks bütün digər marşrutlara uyğundur. area 34 filter-list prefix FILTER-INTO-AREA-34 in komandası isə 34-cü bölgəyə daxil olan bütün şəbəkələri filtrləmək göstərişini verdi. Buna görə də R3-ün OSPF bazasında, 10.16.3.0/24 şəbəkəsinə ABR1 vəsitəsi ilə marşrut  olmayacaq.

Ikinci marşrutlayıcıda başqa yolla getdik. ip prefix-list FILTER-OUT-OF-AREA-0 seq 5 deny 10.16.2.0/23 ge 24 le 24 komandası /23 göstərildiyi üçün 10.16.2.0 və 10.16.3.0-də başlayan marşrutlarla üst-üstə düşəcək. Prefiks siyahıları nöqteyi-nəzərindən bu 255.255.254.0 maskasına uyğun gələn ünvanları götürmək deməkdir, IP prefiksinin uzunluğu isə 24-ə bərabərdir. area 0… out komandası ilə isə 0 bölgəsindən gələn bütün üçüncü növ LSA-ları filtrləməli olduğunu dedik. Ilk baxışdan çətin görünsə də diqqətlə baxanda, hər şey aydın olacaq.

Marşrutların distribute-list vasitəsilə filtrlənməsi

Type 3 LSA üzrə filtrləmə həmişə kömək etmir. Təsəvvür edək ki, 50 marşrutlayıcının olduğu bir bölgədə yalnız 10 routerdə göstərilən şəbəkəyə marşrut məlumatlarının olmasını istəmirik. Bu halda LSA üzrə filtrləmə kömək etməyəcək. Çünki o, bölgədən çıxan və ya bölgəyə daxil olan marşrutları filtrləyir. Bu halda marşrut heç bir marşrutlayıcıya düşməyəcək ki, bu da qarşıya qoyulan vəzifəyə ziddir.

Belə hallar üçün distribute-list funksiyası nəzərdə tutulub. O, göstərilən marşrutu marşrut cədvəlinə əlavə etmir, lakin OSPF bazada şəbəkəyə gedən marşrut yer alacaq.

EIGRP-dən fərqli olaraq, OSPF-də distribute-list ilə işləyən zaman aşağıdakı məqamları nəzərə almaq lazımdır:

  • distribute-list komandası in | out parametrlərinin göstərilməsini tələb edir, lakin yalnız in tətbiq edildikdə filtrləmə işləyəcək.
  • Filtrləmə üçün ACL, prefix-list və ya route-map istifadə edilə bilər.
  • Xüsusi interfeysə filtrləmə tətbiq etmək üçün interface interface-type-number parametrindən istifadə etmək olar.

Gəlin 10.16.1.0/24 şəbəkəsinə gedən marşrutu filtrləmək üçün, R3 marşrutlayıcısında bəzi dəyişikliklər edək:

osfp-filtering-by-prefix-lists

Göründüyü kimi, prefix-list tətbiq etməzdən əvvəl marşrut cədvəlində 10.16.1.0/24 şəbəkəsinə gedən marşrut mövcuddur. Lakin dəyişikliklər edildikdən sonra marşrut cədvəldən yox olur, lakin show ip ospf database | i 10.16.1.0 komandasını yazaraq bu marşrutun OSPF bazasında mövcud olduğunu görürük.

Marşrutların ASBR-də filtrlənməsi

Materialın əvvəlində deyildiyi kimi, ASBR iki fərqli muxtar sistemi (AS Autonomous System) birləşdirən marşrutlayıcıdır. Məhz o,  qeyri-OSPF domenində olan şəbəkələrə gedən marşrutları özündə cəmləşdirən beşinci tipli LSA elanları generasiya edir.

Şəbəkənin topologiyası şəkildəki kimi olacaq:

asbr-topology

Rəsmdən göründüyü kimi, iki fərqli dinamik marşrutlama domenimiz var. ASBR routerdə marşrutların redistribyusiyası qurulub, yəni marşrutlar haqqında informasiya bir domenindən digərinə ötürülür. Marşrutları elə filtrləməliyik ki, 172.16.101.0/24 və 172.16.102.0/25 şəbəkələri EIGRP domeninə düşməsin. Digər bütün şəbəkələr, nöqtə-nöqtə (point-to-point) bağlantılar üçün istifadə olunanlar da daxil olmaqla, EIGRP domenində olan istifadəçilər üçün əlçatan olmalıdır.

Cisco IOS filtrləşdirmək üçün bizə yalnız bir vasitə verir – route-map. Biz route-map və ya marşrut xəritələri haqqında da EIGRP-də marşrutların filtrlənməsi barədə olan məqalədə ətraflı məlumat vermişik.

Tapşırığı iki yolla həll edə bilərik. Birinci yol: göstərilən marşrutları qadağan edirik, sonda isə bütün digər şəbəkələri elan edə biləcək permit ilə route-map əlavə edirik. İkinci üsulda isə prefiks siyahısında göstərilən marşrutlara icazə veririk, qalan hər şeyi qadağan edirik (unutmayın ki, hər bir route-map-ın sonunda mütləq deny komandası var).

Mən ikinci variantı göstərəcəm, birincisi isə özünüzü sınaya bilərsiniz.

Əvvəlcə icazə verilən şəbəkələri qeyd etməklə prefiks siyahıları yaradırıq:

ip prefix-list match-area0-permit seq 5 permit 172.16.14.0/30
ip prefix-list match-area0-permit seq 10 permit 172.16.18.0/30
ip prefix-list match-area0-permit seq 15 permit 172.16.8.1/32
ip prefix-list match-area0-permit seq 20 permit 172.16.4.1/32
ip prefix-list match-area0-permit seq 25 permit 172.16.48.0/25
ip prefix-list match-area0-permit seq 30 permit 172.16.49.0/25
ip prefix-list match-area3-permit seq 5 permit 172.16.103.0/24 ge 26 le 26

Bir daha qeyd edək ki, LSA Type 5 üzrə filtrləmə yalnız ASBR marşrutlayıcıda həyata keçirilir. Dəyişikliklər edilənə qədər marşrutlayıcıda 101.0 və 102.0-a gedən marşrutlar görünür:

asbr-before-filtering

Dəyişiklikləri tətbiq edək:

asbr-filtering

Marşrut cədvəlini bir daha yoxlayaq:

ospf-asbr-filtering

Gördüyümüz kimi, 101.0 və 102.0 şəbəkələrinə gedən marşrutlar cədvəldən silindi.

Belə, kifayət qədər böyük və mürəkkəb material olsa da, faydalı olacağını düşünürəm. Təcrübələrdə uğurlar!

Yazını paylaş