I dag kommer vi att diskutera BGP-protokollet. Vi ska inte lÀnge prata om varför det anvÀnds som det enda protokollet. Det finns ganska mycket information om detta, till exempel .
SÄ vad Àr BGP? BGP Àr ett protokoll för dynamisk routning och Àr det enda EGP (External Gateway Protocol) protokollet. Detta protokoll anvÀnds för att bygga routningen pÄ internet. LÄt oss titta pÄ hur grannskapet mellan tvÄ BGP-routrar byggs.
LÄt oss titta pÄ grannskapet mellan Router1 och Router3. Vi kommer att konfigurera dem med hjÀlp av följande kommandon:
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 10Grannskapet inom en autonom system â AS 10. Efter att ha matat in uppgifterna pĂ„ routern, till exempel pĂ„ Router1, försöker denna router att stĂ€lla in grannskapsrelationen med Router3. Det initiala tillstĂ„ndet, nĂ€r inget hĂ€nder, kallas Idle. SĂ„ snart BGP har konfigurerats pĂ„ Router1 kommer den att börja lyssna pĂ„ TCP-port 179 â den gĂ„r in i tillstĂ„ndet Anslut, och nĂ€r den försöker öppna en session med Router3 kommer den att gĂ„ in i tillstĂ„ndet Aktiv.
NÀr sessionen har etablerats mellan Router1 och Router3 sker utbyte av Open-meddelanden. NÀr detta meddelande skickas av Router1 kommer detta tillstÄnd att kallas Open Sent. NÀr den fÄr ett Open-meddelande frÄn Router3 kommer den att gÄ in i tillstÄndet Open Confirm. LÄt oss titta mer noggrant pÄ Open-meddelandet:
I detta meddelande överförs information om BGP-protokollet som routern anvÀnder. Genom att utbyta Open-meddelanden informerar Router1 och Router3 varandra om sina instÀllningar. Följande parametrar överförs:
- Version: detta inkluderar BGP-versionen som routern anvÀnder. Den nuvarande versionen av BGP Àr version 4, som beskrivs i RFC 4271. TvÄ BGP-routrar kommer att försöka förhandla en kompatibel version, nÀr det finns en missmatch kommer det inte att finnas nÄgon BGP-session.
- My AS: detta inkluderar AS-nummer pÄ BGP-routern; routrarna mÄste komma överens om AS-nummer(n) och det definierar ocksÄ om de kommer att köra iBGP eller eBGP.
- Hold Time: om BGP inte tar emot nÄgra keepalive- eller uppdateringsmeddelanden frÄn den andra sidan under hÄlltiden, kommer det att deklarera den andra sidan som 'död' och stÀnga BGP-sessionen. Som standard Àr hÄlltiden instÀlld pÄ 180 sekunder pÄ Cisco IOS-routrar, keepalive-meddelandet skickas var 60:e sekund. BÄda routrarna mÄste komma överens om hÄlltiden, annars blir det ingen BGP-session.
- BGP Identifier: detta Àr den lokala BGP-router-ID som vÀljs pÄ samma sÀtt som OSPF gör:
- AnvÀnd router-ID som konfigurerades manuellt med kommandot bgp router-id.
- AnvÀnd det högsta IP-adressen pÄ en loopback-grÀnssnitt.
- AnvÀnd det högsta IP-adressen pÄ en fysisk grÀnssnitt.
- Valfria parametrar: hÀr hittar du nÄgra valfria funktioner för BGP-routern. Detta fÀlt har lagts till sÄ att nya funktioner kan lÀggas till i BGP utan att behöva skapa en ny version. Det du kan hitta hÀr Àr:
- stöd för MP-BGP (Multi Protocol BGP).
- stöd för Route Refresh.
- stöd för 4-octet AS-nummer.
För att etablera en granne mÄste följande villkor uppfyllas:
- Versionsnummer. Den nuvarande versionen Àr 4.
- AS-numret mÄste överensstÀmma med det du har konfigurerat. granne 192.168.13.3 remote-as 10..
- Router-ID mÄste vara olika frÄn grannen.
Om nÄgot av dessa parametrar inte uppfylls, kommer routern att skicka Notification ett meddelande som anger felet. Efter att Open-meddelanden har skickats och mottagits, gÄr granneförhÄllandet in i tillstÄndet ESTABLISHED.DÀrefter kan routrarna börja utbyta ruttinformation och gör detta genom Uppdatering meddelanden. SÄ hÀr ser ett Update-meddelande som Router1 skickar till Router3 ut:
HÀr inkluderar man nÀtverk som Router1 rapporterar samt Path-attribut som Àr likvÀrdigt med metrik. Om Path-attribut kommer vi att prata mer detaljerat. Dessutom överförs Keepalive-meddelanden inom TCP-sessionen. De överförs, som standard, var 60:e sekund. Detta Àr Keepalive Timer. Om Keepalive-meddelandet inte tas emot inom Hold Timer, kommer det att innebÀra att kontakten med grannen har förlorats. Som standard Àr detta 180 sekunder.
Nyttig tabell:
Vi verkar ha förstÄtt hur routrar överför information till varandra, nu ska vi försöka förstÄ logiken bakom BGP-protokollet.
För att annonsera en rutt i BGP-tabellen, precis som i IGP-protokoll, anvÀnds kommandot network, men logiken skiljer sig. Om i IGP efter att ha angett en rutt i kommandot network, ser IGP vilka grÀnssnitt som tillhör detta subnet och inkluderar dem i sin tabell, sÄ letar kommandot network i BGP i routingtabellen och söker en exakt överensstÀmmelse med rutten i kommandot network. NÀr sÄdana hittas, kommer dessa rutter att hamna i BGP-tabellen.
Sök efter en rutt i routerns aktuella IP-routingtabell som exakt matchar parametrarna för nÀtverkskommandot; om IP-routen finns, sÀtt in den motsvarande NLRI i den lokala BGP-tabellen.
Nu höjer vi BGP pÄ alla ÄterstÄende och ser hur rutvalet sker inom en AS. Efter att BGP-routern har mottagit rutter frÄn grannen, börjar valet av den optimala rutten. HÀr mÄste vi förstÄ vilken typ av grannar som kan finnas - interna och externa. Routern förstÄr utifrÄn konfigurationen om den konfigurerade grannen Àr intern eller extern? Om i kommandot:
granne 192.168.13.3 remote-as 10. Som parameter för remote-as anges AS, som Àr konfigurerad pÄ sjÀlva routern i kommandot router bgp 10. Rutter som kommer frÄn interna ASer betraktas som interna, medan rutter frÄn externa ASer sjÀlvklart Àr externa. För var och en gÀller olika regler för mottagning och sÀndning. LÄt oss övervÀga en sÄdan topologi:
PĂ„ varje router Ă€r loopback-grĂ€nssnittet konfigurerat med ip: x.x.x.x 255.255.255.0 â dĂ€r x Ă€r routernumret. PĂ„ Router9 har vi ett loopback-grĂ€nssnitt med adressen â 9.9.9.9 255.255.255.0. Denna kommer vi att annonsera via BGP och se hur den sprids. Denna rutt kommer att skickas till Router8 och Router12. FrĂ„n Router8 nĂ„r denna rutt Router6, men pĂ„ Router5 kommer den inte att finnas i routingtabellen. LikasĂ„ kommer denna rutt att nĂ„ routingtabellen pĂ„ Router12, men pĂ„ Router11 kommer den ocksĂ„ att saknas. Vi ska försöka förstĂ„ detta. LĂ„t oss titta pĂ„ vilka data och parametrar Router9 skickar till sina grannar nĂ€r den meddelar om denna rutt. Paketet nedan kommer att skickas frĂ„n Router9 till Router8.
Informationen om rutten bestÄr av vÀg-attribut (Path attributes).
VÀg-attributen Àr indelade i 4 kategorier:
- VĂ€lkĂ€nda obligatoriska â alla routrar som arbetar med BGP-protokollet mĂ„ste kunna kĂ€nna igen dessa attribut. De ska finnas i alla uppdateringar (update).
- VĂ€lkĂ€nda valfria â alla routrar som arbetar med BGP-protokollet mĂ„ste kunna kĂ€nna igen dessa attribut. De kan finnas i uppdateringar (update), men deras nĂ€rvaro Ă€r inte obligatorisk.
- Valfria transitiva â kan mycket vĂ€l vara okĂ€nda för alla BGP-implementationer. Om en router inte kĂ€nner igen attributet markerar den uppdateringen som partiell (partial) och skickar den vidare till grannarna, vilket bevarar det okĂ€nda attributet.
- Valfria icke-transitiva â kan mycket vĂ€l vara okĂ€nda för alla BGP-implementationer. Om en router inte kĂ€nner igen attributet, ignoreras det och förkastas vid överföring till grannarna.
Exempel pÄ BGP-attribut:
- VÀlkÀnda obligatoriska:
- Autonomous system path
- Next-hop
- Origin
- VÀlkÀnda valfria:
- Local preference
- Atomic aggregate
- Valfria transitiva:
- Aggregator
- Communities
- Valfria icke-transitiva:
- Multi-exit discriminator (MED)
- Originator ID
- Cluster list
I detta fall kommer vi att fokusera pÄ Origin, Next-hop, AS Path. Eftersom rutten överförs mellan Router8 och Router9, det vill sÀga inom samma AS, betraktas den som intern och vi kommer att notera Origin.
Attributet Origin â anger hur rutten har erhĂ„llits i uppdateringen. Möjliga vĂ€rden för attributet Ă€r:
- 0 â IGP: NLRI erhĂ„llet inom den ursprungliga autonoma systemet;
- 1 â EGP: NLRI lĂ€rdes in via protokollet Exterior Gateway Protocol (EGP). FöregĂ„ngaren till BGP, anvĂ€nds inte lĂ€ngre.
- 2 â Incomplete: NLRI lĂ€rdes in pĂ„ nĂ„got annat sĂ€tt.
I vÄrt fall, som syns i paketet, Àr vÀrdet 0. NÀr denna rutt skickas till Router12 kommer denna kod att ha vÀrdet 1.
DĂ€refter, Next-hop. Attributet Next-hop.
- Detta Àr IP-adressen till eBGP-router som vÀgen till destinationnÀtverket gÄr genom.
- Attributet Àndras nÀr prefixet överförs till en annan AS.
I fallet med iBGP, det vill sÀga inom samma AS, kommer Next-hop att anges av den router som kÀnde till eller informerade om denna rutt. I vÄrt fall kommer det att vara 192.168.89.9. Men nÀr denna rutt överförs frÄn Router8 till Router6 kommer Router8 att Àndra det och ersÀtta med sin egen. Next-hop kommer att vara 192.168.68.8. Detta leder oss till tvÄ regler:
- Om en router överför en rutt till sin interna granne, sÄ Àndrar den inte parametern Next-hop.
- Om en router överför en rutt till sin externa granne, Àndrar den Next-hop till IP-adressen för grÀnssnittet, frÄn vilket denna router gör överföringen.
Detta leder oss till förstĂ„elsen av det första problemet â Varför det inte kommer att finnas en rutt i routingtabellen pĂ„ Router5 och Router11. LĂ„t oss titta nĂ€rmare pĂ„ detta. SĂ„, Router6 fick information om rutten 9.9.9.0/24 och lade den framgĂ„ngsrikt till i routingtabellen:
Router6#show ip route bgp
Koder: L - lokal, C - ansluten, S - statisk, R - RIP, M - mobil, B - BGP
D - EIGRP, EX - EIGRP extern, O - OSPF, IA - OSPF interområde
N1 - OSPF NSSA extern typ 1, N2 - OSPF NSSA extern typ 2
E1 - OSPF extern typ 1, E2 - OSPF extern typ 2
i - IS-IS, su - IS-IS sammanfattning, L1 - IS-IS nivå-1, L2 - IS-IS nivå-2
ia - IS-IS interområde, * - kandidatstandard, U - per-användare statisk rutt
o - ODR, P - periodiskt nedladdad statisk rutt, H - NHRP, l - LISP
a - applikationsrutt
+ - replikerad rutt, % - nästa hopp överskridning, p - överskrider från PfR
Gateway för sista utväg är inte inställd
9.0.0.0/24 är delat, 1 delnät
B 9.9.9.0 [20/0] via 192.168.68.8, 00:38:25<source>
Nu har Router6 överfört rutten till Router5, och det första nästa-hopp-regeln har inte ändrats. Det vill säga, Router5 måste lägga till <b>9.9.9.0 [20/0] via 192.168.68.8</b> , men den har ingen rutt till 192.168.68.8 och därför kommer denna rutt inte att läggas till, även om informationen om denna rutt kommer att lagras i BGP-tabellen:
<source><b>Router5#show ip bgp
BGP-tabellens version är 1, lokal router-ID är 5.5.5.5
Statuskoder: s undertryckt, d dämpad, h historia, * giltig, > bäst, i - intern,
r RIB-fel, S gammal, m multipath, b backup-väg, f RT-filter,
x bästa externa, a ytterligare väg, c RIB-komprimerad,
Ursprungskoder: i - IGP, e - EGP, ? - ofullständig
RPKI valideringskoder: V giltig, I ogiltig, N hittades inte
Nätverk Nästa Hopp Metrik LocPrf Vikt Väg
* i 9.9.9.0/24 192.168.68.8 0 100 0 45 i</b>Samma situation kommer att hÀnda mellan Router11-Router12. För att undvika en sÄdan situation mÄste vi konfigurera sÄ att Router6 eller Router12, nÀr de överför rutten till sina interna grannar, anvÀnder sin egen IP-adress som Next-hop. Detta görs med kommandot:
neighbor 192.168.56.5 next-hop-selfEfter detta kommando kommer Router6 att skicka ett Update-meddelande dĂ€r IP-adressen till grĂ€nssnittet Gi0/0 Router6 â 192.168.56.6 kommer att anges som Next-hop för rutterna, efter detta kommer rutten att hamna i routingtabellen.
LÄt oss gÄ vidare och se om denna rutt dyker upp pÄ Router7 och Router10. Den kommer inte att finnas i routingtabellen och vi skulle kunna tro att problemet ligger i den första med Next-hop-parametern, men om vi tittar pÄ utskriften av kommandot show ip bgp, sÄ ser vi att rutten inte ens mottogs trots felaktig Next-hop, vilket innebÀr att rutten inte ens överfördes. Detta leder oss till en annan regel:
Rutter som mottagits frÄn interna grannar överförs inte till andra interna grannar.
Eftersom Router5 har mottagit en rutt frÄn Router6, kommer den inte att vidarebefordras till sin andra interna granne. För att vidarebefordringen ska ske mÄste funktionen konfigureras. , eller sÄ kan man stÀlla in fullstÀndiga grannskapsrelationer (Full Mesh), vilket betyder att Router5-7 blir granne med varandra. Vi kommer i detta fall att anvÀnda Route Reflector. PÄ Router5 mÄste vi anvÀnda följande kommando:
neighbor 192.168.57.7 route-reflector-clientRoute-Reflector Àndrar BGP:s beteende vid vidarebefordring av rutter till en intern granne. Om den interna grannen Àr angiven som route-reflector-client, kommer dessa klienter att fÄ annonserade interna rutter.
Rutt har inte dykt upp pÄ Router7? Glöm inte bort Next-hop. Efter dessa manipulationer bör rutt ocksÄ finnas pÄ Router7, men sÄ sker inte. Detta leder oss till ytterligare en regel:
Regeln för next-hop fungerar endast för externa rutter. För interna rutter sker ingen ersÀttning av attributet next-hop.
Och vi hamnar i en situation dĂ€r vi mĂ„ste skapa en miljö med hjĂ€lp av statisk routning eller IGP-protokoll för att informera routrarna om alla rutter inuti AS. Vi kommer att skriva in statiska rutter pĂ„ Router6 och Router7 och efter detta fĂ„ den önskade rutten i routertabellen. I AS 678 kommer vi att agera lite annorlunda â vi kommer att stĂ€lla in statiska rutter för 192.168.112.0/24 pĂ„ Router10 och 192.168.110.0/24 pĂ„ Router12. DĂ€refter kommer vi att stĂ€lla in grannskapsrelationer mellan Router10 och Router12. Vi kommer ocksĂ„ att stĂ€lla in Router12 att skicka sin next-hop till Router10:
neighbor 192.168.110.10 next-hop-selfResultatet blir att Router10 kommer att fÄ rutten 9.9.9.0/24, den kommer att mottas bÄde frÄn Router7 och Router12. LÄt oss se vilket val Router10 gör:
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 Som vi ser finns det tvÄ rutter och pilen ( > ) betyder att rutten genom 192.168.112.12 har valts.
LÄt oss titta pÄ hur processen för att vÀlja rutt gÄr till:
- Först nÀr en rutt mottas kontrolleras tillgÀngligheten av dess Next-hop. Det Àr just dÀrför, nÀr vi fick rutten pÄ Router5 utan instÀllning av Next-hop-self, sÄ vidarebefordrades inte den rutten för vidare behandling.
- NÀsta parameter Àr Weight. Denna parameter Àr inte en Path Attribute (PA) och skickas inte i BGP-meddelanden. Den konfigureras lokalt pÄ varje router och anvÀnds endast för att manipulera ruttvalet direkt pÄ routern. LÄt oss ta ett exempel. OvanstÄende visar att Router10 valde en rutt till 9.9.9.0/24 via Router12 (192.168.112.12). För att Àndra Weight-parametern kan man anvÀnda route-map för att ange vikten för specifika rutter, eller tilldela en vikt till grannen med kommandot:
neighbor 192.168.107.7 weight 200Nu kommer alla rutter frÄn denna granne att ha denna vikt. LÄt oss se hur ruttvalet förÀndras efter denna manipulation:
Router10#show bgp *Mar 2 11:58:13.956: %SYS-5-CONFIG_I: Konfigurerad frÄn konsolen av konsolen BGP-tabellens version Àr 2, lokala router-ID Àr 6.6.6.6 Statuskoder: s undertryckt, d dÀmpad, h historik, * giltig, > bÀsta, i - intern, r RIB-fel, S gammal, m multipath, b backup-vÀg, f RT-Filter, x bÀsta-extern, a ytterligare-vÀg, c RIB-komprimerad, Ursprungskoder: i - IGP, e - EGP, ? - ofullstÀndig RPKI-valideringskoder: V giltig, I ogiltig, N Hittades inte NÀtverk NÀsta 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 iSom du ser Àr den valda rutten nu genom Router7, men detta kommer inte att pÄverka de andra routrarna.
- PĂ„ tredje plats har vi â Local Preference. Denna parameter Ă€r en Well-known discretionary attribut, vilket innebĂ€r att dess nĂ€rvaro inte Ă€r obligatorisk. Denna parameter har effekt endast inom ett AS och pĂ„verkar ruttvalet endast för interna grannar. DĂ€rför skickas den endast i Update-meddelanden som Ă€r avsedda för interna grannar. I Update-meddelanden för externa grannar Ă€r den frĂ„nvarande. DĂ€rför togs den som Well-known discretionary. Vi kommer att försöka tillĂ€mpa den pĂ„ Router5. PĂ„ Router5 ska vi ha tvĂ„ rutter för 9.9.9.0/24 â en via Router6 och en annan via Router7.
Vi kollar:
Router5#show bgp BGP-tabellens version Àr 2, lokala router-ID Àr 5.5.5.5 Statuskoder: s undertryckt, d dÀmpad, h historik, * giltig, > bÀsta, i - intern, r RIB-fel, S gammal, m multipath, b backup-vÀg, f RT-Filter, x bÀsta-extern, a ytterligare-vÀg, c RIB-komprimerad, Ursprungskoder: i - IGP, e - EGP, ? - ofullstÀndig RPKI-valideringskoder: V giltig, I ogiltig, N Hittades inte NÀtverk NÀsta Hop Metric LocPrf Weight Path * >i 9.9.9.0/24 192.168.56.6 0 100 0 45 iMen som vi ser finns det en rutt via Router6. Men var Àr rutten via Router7? Kanske finns den inte pÄ Router7? LÄt oss kolla:
Router#show bgp BGP-tabell version Àr 10, lokal router-ID Àr 7.7.7.7 Statuskoder: s undertryckt, d dÀmpad, h historik, * giltig, > bÀst, i - intern, r RIB-fel, S gammal, m multipath, b backup-vÀg, f RT-filter, x bÀst-external, a additional-path, c RIB-komprimerad, Ursprungskoder: i - IGP, e - EGP, ? - ofullstÀndig RPKI-valideringskoder: V giltig, I ogiltig, N hittades inte NÀtverk NÀsta hopp Metrik LocPrf Vikt VÀg *>i 9.9.9.0/24 192.168.56.6 0 100 0 45 i 192.168.107.10 0 678 45 iDet Àr konstigt, allt verkar vara i ordning. Varför överförs det inte till Router5? Förklaringen ligger i att BGP har en regel:
Routern överför endast de vÀgar som den sjÀlv anvÀnder.
Router7 anvÀnder vÀgen genom Router5, dÀrför kommer vÀgen genom Router10 inte att överföras. LÄt oss gÄ tillbaka till Local Preference. LÄt oss stÀlla in Local Preference pÄ Router7 och se hur Router5 reagerar pÄ detta:
route-map BGP tillåt 10 matcha ip-adress 10 ställ in lokal-preferens 250 åtkomstlista 10 tillåt alla router bgp 123 granne 192.168.107.10 route-map BGP in</b>SĂ„, vi har skapat en route-map, som fĂ„ngar alla vĂ€gar och sagt till Router7 att vid mottagning ska den Ă€ndra parametern Local Preference till 250, som normalt Ă€r 100. LĂ„t oss se vad som hĂ€nde pĂ„ Router5:
Router5#show bgp BGP-tabell version Àr 8, lokal router-ID Àr 5.5.5.5 Statuskoder: s undertryckt, d dÀmpad, h historik, * giltig, > bÀst, i - intern, r RIB-fel, S gammal, m multipath, b backup-vÀg, f RT-filter, x bÀst-external, a additional-path, c RIB-komprimerad, Ursprungskoder: i - IGP, e - EGP, ? - ofullstÀndig RPKI-valideringskoder: V giltig, I ogiltig, N hittades inte NÀtverk NÀsta hopp Metrik LocPrf Vikt VÀg *>i 9.9.9.0/24 192.168.57.7 0 250 0 678 45 iSom vi nu ser föredrar Router5 vÀgen genom Router7. Detsamma kommer att gÀlla för Router6, Àven om det skulle vara fördelaktigare för den att vÀlja vÀgen genom Router8. Vi tillÀgger ocksÄ att en Àndring av denna parameter krÀver en omstart av grannskapet för att Àndringen ska trÀda i kraft. LÀs mer . Vi har nu förstÄtt Local Preference. LÄt oss gÄ vidare till nÀsta parameter.
- Preferensen hos vĂ€gen med parametern Next-hop 0.0.0.0, det vill sĂ€ga lokala eller aggregerade vĂ€gar. Dessa vĂ€gar tilldelas automatiskt efter att kommandot network har skrivits in, en parameter Weight som Ă€r maximal â 32678:
Router#show bgp BGP-tabell version Àr 2, lokal router-ID Àr 9.9.9.9 Statuskoder: s undertryckt, d dÀmpad, h historik, * giltig, > bÀst, i - intern, r RIB-fel, S gammal, m multipath, b backup-vÀg, f RT-filter, x bÀst-external, a additional-path, c RIB-komprimerad, Ursprungskoder: i - IGP, e - EGP, ? - ofullstÀndig RPKI-valideringskoder: V giltig, I ogiltig, N hittades inte NÀtverk NÀsta hopp Metrik LocPrf Vikt VÀg *> 9.9.9.0/24 0.0.0.0 0 32768 i - Den kortaste vÀgen genom AS. Det kortaste AS_Path-parametern vÀljs. Ju fÀrre AS-vÀgar som passeras, desto bÀttre. LÄt oss titta pÄ vÀgen till 9.9.9.0/24 pÄ Router10:
Router10#show bgp BGP-tabbens version Àr 2, lokal router-ID Àr 6.6.6.6 Statuskoder: s undertryckt, d dÀmpad, h historia, * giltig, > bÀsta, i - intern, r RIB-fel, S gammal, m multipath, b backup-vÀg, f RT-filter, x bÀsta-external, a additional-path, c RIB-komprimerad, Ursprungskoder: i - IGP, e - EGP, ? - ofullstÀndig RPKI-valideringskoder: V giltig, I ogiltig, N Ej hittad NÀtverk NÀsta hopp Metrik LocPrf Vikt VÀg * 9.9.9.0/24 192.168.107.7 0 123 45 i *>i 192.168.112.12 0 100 0 45 iSom ni ser har Router10 valt vÀgen via 192.168.112.12 eftersom AS_Path-parametern för denna vÀg endast innehÄller 45, medan det i det andra fallet Àr 123 och 45. Det Àr intuitivt förstÄeligt.
- NÀsta parameter Àr Ursprung. IGP (vÀgen erhÄllen genom BGP) Àr bÀttre Àn EGP (vÀgen erhÄllen genom BGP:s föregÄngare, som inte lÀngre anvÀnds), och EGP Àr bÀttre Àn Incomplete? (erhÄllen pÄ nÄgot annat sÀtt, till exempel redistribuering).
- Den nÀsta parametern Àr MED. Vi hade Weight, som endast fungerade lokalt pÄ routern. Det fanns Local Preference, som endast fungerade inom ett autonomt system. Som ni kan gissa Àr MED en parameter som kommer att överföras mellan autonoma system. Mycket bra. om denna parameter.
Fler attribut kommer inte att anvÀndas, men om tvÄ vÀgar har samma, sÄ anvÀnds följande regler:
- VÀlj vÀgen genom nÀrmaste IGP-nabo.
- VÀlj den Àldsta vÀgen för eBGP-vÀgen.
- VÀlj vÀgen genom grannen med lÀgsta BGP-router-ID.
- VÀlj vÀgen genom grannen med lÀgsta IP-adress.
Nu ska vi titta pÄ BGP:s konvergens.
LÄt oss se vad som hÀnder om Router6 förlorar vÀgen 9.9.9.0/24 via Router9. StÀng av grÀnssnittet Gi0/1 pÄ Router6, som omedelbart kommer att förstÄ att BGP-sessionen med Router8 har avbrutits och grannen saknas, vilket innebÀr att vÀgen som erhÄllits frÄn den blir ogiltig. Router6 skickar omedelbart Uppdateringsmeddelanden dÀr den anger nÀtverket 9.9.9.0/24 i fÀltet Utrullade vÀgar. SÄ snart Router5 tar emot ett sÄdant meddelande, skickar den det vidare till Router7. Men eftersom Router7 har en vÀg via Router10, skickar den omedelbart en Uppdatering med en ny vÀg som svar. Om det inte gÄr att upptÀcka grannens fall genom grÀnssnittets tillstÄnd, fÄr man vÀnta pÄ att Hold Timer ska aktiveras.
Konfederatio.
Om du minns, sÄ pratade vi om att man ofta mÄste anvÀnda en fullstÀndig topologi. Med ett stort antal routrar i en AS kan detta orsaka stora problem, sÄ för att undvika detta Àr det nödvÀndigt att anvÀnda konfederationer. En AS delas upp i flera sub-AS, vilket gör att de kan fungera utan krav pÄ fullstÀndig topologi.
HÀr Àr lÀnken till den , och konfigurationen för GNS3.
Till exempel, med en sÄdan topologi skulle vi behöva koppla alla routrar i AS 2345 med varandra, men genom att anvÀnda konfederation, kan vi etablera grannsamband endast mellan routrar som Àr direkt kopplade till varandra. Vi gÄr in pÄ detta i detalj. Om vi bara hade AS 2345, sÄ laForge skulle fÄ meddelande frÄn Picard berÀtta för sina routrar Data och Worf, men de skulle inte berÀtta för routern Crusher . Dessutom skulle de rutter som routern laForge, sprider, inte ha överförts Crusher varken Worf-en, eller Data.
Vi skulle behöva konfigurera en Route-Reflector eller fullstÀndiga grannsamband. Genom att dela upp AS 2345 i 4 sub-AS (2, 3, 4, 5) för varje router fÄr vi i slutÀndan en annan logik i arbetet. Allt Àr vÀl beskrivet .
KĂ€llor:
- CCIE Routing and Switching v5.0 Official Cert Guide, Volume 2, Fifth Edition, Narbik Kocharians, Terry Vinson.
- Webbplats
- Webbplats .
KĂ€lla: habr.com
