BGP qanday ishlaydi

Bugun biz BGP protokolini ko'rib chiqamiz. Nima uchun bu va nima uchun u yagona protokol sifatida ishlatilishi haqida uzoq vaqt gaplashmaymiz. Masalan, bu mavzu bo'yicha juda ko'p ma'lumotlar mavjud shu yerda.

Xo'sh, BGP nima? BGP dinamik marshrutlash protokoli bo'lib, yagona EGP (Tashqi Gateway Protocol) protokoli hisoblanadi. Ushbu protokol Internetda marshrutlashni qurish uchun ishlatiladi. Keling, ikkita BGP marshrutizatori o'rtasida qanday qilib mahalla qurilganini ko'rib chiqaylik.

BGP qanday ishlaydi
Router1 va Router3 o'rtasidagi mahallani ko'rib chiqing. Keling, ularni quyidagi buyruqlar yordamida sozlaymiz:

router bgp 10
  network 192.168.12.0
  network 192.168.13.0
  neighbor 192.168.13.3 remote-as 10

router bgp 10
  network 192.168.13.0
  network 192.168.24.0
  neighbor 192.168.13.1 remote-as 10

Yagona avtonom tizim ichidagi qo'shnilik AS 10. Router1 kabi marshrutizatorga ma'lumot kiritilgandan so'ng, u router Router3 bilan qo'shnilik aloqasini o'rnatishga harakat qiladi. Hech narsa sodir bo'lmagandagi dastlabki holat deyiladi Bo'ston. Router1 da bgp sozlanishi bilan u 179-sonli TCP portini tinglashni boshlaydi - u holatga o'tadi. Ulanish, va u Router3 bilan sessiya ochishga harakat qilganda, u holatga o'tadi faol.

Router1 va Router3 o'rtasida seans o'rnatilgandan so'ng, ochiq xabarlar almashiladi. Ushbu xabar Router1 tomonidan yuborilganda, bu holat chaqiriladi Yuborilgan. Va u Router3 dan Ochiq xabarni olganda, u holatga o'tadi Tasdiqlashni oching. Keling, Ochiq xabarni batafsil ko'rib chiqaylik:

BGP qanday ishlaydi
Ushbu xabar marshrutizator foydalanadigan BGP protokolining o'zi haqida ma'lumot beradi. Ochiq xabarlarni almashish orqali Router1 va Router3 o'zlarining sozlamalari haqidagi ma'lumotlarni bir-biriga bog'laydilar. Quyidagi parametrlar o'tkaziladi:

  • Version: bu marshrutizator foydalanayotgan BGP versiyasini o'z ichiga oladi. BGP ning joriy versiyasi RFC 4 da tavsiflangan 4271-versiyadir. Ikkita BGP router mos keluvchi versiyani kelishib olishga harakat qiladi, agar nomuvofiqlik boʻlsa, BGP seansi boʻlmaydi.
  • Mening AS: bu BGP marshrutizatorining AS raqamini o'z ichiga oladi, marshrutizatorlar AS raqamlari (raqamlari) bo'yicha kelishib olishlari kerak bo'ladi va ular iBGP yoki eBGP ishlayotganligini ham belgilaydi.
  • Vaqtni ushlab turing: agar BGP ushlab turish muddati davomida boshqa tomondan hech qanday saqlovchi yoki yangilanadigan xabarlarni olmasa, u boshqa tomonni "o'lik" deb e'lon qiladi va BGP seansini buzadi. Odatiy bo'lib, Cisco IOS routerlarida ushlab turish vaqti 180 soniyaga o'rnatiladi, saqlangan xabar har 60 soniyada yuboriladi. Ikkala marshrutizator ham kutish vaqtini kelishib olishlari kerak, aks holda BGP sessiyasi bo'lmaydi.
  • BGP identifikatori: bu xuddi OSPF kabi tanlangan mahalliy BGP router identifikatori:
    • bgp router-id buyrug'i bilan qo'lda sozlangan router-identifikatoridan foydalaning.
    • Loopback interfeysida eng yuqori IP manzilidan foydalaning.
    • Jismoniy interfeysda eng yuqori IP-manzildan foydalaning.
  • Ixtiyoriy parametrlar: bu yerda siz BGP routerining ba'zi ixtiyoriy imkoniyatlarini topasiz. Bu maydon yangi versiyani yaratmasdan BGP ga yangi xususiyatlar qo‘shilishi uchun qo‘shilgan. Bu yerda topishingiz mumkin bo‘lgan narsalar:
    • MP-BGP (Multi Protocol BGP) ni qo'llab-quvvatlash.
    • Marshrutni yangilashni qo'llab-quvvatlash.
    • 4-oktetli AS raqamlarini qo'llab-quvvatlash.

Mahalla yaratish uchun quyidagi shartlar bajarilishi kerak:

  • Versiya raqami. Joriy versiya 4.
  • AS raqami siz sozlagan narsaga mos kelishi kerak qo'shni 192.168.13.3 masofaviy - 10 sifatida.
  • Router identifikatori qo'shnisidan farq qilishi kerak.

Agar parametrlardan birortasi ushbu shartlarga javob bermasa, yo'riqnoma yuboradi bildirish xatoni ko'rsatadigan xabar. Ochiq xabarlarni yuborish va qabul qilishdan so'ng, qo'shnichilik munosabatlari davlatga kiradi TUZILGAN. Shundan so'ng, marshrutizatorlar marshrutlar haqida ma'lumot almashishlari va buni foydalanishlari mumkin Yangilash xabarlar. Bu Router1 tomonidan Router3 ga yuborilgan yangilash xabari:

BGP qanday ishlaydi

Bu yerda siz o'lchovlarga o'xshash Router1 va Path atributlari tomonidan xabar qilingan tarmoqlarni ko'rishingiz mumkin. Path atributlari haqida batafsilroq gaplashamiz. Keepalive xabarlar ham TCP seansida yuboriladi. Ular, sukut bo'yicha, har 60 soniyada uzatiladi. Bu Keepalive Timer. Agar ushlab turish taymerida Keepalive xabari olinmasa, bu qo'shni bilan aloqaning yo'qolishini anglatadi. Odatiy bo'lib, u 180 soniyaga teng.

Foydali belgi:

BGP qanday ishlaydi

Aftidan, biz marshrutizatorlar ma'lumotni bir-biriga qanday uzatayotganini aniqladik, endi BGP protokoli mantig'ini tushunishga harakat qilaylik.

BGP jadvaliga marshrutni reklama qilish uchun, IGP protokollarida bo'lgani kabi, tarmoq buyrug'i ishlatiladi, lekin ishlash mantig'i boshqacha. Agar IGPda tarmoq buyrug'ida marshrutni ko'rsatgandan so'ng, IGP qaysi interfeyslar ushbu quyi tarmoqqa tegishli ekanligini ko'rib chiqadi va ularni o'z jadvaliga kiritsa, BGPdagi tarmoq buyrug'i marshrutlash jadvaliga qaraydi va qidiradi. aniq tarmoq buyrug'idagi marshrutga mos keladi. Agar ular topilsa, bu marshrutlar BGP jadvalida paydo bo'ladi.

Routerning joriy IP marshrutlash jadvalida tarmoq buyrug'ining parametrlariga to'liq mos keladigan marshrutni qidiring; agar IP marshruti mavjud bo'lsa, NLRI ekvivalentini mahalliy BGP jadvaliga qo'ying.

Endi keling, BGPni qolganlarga ko'taramiz va bitta AS ichida marshrut qanday tanlanganligini ko'rib chiqamiz. BGP marshrutizatori qo'shnisidan marshrutlarni qabul qilgandan so'ng, u optimal marshrutni tanlashni boshlaydi. Bu erda qanday turdagi qo'shnilar bo'lishi mumkinligini tushunishingiz kerak - ichki va tashqi. Router konfiguratsiya orqali konfiguratsiya qilingan qo'shni ichki yoki tashqi ekanligini tushunadimi? Agar jamoada:

neighbor 192.168.13.3 remote-as 10 

remote-as parametri routerning o'zida bgp 10 buyrug'ida sozlangan ASni belgilaydi.Ichki AS dan keladigan marshrutlar ichki, tashqi AS dan marshrutlar esa tashqi hisoblanadi. Va har biri uchun, qabul qilish va jo'natishning boshqa mantiqiy ishlari. Ushbu topologiyani ko'rib chiqing:

BGP qanday ishlaydi

Har bir marshrutizator ip bilan sozlangan orqaga qaytish interfeysiga ega: xxxx 255.255.255.0 - bu erda x - router raqami. Router9 da bizda 9.9.9.9 255.255.255.0 manzili bo'lgan loopback interfeysi mavjud. Biz buni BGP orqali e'lon qilamiz va u qanday tarqalishini ko'ramiz. Ushbu marshrut Router8 va Router12 ga uzatiladi. Router8 dan bu marshrut Router6 ga boradi, lekin Router5 ga u marshrutlash jadvalida bo'lmaydi. Shuningdek, Router12 da ushbu marshrut jadvalda paydo bo'ladi, lekin Router11 da u erda ham bo'lmaydi. Keling, buni tushunishga harakat qilaylik. Keling, Router9 ushbu marshrut haqida xabar berib, qo'shnilariga qanday ma'lumotlar va parametrlarni uzatayotganini ko'rib chiqaylik. Quyidagi paket Router9-dan Router8-ga yuboriladi.

BGP qanday ishlaydi
Marshrut ma'lumotlari Path atributlaridan iborat.

Yo'l atributlari 4 toifaga bo'linadi:

  1. Taniqli majburiy - BGP bilan ishlaydigan barcha routerlar ushbu atributlarni tan olishlari kerak. Barcha yangilanishlarda mavjud bo'lishi kerak.
  2. Taniqli ixtiyoriy - BGP bilan ishlaydigan barcha routerlar ushbu atributlarni tan olishlari kerak. Ular yangilanishlarda mavjud bo'lishi mumkin, ammo ularning mavjudligi shart emas.
  3. Ixtiyoriy o'tish - barcha BGP ilovalari tomonidan tan olinmasligi mumkin. Agar marshrutizator atributni tanimasa, u yangilanishni qisman deb belgilaydi va tan olinmagan atributni saqlagan holda qo'shnilariga yuboradi.
  4. Majburiy bo'lmagan o'tish - barcha BGP ilovalari tomonidan tan olinmasligi mumkin. Agar marshrutizator atributni tanimasa, u holda atribut e'tiborga olinmaydi va qo'shnilarga o'tkazilganda o'chiriladi.

BGP atributlariga misollar:

  • Taniqli majburiy:
    • Avtonom tizim yo'li
    • Keyingi hop
    • kelib chiqish

  • Taniqli ixtiyoriy:
    • Mahalliy afzallik
    • Atom agregati
  • Ixtiyoriy o'tish:
    • Agregator
    • Jamiyat
  • Majburiy bo'lmagan o'tish:
    • Ko'p chiqishli diskriminator (MED)
    • Yaratuvchi identifikatori
    • Klaster ro'yxati

Bu holda, hozircha bizni Origin, Next-hop, AS Path qiziqtiradi. Marshrut Router8 va Router9 o'rtasida, ya'ni bitta AS ichida uzatilganligi sababli, u ichki hisoblanadi va biz Origin-ga e'tibor beramiz.

Origin atributi - yangilanishdagi marshrut qanday olinganligini ko'rsatadi. Mumkin atribut qiymatlari:

  • 0 - IGP: NLRI asl avtonom tizimda olingan;
  • 1 - EGP: NLRI Exterior Gateway Protocol (EGP) yordamida o'rganiladi. BGP dan oldingi, ishlatilmaydi
  • 2 - to'liq emas: NLRI boshqa yo'l bilan o'rganilgan

Bizning holatda, paketdan ko'rinib turganidek, u 0 ga teng. Ushbu marshrut Router12 ga uzatilganda, bu kod 1 kodiga ega bo'ladi.

Keyingi, Keyingi-hop. Next-hop atributi

  • Bu maqsad tarmoqqa yo'l o'tadigan eBGP routerining IP manzili.
  • Prefiks boshqa AS ga yuborilganda atribut o'zgaradi.

iBGP holatida, ya'ni bitta AS ichida, Next-hop ushbu marshrutni bilgan yoki aytib bergan kishi tomonidan ko'rsatiladi. Bizning holatda, u 192.168.89.9 bo'ladi. Ammo bu marshrut Router8 dan Router6 ga uzatilganda, Router8 uni o'zgartiradi va uni o'zi bilan almashtiradi. Keyingi hop 192.168.68.8 bo'ladi. Bu bizni ikkita qoidaga olib keladi:

  1. Agar marshrutizator marshrutni ichki qo'shnisiga uzatsa, u Next-hop parametrini o'zgartirmaydi.
  2. Agar marshrutizator o'zining tashqi qo'shnisiga marshrutni uzatsa, u Next-hop-ni ushbu router uzatadigan interfeysning ip-ga o'zgartiradi.

Bu bizni birinchi muammoni tushunishga olib keladi - Nima uchun Router5 va Router11 da marshrutlash jadvalida marshrut bo'lmaydi. Keling, batafsil ko'rib chiqaylik. Shunday qilib, Router6 9.9.9.0/24 marshruti haqida ma'lumot oldi va uni marshrutlash jadvaliga muvaffaqiyatli qo'shdi:

Router6#show ip route bgp
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       a - application route
       + - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is not set

      9.0.0.0/24 is subnetted, 1 subnets
B        9.9.9.0 [20/0] via 192.168.68.8, 00:38:25<source>
Теперь Router6 передал маршрут Router5 и первому правилу Next-hop не изменил. То есть, Router5 должен добавить  <b>9.9.9.0 [20/0] via 192.168.68.8</b> , но у него нет маршрута до 192.168.68.8 и поэтому данный маршрут добавлен не будет, хотя информация о данном маршруте будет храниться в таблице BGP:

<source><b>Router5#show ip bgp
BGP table version is 1, local router ID is 5.5.5.5
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 * i 9.9.9.0/24       192.168.68.8             0    100      0 45 i</b>

Xuddi shu holat Router11-Router12 o'rtasida sodir bo'ladi. Bunday vaziyatga yo'l qo'ymaslik uchun Router6 yoki Router12 ni ichki qo'shnilariga marshrutni o'tkazishda ularning IP manzilini Next-hop sifatida almashtirish uchun sozlashingiz kerak. Bu buyruq yordamida amalga oshiriladi:

neighbor 192.168.56.5 next-hop-self

Ushbu buyruqdan so'ng Router6 yangilash xabarini yuboradi, bu erda Gi0/0 Router6 interfeysining IP-si marshrutlar uchun Keyingi-hop sifatida ko'rsatiladi - 192.168.56.6, shundan so'ng bu marshrut allaqachon marshrutlash jadvaliga kiritiladi.

Keling, oldinga boramiz va bu marshrut Router7 va Router10 da paydo bo'ladimi yoki yo'qligini bilib olaylik. Bu marshrutlash jadvalida bo'lmaydi va biz muammoni Next-hop parametridagi birinchisi bilan bir xil deb o'ylashimiz mumkin, ammo show ip bgp buyrug'ining chiqishiga qarasak, biz buni ko'ramiz. marshrut hatto noto'g'ri Next-hop bilan ham qabul qilinmadi, bu marshrut hatto uzatilmaganligini anglatadi. Va bu bizni boshqa qoida mavjudligiga olib keladi:

Ichki qo'shnilardan olingan marshrutlar boshqa ichki qo'shnilarga targ'ib qilinmaydi.

Router5 marshrutni Router6 dan olganligi sababli, u boshqa ichki qo'shnisiga uzatilmaydi. O'tkazish sodir bo'lishi uchun siz funktsiyani sozlashingiz kerak Yo'nalish reflektori, yoki to'liq bog'langan qo'shnichilik munosabatlarini (Full Mesh) sozlang, ya'ni Router5-7 hamma uchun qo'shni bo'ladi. Bunday holda biz Route Reflector-dan foydalanamiz. Router5 da siz ushbu buyruqdan foydalanishingiz kerak:

neighbor 192.168.57.7 route-reflector-client

Route-reflector marshrutni ichki qo'shniga o'tkazishda BGP harakatini o'zgartiradi. Agar ichki qo'shni sifatida ko'rsatilgan bo'lsa marshrut-reflektor-mijoz, keyin ushbu mijozlarga ichki yo'nalishlar e'lon qilinadi.

Marshrut Router7 da ko'rinmadimi? Next-hop haqida ham unutmang. Ushbu manipulyatsiyalardan so'ng, marshrut ham Router7 ga o'tishi kerak, ammo bu sodir bo'lmaydi. Bu bizni boshqa qoidaga olib keladi:

Keyingi o'tish qoidasi faqat tashqi marshrutlar uchun ishlaydi. Ichki marshrutlar uchun keyingi hop atributi almashtirilmaydi.

Va biz AS ichidagi barcha marshrutlar haqida marshrutizatorlarni xabardor qilish uchun statik marshrutlash yoki IGP protokollaridan foydalangan holda muhit yaratish zarur bo'lgan vaziyatga duch kelamiz. Keling, Router6 va Router7 da statik marshrutlarni ro'yxatdan o'tkazamiz va shundan so'ng biz router jadvalida kerakli marshrutni olamiz. AS 678 da biz buni biroz boshqacha qilamiz - Router192.168.112.0 da 24/10 va Router192.168.110.0 da 24/12 uchun statik marshrutlarni ro'yxatdan o'tkazamiz. Keyinchalik, Router10 va Router12 o'rtasida qo'shnichilik munosabatlarini o'rnatamiz. Shuningdek, biz Router12-ni Router10-ga navbatdagi qo'shiqni yuborish uchun sozlaymiz:

neighbor 192.168.110.10 next-hop-self

Natijada Router10 9.9.9.0/24 marshrutini oladi, u Router7 va Router12 dan olinadi. Keling, Router10 qanday tanlov qilishini ko'rib chiqaylik:

Router10#show ip bgp
BGP table version is 3, local router ID is 6.6.6.6
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network              Next Hop            Metric LocPrf Weight Path
 *>i 9.9.9.0/24       192.168.112.12           0    100       0      45 i

                               192.168.107.7                                0     123 45 i  

Ko'rib turganimizdek, ikkita marshrut va o'q (>) 192.168.112.12 orqali marshrut tanlanganligini anglatadi.
Keling, marshrutni tanlash jarayoni qanday ishlashini ko'rib chiqaylik:

  1. Marshrutni qabul qilishda birinchi qadam uning Next-hop-ning mavjudligini tekshirishdir. Shuning uchun biz Next-hop-self-ni o'rnatmasdan Router5-da marshrutni olganimizda, bu marshrut qo'shimcha ishlov berilmadi.
  2. Keyin Og'irlik parametri keladi. Bu parametr Path Atributi (PA) emas va BGP xabarlarida yuborilmaydi. U har bir marshrutizatorda lokal ravishda sozlangan va faqat marshrutizatorning o'zida marshrut tanlashni boshqarish uchun ishlatiladi. Keling, bir misolni ko'rib chiqaylik. Yuqorida Router10 Router9.9.9.0 (24) orqali 12/192.168.112.12 uchun marshrutni tanlaganini ko'rishingiz mumkin. Wieght parametrini o'zgartirish uchun siz ma'lum marshrutlarni belgilash uchun marshrut xaritasidan foydalanishingiz mumkin yoki buyruq yordamida qo'shnisiga og'irlik belgilashingiz mumkin:
     neighbor 192.168.107.7 weight 200       

    Endi bu qo'shnidan barcha marshrutlar bu vaznga ega bo'ladi. Keling, ushbu manipulyatsiyadan keyin marshrutni tanlash qanday o'zgarishini ko'rib chiqaylik:

    Router10#show bgp
    *Mar  2 11:58:13.956: %SYS-5-CONFIG_I: Configured from console by console
    BGP table version is 2, local router ID is 6.6.6.6
    Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
                  r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
                  x best-external, a additional-path, c RIB-compressed,
    Origin codes: i - IGP, e - EGP, ? - incomplete
    RPKI validation codes: V valid, I invalid, N Not found
    
         Network          Next Hop            Metric LocPrf Weight      Path
     *>  9.9.9.0/24       192.168.107.7                        200      123 45 i
     * i                          192.168.112.12           0          100      0 45 i

    Ko'rib turganingizdek, Router7 orqali marshrut endi tanlangan, ammo bu boshqa routerlarga hech qanday ta'sir qilmaydi.

  3. Uchinchi o'rinda bizda mahalliy imtiyozlar mavjud. Ushbu parametr taniqli ixtiyoriy atribut bo'lib, uning mavjudligi ixtiyoriy ekanligini anglatadi. Ushbu parametr faqat bitta AS ichida amal qiladi va faqat ichki qo'shnilar uchun yo'l tanlashga ta'sir qiladi. Shuning uchun u faqat ichki qo'shni uchun mo'ljallangan Yangilash xabarlarida uzatiladi. U tashqi qo'shnilar uchun yangilanish xabarlarida mavjud emas. Shuning uchun u taniqli ixtiyoriy deb tasniflangan. Keling, uni Router5 da qo'llashga harakat qilaylik. Router5 da bizda 9.9.9.0/24 uchun ikkita marshrut bo'lishi kerak - biri Router6 orqali, ikkinchisi Router7 orqali.

    Biz qaraymiz:

    Router5#show bgp
    BGP table version is 2, local router ID is 5.5.5.5
    Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
                  r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
                  x best-external, a additional-path, c RIB-compressed,
    Origin codes: i - IGP, e - EGP, ? - incomplete
    RPKI validation codes: V valid, I invalid, N Not found
    
         Network          Next Hop            Metric LocPrf Weight Path
     *>i 9.9.9.0/24       192.168.56.6             0    100      0 45 i

    Ammo biz Router6 orqali bitta marshrutni ko'rib turibmiz. Router7 orqali marshrut qayerda? Balki Router7da ham yo'qdir? Keling, qaraylik:

    Router#show bgp
    BGP table version is 10, local router ID is 7.7.7.7
    Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
                  r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
                  x best-external, a additional-path, c RIB-compressed,
    Origin codes: i - IGP, e - EGP, ? - incomplete
    RPKI validation codes: V valid, I invalid, N Not found
    
         Network                Next Hop            Metric LocPrf  Weight    Path
     *>i 9.9.9.0/24       192.168.56.6             0     100           0      45 i
    
                                  192.168.107.10                                  0     678 45 i 

    G'alati, hammasi yaxshi bo'lib tuyuladi. Nima uchun u Router5 ga uzatilmaydi? Gap shundaki, BGPning qoidasi bor:

    Router faqat o'zi foydalanadigan marshrutlarni uzatadi.

    Router7 Router5 orqali marshrutdan foydalanadi, shuning uchun Router10 orqali marshrut uzatilmaydi. Keling, mahalliy imtiyozlarga qaytaylik. Keling, Router7-da mahalliy afzalliklarni o'rnatamiz va Router5 bunga qanday munosabatda bo'lishini ko'rib chiqamiz:

    route-map BGP permit 10
     match ip address 10
     set local-preference 250
    access-list 10 permit any
    router bgp 123
     neighbor 192.168.107.10 route-map BGP in</b>

    Shunday qilib, biz barcha marshrutlarni o'z ichiga olgan marshrut xaritasini yaratdik va Router7 ga qabul qilinganda Local Preference parametrini 250 ga o'zgartirishni aytdik, sukut bo'yicha 100. Router5 da nima bo'lganini ko'rib chiqamiz:

    Router5#show bgp
    BGP table version is 8, local router ID is 5.5.5.5
    Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
                  r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
                  x best-external, a additional-path, c RIB-compressed,
    Origin codes: i - IGP, e - EGP, ? - incomplete
    RPKI validation codes: V valid, I invalid, N Not found
    
         Network          Next Hop            Metric LocPrf Weight        Path
     *>i 9.9.9.0/24       192.168.57.7             0          250      0 678 45 i

    Ko'rib turganimizdek, Router5 Router7 orqali marshrutni afzal ko'radi. Xuddi shu rasm Router6-da bo'ladi, garchi unga Router8 orqali marshrutni tanlash foydaliroq bo'lsa. Bundan tashqari, ushbu parametrni o'zgartirish o'zgarish kuchga kirishi uchun mahallani qayta ishga tushirishni talab qilishini qo'shamiz. O'qing shu yerda. Biz mahalliy imtiyozlarni saralab oldik. Keling, keyingi parametrga o'tamiz.

  4. Next-hop parametri 0.0.0.0 bo'lgan marshrutni afzal ko'ring, ya'ni mahalliy yoki jamlangan marshrutlar. Ushbu marshrutlarga tarmoq buyrug'i kiritilgandan so'ng avtomatik ravishda maksimal 32678 ga teng Og'irlik parametri tayinlanadi:
    Router#show bgp
    BGP table version is 2, local router ID is 9.9.9.9
    Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
                  r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
                  x best-external, a additional-path, c RIB-compressed,
    Origin codes: i - IGP, e - EGP, ? - incomplete
    RPKI validation codes: V valid, I invalid, N Not found
    
         Network          Next Hop            Metric LocPrf Weight    Path
     *>  9.9.9.0/24       0.0.0.0                  0            32768    i
  5. AS orqali eng qisqa yo'l. Eng qisqa AS_Path parametri tanlangan. Marshrut qancha kam AS o'tsa, shuncha yaxshi bo'ladi. Router9.9.9.0 da 24/10 yo'nalishini ko'rib chiqing:
    Router10#show bgp
    BGP table version is 2, local router ID is 6.6.6.6
    Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
                  r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
                  x best-external, a additional-path, c RIB-compressed,
    Origin codes: i - IGP, e - EGP, ? - incomplete
    RPKI validation codes: V valid, I invalid, N Not found
    
         Network          Next Hop            Metric LocPrf Weight Path
     *   9.9.9.0/24     192.168.107.7                           0           123 45 i
     *>i                     192.168.112.12           0    100       0       45 i

    Ko'rib turganingizdek, Router10 192.168.112.12 orqali marshrutni tanladi, chunki bu marshrut uchun AS_Path parametri faqat 45 ni, boshqa holatda esa 123 va 45 ni o'z ichiga oladi. Intuitiv tarzda aniq.

  6. Keyingi parametr - Origin. IGP (BGP yordamida olingan marshrut) EGP dan yaxshiroq (marshrut BGP dan oldingisi yordamida olingan, endi ishlatilmaydi) va EGP tugallanmagandan yaxshiroqmi? (boshqa usul bilan, masalan, qayta taqsimlash orqali olingan).
  7. Keyingi parametr - MED. Bizda Wieght bor edi, u faqat yo'riqnomada mahalliy ishlaydi. Faqat bitta avtonom tizimda ishlaydigan Mahalliy afzalliklar mavjud edi. Siz taxmin qilganingizdek, MED avtonom tizimlar o'rtasida uzatiladigan parametrdir. Juda yaxshi maqola Ushbu parametr haqida.

Boshqa atributlardan foydalanilmaydi, lekin ikkita marshrut bir xil atributlarga ega bo'lsa, quyidagi qoidalar qo'llaniladi:

  1. Eng yaqin IGP qo'shnisi orqali yo'lni tanlang.
  2. eBGP yo'li uchun eng eski marshrutni tanlang.
  3. Eng kichik BGP router identifikatoriga ega qo'shni orqali yo'lni tanlang.
  4. Eng past IP-manzilga ega qo'shni orqali yo'lni tanlang.

Endi BGP konvergentsiyasi masalasini ko'rib chiqamiz.

Router6 Router9.9.9.0 orqali 24/9 marshrutini yo'qotsa nima bo'lishini ko'rib chiqamiz. Router0 ning Gi1/6 interfeysini o'chirib qo'yamiz, u darhol Router8 bilan BGP seansi tugatilganini va qo'shni yo'qolganini tushunadi, ya'ni undan olingan marshrut haqiqiy emas. Router6 zudlik bilan Yangilash xabarlarini yuboradi, u erda "O'chirilgan marshrutlar" maydonida 9.9.9.0/24 tarmoqni ko'rsatadi. Router5 bunday xabarni olishi bilan uni Router7 ga yuboradi. Ammo Router7 Router10 orqali marshrutga ega bo'lgani uchun u darhol yangi marshrut bilan yangilanish bilan javob beradi. Agar interfeys holatiga ko'ra qo'shnining yiqilishini aniqlashning iloji bo'lmasa, siz ushlab turish taymerining yonishini kutishingiz kerak bo'ladi.

Konfederatsiya.

Esingizda bo'lsa, biz ko'pincha to'liq bog'langan topologiyadan foydalanishingiz kerakligi haqida gapirgan edik. Bitta ASda ko'p sonli marshrutizatorlar bilan bu katta muammolarni keltirib chiqarishi mumkin, buning oldini olish uchun siz konfederatsiyalardan foydalanishingiz kerak. Bitta AS bir nechta kichik ASga bo'linadi, bu esa ularga to'liq bog'langan topologiya talabisiz ishlash imkonini beradi.

BGP qanday ishlaydi

Mana bunga havola labuva shu yerda GNS3 uchun konfiguratsiya.

Misol uchun, ushbu topologiya bilan biz AS 2345 dagi barcha marshrutizatorlarni bir-biriga ulashimiz kerak edi, lekin Konfederatsiyadan foydalanib, biz faqat bir-biriga bevosita ulangan marshrutizatorlar o'rtasida qo'shnilik munosabatlarini o'rnatishimiz mumkin. Keling, bu haqda batafsil gaplashaylik. Agar bizda faqat AS 2345 bo'lsa, unda laForge dan marsh qabul qilgan Picard Buni marshrutizatorlarga aytadi ma'lumotlar и Vorf, lekin ular bu haqda marshrutizatorga aytmaydilar Maydalagich . Routerning o'zi tomonidan tarqatiladigan marshrutlar ham laForge, o'tkazilmagan bo'lardi Maydalagich bizga Vorf-Oh yo'q ma'lumotlar.

Marshrut-reflektorni yoki to'liq bog'langan qo'shnichilik munosabatlarini sozlashingiz kerak bo'ladi. Har bir marshrutizator uchun bitta AS 2345 ni 4 ta sub-AS (2,3,4,5) ga bo'lish orqali biz boshqa operatsion mantiqqa ega bo'lamiz. Hammasi mukammal tasvirlangan shu yerda.

Manbalar:

  1. CCIE Routing and Switching v5.0 Rasmiy sertifikat qo'llanmasi, 2-jild, Beshinchi nashr, Narbik Kocharians, Terri Vinson.
  2. veb-sayt xgu.ru
  3. veb-sayt GNS3Vault.

Manba: www.habr.com

a Izoh qo'shish