CCNP Routing and Switching Quick Reference: BGP and Internet Connectivity
BGP Path Selection
IGP:t, kuten EIGRP tai OSPF, valitsevat reitit pienimmän metriikan perusteella. Ne pyrkivät löytämään lyhimmän ja nopeimman tavan saada liikenne määränpäähänsä. BGP:llä on kuitenkin erilainen tapa reitinvalintaan. Se määrittää kullekin reitille erilaisia attribuutteja; näitä attribuutteja voidaan hallinnollisesti manipuloida valitun reitin ohjaamiseksi. Sen jälkeen se tutkii näiden attribuuttien arvoa järjestyksessä, kunnes se pystyy rajaamaan kaikki mahdolliset reitit yhteen polkuun.
BGP:n attribuutit
BGP valitsee reitin verkkoon sen polun attribuuttien perusteella. Attribuutteja on neljä luokkaa seuraavasti:
- Hyvin tunnettu pakollinen: Kaikkien BGP-reitittimien on tunnistettava, oltava läsnä kaikissa BGP-päivityksissä ja välitettävä muille BGP-reitittimille. Esimerkiksi AS-polku, alkuperä ja seuraava hyppy.
- Well-known discretionary: Kaikkien BGP-reitittimien on tunnistettava ja välitettävä muille BGP-reitittimille, mutta sen ei tarvitse esiintyä päivityksessä, esimerkiksi paikallinen etusija.
- Valinnainen transitiivinen: BGP-reititin voi tunnistaa tai olla tunnistamatta, mutta se välitetään muille BGP-reitittimille. Jos sitä ei tunnisteta, se merkitään osittaiseksi, esimerkiksi aggregaattori, yhteisö.
- Valinnainen ei-transitiivinen: BGP-reititin voi tunnistaa tai olla tunnistamatta, eikä sitä välitetä muille reitittimille, esimerkiksi Multi-Exit Discriminator (MED), originator ID.
Taulukossa 6-2 on lueteltu yleisiä BGP-attribuutteja, niiden merkityksiä ja luokkaa.
Taulukko 6-2. BGP-attribuutit
Attribuutti |
Merkitys |
AS-polku |
Järjestetty luettelo kaikista autonomisista järjestelmistä, joiden kautta tämä päivitys on mennyt. Hyvin tunnettu, pakollinen. |
Origin |
Miten BGP on saanut tiedon tästä verkosta. i = verkkokomennolla, e = EGP:ltä, ? = muusta lähteestä uudelleen jaettu. Hyvin tunnettu, pakollinen. |
Local Preference |
Arvo, joka kertoo IBGP-vertaisverkoille, mikä polku valitaan AS:stä lähtevälle liikenteelle. Oletusarvo on 100. Hyvin tunnettu, harkinnanvarainen. |
Multi-Exit Discriminator (MED) |
Valitsee viereiselle autonomiselle järjestelmälle, mikä useista poluista valitaan omaan autonomiseen järjestelmään sidotulle liikenteelle. Pienin MED on ensisijainen. Valinnainen, ei-transitiivinen. |
Weight |
Cisco proprietary, kertoo reitittimelle, mikä useista paikallisista poluista valitaan AS:stä lähtevälle liikenteelle. Suurin paino on ensisijainen. Sillä on vain paikallista merkitystä. |
BGP Path Selection Criteria
BGP pyrkii rajaamaan polunvalinnan yhteen parhaaseen polkuun; se ei oletusarvoisesti tee kuormantasausta. Tätä varten se tutkii kaikkien silmukattomien, synkronoitujen (jos synkronointi on käytössä) reittien, joilla on tavoitettavissa oleva next-hop, polkuattribuutteja seuraavassa järjestyksessä:
- Valitse reitti, jolla on suurin painoarvo.
- Jos painoa ei ole asetettu, valitse reitti, jolla on korkein paikallinen etusija.
- Valitse reitit, jotka tämä reititin on luonut.
- Valitse reitti, jolla on lyhin autonomisen järjestelmän reitti.
- Valitse reitti, jolla on alhaisin alkuperäkoodi (i on alhaisin, e on seuraava, ? on viimeinen).
- Valitsee reitin, jolla on pienin MED, jos sama autonominen järjestelmä mainostaa mahdollisia reittejä.
- Valitsee EBGP-reitin IBGP-reitin sijasta.
- Valitsee reitin lähimmän IGP-naapurin kautta pienimmän IGP-metriikan perusteella.
- Valitsee vanhimman reitin
- Valitsee reitin sen naapurin kautta, jolla on pienin reitittimen tunnus.
- Valitsee reitin sen naapurin kautta, jolla on pienin IP-osoite.
Voidaksesi ottaa BGP:n käyttöön kuormantasapainotuksen useammalla kuin yhdellä reitillä, sinun on syötettävä komento maksimireitit-reittien määrä. BGP voi kuormatasapainottaa enintään kuuden polun yli.
BGP:n polkujen valintaan vaikuttaminen
BGP:tä ei luotu nopeaksi protokollaksi, vaan se luotiin mahdollistamaan mahdollisimman suuri hallinnollinen kontrolli reittipolkujen valinnassa. Reitinvalintaa ohjataan BGP:n attribuutteja manipuloimalla, yleensä reittikarttojen avulla. Voit asettaa oletusarvoisen paikallisen preferenssin komennolla bgp default local-preference ja oletusarvoisen MED:n uudelleen jaetuille reiteille komennolla default-metric BGP-reititysprosessin alla. Reittikarttoja käyttämällä voit kuitenkin muuttaa attribuutteja vain tietyille naapureille tai vain tietyille reiteille. Aikaisemmassa reitityskarttoja käsittelevässä jaksossa on esimerkki reitityskartan käyttämisestä paikallisen etusijajärjestyksen 200 asettamiseen tietyille uudelleensijoitetuille reiteille. Tämä on korkeampi kuin oletusarvoinen paikallinen etusija 120, joten AS:n sisällä olevat reitittimet suosivat todennäköisemmin kyseistä reittiä kuin muita.
Reittikarttoja voidaan soveltaa myös naapuriin lähetettäviin tai naapurista vastaanotettaviin reitteihin. Seuraavassa esimerkissä näytetään yksinkertainen reittikartta, joka asettaa MED-arvon ja lisää AS-numeron kaksi kappaletta lisää AS-polkuun kaikissa EBGP-naapurille mainostetuissa reiteissä:
route-map MED permit 10 set metric 50 set as-path prepend 65001 65001!router bgp 65001 neighbor 10.1.1.1 route-map MED out
Kun attribuutteja muutetaan, BGP:lle on kerrottava, että muutoksia sovelletaan. Tyhjennä BGP-istunto (clear ip bgp *) tai tee pehmeä nollaus (clear ip bgp * soft in | out). Uusimpia IOS-versioita käyttävät reitittimet tekevät reitin päivityksen, kun istunto tyhjennetään sisäänpäin.