Principet e funksionimit të protokollit BGP

Sot do të shqyrtojmë protokollin BGP. Nuk do të flasim gjatë përse ai është përdorur si protokoll i vetëm. Ka shumë informacione në këtë lidhje, për shembull këtu.

Pra, çfarë është BGP? BGP është një protokoll dinamik i rruge, i cili është protokolli i vetëm EGP (External Gateway Protocol). Ky protokoll përdoret për ndërtimin e rrugëtimit në internet. Le të shohim si ndodh ndërtimi i fqinjësisë mes dy ruterëve BGP.

Principet e funksionimit të protokollit BGP
Le të shqyrtojmë fqinjësinë mes Router1 dhe Router3. Do t'i konfigurojmë ata me ndihmën e komandave të mëposhtme:

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

Fqinjësia brenda një sistemi autonom — AS 10. Pas hyrjes së të dhënave në ruter, për shembull në Router1, ky ruter përpiqet të konfigurojë marrëdhëniet e fqinjësisë me ruterin Router3. Shteti fillestar, kur nuk ndodh asgjë quhet Përgjithësisht. Sapo të konfigurohet BGP në Router1, ai do të fillojë të dëgjojë portin TCP 179 — do të kalojë në gjendjen Lidhja, dhe kur përpiqet të hapë një sesion me Router3, do të kalojë në gjendjen Aktiv.

Pas vendosjes së sesionit midis Router1 dhe Router3, ndodh shkëmbimi i mesazheve Open. Kur ky mesazh dërgohet nga Router1, ky gjendje quhet Open Sent. Dhe kur merr mesazhin Open nga Router3, do të kalojë në gjendjen Open Confirm. Le të shqyrtojmë më në detaje mesazhin Open:

Principet e funksionimit të protokollit BGP
Në këtë mesazh, dërgohet informacion mbi protokollin BGP që përdor ruterin. Duke shkëmbyer mesazhe Open, Router1 dhe Router3 njoftojnë njëri-tjetrin për konfigurations e tyre. Këto parametra dërgohen:

  • Version: kjo përfshin versionin BGP që ruterin po përdor. Versioni aktual i BGP është versioni 4 i përshkruar në RFC 4271. Dy ruterë BGP do të përpiqen të negocionin një version të përputhshëm; kur ka një mospërputhje, atëherë nuk do të ketë sesion BGP.
  • My AS: kjo përfshin numrin AS të ruterit BGP; ruterët do të duhet të bien dakord për numrin AS(e) dhe po ashtu përcakton nëse do të operojnë me iBGP ose eBGP.
  • Hold Time: nëse BGP nuk merr asnjë mesazh mbajtje në këmbë apo mesazh azhurnimi nga ana tjetër për kohën e mbajtjes, atëherë ai do ta shpallë anën tjetër 'të vdekur' dhe do ta ndërpresë sesionin BGP. Në parazgjedhje, koha e mbajtjes është 180 sekonda në ruterët Cisco IOS, mesazhi mbajtje në këmbë dërgohet çdo 60 sekonda. Të dy ruterët duhet të bien dakord për kohën e mbajtjes ose nuk do të ketë një sesion BGP.
  • BGP Identifier: ky është ID i ruterit lokal BGP i cili zgjidhet ashtu si bën OSPF:
    • Përdorni ID-në e ruterit e cila është konfiguruar manualisht me komandën bgp router-id.
    • Përdorni adresën më të lartë IP në një ndërfaqe loopback.
    • Përdorni adresën më të lartë IP në një ndërfaqe fizike.
  • Parametra Opsionale: këtu do të gjeni disa kapacitetet opsionale të маршрутизatorit BGP. Ky fushë është shtuar në mënyrë që të mund të shtohen veçori të reja në BGP pa patur nevojë të krijohet një version i ri. Çfarë mund të gjeni këtu janë:
    • mbështetje për MP-BGP (Multi Protocol BGP).
    • mbështetje për Ruajtjen e Rrugës.
    • mbështetje për numra AS me 4 oktete.

Për të krijuar fqinjësi duhet të përmbushen kushtet e mëposhtme:

  • Numri i versionit. Versioni aktual është 4.
  • Numri AS duhet të përputhet me atë që keni konfiguruar fqinj 192.168.13.3 remote-as 10.
  • Router ID duhet të jetë ndryshe nga fqinja.

Nëse ndonjë nga parametrat nuk i plotëson këto kushte, atëherë маршрутизatorit do t'i dërgohet Notification mesazh që do të tregojë gabimin. Pas dërgimit dhe marrjes së mesazheve Open, marrëdhënia e fqinjësisë kalon në gjendjen ESTABLISHED. Pas kësaj, маршрутизatorët mund të shkëmbejnë informacion mbi rrugët dhe e bëjnë këtë përmes Përditëso mesazheve. Ky është një mesazh Update që dërgon Router1 drejt Router3:

Principet e funksionimit të protokollit BGP

Këtu tregohet rrjetet që Router1 raporton dhe atributet e Rrugës, të cilat janë ekuivalente me metrikat. Do flasim më shumë për atributet e Rrugës. Gjithashtu brenda sesionit TCP dërgohen mesazhe Keepalive. Ato dërgohen, si rregull, çdo 60 sekonda. Ky është Timer-i i Keepalive. Nëse gjatë timer-it të Hold nuk merret mesazhi Keepalive, atëherë kjo do të thotë humbje lidhjeje me fqinjën. Si rregull, ai është 180 sekonda.

Një tabelë e dobishme:

Principet e funksionimit të protokollit BGP

Duket se e kuptuam se si маршрутизаторët e shkëmbejnë informacionin me njëri-tjetrin, tani do të përpiqemi të kuptojmë logjikën e punës së protokollit BGP.

Për të shpallur një rrugë në tabelën BGP, ashtu si në protokollin IGP, përdoret komanda network, por logjika e punës ndryshon. Nëse në IGP, pas caktimit të rrugës në komandën network, IGP shikon - cilat interfaces i përkasin këtij subneti dhe i përfshin ato në tabelën e vet, komanda network në BGP shikon në tabelën e rrugëve dhe kërkon përputhje të saktë me rrugën në komandën network. Kur gjenden të tilla, ato rrugë do të përfshihen në tabelën BGP.

Shikoni për një rrugë në tabelën aktuale të rrugës IP të маршрутизatorit që përputhet saktësisht me parametrat e komandës network; nëse rruga IP ekziston, vendosni NLRI të barabartë në tabelën lokale BGP.

Tani do të ngremë BGP në të gjithë të tjerët dhe do të shohim se si ndodh zgjedhja e rrugës brenda një AS. Pas marrjes së rrugëve nga fqinjët, fillon procesi i zgjedhjes së rrugës optimale. Është e rëndësishme të kuptoni se çfarë lloj fqinjësh mund të jenë - të brendshëm dhe të jashtëm. маршрутизatori nga konfigurimi kupton nëse fqinj i konfigurueshëm është i brendshëm apo i jashtëm? Nëse në komandën:

fqinj 192.168.13.3 remote-as 10 

si parametri remote-as është i specifikuar AS, i cili është konfiguruar në router në komandën router bgp 10. Rrugët që vijnë nga AS i brendshëm konsiderohen të brendshme, ndërsa rrugët nga të jashtmet përkatësisht të jashtme. Dhe për çdo një prej tyre punon logjika e ndryshme e marrjes dhe dërgimit. Le të shqyrtojmë një topologji të tillë:

Principet e funksionimit të protokollit BGP

Në çdo router është konfiguruar një interface loopback me ip: x.x.x.x 255.255.255.0 — ku x është numri i routerit. Në Router9 kemi një interface loopback me adresën — 9.9.9.9 255.255.255.0. Këtë do ta anonsojmë përmes BGP dhe do të shohim si përhapet. Kjo rrugë do të dërgohet në Router8 dhe Router12. Nga Router8 kjo rrugë do të kalojë në Router6, por në Router5 në tabelën e rrugëve nuk do të jetë. Po ashtu, nga Router12 kjo rrugë do të mbërrijë në tabelë, por në Router11 gjithashtu nuk do të jetë. Le të përpiqemi të kuptojmë këtë. Le të shqyrtojmë se cilat të dhëna dhe parameter dërgon Router9 tek fqinjët e tij, duke e njoftuar për këtë rrugë. Paketa më poshtë do të dërgohet nga Router9 në Router8.

Principet e funksionimit të protokollit BGP
Informacioni për rrugën përbëhet nga atributet e rrugës (Path attributes).

Atributet e rrugës ndahen në 4 kategori:

  1. Well-known mandatory — të gjithë routerët që punojnë me protokollin BGP duhet t'i njohin këto atribute. Duhet të jenë të pranishëm në të gjitha përditësimet (update).
  2. Well-known discretionary — të gjithë routerët që punojnë me protokollin BGP duhet t'i njohin këto atribute. Mund të jenë të pranishëm në përditësimet (update), por prania e tyre nuk është e detyrueshme.
  3. Optional transitive — mund të mos njihen nga të gjitha implementimet e BGP. Nëse një router nuk e njeh atributin, ai e shënon përditësimin si pjesor (partial) dhe e dërgon më tej fqinjëve, duke ruajtur atributin e pa njohur.
  4. Optional non-transitive — mund të mos njihen nga të gjitha implementimet e BGP. Nëse një router nuk e njeh atributin, atëherë atributi injorohet dhe gjatë transmetimit te fqinjët hidhet poshtë.

shembuj të atributëve BGP:

  • Well-known mandatory:
    • Rruga e sistemit autonom
    • Next-hop
    • Origjina

  • Well-known discretionary:
    • Preferenca lokale
    • Agregati atomic
  • Optional transitive:
    • Agregatori
    • Komunitetet
  • Optional non-transitive:
    • Multi-exit discriminator (MED)
    • ID origjinator
    • Lista e grupeve

Në këtë rast, për momentin do të na interesojnë Origin, Next-hop, AS Path. Duke qenë se rruga transmetohet midis Router8 dhe Router9, pra brenda një AS, ajo konsiderohet e brendshme dhe do të kushtojmë vëmendje për Origin.

Atributi Origin — tregon se si është marrë rruga në përditësim. Vlerat e mundshme të atributit janë:

  • 0 — IGP: NLRI është marrë brenda sistemit autonom origjinal;
  • 1 — EGP: NLRI është mësuar përmes protokollit Exterior Gateway Protocol (EGP). Paraardhësi i BGP, nuk përdoret
  • 2 — Incomplete: NLRI është mësuar ndryshe

Në rastin tonë, siç shihet nga paketa është 0. Kur ky rrugë do të transferohet tek Router12, kodi do të jetë — 1.

Më pas, Next-hop. Atributi Next-hop

  • Është adresa IP e router-it eBGP, përmes të cilës kalon rruga në rrjetin destinacion.
  • Atributi ndryshohet kur transferohet prefiksi në AS tjetër.

Në rastin e iBGP, që do të thotë brenda një AS-i, Next-hop do të tregohet ai që e ka mësuar ose e ka njoftuar këtë rrugë. Në rastin tonë, do të jetë 192.168.89.9. Por kur ky rrugë do të transferohet nga Router8 në Router6, Router8 do ta ndryshojë dhe do ta zëvendësojë me të tijin. Next-hop do të jetë — 192.168.68.8. Kjo na çon në dy rregulla:

  1. Nëse router-i transferon rrugën tek fqinjët e tij të brendshëm, ai nuk e ndryshon parametrin Next-hop.
  2. Nëse router-i transferon rrugën tek fqinjët e tij të jashtëm, atëherë e ndryshon Next-hop në ip-në e interfaces nga i cili transferon ky router.

Kjo na sjell në mirëkuptimin e problemas së parë — Pse rruga nuk do të jetë në tabelën e rrugës në Router5 dhe Router11. Le të shikojmë më hollësisht. Pra, Router6 ka marrë informacionin mbi rrugën 9.9.9.0/24 dhe e ka shtuar me sukses në tabelën e rrugës:

Router6#show ip route bgp
Kodet: L - lokal, C - i lidhur, S - static, R - RIP, M - mobil, B - BGP
       D - EIGRP, EX - EIGRP ekstern, O - OSPF, IA - OSPF ndërzona
       N1 - OSPF NSSA ekstern tip 1, N2 - OSPF NSSA ekstern tip 2
       E1 - OSPF ekstern tip 1, E2 - OSPF ekstern tip 2
       i - IS-IS, su - përmbledhje IS-IS, L1 - IS-IS nivel-1, L2 - IS-IS nivel-2
       ia - IS-IS ndërzona, * - kandidat default, U - rrugë statike për përdorues
       o - ODR, P - rrugë statike e shkarkuar periodikisht, H - NHRP, l - LISP
       a - rrugë aplikacioni
       + - rrugë e replikuar, % - zëvendësim i nodit të ardhshëm, p - zëvendësime nga PfR

Gateway i fundit të resortit nuk është vendosur

      9.0.0.0/24 është në subnet, 1 subnet
B        9.9.9.0 [20/0] përmes 192.168.68.8, 00:38:25<source>
Tani Router6 kaloi rrugën Router5 dhe rregulla e parë Next-hop nuk u modifikua. Kjo do të thotë, Router5 duhet të Shtohet  <b>9.9.9.0 [20/0] përmes 192.168.68.8</b> , por ai nuk ka rrugë deri në 192.168.68.8 dhe prandaj kjo rrugë nuk do të shtohet, megjithatë informata mbi këtë rrugë do të ruhet në tabelën BGP:

<source><b>Router5#show ip bgp
Versioni i tabelës BGP është 1, ID lokali i routerit është 5.5.5.5
Kodet e statusit: s e përjashtuar, d e ngadalësuar, h histori, * e valid, &gt; më e mira, i - e brendshme,
              r RIB-dështimi, S e vjetër, m shumë rrugë, b rruga rezervë, f RT-Filtri,
              x më e mira-eksternal, a rruga shtesë, c e kompresuar RIB,
Kodet origjinale: i - IGP, e - EGP, ? - e papërfunduar
Kodet e verifikimit RPKI: V e valid, I e pavlefshme, N Nuk u gjet

     Rrjeti          Nodi i Ardhshëm           Metri LocPrf Pesha Rruga
 * i 9.9.9.0/24       192.168.68.8             0    100      0 45 i</b>

E njëjta situatë do të ndodhë dhe ndërmjet Router11-Router12. Për të shmangur një situatë të tillë, është e nevojshme të konfigurohet që Router6 ose Router12, në transferimin e rrugës tek fqinjët e tij të brendshëm, të përdorin si Next-hop adresën e tij IP. Kjo bëhet përmes komandës:

neighbor 192.168.56.5 next-hop-self

Pas kësaj komande, Router6 do të dërgojë një mesazh Update, ku për rrugët si Next-hop do të tregohet ip i interfaces Gi0/0 Router6 — 192.168.56.6, pas së cilës kjo rrugë do të hyjë në tabelën e rrugës.

Le të vazhdojmë dhe shohim nëse kjo rrugë do të shfaqet në Router7 dhe Router10. Në tabelën e rrugëve nuk do të gjendet dhe do të mund të mendojmë se problemi është si në rastin e parë me parametrin Next-hop, por nëse shohim rezultatet e komandës show ip bgp, do të shohim se rruga nuk është marrë as me Next-hop të gabuar, që do të thotë se rruga nuk është transferuar as.

Rrugët e marra nga fqinjët e brendshëm nuk transferohen tek fqinjët e tjerë të brendshëm.

Duke Router5 ka marrë një rrugë nga Router6, ai nuk do t'ia kalojë fqinjit të tij tjetër të brendshëm. Për të ndodhur kjo, është e nevojshme të konfigurohet funksioni Përfaqësues i Rrugëve, ose të konfigurohen marrëdhënie plota fqinjësie (Full Mesh), domethënë Router5-7 çdo njëri do të jetë fqinj me çdo njëri. Ne do të përdorim në këtë rast Përfaqësuesin e Rrugëve. Në Router5 është e nevojshme të përdoren këtë komandë:

neighbor 192.168.57.7 route-reflector-client

Përfaqësuesi i Rrugëve ndryshon sjelljen e BGP gjatë transmetimit të rrugës tek fqinjët e brendshëm. Nëse fqinj i brendshëm tregohet si route-reflector-client, atëherë këta klientë do të njoftohen për rrugët e brendshme.

Rruga nuk u shfaq në Router7? Mos harro edhe për Next-hop. Pas këtyre manipulimeve, rruga duhet të jetë edhe në Router7, por kjo nuk ndodh. Kjo na sjell në një rregull tjetër:

Rregulli next-hop punon vetëm për rrugët eksternale. Për rrugët e brendshme, ndryshimi i atributit next-hop nuk ndodh.

Dhe ne kemi një situatë në të cilën është e nevojshme të krijojmë një mjedis nëpërmjet rrugëtimit statik ose protokolleve IGP për t'i komunikuar routerëve të gjithë rrugët brenda AS. Do të shkruajmë rrugët statike në Router6 dhe Router7 dhe pas kësaj do të marrim rrugën e nevojshme në tabelën e routerit. Në AS 678 ne do të veprojmë pak ndryshe — do të shkruajmë rrugë statike për 192.168.112.0/24 në Router10 dhe 192.168.110.0/24 në Router12. Më pas, do të vendosim marrëdhëniet e fqinjësisë midis Router10 dhe Router12. Gjithashtu do të konfigurojmë në Router12 dërgimin e next-hop-it të tij për Router10:

neighbor 192.168.110.10 next-hop-self

Rezultati do të jetë se Router10 do të marrë rrugën 9.9.9.0/24, e cila do të merret si nga Router7 ashtu edhe nga Router12. Le të shohim se çfarë zgjedhjeje do të bëjë Router10:

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  

Siç e shohim, ka dy rrugë dhe shigjeta ( > ) tregon se është zgjedhur rruga përmes 192.168.112.12.
Le të shohim si ndodh procesi i zgjedhjes së rrugës:

  1. E para, kur merrni rrugën, kontrollohet disponueshmëria e Next-hop-it të saj. Pikërisht për këtë arsye, kur morëm rrugën në Router5 pa konfigurimin e Next-hop-self, kjo rrugë më pas nuk u ktheu për përpunim.
  2. Më pas vjen parametri Weight. Ky parametër nuk është një atribut rruge (PA) dhe nuk transmetohet në mesazhet BGP. Ai konfigurimi lokal në secilin ruter dhe përdoret vetëm për manipulimin e zgjedhjes së rrugës në ruterin vetë. Le të shikojmë një shembull. Pak më sipër tregohet se Router10 zgjodhi rrugën për 9.9.9.0/24 përmes Router12 (192.168.112.12). Për të ndryshuar parametrin Weight, mund të përdorim route-map, për të caktuar për rruga të caktuara, ose ta caktojmë një peshë fqinjit me komandën:
     neighbor 192.168.107.7 weight 200       

    Tani të gjitha rrugët nga ky fqinj do të kenë këtë peshë. Le të shohim si do të ndryshohet zgjedhja e rrugës pas kësaj manipulimi:

    Router10#show bgp
    *Mar  2 11:58:13.956: %SYS-5-CONFIG_I: Konfiguruar nga konsola nga konsola
    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

    Siç e shihni tani, rruga është zgjedhur përmes Router7, por kjo nuk do të ketë asnjë efekt në ruterët e tjerë.

  3. Në poziten e tretë kemi — Local Preference. Ky parametër është një atribut Well-known discretionary, që do të thotë se prania e tij nuk është e detyrueshme. Ky parametër ka fuqi vetëm brenda një AS dhe ndikon në zgjedhjen e rrugës vetëm për fqinjët e brendshëm. Pikërisht për këtë arsye, ai transmetohet vetëm në mesazhet Update të destinuara për fqinjët e brendshëm. Në mesazhet Update për fqinjët e jashtëm ai mungon. Prandaj ai u klasifikua si Well-known discretionary. Le të përpiqemi ta aplikojmë atë në Router5. Në Router5 duhet të kemi dy rrugë për 9.9.9.0/24 — një përmes Router6 dhe një përmes Router7.

    Le të shohim:

    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

    Por siç e shohim, një rrugë përmes Router6. Por ku është rruga përmes Router7? Ndoshta nuk e ka as Router7? Le të shohim:

    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 

    Është e çuditshme, duket se gjithçka është në rregull. Përse nuk po kalon në Router5? Problemi është se BGP ka një rregull:

    Ruterët kalojnë vetëm ato rrugë që ata vetë përdorin.

    Router7 përdor rrugën përmes Router5, prandaj rruga përmes Router10 nuk do të kalojë. Le të kthehemi te Preferenca lokale. Le të vendosim një Preferencë lokale në Router7 dhe të shohim si do të reagojë Router5:

    route-map BGP lejo 10
     ndesh ip adresë 10
     vendos preferencën-lokale 250
    lista e q access 10 lejo cilindo
    ruter bgp 123
     fqinj 192.168.107.10 route-map BGP në</b>

    Pra, ne krijuam një route-map që përfshin të gjitha rrugët dhe i thamë Router7 që kur ta marrë, të ndryshojë parametrin e Preferencës lokale në 250, e cila fillimisht është 100. Të shohim se çfarë ndodhi në Router5:

    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

    Siç e shohim tani, Router5 preferon rrugën përmes Router7. Një pamje e ngjashme do të jetë edhe në Router6, megjithëse atij i leverdis më shumë të zgjedhë rrugën përmes Router8. Po ashtu, duhet të theksojmë se ndryshimi i këtij parametri kërkon rinisjen e fqinjësisë që ndryshimi të hyjë në fuqi. Lexoni këtu. Me Preferencën lokale u sqarua. Të kalojmë te parametri tjetër.

  4. Preferenca për rrugën me parametrin Next-hop 0.0.0.0, që do të thotë rrugët lokale ose të agreguara. Këto rrugë automatikisht pas futjes së komandës network i jepet ngametri Weight të barabartë me maksimumin — 32678:
    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. Ruga më e shkurtër përmes AS. Zgjedhet parametri më i shkurtr AS_Path. Sa më pak AS të ketë rruga, aq më e mirë është ajo. Le të shqyrtojmë rrugën për te 9.9.9.0/24 në Router10:
    Router10#show bgp
    BGP tabela version është 2, ID lokal i router-it është 6.6.6.6
    Status kodet: s e shtypur, d e mbajtur, h histori, * e vlefshme, > më e mira, i - e brendshme,
                  r dështimi i RIB-it, S i vjetër, m shumërrugë, b rruga rezervë, f RT-Filter,
                  x më e mira e jashtme, a rruga shtesë, c RIB-e e kompresuar,
    Kodet e origjinës: i - IGP, e - EGP, ? - e pamjaftueshme
    Kodet e verifikimit RPKI: V e vlefshme, I e pavlefshme, N Nuk u gjet
    
         Rrjeti          Hapi tjetër            Metri LokPrf Pesha Rruga
     *   9.9.9.0/24     192.168.107.7                           0           123 45 i
     *>i                     192.168.112.12           0    100       0       45 i

    Siç e shihni, Router10 zgjodhi rrugën përmes 192.168.112.12 sepse për këtë rrugë parametri AS_Path përmban vetëm 45, ndërsa në rastin tjetër 123 dhe 45. Është intuitiv.

  6. Parametri tjetër është Origjina. IGP (rruga është marrë përmes BGP) është më i mirë se EGP (rruga është marrë përmes pararendësit të BGP, i cilësuari tani jo më i përdorur), ndërsa EGP është më mirë se Incomplete? (marrë në ndonjë mënyrë tjetër, për shembull përmes ri-shpërndarjes).
  7. Parametri tjetër është MED. Kemi pasur Wieght, i cili punonte vetëm lokal në router. Kemi pasur Preferencën Lokale, e cila punonte vetëm brenda një sistemi autonom. Siç është e lehtë të kuptohet, MED është parametri që do të kalojë midis sistemeve autonome. Një shumë e mirë. artikulli në lidhje me këtë parametrin.

Nuk do të përdoren më shumë atribute, por nëse të dy rrugët janë të njëjta, atëherë përdoren rregullat e mëposhtme:

  1. Zgjidhni rrugën përmes fqinjit më të afërt IGP.
  2. Zgjidhni rrugën më të vjetër për rrugën e eBGP.
  3. Zgjidhni rrugën përmes fqinjit me ID-në më të vogël të router-it BGP.
  4. Zgjidhni rrugën përmes fqinjit me adresën IP më të vogël.

Tani le të shqyrtojmë çështjen e konvergjencës së BGP.

Le të shohim se çfarë do të ndodhë nëse lejojmë Router6 të humbasë rrugën 9.9.9.0/24 përmes Router9. Do të shkëputim interfacin Gi0/1 në Router6, i cili menjëherë do të kuptojë se sesioni BGP me Router8 është ndarë dhe fqinja ka humbur, pra edhe rruga e marrë prej tij nuk është e vlefshme. Router6 menjëherë dërgon mesazhe Update, ku tregon rrjetin 9.9.9.0/24 në fushën e Rrugëve të tërhequra. Sa herë që Router5 marrë një mesazh të tillë, ai do t'ia dërgojë Router7. Por pasi që Router7 ka një rrugë përmes Router10, ai menjëherë do të kthej një Update me rrugën e re. Nëse nuk mund të zbuloni rëniet e fqinjëve përmes gjendjes së interfesave, do të duhet të prisni aktivizimin e Hold Timer-it.

Konfederata.

Nëse e mbani mend, kemi folur për atë se shpesh është e nevojshme të përdoret topologjia e plotë e lidhjes. Me një numër të madh të routerëve brenda një AS, kjo mund të krijojë probleme të konsiderueshme, prandaj është e nevojshme të përdoren konfederaatat. Një AS ndahen në disa sub-AS, gjë që lejon që ato të punojnë pa kërkuar topologjinë e plotë të lidhjes.

Principet e funksionimit të protokollit BGP

Këtu është lidhja për këtë laborator, ndërsa këtu konfigurimi për GNS3.

Për shembull, me këtë topologji do të duhej të lidhim të gjithë routerët në AS 2345 me njëri-tjetrin, por duke përdorur Konfederatën, mund të vendosim marrëdhënie fqinjësie vetëm mes routerëve që janë lidhur drejtpërdrejt me njëri-tjetri. Të flasim për këtë më në detaje. Nëse do të kishim vetëm AS 2345, atëherë laForge duke marrë rrugën nga Picard do t'u tregonte routerëve të tij Të dhëna dhe Worf, por ata nuk do t'i tregonin routerit Crusher . Gjithashtu, rrugët që shpërndan vetë routeri laForge, nuk do të ishin transmetuar Crusher as Worf-it, as Të dhëna.

Duhej të konfigurim Route-Reflector ose marrëdhënie fqinjësie të plota. Duke ndarë një AS 2345 në 4 sub-AS (2,3,4,5) për çdo router, në fund marrim një logjikë tjetër funksionimi. Të gjitha janë përshkruar mjaft mirë këtu.

Burimet:

  1. CCIE Routing and Switching v5.0 Official Cert Guide, Volume 2, Edita e Pestë, Narbik Kocharians, Terry Vinson.
  2. Websajti xgu.ru
  3. Websajti GNS3Vault.

Burimi: habr.com

Blini hosting të besueshëm për faqe interneti me mbrojtje nga DDoS, serverë VPS VDS 🔥 Blini hosting të besueshëm për faqe interneti me mbrojtje nga DDoS, serverë VPS VDS | ProHoster