Kā darbojas BGP

Šodien mēs apskatīsim BGP protokolu. Mēs ilgi nerunāsim par to, kāpēc tas ir un kāpēc tas tiek izmantots kā vienīgais protokols. Piemēram, par šo tēmu ir diezgan daudz informācijas šeit.

Tātad, kas ir BGP? BGP ir dinamisks maršrutēšanas protokols un vienīgais EGP (External Gateway Protocol) protokols. Šis protokols tiek izmantots, lai izveidotu maršrutēšanu internetā. Apskatīsim, kā tiek veidota apkārtne starp diviem BGP maršrutētājiem.

Kā darbojas BGP
Apsveriet apkārtni starp Router1 un Router3. Konfigurēsim tos, izmantojot šādas komandas:

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

Apkārtne vienā autonomā sistēmā ir AS 10. Pēc informācijas ievadīšanas maršrutētājā, piemēram, Router1, maršrutētājs mēģina izveidot blakus attiecības ar Router3. Tiek saukts sākuma stāvoklis, kad nekas nenotiek Idle. Tiklīdz bgp ir konfigurēts maršrutētājā 1, tas sāks klausīties TCP portu 179 - tas pāries stāvoklī Meklēt speciālistu, un, mēģinot atvērt sesiju ar Router3, tas pāriet uz stāvokli Aktīvs.

Kad sesija ir izveidota starp Router1 un Router3, tiek apmaiņa ar Open ziņojumiem. Kad šo ziņojumu nosūtīs maršrutētājs1, šis stāvoklis tiks izsaukts Atveriet Nosūtīts. Un, kad tas saņems Open ziņojumu no Router3, tas nonāks stāvoklī Atveriet Apstiprināt. Sīkāk apskatīsim atvērto ziņojumu:

Kā darbojas BGP
Šis ziņojums sniedz informāciju par pašu BGP protokolu, ko maršrutētājs izmanto. Apmainoties ar Open ziņojumiem, Router1 un Router3 paziņo viens otram informāciju par saviem iestatījumiem. Tiek nodoti šādi parametri:

  • versija: tas ietver maršrutētāja izmantoto BGP versiju. Pašreizējā BGP versija ir 4. versija, kas aprakstīta RFC 4271. Divi BGP maršrutētāji mēģinās vienoties par saderīgu versiju, ja būs neatbilstība, tad BGP sesijas nebūs.
  • Mana AS: tas ietver BGP maršrutētāja AS numuru, maršrutētājiem būs jāvienojas par AS numuru(-iem), un tas arī nosaka, vai tie darbosies iBGP vai eBGP.
  • Turiet laiku: ja BGP aizturēšanas laikā nesaņem nekādus saglabāšanas vai atjaunināšanas ziņojumus no otras puses, tā pasludinās otru pusi par "mirušu" un nojauks BGP sesiju. Pēc noklusējuma Cisco IOS maršrutētājos aizturēšanas laiks ir iestatīts uz 180 sekundēm, saglabāšanas ziņojums tiek nosūtīts ik pēc 60 sekundēm. Abiem maršrutētājiem ir jāvienojas par aizturēšanas laiku, pretējā gadījumā BGP sesija nenotiks.
  • BGP identifikators: šis ir vietējā BGP maršrutētāja ID, kas tiek izvēlēts tāpat kā OSPF:
    • Izmantojiet maršrutētāja ID, kas tika konfigurēts manuāli ar komandu bgp router-id.
    • Izmantojiet augstāko IP adresi cilpas interfeisā.
    • Izmantojiet augstāko IP adresi fiziskajā interfeisā.
  • Izvēles parametri: šeit jūs atradīsiet dažas papildu BGP maršrutētāja iespējas. Šis lauks ir pievienots, lai BGP varētu pievienot jaunas funkcijas, neizveidojot jaunu versiju. Šeit var atrast šādas lietas:
    • atbalsts MP-BGP (Multi Protocol BGP).
    • Route Refresh atbalsts.
    • atbalsts 4-oktetu AS numuriem.

Lai izveidotu apkaimi, ir jāievēro šādi nosacījumi:

  • Versijas numurs. Pašreizējā versija ir 4.
  • AS numuram ir jāatbilst jūsu konfigurētajam kaimiņš 192.168.13.3 tālvadības pults — kā 10.
  • Maršrutētāja ID ir jāatšķiras no kaimiņa ID.

Ja kāds no parametriem neatbilst šiem nosacījumiem, maršrutētājs nosūtīs Paziņojums ziņojums, kas norāda kļūdu. Pēc Open ziņojumu nosūtīšanas un saņemšanas kaimiņattiecības nonāk stāvoklī izveidota. Pēc tam maršrutētāji var apmainīties ar informāciju par maršrutiem un darīt to, izmantojot Atjaunināt ziņas. Šis ir atjaunināšanas ziņojums, ko maršrutētājs1 nosūtīja maršrutētājam3:

Kā darbojas BGP

Šeit jūs varat redzēt tīklus, par kuriem ziņo Router1 un Path atribūti, kas ir analogi metrikai. Mēs runāsim par ceļa atribūtiem sīkāk. TCP sesijas laikā tiek nosūtīti arī saglabāšanas ziņojumi. Pēc noklusējuma tie tiek pārraidīti ik pēc 60 sekundēm. Šis ir uzturēšanas taimeris. Ja aizturēšanas taimera laikā netiek saņemts Keepalive ziņojums, tas nozīmēs sakaru pārtraukšanu ar kaimiņu. Pēc noklusējuma tas ir vienāds ar 180 sekundēm.

Noderīga zīme:

Kā darbojas BGP

Šķiet, ka esam sapratuši, kā maršrutētāji pārsūta informāciju viens otram, tagad mēģināsim izprast BGP protokola loģiku.

Lai reklamētu maršrutu uz BGP tabulu, tāpat kā IGP protokolos, tiek izmantota tīkla komanda, taču darbības loģika atšķiras. Ja IGP pēc maršruta norādīšanas tīkla komandā IGP apskata, kuras saskarnes pieder šim apakštīklam un iekļauj tās savā tabulā, tad tīkla komanda BGP apskata maršrutēšanas tabulu un meklē precīza atbilst maršrutam tīkla komandā. Ja tādi tiks atrasti, šie maršruti parādīsies BGP tabulā.

Maršrutētāja pašreizējā IP maršrutēšanas tabulā meklējiet maršrutu, kas precīzi atbilst tīkla komandas parametriem; ja IP maršruts pastāv, ievietojiet līdzvērtīgu NLRI vietējā BGP tabulā.

Tagad paaugstināsim BGP uz visiem atlikušajiem un redzēsim, kā maršruts tiek izvēlēts vienā AS. Kad BGP maršrutētājs ir saņēmis maršrutus no sava kaimiņa, tas sāk izvēlēties optimālo maršrutu. Šeit jums ir jāsaprot, kāda veida kaimiņi var būt - iekšējie un ārējie. Vai maršrutētājs pēc konfigurācijas saprot, vai konfigurētais kaimiņš ir iekšējs vai ārējs? Ja esat komandā:

neighbor 192.168.13.3 remote-as 10 

parametrs remote-as norāda AS, kas ir konfigurēts pašā maršrutētājā maršrutētāja komandā bgp 10. Maršruti, kas nāk no iekšējā AS, tiek uzskatīti par iekšējiem, un maršruti no ārējās AS tiek uzskatīti par ārējiem. Un katram darbojas cita saņemšanas un nosūtīšanas loģika. Apsveriet šo topoloģiju:

Kā darbojas BGP

Katram maršrutētājam ir cilpas interfeiss, kas konfigurēts ar IP: xxxx 255.255.255.0 — kur x ir maršrutētāja numurs. Router9 mums ir atgriezeniskās saites saskarne ar adresi - 9.9.9.9 255.255.255.0. Mēs par to paziņosim, izmantojot BGP, un redzēsim, kā tas izplatīsies. Šis maršruts tiks pārsūtīts uz Router8 un Router12. No Router8 šis maršruts dosies uz Router6, bet uz Router5 tas nebūs maršrutēšanas tabulā. Arī Router12 šis maršruts parādīsies tabulā, bet Router11 tā arī nebūs. Mēģināsim to izdomāt. Apsvērsim, kādus datus un parametrus Router9 pārraida saviem kaimiņiem, ziņojot par šo maršrutu. Tālāk esošā pakete tiks nosūtīta no Router9 uz Router8.

Kā darbojas BGP
Maršruta informācija sastāv no ceļa atribūtiem.

Ceļa atribūti ir sadalīti 4 kategorijās:

  1. Labi zināms obligāts - Visiem maršrutētājiem, kuros darbojas BGP, ir jāatpazīst šie atribūti. Jābūt klāt visos atjauninājumos.
  2. Labi zināms diskrecionārs - Visiem maršrutētājiem, kuros darbojas BGP, ir jāatpazīst šie atribūti. Tie var būt iekļauti atjauninājumos, taču to klātbūtne nav obligāta.
  3. Pēc izvēles pārejas - var neatpazīt visas BGP implementācijas. Ja maršrutētājs neatpazīst atribūtu, tas atzīmē atjauninājumu kā daļēju un pārsūta to saviem kaimiņiem, saglabājot neatpazīto atribūtu.
  4. Neobligāts nepārejošs - var neatpazīt visas BGP implementācijas. Ja maršrutētājs neatpazīst atribūtu, atribūts tiek ignorēts un tiek atmests, kad tas tiek nodots kaimiņiem.

BGP atribūtu piemēri:

  • Labi zināms obligāts:
    • Autonomās sistēmas ceļš
    • Nākamais lēciens
    • izcelšanās

  • Labi zināms diskrecionārs:
    • Vietējā izvēle
    • Atomu agregāts
  • Pēc izvēles pārejas:
    • Agregators
    • Kopienām
  • Neobligāts nepārejošs:
    • Vairāku izeju diskriminators (MED)
    • Sākotnēja ID
    • Klasteru saraksts

Šajā gadījumā mūs interesēs Origin, Next-hop, AS Path. Tā kā maršruts pārraida starp Router8 un Router9, tas ir, vienas AS ietvaros, tas tiek uzskatīts par iekšējo, un mēs pievērsīsim uzmanību Origin.

Origin atribūts - norāda, kā maršruts tika iegūts atjauninājumā. Iespējamās atribūtu vērtības:

  • 0 - IGP: NLRI saņemts sākotnējā autonomajā sistēmā;
  • 1 — EGP: NLRI tiek apgūts, izmantojot ārējās vārtejas protokolu (Exterior Gateway Protocol — EGP). BGP priekštecis, nav lietots
  • 2 — nepilnīgs: NLRI tika apgūts citā veidā

Mūsu gadījumā, kā redzams no paketes, tas ir vienāds ar 0. Kad šis maršruts tiek pārsūtīts uz Router12, šī koda kods būs 1.

Tālāk, Next-hop. Next-hop atribūts

  • Šī ir eBGP maršrutētāja IP adrese, caur kuru iet ceļš uz mērķa tīklu.
  • Atribūts mainās, kad prefikss tiek nosūtīts citai AS.

iBGP gadījumā, tas ir, vienas AS ietvaros, Next-hop norādīs tas, kurš uzzināja vai pastāstīja par šo maršrutu. Mūsu gadījumā tas būs 192.168.89.9. Bet, kad šis maršruts tiek pārsūtīts no Router8 uz Router6, Router8 to mainīs un aizstās ar savu. Nākamais lēciens būs 192.168.68.8. Tas mūs noved pie diviem noteikumiem:

  1. Ja maršrutētājs pārsūta maršrutu savam iekšējam kaimiņam, tas nemaina parametru Next-hop.
  2. Ja maršrutētājs pārraida maršrutu savam ārējam kaimiņam, tas maina Next-hop uz interfeisa IP adresi, no kuras šis maršrutētājs pārraida.

Tas liek mums saprast pirmo problēmu — kāpēc maršrutēšanas tabulā nebūs maršruta maršrutētājiem5 un Router11. Apskatīsim tuvāk. Tātad, Router6 saņēma informāciju par maršrutu 9.9.9.0/24 un veiksmīgi pievienoja to maršrutēšanas tabulai:

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>

Tāda pati situācija notiks starp Router11-Router12. Lai izvairītos no šīs situācijas, jums ir jākonfigurē Router6 vai Router12, nododot maršrutu to iekšējiem kaimiņiem, lai aizstātu viņu IP adresi kā Next-hop. Tas tiek darīts, izmantojot komandu:

neighbor 192.168.56.5 next-hop-self

Pēc šīs komandas Router6 nosūtīs Update ziņojumu, kur interfeisa Gi0/0 Router6 ip tiks norādīts kā Next-hop maršrutiem - 192.168.56.6, pēc kura šis maršruts jau tiks iekļauts maršrutēšanas tabulā.

Dosimies tālāk un redzēsim, vai šis maršruts parādās maršrutētājos 7 un Router10. Tas nebūs maršrutēšanas tabulā, un mēs varētu domāt, ka problēma ir tāda pati kā pirmajā ar parametru Next-hop, bet, ja mēs skatāmies uz komandas show ip bgp izvadi, mēs redzēsim, ka maršruts tur netika saņemts pat ar nepareizu Next-hop, kas nozīmē, ka maršruts pat netika pārraidīts. Un tas novedīs pie cita noteikuma pastāvēšanas:

No iekšējiem kaimiņiem saņemtie maršruti netiek izplatīti citiem iekšējiem kaimiņiem.

Tā kā Router5 saņēma maršrutu no Router6, tas netiks pārsūtīts otram iekšējam kaimiņam. Lai pārsūtīšana notiktu, jums ir jākonfigurē funkcija Maršruta atstarotājs, vai konfigurējiet pilnībā savienotas apkārtnes attiecības (Full Mesh), tas ir, Router5-7 ikviens būs kaimiņš ikvienam. Šajā gadījumā mēs izmantosim maršruta atstarotāju. Router5 jums ir jāizmanto šī komanda:

neighbor 192.168.57.7 route-reflector-client

Maršruta reflektors maina BGP uzvedību, nododot maršrutu iekšējam kaimiņam. Ja iekšējais kaimiņš ir norādīts kā maršruts-atstarotājs-klients, tad šiem klientiem tiks reklamēti iekšējie maršruti.

Maršruts neparādījās Router7? Neaizmirstiet arī par Next-hop. Pēc šīm manipulācijām maršrutam jāiet arī uz Router7, taču tas nenotiek. Tas mūs noved pie cita noteikuma:

Nākamā lēciena noteikums darbojas tikai ārējiem maršrutiem. Iekšējiem maršrutiem nākamā lēciena atribūts netiek aizstāts.

Un mēs iegūstam situāciju, kurā ir nepieciešams izveidot vidi, izmantojot statisko maršrutēšanu vai IGP protokolus, lai informētu maršrutētājus par visiem maršrutiem AS. Reģistrēsim statiskos maršrutus uz Router6 un Router7 un pēc tam iegūsim vēlamo maršrutu maršrutētāja tabulā. AS 678 mēs to darīsim nedaudz savādāk - maršrutētājā 192.168.112.0 reģistrēsim statiskus maršrutus 24/10 un Router192.168.110.0 24/12. Tālāk mēs izveidosim kaimiņattiecības starp Router10 un Router12. Mēs arī konfigurēsim Router12, lai nosūtītu nākamo lēcienu uz Router10:

neighbor 192.168.110.10 next-hop-self

Rezultāts būs tāds, ka Router10 saņems maršrutu 9.9.9.0/24, tas tiks saņemts gan no Router7, gan Router12. Apskatīsim, kāda ir Router10 izvēle:

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  

Kā redzam, divi maršruti un bultiņa (>) nozīmē, ka ir izvēlēts maršruts pa 192.168.112.12.
Apskatīsim, kā darbojas maršruta izvēles process:

  1. Pirmais solis, saņemot maršrutu, ir pārbaudīt tā Next-hop pieejamību. Tāpēc, kad mēs saņēmām maršrutu Router5, neiestatot Next-hop-self, šis maršruts netika tālāk apstrādāts.
  2. Tālāk seko parametrs Svars. Šis parametrs nav ceļa atribūts (PA) un netiek nosūtīts BGP ziņojumos. Tas tiek konfigurēts lokāli katrā maršrutētājā un tiek izmantots tikai, lai manipulētu ar maršruta izvēli pašā maršrutētājā. Apskatīsim piemēru. Tieši virs jūs varat redzēt, ka Router10 ir izvēlējies maršrutu 9.9.9.0/24 caur Router12 (192.168.112.12). Lai mainītu Wieght parametru, varat izmantot maršruta karti, lai iestatītu konkrētus maršrutus, vai piešķirt kaimiņam svaru, izmantojot komandu:
     neighbor 192.168.107.7 weight 200       

    Tagad visiem maršrutiem no šī kaimiņa būs šāds svars. Apskatīsim, kā pēc šīs manipulācijas mainās maršruta izvēle:

    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

    Kā redzat, maršruts caur Router7 tagad ir atlasīts, taču tas neietekmēs citus maršrutētājus.

  3. Trešajā pozīcijā mums ir vietējā izvēle. Šis parametrs ir labi zināms diskrecionārs atribūts, kas nozīmē, ka tā klātbūtne nav obligāta. Šis parametrs ir derīgs tikai vienā AS un ietekmē ceļa izvēli tikai iekšējiem kaimiņiem. Tāpēc tas tiek pārraidīts tikai atjaunināšanas ziņojumos, kas paredzēti iekšējam kaimiņam. Tas nav pieejams atjaunināšanas ziņojumos ārējiem kaimiņiem. Tāpēc tas tika klasificēts kā plaši pazīstams diskrecionārs. Mēģināsim to lietot Router5. Pakalpojumā Router5 mums vajadzētu būt diviem maršrutiem 9.9.9.0/24 — vienam caur Router6 un otru — caur Router7.

    Mēs skatāmies:

    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

    Bet kā mēs redzam vienu maršrutu caur Router6. Kur ir maršruts caur Router7? Varbūt arī Router7 tā nav? Paskatīsimies:

    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 

    Dīvaini, šķiet, ka viss ir kārtībā. Kāpēc tas netiek pārsūtīts uz Router5? Lieta ir tāda, ka BGP ir noteikums:

    Maršrutētājs pārraida tikai tos maršrutus, kurus tas izmanto.

    Router7 izmanto maršrutu caur Router5, tāpēc maršruts caur Router10 netiks pārsūtīts. Atgriezīsimies pie Vietējās preferences. Iestatīsim Router7 vietējo preferenci un redzēsim, kā Router5 reaģē uz to:

    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>

    Tātad, mēs izveidojām maršruta karti, kurā ir visi maršruti, un likām Router7 mainīt vietējās preferences parametru uz 250, kad tas ir saņemts, noklusējuma vērtība ir 100. Apskatīsim, kas notika ar 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

    Kā mēs redzam, tagad Router5 dod priekšroku maršrutam caur Router7. Tāda pati bilde būs uz Router6, lai gan viņam izdevīgāk ir izvēlēties maršrutu caur Router8. Mēs arī piebilstam, ka, lai mainītu šo parametru, ir jārestartē apkārtne, lai izmaiņas stātos spēkā. Lasīt šeit. Mēs esam sakārtojuši vietējo preferenci. Pāriesim pie nākamā parametra.

  4. Dodiet priekšroku maršrutam ar Next-hop parametru 0.0.0.0, tas ir, vietējiem vai apkopotiem maršrutiem. Šiem maršrutiem automātiski tiek piešķirts svara parametrs, kas vienāds ar maksimālo — 32678 — pēc tīkla komandas ievadīšanas:
    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. Īsākais ceļš caur AS. Ir atlasīts īsākais AS_Path parametrs. Jo mazāk AS maršrutā iziet cauri, jo labāk tas ir. Apsveriet maršrutu uz 9.9.9.0/24 maršrutētājā 10:
    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

    Kā redzat, Router10 izvēlējās maršrutu caur 192.168.112.12, jo šim maršrutam AS_Path parametrs satur tikai 45, bet citā gadījumā 123 un 45. Intuitīvi skaidrs.

  6. Nākamais parametrs ir Origin. IGP (maršruts, kas iegūts, izmantojot BGP) ir labāks par EGP (maršruts, kas iegūts, izmantojot BGP priekšgājēju, vairs netiek izmantots), un EGP ir labāks par Nepabeigts? (iegūst ar kādu citu metodi, piemēram, pārdalot).
  7. Nākamais parametrs ir MED. Mums bija Wieght, kas maršrutētājā darbojās tikai lokāli. Bija Vietējā preference, kas darbojās tikai vienā autonomā sistēmā. Kā jūs varētu nojaust, MED ir parametrs, kas tiks pārraidīts starp autonomām sistēmām. Ļoti labi raksts par šo parametru.

Vairāk atribūti netiks izmantoti, taču, ja diviem maršrutiem ir vienādi atribūti, tiek izmantoti šādi noteikumi:

  1. Izvēlieties ceļu caur tuvāko IGP kaimiņu.
  2. Izvēlieties vecāko maršrutu eBGP ceļam.
  3. Izvēlieties ceļu caur kaimiņu ar mazāko BGP maršrutētāja ID.
  4. Izvēlieties ceļu caur kaimiņu ar zemāko IP adresi.

Tagad aplūkosim BGP konverģences jautājumu.

Apskatīsim, kas notiks, ja Router6 zaudē maršrutu 9.9.9.0/24 caur Router9. Atslēgsim Router0 interfeisu Gi1/6, kas uzreiz sapratīs, ka BGP sesija ar Router8 ir pārtraukta un kaimiņš ir pazudis, kas nozīmē, ka no tā saņemtais maršruts nav derīgs. Router6 nekavējoties nosūta atjauninājumu ziņojumus, kur laukā Izņemtie maršruti norāda tīklu 9.9.9.0/24. Tiklīdz Router5 saņems šādu ziņojumu, tas nosūtīs to uz Router7. Bet, tā kā Router7 ir maršruts caur Router10, tas nekavējoties atbildēs ar atjauninājumu ar jaunu maršrutu. Ja, pamatojoties uz saskarnes stāvokli, nav iespējams noteikt kaimiņa kritienu, jums būs jāgaida, līdz tiks aktivizēts aizturēšanas taimeris.

konfederācija.

Ja atceraties, mēs runājām par to, ka jums bieži ir jāizmanto pilnībā savienota topoloģija. Ja vienā AS ir liels maršrutētāju skaits, tas var radīt lielas problēmas, lai no tā izvairītos, ir jāizmanto konfederācijas. Viena AS ir sadalīta vairākās apakšAS, kas ļauj tām darboties bez pilnībā savienotas topoloģijas.

Kā darbojas BGP

Šeit ir saite uz šo labuUn šeit konfigurācija GNS3.

Piemēram, ar šo topoloģiju mums būtu jāsavieno viens ar otru visi maršrutētāji AS 2345, bet, izmantojot konfederāciju, mēs varam izveidot blakus attiecības tikai starp maršrutētājiem, kas ir tieši savienoti viens ar otru. Parunāsim par to sīkāk. Ja mums būtu tikai AS 2345, tad laForge saņēmusi gājienu no Picard pastāstītu to maršrutētājiem Datums и Worf, taču viņi par to nestāstīja maršrutētājam drupinātājs . Arī maršruti, ko izplata pats maršrutētājs laForge, nebūtu pārsūtīts drupinātājs nedz Worf-Ak nē Datums.

Jums būs jākonfigurē maršruta atspoguļotājs vai pilnībā savienotas apkārtnes attiecības. Katram maršrutētājam sadalot vienu AS 2345 4 sub-AS (2,3,4,5), mēs iegūstam atšķirīgu darbības loģiku. Viss ir perfekti aprakstīts šeit.

Avoti:

  1. CCIE maršrutēšanas un pārslēgšanas v5.0 oficiālais sertifikātu ceļvedis, 2. sējums, piektais izdevums, Narbik Kocharians, Terijs Vinsons.
  2. Vietā xgu.ru
  3. Vietā GNS3Vault.

Avots: www.habr.com

Pievieno komentāru