Si funksionon BGP

Sot do të shikojmë protokollin BGP. Nuk do të flasim për një kohë të gjatë pse është dhe pse përdoret si protokolli i vetëm. Ka mjaft informacion mbi këtë temë, për shembull këtu.

Pra, çfarë është BGP? BGP është një protokoll dinamik rutimi dhe është i vetmi protokoll EGP (External Gateway Protocol). Ky protokoll përdoret për të ndërtuar rrugëzim në internet. Le të shohim se si është ndërtuar një lagje midis dy ruterave BGP.

Si funksionon BGP
Merrni parasysh lagjen midis Router1 dhe Router3. Le t'i konfigurojmë ato duke përdorur komandat e 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

Lagjja brenda një sistemi të vetëm autonom është AS 10. Pas futjes së informacionit në një ruter, si Router1, ai ruter përpiqet të krijojë një marrëdhënie afërsie me Router3. Gjendja fillestare kur asgjë nuk ndodh quhet Papunë. Sapo bgp të konfigurohet në Router1, do të fillojë të dëgjojë portin TCP 179 - do të shkojë në gjendje Lidh, dhe kur përpiqet të hapë një sesion me Router3, ai do të kalojë në gjendje Aktiv.

Pas vendosjes së seancës midis Router1 dhe Router3, mesazhet e hapura shkëmbehen. Kur ky mesazh dërgohet nga Router1, kjo gjendje do të thirret Hap Dërguar. Dhe kur të marrë një mesazh Open nga Router3, ai do të shkojë në gjendje Hap Konfirmo. Le të hedhim një vështrim më të afërt në mesazhin e hapur:

Si funksionon BGP
Ky mesazh përcjell informacion në lidhje me vetë protokollin BGP, të cilin ruteri e përdor. Duke shkëmbyer mesazhe të hapura, Router1 dhe Router3 i komunikojnë njëri-tjetrit informacion rreth cilësimeve të tyre. Parametrat e mëposhtëm kalohen:

  • Version: kjo përfshin versionin BGP që përdor ruteri. Versioni aktual i BGP është versioni 4 i cili përshkruhet në RFC 4271. Dy rutera BGP do të përpiqen të negociojnë një version të pajtueshëm, kur ka një mospërputhje atëherë nuk do të ketë seancë BGP.
  • AS im: kjo përfshin numrin AS të routerit BGP, ruterët do të duhet të bien dakord për numrin(et) AS dhe gjithashtu përcakton nëse ata do të përdorin iBGP ose eBGP.
  • Mbaje kohën: nëse BGP nuk merr asnjë mesazh mbajtës ose përditësues nga pala tjetër për kohëzgjatjen e kohës së mbajtjes, atëherë ajo do ta deklarojë palën tjetër "të vdekur" dhe do të prishë seancën BGP. Si parazgjedhje, koha e mbajtjes është vendosur në 180 sekonda në ruterat Cisco IOS, mesazhi keepalive dërgohet çdo 60 sekonda. Të dy ruterat duhet të bien dakord për kohën e pritjes ose nuk do të ketë një seancë BGP.
  • Identifikuesi BGP: kjo është ID-ja lokale e ruterit BGP e cila zgjidhet ashtu si OSPF:
    • Përdorni ID-në e routerit që ë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.
  • Parametrat opsionalë: këtu do të gjeni disa aftësi opsionale të ruterit BGP. Kjo fushë është shtuar në mënyrë që veçoritë e reja të mund të shtohen në BGP pa pasur nevojë të krijoni një version të ri. Gjërat që mund të gjeni këtu janë:
    • mbështetje për MP-BGP (Multi Protocol BGP).
    • mbështetje për Rifreskimin e Rrugës.
    • mbështetje për numrat AS me 4 oktet.

Për të krijuar një lagje, duhet të plotësohen kushtet e mëposhtme:

  • Numri i versionit. Versioni aktual është 4.
  • Numri AS duhet të përputhet me atë që keni konfiguruar fqinji 192.168.13.3 në distancë - si 10.
  • ID-ja e ruterit duhet të jetë e ndryshme nga fqinji.

Nëse ndonjë nga parametrat nuk i plotëson këto kushte, ruteri do të dërgojë Njoftim mesazh që tregon gabimin. Pas dërgimit dhe marrjes së mesazheve Open, marrëdhënia e fqinjësisë hyn në gjendje THEMELUAR. Pas kësaj, ruterat mund të shkëmbejnë informacion rreth rrugëve dhe ta bëjnë këtë duke përdorur Përditësimet mesazhe. Ky është mesazhi i përditësimit i dërguar nga Router1 në Router3:

Si funksionon BGP

Këtu mund të shihni rrjetet e raportuara nga atributet Router1 dhe Path, të cilat janë analoge me metrikat. Ne do të flasim për atributet e rrugës në më shumë detaje. Mesazhet Keepalive dërgohen gjithashtu brenda një sesioni TCP. Ato transmetohen, si parazgjedhje, çdo 60 sekonda. Ky është një kohëmatës Keepalive. Nëse një mesazh Keepalive nuk merret gjatë kohëmatësit të pritjes, kjo do të thotë një humbje e komunikimit me fqinjin. Si parazgjedhje, është e barabartë me 180 sekonda.

Shenja e dobishme:

Si funksionon BGP

Duket se ne kemi kuptuar se si ruterat transmetojnë informacione me njëri-tjetrin, tani le të përpiqemi të kuptojmë logjikën e protokollit BGP.

Për të reklamuar një rrugë drejt tabelës BGP, si në protokollet IGP, përdoret komanda e rrjetit, por logjika e funksionimit është e ndryshme. Nëse në IGP, pas specifikimit të rrugës në komandën e rrjetit, IGP shikon se cilat ndërfaqe i përkasin këtij nënrrjeti dhe i përfshin ato në tabelën e tij, atëherë komanda e rrjetit në BGP shikon tabelën e rrugëzimit dhe kërkon saktë përputhet me rrugën në komandën e rrjetit. Nëse gjenden të tilla, këto rrugë do të shfaqen në tabelën BGP.

Kërkoni një rrugë në tabelën aktuale të rrugëzimit të IP-së së ruterit që përputhet saktësisht me parametrat e komandës së rrjetit; nëse ekziston rruga IP, vendosni NLRI-në ekuivalente në tabelën lokale BGP.

Tani le të rrisim BGP për të gjitha ato të mbetura dhe të shohim se si zgjidhet rruga brenda një AS. Pasi ruteri BGP merr rrugë nga fqinji i tij, ai fillon të zgjedhë rrugën optimale. Këtu ju duhet të kuptoni se çfarë lloj fqinjësh mund të ketë - të brendshëm dhe të jashtëm. A e kupton ruteri nga konfigurimi nëse fqinji i konfiguruar është i brendshëm apo i jashtëm? Nëse jeni në një ekip:

neighbor 192.168.13.3 remote-as 10 

parametri remote-as specifikon AS, i cili konfigurohet në vetë ruterin në komandën e ruterit bgp 10. Rrugët që vijnë nga AS e brendshme konsiderohen të brendshme dhe rrugët nga AS e jashtme konsiderohen të jashtme. Dhe për secilin funksionon një logjikë e ndryshme e marrjes dhe dërgimit. Konsideroni këtë topologji:

Si funksionon BGP

Çdo ruter ka një ndërfaqe loopback të konfiguruar me ip: x.x.x.x 255.255.255.0 - ku x është numri i ruterit. Në Router9 kemi një ndërfaqe loopback me adresën - 9.9.9.9 255.255.255.0. Ne do ta shpallim atë përmes BGP dhe do të shohim se si do të përhapet. Kjo rrugë do të transmetohet në Router8 dhe Router12. Nga Router8, kjo rrugë do të shkojë në Router6, por në Router5 nuk do të jetë në tabelën e rrugëzimit. Gjithashtu në Router12 kjo rrugë do të shfaqet në tabelë, por në Router11 nuk do të jetë as aty. Le të përpiqemi ta kuptojmë këtë. Le të shqyrtojmë se cilat të dhëna dhe parametra u transmeton Router9 fqinjëve të tij, duke raportuar këtë rrugë. Paketa më poshtë do të dërgohet nga Router9 në Router8.

Si funksionon BGP
Informacioni i itinerarit përbëhet nga atributet e rrugës.

Atributet e rrugës ndahen në 4 kategori:

  1. E detyrueshme e njohur - Të gjithë ruterat që përdorin BGP duhet t'i njohin këto atribute. Duhet të jetë i pranishëm në të gjitha përditësimet.
  2. Diskrecion i njohur - Të gjithë ruterat që përdorin BGP duhet t'i njohin këto atribute. Ata mund të jenë të pranishëm në përditësime, por prania e tyre nuk kërkohet.
  3. Fakultative kalimtare - mund të mos njihet nga të gjitha implementimet e BGP. Nëse ruteri nuk e njeh atributin, ai e shënon përditësimin si të pjesshëm dhe ia përcjell atë fqinjëve të tij, duke ruajtur atributin e panjohur.
  4. Opsionale jo kalimtare - mund të mos njihet nga të gjitha implementimet e BGP. Nëse ruteri nuk e njeh atributin, atëherë atributi injorohet dhe hidhet poshtë kur kalon te fqinjët.

Shembuj të atributeve BGP:

  • E detyrueshme e njohur:
    • Rruga e sistemit autonom
    • Hopi tjetër
    • Origjinë

  • Diskrecion i njohur:
    • Preferenca lokale
    • Agregati atomik
  • Fakultative kalimtare:
    • Grumbullues
    • komunitetet
  • Opsionale jo kalimtare:
    • Diskriminues me shumë dalje (MED)
    • ID e origjinalit
    • Lista e grupimeve

Në këtë rast, tani për tani do të jemi të interesuar për Origin, Next-hop, AS Path. Meqenëse rruga transmeton midis Router8 dhe Router9, domethënë brenda një AS, ajo konsiderohet e brendshme dhe ne do t'i kushtojmë vëmendje Origjinës.

Atributi i origjinës - tregon se si është marrë rruga në përditësim. Vlerat e mundshme të atributeve:

  • 0 - IGP: NLRI e marrë brenda sistemit origjinal autonom;
  • 1 - EGP: NLRI mësohet duke përdorur Protokollin e Portës së Jashtme (EGP). Paraardhësi i BGP, i pa përdorur
  • 2 - E paplotë: NLRI u mësua në një mënyrë tjetër

Në rastin tonë, siç shihet nga paketa, është e barabartë me 0. Kur kjo rrugë transmetohet në Router12, ky kod do të ketë një kod 1.

Tjetra, Next-hop. Atributi tjetër hop

  • Kjo është adresa IP e ruterit eBGP përmes së cilës kalon shtegu për në rrjetin e destinacionit.
  • Atributi ndryshon kur parashtesa i dërgohet një AS tjetër.

Në rastin e iBGP, domethënë brenda një AS, Next-hop do të tregohet nga ai që mësoi ose tregoi për këtë rrugë. Në rastin tonë, do të jetë 192.168.89.9. Por kur kjo rrugë transmetohet nga Router8 në Router6, Router8 do ta ndryshojë atë dhe do ta zëvendësojë me të tijën. Hop-i tjetër do të jetë 192.168.68.8. Kjo na çon në dy rregulla:

  1. Nëse një ruter përcjell një rrugë te fqinji i tij i brendshëm, ai nuk e ndryshon parametrin Next-hop.
  2. Nëse një ruter transmeton një rrugë te fqinji i tij i jashtëm, ai ndryshon Next-hop në ip të ndërfaqes nga e cila transmeton ky ruter.

Kjo na bën të kuptojmë problemin e parë - Pse nuk do të ketë rrugë në tabelën e rrugëtimit në Router5 dhe Router11. Le të hedhim një vështrim më të afërt. Pra, Router6 mori informacion në lidhje me rrugën 9.9.9.0/24 dhe e shtoi me sukses atë në tabelën e rrugëtimit:

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>

E njëjta situatë do të ndodhë midis Router11-Router12. Për të shmangur këtë situatë, ju duhet të konfiguroni Router6 ose Router12, kur kaloni rrugën te fqinjët e tyre të brendshëm, për të zëvendësuar adresën e tyre IP si Next-hop. Kjo bëhet duke përdorur komandën:

neighbor 192.168.56.5 next-hop-self

Pas kësaj komande, Router6 do të dërgojë një mesazh Update, ku ip-ja e ndërfaqes Gi0/0 Router6 do të specifikohet si Next-hop për rrugët - 192.168.56.6, pas së cilës kjo rrugë do të përfshihet tashmë në tabelën e rrugëtimit.

Le të shkojmë më tej dhe të shohim nëse kjo rrugë shfaqet në Router7 dhe Router10. Nuk do të jetë në tabelën e rrugëzimit dhe mund të mendojmë se problemi është i njëjtë si në të parën me parametrin Next-hop, por nëse shikojmë daljen e komandës show ip bgp, do të shohim se itinerari nuk është marrë atje as me Next-hop të gabuar, që do të thotë se itinerari as që është transmetuar. Dhe kjo do të na çojë në ekzistencën e një rregulli tjetër:

Rrugët e marra nga fqinjët e brendshëm nuk përhapen te fqinjët e tjerë të brendshëm.

Meqenëse Router5 mori itinerarin nga Router6, ai nuk do të transmetohet te fqinji tjetër i tij i brendshëm. Në mënyrë që transferimi të ndodhë, duhet të konfiguroni funksionin Reflektori i rrugës, ose konfiguroni marrëdhëniet e fqinjësisë plotësisht të lidhura (Full Mesh), domethënë Router5-7 të gjithë do të jenë fqinjë me të gjithë. Në këtë rast ne do të përdorim Route Reflector. Në Router5 ju duhet të përdorni këtë komandë:

neighbor 192.168.57.7 route-reflector-client

Route-Reflector ndryshon sjelljen e BGP kur kalon një rrugë te një fqinj i brendshëm. Nëse fqinji i brendshëm është specifikuar si rrugë-reflektor-klient, atëherë këtyre klientëve do t'u reklamohen rrugët e brendshme.

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

Rregulli i hopit tjetër funksionon vetëm për rrugët e jashtme. Për rrugët e brendshme, atributi hop tjetër nuk zëvendësohet.

Dhe ne kemi një situatë në të cilën është e nevojshme të krijohet një mjedis duke përdorur ruting statik ose protokolle IGP për të informuar ruterat për të gjitha rrugët brenda AS. Le të regjistrojmë rrugë statike në Router6 dhe Router7 dhe pas kësaj do të marrim rrugën e dëshiruar në tabelën e ruterit. Në AS 678, ne do ta bëjmë atë pak më ndryshe - do të regjistrojmë rrugë statike për 192.168.112.0/24 në Router10 dhe 192.168.110.0/24 në Router12. Më pas, ne do të vendosim marrëdhënien e fqinjësisë midis Router10 dhe Router12. Ne gjithashtu do të konfigurojmë Router12 për të dërguar hop-in e tij të ardhshëm në Router10:

neighbor 192.168.110.10 next-hop-self

Rezultati do të jetë që Router10 do të marrë rrugën 9.9.9.0/24, do të merret si nga Router7 ashtu edhe nga Router12. Le të shohim se çfarë zgjedhje bën 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ç mund ta shohim, dy rrugë dhe një shigjetë (>) do të thotë se është zgjedhur rruga nëpërmjet 192.168.112.12.
Le të shohim se si funksionon procesi i përzgjedhjes së rrugës:

  1. Hapi i parë kur merrni një itinerar është të kontrolloni disponueshmërinë e saj Next-hop. Kjo është arsyeja pse, kur morëm një rrugë në Router5 pa vendosur Next-hop-self, kjo rrugë nuk u përpunua më tej.
  2. Më pas vjen parametri Pesha. Ky parametër nuk është një atribut i rrugës (PA) dhe nuk dërgohet në mesazhet BGP. Është konfiguruar në nivel lokal në çdo ruter dhe përdoret vetëm për të manipuluar përzgjedhjen e rrugës në vetë ruterin. Le të shohim një shembull. Vetëm sipër mund të shihni se Router10 ka zgjedhur një rrugë për 9.9.9.0/24 nëpërmjet Router12 (192.168.112.12). Për të ndryshuar parametrin Wieght, mund të përdorni hartën e rrugës për të vendosur rrugë specifike ose t'i caktoni një peshë fqinjit të tij duke përdorur 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 se si ndryshon zgjedhja e rrugës pas këtij manipulimi:

    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

    Siç mund ta shihni, rruga përmes Router7 tani është zgjedhur, por kjo nuk do të ketë ndonjë efekt në ruterat e tjerë.

  3. Në pozitën e tretë kemi Preferencën Lokale. Ky parametër është një atribut i njohur diskrecional, që do të thotë se prania e tij është fakultative. Ky parametër është i vlefshëm vetëm brenda një AS dhe ndikon në zgjedhjen e shtegut vetëm për fqinjët e brendshëm. Kjo është arsyeja pse ai transmetohet vetëm në mesazhet Update të destinuara për fqinjin e brendshëm. Nuk është i pranishëm në mesazhet e përditësimit për fqinjët e jashtëm. Prandaj, ai u klasifikua si diskrecional i njohur. Le të përpiqemi ta zbatojmë atë në Router5. Në Router5 duhet të kemi dy rrugë për 9.9.9.0/24 - njëra përmes Router6 dhe e dyta përmes Router7.

    Ne shikojmë:

    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ç shohim një rrugë përmes Router6. Ku është rruga përmes Router7? Ndoshta Router7 nuk e ka as atë? 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 

    E çuditshme, gjithçka duket se është mirë. Pse nuk transmetohet në Router5? Puna është se BGP ka një rregull:

    Ruteri transmeton vetëm ato rrugë që përdor.

    Router7 përdor një rrugë përmes Router5, kështu që rruga përmes Router10 nuk do të transmetohet. Le të kthehemi te Preferenca Lokale. Le të vendosim Preferencën Lokale në Router7 dhe të shohim se si Router5 reagon ndaj kësaj:

    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>

    Pra, ne krijuam një hartë të rrugës që përmban të gjitha rrugët dhe i thamë Router7 të ndryshojë parametrin Preferenca Lokale në 250 kur të merret, parazgjedhja është 100. Le 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ç mund ta shohim tani Router5 preferon rrugën përmes Router7. E njëjta foto do të jetë në Router6, megjithëse është më fitimprurëse për të që të zgjedhë një rrugë përmes Router8. Shtojmë gjithashtu se ndryshimi i këtij parametri kërkon një rinisje të lagjes që ndryshimi të hyjë në fuqi. Lexoni këtu. Ne kemi rregulluar Preferencën lokale. Le të kalojmë te parametri tjetër.

  4. Preferoni itinerarin me parametrin Next-hop 0.0.0.0, domethënë rrugë lokale ose të grumbulluara. Këtyre rrugëve u caktohet automatikisht një parametër Pesha i barabartë me maksimumin—32678—pasi të futni komandën e rrjetit:
    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. Rruga më e shkurtër përmes AS. Është zgjedhur parametri më i shkurtër AS_Path. Sa më pak AS të kalojë një rrugë, aq më mirë është. Konsideroni rrugën drejt 9.9.9.0/24 në Router10:
    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

    Siç mund ta shihni, Router10 zgjodhi itinerarin nëpërmjet 192.168.112.12 sepse për këtë rrugë parametri AS_Path përmban vetëm 45, dhe në një rast tjetër 123 dhe 45. Intuitivisht i qartë.

  6. Parametri tjetër është Origjina. IGP (rruga e marrë duke përdorur BGP) është më e mirë se EGP (rruga e marrë duke përdorur paraardhësin e BGP, nuk përdoret më), dhe EGP është më e mirë se E paplotësuar? (marrë me ndonjë metodë tjetër, për shembull me rishpërndarje).
  7. Parametri tjetër është MED. Ne kishim Wieght i cili funksiononte vetëm lokalisht në ruter. Kishte Preferenca Lokale, e cila funksiononte vetëm brenda një sistemi autonom. Siç mund ta merrni me mend, MED është një parametër që do të transmetohet midis sistemeve autonome. Shume mire artikull në lidhje me këtë parametër.

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

  1. Zgjidhni shtegun përmes fqinjit më të afërt IGP.
  2. Zgjidhni rrugën më të vjetër për shtegun eBGP.
  3. Zgjidhni shtegun përmes fqinjit me ID-në më të vogël të routerit BGP.
  4. Zgjidhni një shteg përmes fqinjit me adresën IP më të ulët.

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

Le të shohim se çfarë ndodh nëse Router6 humbet rrugën 9.9.9.0/24 përmes Router9. Le të çaktivizojmë ndërfaqen Gi0/1 të Router6, e cila do të kuptojë menjëherë se seanca BGP me Router8 është ndërprerë dhe fqinji është zhdukur, që do të thotë se rruga e marrë prej saj nuk është e vlefshme. Router6 dërgon menjëherë mesazhet e përditësimit, ku tregon rrjetin 9.9.9.0/24 në fushën "Rrugët e tërhequra". Sapo Router5 të marrë një mesazh të tillë, ai do ta dërgojë atë në Router7. Por duke qenë se Router7 ka një rrugë përmes Router10, ai do të përgjigjet menjëherë me një Përditësim me një rrugë të re. Nëse nuk është e mundur të zbuloni rënien e një fqinji bazuar në gjendjen e ndërfaqes, atëherë do të duhet të prisni që kohëmatësi i pritjes të ndizet.

Konfederata.

Nëse ju kujtohet, ne folëm për faktin se shpesh duhet të përdorni një topologji plotësisht të lidhur. Me një numër të madh ruterash në një AS, kjo mund të shkaktojë probleme të mëdha, për të shmangur këtë ju duhet të përdorni konfederatat. Një AS ndahet në disa nën-AS, gjë që i lejon ata të funksionojnë pa kërkesën e një topologjie plotësisht të lidhur.

Si funksionon BGP

Këtu është një lidhje për këtë labuDhe këtu konfigurimi për GNS3.

Për shembull, me këtë topologji do të duhej të lidhnim të gjithë ruterët në AS 2345 me njëri-tjetrin, por duke përdorur Konfederatën, ne mund të vendosim marrëdhënie afërsie vetëm midis ruterave të lidhur drejtpërdrejt me njëri-tjetrin. Le të flasim për këtë në detaje. Nëse do të kishim vetëm AS 2345, atëherë i çiltër pasi ka marrë një marshim nga Picard do t'ua tregonte ruterave Data и Wolf, por ata nuk do t'i tregonin ruterit për këtë Polic . Gjithashtu rrugët e shpërndara nga vetë ruteri i çiltër, nuk do të ishte transferuar Polic ose Wolf- oh, jo Data.

Ju do të duhet të konfiguroni një Route-Reflector ose një marrëdhënie fqinjësie të lidhur plotësisht. Duke e ndarë një AS 2345 në 4 nën-AS (2,3,4,5) për secilin ruter, ne përfundojmë me një logjikë të ndryshme funksionimi. Gjithçka është përshkruar në mënyrë perfekte këtu.

Burimet:

  1. CCIE Routing and Switching v5.0 Official Cert Guide, Volume 2, Fifth Edition, Narbik Kocharians, Terry Vinson.
  2. Faqe xgu.ru
  3. Faqe Gns3vault.

Burimi: www.habr.com

Shto një koment