Kuinka BGP toimii

Tänään tarkastelemme BGP-protokollaa. Emme puhu pitkään siitä, miksi se on ja miksi sitä käytetään ainoana protokollana. Tästä aiheesta on paljon tietoa mm täällä.

Joten mikä on BGP? BGP on dynaaminen reititysprotokolla ja ainoa EGP (External Gateway Protocol) -protokolla. Tätä protokollaa käytetään reitityksen rakentamiseen Internetiin. Katsotaanpa, kuinka naapurusto rakennetaan kahden BGP-reitittimen välille.

Kuinka BGP toimii
Harkitse Router1:n ja Router3:n välistä aluetta. Määritetään ne seuraavilla komennoilla:

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

Yhden autonomisen järjestelmän naapurusto on AS 10. Syötettyään tiedot reitittimeen, kuten Router1, reititin yrittää muodostaa viereisyyssuhteen Router3:n kanssa. Alkutilaa, jolloin mitään ei tapahdu, kutsutaan Idle. Heti kun bgp on määritetty reitittimeen 1, se alkaa kuunnella TCP-porttia 179 - se siirtyy tilaan kytkeä, ja kun se yrittää avata istunnon Router3:lla, se siirtyy tilaan Aktiiviset.

Kun istunto on muodostettu Router1:n ja Router3:n välille, Open-viestejä vaihdetaan. Kun reititin1 lähettää tämän viestin, tämä tila kutsutaan Avaa Lähetetyt. Ja kun se vastaanottaa Open-viestin Router3:lta, se siirtyy tilaan Avaa Vahvista. Katsotaanpa tarkemmin Open-viestiä:

Kuinka BGP toimii
Tämä viesti välittää tietoa itse BGP-protokollasta, jota reititin käyttää. Vaihtamalla Open-viestejä Router1 ja Router3 välittävät tietoja asetuksistaan ​​toisilleen. Seuraavat parametrit välitetään:

  • Versio: tämä sisältää reitittimen käyttämän BGP-version. BGP:n nykyinen versio on versio 4, joka on kuvattu RFC 4271:ssä. Kaksi BGP-reititintä yrittää neuvotella yhteensopivasta versiosta, jos yhteensopimattomuus havaitaan, BGP-istuntoa ei ole.
  • Minun AS: tämä sisältää BGP-reitittimen AS-numeron, reitittimien on sovittava AS-numero(t) ja se määrittää myös, käyttävätkö ne iBGP:tä vai eBGP:tä.
  • Pidä aikaa: jos BGP ei saa mitään säilytys- tai päivitysviestejä toiselta puolelta pitoajan aikana, se julistaa toisen puolen "kuolleeksi" ja purkaa BGP-istunnon. Oletusarvoisesti pitoajaksi on asetettu 180 sekuntia Cisco IOS -reitittimissä, säilytysviesti lähetetään 60 sekunnin välein. Molempien reitittimien on sovittava odotusajasta tai BGP-istuntoa ei ole.
  • BGP-tunniste: tämä on paikallinen BGP-reitittimen tunnus, joka valitaan aivan kuten OSPF:
    • Käytä reititintunnusta, joka määritettiin manuaalisesti komennolla bgp router-id.
    • Käytä silmukkaliittymän korkeinta IP-osoitetta.
    • Käytä fyysisen liitännän korkeinta IP-osoitetta.
  • Valinnaiset parametrit: Täältä löydät joitain BGP-reitittimen valinnaisia ​​ominaisuuksia. Tämä kenttä on lisätty, jotta uusia ominaisuuksia voidaan lisätä BGP:hen ilman uuden version luomista. Asioita, joita saatat löytää täältä:
    • tuki MP-BGP:lle (Multi Protocol BGP).
    • tuki Route Refreshille.
    • tuki 4-oktettisille AS-numeroille.

Naapuruston perustaminen edellyttää, että seuraavat ehdot täyttyvät:

  • Versionumero. Nykyinen versio on 4.
  • AS-numeron on vastattava määrittämääsi naapuri 192.168.13.3 kauko-as 10.
  • Reitittimen tunnuksen on oltava eri kuin naapuritunnuksen.

Jos jokin parametreista ei täytä näitä ehtoja, reititin lähettää Ilmoitus virheestä kertova viesti. Avointen viestien lähettämisen ja vastaanottamisen jälkeen naapuruussuhde siirtyy tilaan PERUSTI. Tämän jälkeen reitittimet voivat vaihtaa tietoja reiteistä ja tehdä tämän käyttämällä Päivitykset viestejä. Tämä on päivitysviesti, jonka Router1 lähetti Router3:lle:

Kuinka BGP toimii

Täällä voit nähdä Router1- ja Path-attribuuttien raportoimat verkot, jotka ovat analogisia mittareiden kanssa. Puhumme Path-määritteistä yksityiskohtaisemmin. Keepalive-viestejä lähetetään myös TCP-istunnon aikana. Ne lähetetään oletusarvoisesti 60 sekunnin välein. Tämä on Keepalive Timer. Jos Keepalive-viestiä ei vastaanoteta Hold Timerin aikana, se tarkoittaa yhteyden katkeamista naapurin kanssa. Oletuksena se on 180 sekuntia.

Hyödyllinen merkki:

Kuinka BGP toimii

Näyttää siltä, ​​​​että olemme selvittäneet, kuinka reitittimet välittävät tietoja toisilleen, yritetään nyt ymmärtää BGP-protokollan logiikka.

Reitin mainostamiseksi BGP-taulukkoon, kuten IGP-protokollassa, käytetään verkkokomentoa, mutta toimintalogiikka on erilainen. Jos IGP:ssä verkkokomennossa reitin määrittämisen jälkeen IGP katsoo, mitkä liitännät kuuluvat tähän aliverkkoon ja sisällyttävät ne taulukkoonsa, niin BGP:n verkkokomento katsoo reititystaulukkoa ja etsii точное vastaa verkkokomennon reittiä. Jos sellaisia ​​löytyy, nämä reitit näkyvät BGP-taulukossa.

Etsi reitittimen nykyisestä IP-reititystaulukosta reittiä, joka vastaa tarkasti verkkokomennon parametreja. jos IP-reitti on olemassa, laita vastaava NLRI paikalliseen BGP-taulukkoon.

Nostetaan nyt BGP kaikkiin jäljellä oleviin ja katsotaan kuinka reitti valitaan yhden AS:n sisällä. Kun BGP-reititin vastaanottaa reitit naapuriltaan, se alkaa valita optimaalista reittiä. Täällä sinun on ymmärrettävä, millaisia ​​naapureita voi olla - sisäisiä ja ulkoisia. Ymmärtääkö reititin määrittämällä, onko määritetty naapuri sisäinen vai ulkoinen? Jos olet joukkueessa:

neighbor 192.168.13.3 remote-as 10 

remote-as-parametri määrittää AS:n, joka konfiguroidaan itse reitittimessä reitittimen bgp 10 -komennolla. Sisäisestä AS:sta tulevat reitit katsotaan sisäisiksi ja ulkoisen AS:n reitit ulkoisiksi. Ja jokaisessa toimii erilainen vastaanotto- ja lähetyslogiikka. Harkitse tätä topologiaa:

Kuinka BGP toimii

Jokaisella reitittimellä on silmukkaliitäntä, jossa on IP: xxxx 255.255.255.0 - missä x on reitittimen numero. Router9:ssä meillä on silmukkaliittymä, jonka osoite on 9.9.9.9 255.255.255.0. Ilmoitamme siitä BGP:n kautta ja katsomme kuinka se leviää. Tämä reitti välitetään Router8:lle ja Router12:lle. Router8:sta tämä reitti menee Router6:lle, mutta Router5:lle se ei ole reititystaulukossa. Myös Router12:ssa tämä reitti näkyy taulukossa, mutta Router11:ssä se ei myöskään ole siellä. Yritetään selvittää tämä. Pohditaan, mitä tietoja ja parametreja Router9 lähettää naapureilleen raportoiden tämän reitin. Alla oleva paketti lähetetään Router9:stä Router8:aan.

Kuinka BGP toimii
Reittitiedot koostuvat Polku-määritteistä.

Polun attribuutit on jaettu 4 luokkaan:

  1. Tunnettu pakollinen - Kaikkien BGP:tä käyttävien reitittimien on tunnistettava nämä attribuutit. On oltava läsnä kaikissa päivityksissä.
  2. Tunnettu harkinnanvarainen - Kaikkien BGP:tä käyttävien reitittimien on tunnistettava nämä attribuutit. Ne voivat olla mukana päivityksissä, mutta niiden läsnäoloa ei vaadita.
  3. Valinnainen transitiivinen - kaikki BGP-toteutukset eivät välttämättä tunnista niitä. Jos reititin ei tunnista attribuuttia, se merkitsee päivityksen osittaiseksi ja välittää sen naapureilleen ja tallentaa tunnistamattoman attribuutin.
  4. Valinnainen ei-transitiivinen - kaikki BGP-toteutukset eivät välttämättä tunnista niitä. Jos reititin ei tunnista määritettä, attribuutti ohitetaan ja hylätään, kun se välitetään naapureille.

Esimerkkejä BGP-määritteistä:

  • Tunnettu pakollinen:
    • Autonominen järjestelmän polku
    • Seuraava pysäkki
    • Alkuperä

  • Tunnettu harkinnanvarainen:
    • Paikallinen mieltymys
    • Atomiaggregaatti
  • Valinnainen transitiivinen:
    • Kerääjä
    • yhteisöjen
  • Valinnainen ei-transitiivinen:
    • Multi-exit-diskriminaattori (MED)
    • Alkuperäisen tunnus
    • Klusteriluettelo

Tässä tapauksessa olemme toistaiseksi kiinnostuneita Originista, Next-hopista, AS Pathista. Koska reitti lähettää Router8:n ja Router9:n välillä eli yhden AS:n sisällä, sitä pidetään sisäisenä ja kiinnitämme huomiota Originiin.

Origin-attribuutti - osoittaa, kuinka päivityksen reitti on saatu. Mahdolliset attribuuttiarvot:

  • 0 - IGP: NLRI vastaanotettu alkuperäisessä autonomisessa järjestelmässä;
  • 1 - EGP: NLRI opitaan käyttämällä Exterior Gateway Protocol (EGP) -protokollaa. BGP:n edeltäjä, ei käytetty
  • 2 - Epätäydellinen: NLRI opittiin jollain muulla tavalla

Meidän tapauksessamme, kuten paketista voidaan nähdä, se on yhtä suuri kuin 0. Kun tämä reitti lähetetään Router12:lle, tämän koodin koodi on 1.

Seuraava, Next-hop. Next-hop -attribuutti

  • Tämä on eBGP-reitittimen IP-osoite, jonka kautta polku kohdeverkkoon kulkee.
  • Attribuutti muuttuu, kun etuliite lähetetään toiselle AS:lle.

iBGP:n tapauksessa eli yhden AS:n sisällä Next-hopin ilmaisee se, joka on oppinut tai kertonut tästä reitistä. Meidän tapauksessamme se on 192.168.89.9. Mutta kun tämä reitti lähetetään Router8:lta Router6:lle, Router8 muuttaa sen ja korvaa sen omalla. Seuraava hyppy on 192.168.68.8. Tämä johtaa meidät kahteen sääntöön:

  1. Jos reititin välittää reitin sisäiselle naapurilleen, se ei muuta Next-hop -parametria.
  2. Jos reititin lähettää reitin ulkoiselle naapurilleen, se muuttaa Next-hopin sen rajapinnan IP-osoitteeksi, josta tämä reititin lähettää.

Tämä johtaa meidät ymmärtämään ensimmäisen ongelman - miksi Router5:n ja Router11:n reititystaulukossa ei ole reittiä. Katsotaanpa tarkemmin. Joten Router6 sai tiedon reitistä 9.9.9.0/24 ja lisäsi sen onnistuneesti reititystaulukkoon:

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>

Sama tilanne tapahtuu välillä Router11-Router12. Välttääksesi tämän tilanteen, sinun on määritettävä Router6 tai Router12 korvaamaan heidän IP-osoitteensa Next-hopina, kun välität reitin sisäisille naapureilleen. Tämä tehdään komennolla:

neighbor 192.168.56.5 next-hop-self

Tämän komennon jälkeen Router6 lähettää päivityssanoman, jossa Gi0/0 Router6:n ip:ksi määritetään Next-hop reiteille - 192.168.56.6, minkä jälkeen tämä reitti sisällytetään jo reititystaulukkoon.

Mennään pidemmälle ja katsotaan, näkyykö tämä reitti Router7:ssä ja Router10:ssä. Sitä ei ole reititystaulukossa, ja saatamme ajatella, että ongelma on sama kuin ensimmäisessä Next-hop-parametrilla, mutta jos katsomme show ip bgp -komennon tulosta, näemme, että reittiä ei vastaanotettu sinne edes väärällä Next-hopilla, mikä tarkoittaa, että reittiä ei edes lähetetty. Ja tämä johtaa meidät toisen säännön olemassaoloon:

Sisäisiltä naapureista saatuja reittejä ei levitetä muille sisäisille naapureille.

Koska Router5 vastaanotti reitin Router6:lta, sitä ei lähetetä toiselle sisäiselle naapurilleen. Jotta siirto tapahtuisi, sinun on määritettävä toiminto Reittiheijastin, tai määritä täysin yhdistetyt naapuruussuhteet (Full Mesh), toisin sanoen Router5-7 jokainen on kaikkien naapuri. Tässä tapauksessa käytämme Route Reflectoria. Router5:ssä sinun on käytettävä tätä komentoa:

neighbor 192.168.57.7 route-reflector-client

Route-Reflector muuttaa BGP:n käyttäytymistä kuljetettaessa reittiä sisäiselle naapurille. Jos sisäinen naapuri on määritetty nimellä reittiheijastin-asiakas, sitten sisäisiä reittejä mainostetaan näille asiakkaille.

Reitti ei näkynyt Router7:ssä? Älä unohda myöskään Next-hopia. Näiden manipulointien jälkeen reitin pitäisi myös mennä Router7: lle, mutta näin ei tapahdu. Tämä vie meidät toiseen sääntöön:

Seuraavan hypyn sääntö toimii vain ulkoisilla reiteillä. Sisäisillä reiteillä next-hop -attribuuttia ei korvata.

Ja saamme tilanteen, jossa on tarpeen luoda ympäristö käyttämällä staattista reititystä tai IGP-protokollia, jotta reitittimille ilmoitetaan kaikista AS:n sisällä olevista reiteistä. Rekisteröidään staattiset reitit Router6:lle ja Router7:lle ja sen jälkeen saadaan haluttu reitti reititintaulukkoon. AS 678:ssa teemme sen hieman eri tavalla - rekisteröimme staattiset reitit numeroille 192.168.112.0/24 Router10:ssä ja 192.168.110.0/24 Router12:ssa. Seuraavaksi luomme naapurisuhteen Router10:n ja Router12:n välille. Määritämme myös Router12:n lähettämään seuraavan hypyn Router10:een:

neighbor 192.168.110.10 next-hop-self

Tuloksena on, että Router10 vastaanottaa reitin 9.9.9.0/24, se vastaanotetaan sekä Router7:ltä että Router12:lta. Katsotaanpa, minkä valinnan Router10 tekee:

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  

Kuten näemme, kaksi reittiä ja nuoli (>) tarkoittavat, että reitti 192.168.112.12 kautta on valittu.
Katsotaan kuinka reitinvalintaprosessi toimii:

  1. Ensimmäinen askel reitin vastaanottamisessa on tarkistaa sen Next-hopin saatavuus. Tästä syystä, kun saimme reitin Router5:lle asettamatta Next-hop-self-toimintoa, tätä reittiä ei käsitelty enempää.
  2. Seuraavaksi tulee Paino-parametri. Tämä parametri ei ole polun attribuutti (PA), eikä sitä lähetetä BGP-sanomissa. Se määritetään paikallisesti jokaisessa reitittimessä, ja sitä käytetään vain manipuloimaan reitin valintaa itse reitittimessä. Katsotaanpa esimerkkiä. Yläpuolella näet, että Router10 on valinnut reitin 9.9.9.0/24:lle Router12:n kautta (192.168.112.12). Voit muuttaa Wieght-parametria asettamalla reittikartan tiettyjä reittejä tai määrittämällä painon naapurilleen komennolla:
     neighbor 192.168.107.7 weight 200       

    Nyt kaikilla tämän naapurin reiteillä on tämä paino. Katsotaan kuinka reitin valinta muuttuu tämän manipuloinnin jälkeen:

    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

    Kuten näet, reitti Router7:n kautta on nyt valittu, mutta tällä ei ole vaikutusta muihin reitittimiin.

  3. Kolmannella sijalla meillä on Local Preference. Tämä parametri on hyvin tunnettu harkinnanvarainen attribuutti, mikä tarkoittaa, että sen läsnäolo on valinnainen. Tämä parametri on voimassa vain yhdessä AS:ssa ja vaikuttaa polun valintaan vain sisäisille naapureille. Siksi se välitetään vain sisäiselle naapurille tarkoitetuissa päivitysviesteissä. Se ei näy päivityssanomissa ulkoisille naapureille. Siksi se luokiteltiin tunnetuksi harkinnanvaraiseksi. Yritetään ottaa se käyttöön Router5:ssä. Router5:ssä meillä pitäisi olla kaksi reittiä 9.9.9.0/24:lle - yksi Router6:n ja toinen Router7:n kautta.

    Katsomme:

    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

    Mutta kuten näemme yhden reitin Router6:n läpi. Missä on reitti Router7:n kautta? Ehkä Router7:ssä ei myöskään ole sitä? Katsotaan:

    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 

    Outoa, kaikki näyttää olevan hyvin. Miksi sitä ei lähetetä Router5:lle? Asia on, että BGP:llä on sääntö:

    Reititin lähettää vain ne reitit, joita se käyttää.

    Router7 käyttää reittiä Router5:n kautta, joten reittiä Router10:n kautta ei lähetetä. Palataan paikallisiin asetuksiin. Asetetaan paikalliset asetukset Router7:lle ja katsotaan kuinka Router5 reagoi tähän:

    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>

    Joten loimme reittikartan, joka sisältää kaikki reitit ja käskimme Router7:tä muuttaa Local Preference -parametriksi 250, kun se vastaanotettiin, oletusarvo on 100. Katsotaanpa mitä tapahtui Router5:ssä:

    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

    Kuten nyt näemme, Router5 suosii reittiä Router7:n kautta. Sama kuva tulee olemaan Router6:lla, vaikka hänelle on kannattavampaa valita reitti Router8:n kautta. Lisäämme myös, että tämän parametrin muuttaminen vaatii naapuruston uudelleenkäynnistyksen, jotta muutos tulee voimaan. Lukea täällä. Olemme selvittäneet paikalliset asetukset. Siirrytään seuraavaan parametriin.

  4. Valitse reitti, jonka Next-hop-parametri on 0.0.0.0, eli paikalliset tai yhdistetyt reitit. Näille reiteille määritetään automaattisesti Paino-parametri, joka on yhtä suuri kuin maksimi-32678, verkkokomennon antamisen jälkeen:
    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. Lyhin reitti AS:n läpi. Lyhin AS_Path-parametri valitaan. Mitä vähemmän AS:ia reitti kulkee, sitä parempi se on. Harkitse reittiä 9.9.9.0/24:een Router10:ssä:
    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

    Kuten näette, Router10 valitsi reitin 192.168.112.12 kautta, koska tälle reitille AS_Path-parametri sisältää vain 45 ja toisessa tapauksessa 123 ja 45. Intuitiivisesti selkeä.

  6. Seuraava parametri on Origin. IGP (BGP:llä saatu reitti) on parempi kuin EGP (BGP:n edeltäjällä saatu reitti, ei enää käytössä), ja EGP on parempi kuin Incomplete? (saatu jollain muulla menetelmällä, esimerkiksi uudelleenjakamalla).
  7. Seuraava parametri on MED. Meillä oli Wieght, joka toimi vain paikallisesti reitittimessä. Siellä oli Local Preference, joka toimi vain yhdessä autonomisessa järjestelmässä. Kuten arvata saattaa, MED on parametri, joka välitetään autonomisten järjestelmien välillä. Oikein hyvä artikkeli tästä parametrista.

Attribuutteja ei käytetä enempää, mutta jos kahdella reitillä on samat attribuutit, käytetään seuraavia sääntöjä:

  1. Valitse polku lähimmän IGP-naapurin kautta.
  2. Valitse vanhin reitti eBGP-polulle.
  3. Valitse polku naapurin kautta, jolla on pienin BGP-reititintunnus.
  4. Valitse polku naapurin kautta, jolla on pienin IP-osoite.

Katsotaanpa nyt kysymystä BGP-konvergenssista.

Katsotaan mitä tapahtuu, jos Router6 menettää reitin 9.9.9.0/24 Router9:n kautta. Poistetaan Router0:n liitäntä Gi1/6, joka ymmärtää välittömästi, että BGP-istunto Router8:n kanssa on katkaistu ja naapuri on kadonnut, mikä tarkoittaa, että siltä saatu reitti ei ole kelvollinen. Router6 lähettää välittömästi päivitysviestit, joissa se ilmoittaa Verkon 9.9.9.0/24 Peruutetut reitit -kentässä. Heti kun Router5 vastaanottaa tällaisen viestin, se lähettää sen Router7:lle. Mutta koska Router7:llä on reitti Router10:n kautta, se vastaa välittömästi päivityksellä uudella reitillä. Jos naapurin putoamista ei ole mahdollista havaita käyttöliittymän tilan perusteella, joudut odottamaan Hold Timerin laukeamista.

Konfederaatio.

Jos muistat, puhuimme siitä, että sinun on usein käytettävä täysin yhdistettyä topologiaa. Suuri määrä reitittimiä yhdessä AS:ssa voi aiheuttaa suuria ongelmia, joten tämän välttämiseksi sinun on käytettävä konfederaatioita. Yksi AS on jaettu useisiin ali-AS:iin, mikä mahdollistaa niiden toiminnan ilman täysin kytkettyä topologiaa.

Kuinka BGP toimii

Tässä linkki tähän labuJa täällä konfiguraatio GNS3:lle.

Esimerkiksi tällä topologialla meidän on kytkettävä kaikki AS 2345:n reitittimet toisiinsa, mutta Confederationin avulla voimme luoda vierekkäisyyssuhteita vain suoraan toisiinsa kytkettyjen reitittimien välille. Puhutaanpa tästä yksityiskohtaisesti. Jos meillä olisi vain AS 2345, niin laForge saatuaan marssin Picard kertoisi sen reitittimille Päiväys и Worf, mutta he eivät kertoneet siitä reitittimelle Crusher . Myös reitittimen itsensä jakamat reitit laForge, ei olisi siirretty Crusher tai Worf-voi ei Päiväys.

Sinun on määritettävä Route-Reflector tai täysin yhdistetty naapuruussuhde. Jakamalla yksi AS 2345 neljään ali-AS:hen (4) jokaiselle reitittimelle, päädymme erilaiseen toimintalogiikkaan. Kaikki on kuvattu täydellisesti täällä.

Lähteet:

  1. CCIE Routing and Switching v5.0 virallinen sertifiointiopas, osa 2, XNUMX. painos, Narbik Kocharians, Terry Vinson.
  2. Paikka xgu.ru
  3. Paikka GNS3Vault.

Lähde: will.com

Lisää kommentti