Вход Регистрация
Border Gateway Protocol (BGP) nima va qanday ishlaydi: ASlar o‘rtasida marshrutlash

Border Gateway Protocol (BGP) nima va qanday ishlaydi: ASlar o‘rtasida marshrutlash

Border Gateway Protocol (BGP) ASlar o‘rtasida prefixlar bo‘yicha marshrut tanlaydi. BGP sessiya, AS-PATH, NEXT-HOP, LOCAL-PREF va best path qanday ishlashini bilib oling.

Border Gateway Protocol (BGP) nima?

Border Gateway Protocol (BGP) — Internetdagi avtonom tizimlar (AS) o‘rtasida marshrutlash ma’lumotlarini almashadigan tarmoq protokoli. U “qayerga qanday yo‘l bilan borish kerak” degan savolga javob beradigan global marshrutlash tizimining yadrolaridan biridir.

BGP qaror qabul qilish uchun prefix (manzil bloklari, masalan 203.0.113.0/24) bo‘yicha yo‘llarni ko‘rib chiqadi va keyin eng mos yo‘lni tanlaydi. Bu tanlov qoidalar, atributlar va siyosatlarga (policy) asoslanadi.

Qachondan beri ishlaydi va nima uchun paydo bo‘lgan?

Tarixiy kontekst

BGP g‘oyasi Internetning o‘sishi bilan zarur bo‘lgan: 1980-yillarning oxiri va 1990-yillar boshida ko‘plab mustaqil tarmoqlar bir-biriga ulana boshladi. Har bir AS o‘z ichki marshrutlashini o‘zi boshqarar, tashqi tomonga esa “qaysi yo‘l siyosat bo‘yicha to‘g‘ri” ekanini aytishi kerak edi.

BGP (o‘sha davrdagi dastlabki avlodlardan so‘ng) Internet Service Provider’lar va yirik tarmoqlar uchun tashqi marshrutlashning amaliy yechimiga aylandi. Hozirgi kunda ham Internetdagi global yo‘nalishlar ko‘proq ASlar o‘rtasida BGP orqali shakllanadi.

Muqobil yondashuvlar va nega BGP tanlangan

ASlar o‘rtasida ichki protokollarga o‘xshash “oddiy masofa” usuli yetarli emas: biznes kelishuvlari, filtrlar, preferensiyalar, xavfsizlik va yuklama taqsimoti kabi omillarni siyosat ko‘rinishida ifodalash kerak bo‘ladi.

Shuning uchun BGP yo‘nalishlarni nafaqat “qanchalik yaqin”ligi bo‘yicha, balki atributlar orqali baholab tanlaydi. Bu uni prefikslar uchun moslashuvchan boshqaruv vositasiga aylantiradi.

Asosiy tushunchalar: AS, prefiks, marshrut atributlari

BGPda yo‘nalish “prefiks” (IP tarmog‘i bloki) bilan aniqlanadi. Masalan, 192.0.2.0/24 yoki 2001:db8::/32 kabi yozuvlar BGP tomonidan tarqatiladigan manzillar guruhlarini bildiradi.

Yo‘lni tanlash uchun BGP “atributlar” (masalan, yo‘lning ayrim xususiyatlari)dan foydalanadi. Amaliyotda eng ko‘p uchraydiganlari qatoriga AS-PATH, NEXT-HOP va LOCAL-PREF kiradi.

  • AS-PATH: prefiksga olib boruvchi ASlar zanjiri; marshrut loop bo‘lishini cheklashda ham muhim.
  • NEXT-HOP: marshrutdagi keyingi qadam sifatida ko‘rsatiladigan manzil.
  • LOCAL-PREF: bir AS ichida qaysi yo‘lni afzal ko‘rishni belgilashga yordam beradi.

Shuningdek, BGP “route policy” lar yordamida qaysi prefiksni qabul qilish, qaysinisini e’lon qilish yoki qaysi birini rad etish kerakligini boshqaradi.

Is h l a sh mexanizmi: sessiya, e’lon, tanlov va yangilanishlar

Neighbor bilan sessiya o‘rnatish

BGP boshqa router bilan qo‘shnilik (neighbor) sessiyasini o‘rnatadi. Ushbu sessiya odatda TCP ustida ishlaydi va ko‘pincha 179-portidan foydalaniladi. BGP router’lar bir-biri bilan o‘zaro marshrutlash ma’lumotlarini almashadi.

Sessiya holati “ochiq” bo‘lgach, tomonlar marshrutlar to‘plamini almasha boshlaydi: dastlabki sinxronizatsiya, keyin esa o‘zgarishlar bo‘yicha delta yangilanishlar.

Yo‘nalishlarni taqsimlash (update) va atributlar

BGPda yangilanishlar (update) prefikslar bo‘yicha keladi. Router qo‘shnidan bir prefiks uchun bir nechta kandidat yo‘l olishi mumkin: qaysi yo‘l AS-PATH uzunligi, lokal preferensiya yoki boshqa attributlarga qarab tanlanadi.

Amaliy tomondan, BGP update’larida quyidagi g‘oya bor: “bu prefiks uchun NEXT-HOP mana, AS-PATH mana bunday, qolgan siyosat atributlari shunday”. So‘ng router ichki “best path” qoidalarini ishga tushiradi.

Best path tanlash va routing jadvalini yangilash

Har bir prefiks uchun BGP odatda “eng yaxshi yo‘l”ni tanlaydi (best path selection). Keyin bu tanlangan yo‘l routerning forwarding jadvaliga (yoki ichki marshrutlashga) ta’sir qiladi.

Natijada, paketlar to‘g‘ri NEXT-HOP tomonga yo‘naltiriladi. Prefiks yo‘qolsa yoki atributlar o‘zgarsa, BGP yangilanish yuborib, best path qayta baholanadi.

BGPda marshrut tanlash: atributlar qanday rol o‘ynaydi?

BGPning mohiyati shundaki, u faqat yo‘l masofasini hisoblamaydi. U policy va atributlar asosida qaror qiladi, shu sababli bir xil prefiks uchun ikki router turli yo‘l tanlashi mumkin.

Masalan, bir AS ichida LOCAL-PREF qiymati yuqori yo‘l ko‘proq tanlanadi. Shuningdek, AS-PATH tarmoqdagi “loop” ehtimolini kamaytiradi va qaysi yo‘l qanday ASlar orqali kelganini ko‘rsatadi.

  • Ko‘p candidate yo‘llar bo‘lsa, BGP atributlar ierarxiyasi bo‘yicha best path tanlaydi.
  • Policy orqali ayrim prefikslar filtrlanishi mumkin: qabul qilish yoki e’lon qilish cheklanadi.
  • ATTR yangilansa (masalan, qo‘shnidan boshqa yo‘l kelsa), best path avtomatik qayta tanlanadi.

BGP va ichki marshrutlash protokollari (taqqoslash)

BGP tashqi (ASlar orasidagi) marshrutlashga mo‘ljallangan, ichki marshrutlash protokollari esa AS ichida ishlaydi. Bu farq konfiguratsiya va qaror mezonlarida seziladi.

Quyidagi jadvalda asosiy kontrastlar keltirilgan.

Mezon BGP Ichki protokollar (umumiy)
Qo‘llanish hududi ASlar orasida (tashqi) Bir AS ichida (ichki)
Qaror manbasi Marshrut atributlari va policy Topologiya yoki metrikalar (masofa/qiymat)
Asosiy ma’lumot Prefix + NEXT-HOP + AS-PATH va boshqa attributlar Yo‘nalish qiymatlari va topologik ma’lumot
Boshqaruv modeli Siyosat asosida qabul qilish/e’lon qilish Algoritm avtomatik hisoblaydi, odatda siyosat cheklanganroq

Amaliy qism: BGP sozlashda nimalarga e’tibor berish kerak?

Neighbor va sessiya parametrlari

Amaliy ishda avval BGP sessiya o‘rnatiladigan qo‘shnilar (IP manzil yoki router identifikatori) aniqlanadi. So‘ng BGP qaysi interfeys orqali ishlashi va sessiya holati (u “up” bo‘lishi uchun) tekshiriladi.

Konfiguratsiya qilayotganingizda, qo‘shnilik yo‘nalishi (reachability) mavjud bo‘lishi shart: agar NEXT-HOP uchun yo‘l bo‘lmasa, best path tanlansa ham paket forwardingga tushmasligi mumkin.

Prefikslarni filtrlash: qaysi route’ni qabul qilish/e’lon qilish

BGPda xatolarning eng ko‘p uchraydigan tomoni — noto‘g‘ri filtrlar. Agar kerak bo‘lgan prefix e’lon qilinmasa, upstream sizning tarmoqni topa olmaydi. Agar keraksiz prefixlar e’lon qilinsa, routing tarqalishi keragidan katta bo‘lib ketadi yoki policy buziladi.

Shuning uchun route-map yoki prefix-listga o‘xshash mexanizmlar bilan “qabul qilinadigan” va “e’lon qilinadigan” prefikslar aniq belgilanishi kerak.

Tipik xatolar ro‘yxati

  • AS-PATH loop: siz o‘zingiz orqali qaytib keladigan yo‘lni bilmasdan qabul qilishingiz mumkin; AS-PATHga tayanib siyosat va filtrlashni tekshiring.
  • NEXT-HOP muammosi: qo‘shni e’lon qilgan NEXT-HOP uchun sizda yo‘l yo‘q bo‘lsa, trafik tushmaydi.
  • LOCAL-PREF kutilmagan qiymatlari: bir necha kandidat bo‘lsa, kutilgan yo‘l o‘rniga boshqasi tanlanadi.
  • Prefix-length xatosi: juda tor yoki juda keng prefixlar mos kelmay qolishi mumkin (filtrda uzunlik shartlari bo‘lsa).

FAQ

BGP faqat xizmat ko‘rsatuvchi provayderlarda ishlaydimi?

Yo‘q. BGP katta operatorlarda ko‘p uchraydi, lekin yirik korxonalar va datacenterlar ham o‘z AS-lari bilan upstreamlarga ulanish uchun BGPdan foydalanadi. Amaliy maqsad — policy asosida routing nazoratini olish.

BGPda port raqami qanday?

BGP odatda TCP 179-portida ishlaydi. Sessiya o‘rnatilishi uchun ushbu port bo‘yicha tarmoqda blok bo‘lmasligi kerak.

BGP update’lari qachon yuboriladi?

Qo‘shni sessiya “up” bo‘lgach, dastlabki marshrutlar almashiladi, keyin marshrutlar o‘zgarishi (yangi prefiks paydo bo‘lishi, prefiks yo‘qolishi, atribut o‘zgarishi) bo‘yicha yangilanishlar yuboriladi.

BGP ichida best path qanday tanlanadi?

Best path tanlovi atributlar va siyosatga bog‘liq. Amalda siz bir nechta kandidat yo‘llardan qaysi birini afzal ko‘rishni belgilaysiz: masalan, LOCAL-PREF qiymatlari, AS-PATH xususiyatlari va filtr natijasi orqali.

BGPni noto‘g‘ri sozlash tarmoqka qanday zarar yetkazishi mumkin?

Noto‘g‘ri e’lon yoki filtr sababli keraksiz prefikslar tarqalishi, traffic noto‘g‘ri NEXT-HOP tomonga yo‘naltirilishi yoki routing qabul qilinishiga zid holatlar yuzaga kelishi mumkin. Bu holatlar ko‘pincha best path kutilganidek bo‘lmasligi bilan ko‘rinadi.

Xulosa

BGP — ASlar o‘rtasida marshrutlashni policy va atributlar asosida boshqaradigan tashqi protokol. U sessiya orqali qo‘shnilardan prefikslar va attributlarni qabul qiladi, har prefiks uchun best path ni tanlaydi va NATIJADA yo‘nalishlar forwardingga ta’sir qiladi.

BGPni samarali ishlatishning kaliti — neighbor’larning reachabilitysini ta’minlash, prefikslarni aniq filtr bilan nazorat qilish va atributlar (jumladan AS-PATH hamda LOCAL-PREF) kutilgan natijani berishini tekshirishdir.