OSPF — bitta avtonom tizim ichida IP marshrutlarini avtomatik almashadigan link-state routing protokoli. Uning to‘liq nomi Open Shortest Path First hisoblanadi.
OSPF routerlar orasida tayyor “masofa jadvali”ni davriy yuborish bilan cheklanmaydi. Har router tarmoq havolalari haqidagi ma’lumotni yig‘adi, umumiy topologiya bazasini hosil qiladi va Dijkstra algoritmi orqali eng qisqa yo‘l daraxtini hisoblaydi.
OSPFning vazifasi
Tarmoqda yangi subnet qo‘shilsa, aloqa uzilsa yoki kanal xarajati o‘zgarsa, routerlar bu holatni OSPF orqali bir-biriga bildiradi. Har router o‘z marshrut jadvalini yangi topologiyaga mos yangilaydi.
OSPF quyidagi muhitlarda qo‘llanadi:
- korporativ ichki tarmoq;
- ma’lumotlar markazi yoki kampus magistrali;
- internet provayderning ichki routing qismi;
- bir nechta filial va routerdan iborat tizim;
- MPLS yoki BGP infratuzilmasining underlay tarmog‘i.
OSPF IGP hisoblanadi. Internetdagi turli avtonom tizimlar orasidagi global routing vazifasini BGP bajaradi.
Link-state tamoyili
Har OSPF router o‘z interfeyslari va qo‘shnilari haqidagi ma’lumotni Link-State Advertisement ko‘rinishida e’lon qiladi. LSA yozuvlari area ichidagi routerlarga tarqatiladi.
Routerlar bir xil Link-State Databasega ega bo‘lishga intiladi. Shu bazadagi tugun va havolalar asosida har router o‘ziga ildizlangan shortest path tree yaratadi. Natijada har bir subnet uchun next hop va chiqish interfeysi aniqlanadi.
Bu yondashuvda router qo‘shnidan faqat tayyor yo‘lni emas, topologiya ma’lumotini oladi. Shu sababli tarmoqdagi o‘zgarish aniq LSA orqali tarqaladi.
OSPF paket turlari
| Paket | Vazifasi |
|---|---|
| Hello | Qo‘shnini topish va sessiyani saqlash |
| Database Description | LSDB tarkibining qisqacha tavsifini almashish |
| Link-State Request | Yetishmayotgan LSAni so‘rash |
| Link-State Update | LSA yozuvlarini yuborish |
| Link-State Acknowledgment | LSA qabul qilinganini tasdiqlash |
OSPF TCP yoki UDPdan foydalanmaydi. IPv4 OSPF IP protocol number 89 bilan ishlaydi.
Qo‘shnilik jarayoni
Routerlar Hello paketlari orqali bir-birini aniqlaydi. Qo‘shnilik to‘liq hosil bo‘lishi uchun bir nechta asosiy parametr mos bo‘lishi kerak:
- area ID;
- Hello va Dead interval;
- subnet va tarmoq turi;
- autentifikatsiya sozlamasi;
- stub area flaglari;
- ayrim holatlarda MTU.
Qo‘shnilik holatlari:
Down → Init → 2-Way → ExStart → Exchange → Loading → Full
2-Way holatida ikki router bir-birining Hello paketini ko‘rgan bo‘ladi. Broadcast tarmoqda barcha routerlar bir-biri bilan Full holatga o‘tmasligi mumkin; DR va BDR bilan to‘liq adjacency quriladi.
DR va BDR
Ethernet kabi broadcast segmentda ko‘p router bo‘lsa, har bir router barcha boshqalar bilan to‘liq adjacency qursa, LSA almashinuvi murakkablashadi. OSPF shu segmentda Designated Router va Backup Designated Router tanlaydi.
DR segmentdagi LSA almashinuvini markazlashtiradi, BDR esa zaxira vazifasini bajaradi. Saylovda avval interface priority, keyin router ID hisobga olinadi. Priority 0 bo‘lgan router DR yoki BDR bo‘la olmaydi.
DR saylovi preemptive emas. Yuqori priorityli yangi router keyinroq qo‘shilsa, mavjud DR avtomatik almashtirilmaydi.
Router ID
Har OSPF router 32 bitli Router IDga ega. U IPv4 manzil ko‘rinishida yoziladi, lekin routing qilinadigan interfeys manzili bo‘lishi shart emas.
Router ID odatda quyidagi tartibda olinadi:
- qo‘lda sozlangan qiymat;
- loopback interfeyslar orasidagi eng yuqori IPv4 manzil;
- boshqa faol interfeyslar orasidagi eng yuqori IPv4 manzil.
Aniq tartib qurilma implementatsiyasiga bog‘liq bo‘lishi mumkin. Barqarorlik uchun Router ID ko‘pincha qo‘lda yoki loopback manzil orqali belgilanadi.
Cost
OSPF yo‘lni interface cost qiymatlari yig‘indisi asosida tanlaydi. Kanal tezligi yuqori bo‘lsa, cost odatda kichikroq bo‘ladi. Klassik formula reference bandwidthni interface bandwidthga bo‘lishga asoslanadi.
Yuqori tezlikli tarmoqlarda default reference bandwidth bir nechta interfeysni bir xil cost bilan ko‘rsatishi mumkin. Masalan, 1 Gbit/s va 10 Gbit/s havolalar noto‘g‘ri reference qiymatda teng ko‘rinadi. Shu sababli barcha routerlarda reference bandwidth bir xil va zamonaviy tezliklarga mos belgilanadi.
Administrator costni qo‘lda ham o‘zgartirishi mumkin. Teng costli bir nechta yo‘l mavjud bo‘lsa, OSPF ECMP orqali ularning bir nechtasini marshrut jadvaliga kiritadi.
Area tuzilishi
Katta OSPF tarmog‘i arealarga bo‘linadi. Area 0 backbone hisoblanadi. Boshqa arealar odatda Area Border Router orqali backbonega ulanadi.
Arealarga bo‘lish quyidagi natijalarni beradi:
- LSA flooding doirasini kamaytiradi;
- SPF hisoblash yukini cheklaydi;
- marshrutlarni summary qilish imkonini beradi;
- topologik o‘zgarish ta’sirini lokalroq saqlaydi.
Asosiy router turlari:
| Router turi | Vazifasi |
|---|---|
| Internal Router | Barcha OSPF interfeyslari bitta areada |
| Backbone Router | Area 0da kamida bitta interfeysga ega |
| ABR | Bir nechta area orasida ishlaydi |
| ASBR | Tashqi routing manbalarini OSPFga redistributsiya qiladi |
Area turlari
Oddiy area barcha kerakli LSA turlarini qabul qiladi. Katta tarmoqda tashqi marshrutlar sonini kamaytirish uchun maxsus area turlari ishlatiladi.
- Stub area — tashqi Type 5 LSAlarni qabul qilmaydi, ABR default route beradi.
- Totally stubby area — tashqi va ko‘p inter-area marshrutlar o‘rniga default route ishlatadi; bu ishlab chiqaruvchiga xos kengaytma sifatida uchraydi.
- NSSA — area ichidagi ASBRga tashqi marshrut kiritishga ruxsat beradi, keyin Type 7 LSA ABRda Type 5ga aylantiriladi.
Area turi bo‘yicha parametrlar qo‘shnilar orasida mos bo‘lishi kerak.
LSA turlari
OSPFv2da keng uchraydigan LSA turlari:
- Type 1 Router LSA — router interfeys va qo‘shnilarini tasvirlaydi;
- Type 2 Network LSA — DR broadcast segmentdagi routerlarni e’lon qiladi;
- Type 3 Summary LSA — ABR boshqa areadagi prefikslarni tarqatadi;
- Type 4 ASBR Summary LSA — ASBRga yetish yo‘lini bildiradi;
- Type 5 External LSA — tashqi routing manbasidan olingan prefiks;
- Type 7 NSSA External LSA — NSSA ichida yaratilgan tashqi prefiks.
LSA sequence number va age yordamida yangi hamda eski yozuvlar ajratiladi.
Marshrut turlari
OSPF marshrut jadvalida marshrut kelib chiqishiga qarab turli ko‘rinishda belgilanadi:
E1 tashqi costga OSPF ichki yo‘l xarajatini ham qo‘shadi. E2 esa asosan tashqi metrikani saqlaydi va ko‘p implementatsiyada default tashqi tur hisoblanadi.
Autentifikatsiya
OSPF qo‘shnilar orasidagi xabarlarni autentifikatsiya qilishi mumkin. Oddiy matnli parol kuchli himoya bermaydi. Kriptografik autentifikatsiya xabarning ruxsat etilgan qo‘shnidan kelganini va yo‘lda o‘zgarmaganini tekshiradi.
Autentifikatsiya kaliti va algoritmi linkning ikki tomonida mos bo‘lishi kerak. Kalit almashinuvi rejalashtirilganda eski va yangi kalitlarning amal qilish vaqti nazorat qilinadi.
OSPFv3
OSPFv3 dastlab IPv6 routing uchun ishlab chiqilgan. U link-local manzillar orqali qo‘shnilik o‘rnatadi va protokol tuzilishida OSPFv2dan farq qiladi. Keyingi kengaytmalar orqali OSPFv3 bir nechta address family bilan ishlashi mumkin.
IPv6 prefikslari router LSA ichiga qattiq bog‘lanmay, alohida LSA turlarida tarqatiladi. Autentifikatsiya va himoya imkoniyatlari platforma hamda standart kengaytmalariga bog‘liq.
OSPF diagnostikasi
Qo‘shnilik Full holatga yetmasa, quyidagilar tekshiriladi:
- Hello paket kelishi;
- area ID;
- Hello va Dead timer;
- autentifikatsiya;
- subnet maska;
- network type;
- MTU;
- duplicate Router ID;
- firewall yoki ACLda IP protocol 89;
- passive interface holati.
Qo‘shnilik Full bo‘lsa-yu, prefiks routing jadvalida bo‘lmasa, LSDB, area turi, route filtering, summarization, cost va boshqa routing protokoli preference qiymatlari ko‘riladi.
Bog‘liq tushunchalar
Routing, Link-state, LSA, LSDB, SPF, Dijkstra algoritmi, Area 0, DR, BDR, Router ID, Cost, ABR, ASBR, OSPFv3, ECMP