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