på vissa sätt är BGP trevligt och enkelt. Till exempel finns det bara en BGP: BGP version 4. Många nätverkspersonal har ställt frågan om BGP version 4 snart kommer att ersättas av BGP 5. Det finns dock inget att oroa sig för. Idag kör vi fortfarande BGP version 4 som vårt Exteriör Gateway Protocol (EGP). Även om dagens BGP4 gör alla möjliga saker som BGP4 från 20 år sedan inte kunde göra, till exempel routing av IPv6, multicast och VPN eller användning av samhällen. BGP har visat sig vara mycket utbyggbar, men det är allt fortfarande BGP—och en enda BGP-process där. Men BGP hanterar bara utsidan av routing-det finns också inre routing.

Interior Gateway Protocols
Och det finns mycket mer val i Interior Gateway Protocols (IGPs). En gammal favorit är RIP, Routing Information Protocol. Även den förbättrade RIPv2 är för enkel för de flesta nätverk idag, liksom RIPng (next generation) för IPv6. Som sådan skapade Cisco sitt eget Interior Gateway Routing Protocol (IGRP) och sedan en förbättrad version som heter Enhanced IGRP (EIGRP). Den mest använda IGP är dock OSPF: öppna kortaste vägen först. OSPF är en” öppen ” implementering av den kortaste vägen först eller Dijkstras algoritm. (Namnet hänvisar inte till den kortaste banans möjliga öppenhet.) OSPF version 2 används för IPv4; OSPF version 3 för IPv6. Nätverk som kör båda IP-versionerna och använder OSPF som deras IGP måste därför köra både OSPFv2 och OSPFv3.

tillbaka i slutet av 1980-talet när OSPF utvecklades, OSI-familjen (Open Systems Interconnect) av nätverksprotokoll var fortfarande i strid, och mycket teknik lånades/stulits av OSI från IP och AV IP från OSI. Som ett resultat har OSI is-is routing protocol för OSI CLNP routing, vilket är mycket lik OSPF på många sätt (eller tvärtom). IS-IS står för Intermediate System till Intermediate System, där ”intermediate system” betyder ”router”. IS-is utvidgades senare för att stödja först IPv4 och sedan även IPv6 och används främst i mycket stora IP-nätverk.

med den introduktionen ur vägen vill jag fokusera på det vanligaste fallet: ett nätverk som kör BGP som EGP och OSPF som IGP och titta på hur routinguppgifterna är uppdelade över båda protokollen och hur de två interagerar.

omfördelning
med OSPF är en IGP och BGP är en EGP föreslår en uppenbar arbetsfördelning: OSPF hanterar den interna routing, BGP routing mot externa destinationer. Det är dock inte så enkelt. Ja, OSPF ansvarar för intern routing. Dessa rutter visas som” O ”- rutter i utgången från” visa ip-rutt ” på en Cisco-router. Om nätverket är uppdelat i flera OSPF—områden—inte riktigt nödvändigt idag om du inte har hundratals routrar-kan du också se Inter-area ”O IA” – rutter.

O-och O IA-rutter är bara adressblocken som används på routergränssnitt som faktiskt kör OSPF. Det inkluderar inte gränssnitt mot servrar eller datorer och andra slutanvändarenheter, eller, när det gäller Internetleverantörer, kunder. För att få dessa adresser att dyka upp i OSPF måste vi omfördela anslutna undernät och/eller omfördela statiska rutter:

!
router ospf 1
omfördela anslutna subnät
omfördela statiska subnät
!

1 i ”router OSPF 1” är OSPF-processen eller instansnumret. Det är möjligt att köra flera OSPF—instanser på samma router-vilket naturligtvis kräver noggrann planering för att hålla allt rakt. Om omfördelning av alla anslutna och/eller statiska rutter i OSPF är mer än du behöver kan du lägga till ”route-map <route-map-name>” och sedan använda den angivna ruttkartan för att filtrera bort de oönskade rutterna för att förhindra att de omfördelas.

som standard görs omfördelade rutter extern typ 2 och visas som ”O E2”. Det är också möjligt att omfördela som extern typ 1 (med ”metrisk typ 1”). Skillnaden är att med o E1-rutter inkluderar OSPF-kostnaden för rutten kostnaden för länkarna för att nå den externa rutten, medan Med O E2-rutter ignoreras kostnaden för de interna länkarna.

iBGP
självklart hanterar BGP vägarna mot externa nätverk som är BGP-kapabla. Det skulle dock vara lite pinsamt om alla BGP-routrar i nätverket skulle berätta för sina externa grannar helt olika saker. Så alla BGP-routrar i nätverket behöver prata med varandra för att berätta en konsekvent historia för externa nätverk. Detta är vad intern BGP (iBGP) är för. Den” vanliga ” BGP är således extern BGP (eBGP). När jag säger alla BGP-routrar menar jag verkligen dem alla: om ditt nätverk har 100 BGP-routrar måste var och en av dem behålla iBGP-sessioner med de andra 99. Tja, om du inte använder ruttreflektorer, men det är en historia för en annan dag.

om du är van vid eBGP kräver iBGP att du vänjer dig. Till skillnad från eBGP, iBGP är bara bra
arbetar över många humle. Detta lägger dock till en komplikation. Tänk på följande nätverk:
loopback-gränssnitt

Antag att iBGP-sessionen från router A till router D ställs in mot router D: S adress på länken mellan B och D. Sedan, när länken mellan routrarna B och D går ner, går d: s adress på gränssnittet som ansluter till den länken ner, och med den konfigureras iBGP-sessionen mot gränssnittets adress. Så istället för att konfigurera iBGP-sessioner mot gränssnittsadresser ställer vi in loopback-gränssnitt för detta. Till skillnad från loopback-gränssnittet på en server eller annan värd, som alltid använder adress 127.0.0.1, använder routrar ”riktiga” adresser på sina loopback-gränssnitt, vilket fungerar så här:

!
gränssnitt loopback0
ip-adress 192.0.2.65 255.255.255.255
!
router bgp 9000
granne 192.0.2.67 remote-as 9000
granne 192.0.2.67 uppdatering-källa loopback0
!

Till skillnad från andra gränssnitt kan loopback-gränssnitt ha en /32 prefixlängd, så de använder bara en enda adress. Fjärrkontrollen som för granne 192.0.2.67 är densamma som den lokala AS (9000), vilket gör denna BGP-session till en iBGP-session. Linjen ”update-source loopback0” ser till att källadressen i utgående BGP-paket är den IP-adress som är konfigurerad på gränssnittet loopback0, så den matchar adressen som fjärroutern letar efter. Om nu en väg mellan de två iBGP-routrarna går ner kan iBGP-paketen omdirigeras över en annan väg och det påverkar inte BGP. Observera att för att detta ska fungera behöver loopback—gränssnittsadresserna2 vara närvarande i IGP-vanligtvis kommer anslutna rutter att omfördelas för att få detta att hända.
BGP i stora nätverk eBook
också till skillnad från eBGP, inte iBGP inte uppdatera som Sökvägen eller nästa hop adress. Detta innebär att nästa hop-adress i iBGP-uppdateringar fortfarande pekar mot routerns IP-adress i det närliggande nätverket som rutten lärdes av. Den här adressen kommer att finnas i ett punkt-till-punkt-subnät mellan din EBGP-router och BGP-routern i det närliggande nätverket. Din EBGP-router kommer att känna till den här adressen eftersom den finns på ett direkt anslutet gränssnitt, men utan ytterligare åtgärder kommer resten av dina routrar inte att känna till den här adressen, så nästa hop-adress för iBGP-rutter kommer inte att lösa och iBGP-rutterna kan inte användas. Återigen löser omfördelning av anslutna nätverk till OSPF (eller ditt IGP-Val) detta. Alternativt kan du konfigurera ”next-hop-self” på dina iBGP-sessioner och routern kommer att ersätta nästa hop-adress i iBGP-uppdateringar med sin egen adress.

BGP-omfördelning
det är också möjligt att omfördela rutter till BGP. I ett stort ISP-nätverk kan du till exempel omfördela anslutna och statiska rutter i BGP snarare än i IS-IS, eftersom det kommer att hålla IS-IS magert och medelvärde. De extra BGP-rutterna är relativt obetydliga, och en bra fördel är att om de omdirigeras internt utlöser detta inga BGP-uppdateringar. Snarare löses nästa hop-adresser annorlunda efter en is-is-förändring, som varje router kan göra självständigt. Naturligtvis kräver detta bra filter som ser till att det stora antalet små prefix som används av kunder inte läcker in i den globala BGP-tabellen. Ett bra sätt att åstadkomma sådan filtrering är genom att lägga till en gemenskap till de rutter som kan förökas i eBGP och sedan filtrera baserat på den gemenskapen.

förr i tiden var det inte ovanligt att omfördela alla BGP-rutter till OSPF. Med en halv miljon prefix i BGP har denna praxis blivit mindre vanlig. Om du verkligen vill leva på kanten kan du omfördela BGP till OSPF och OSPF till BGP. Då, om dina filter inte är perfekta, kan rutter tur och retur mellan BGP och OSPF, vilket resulterar i att AS-sökvägen tas bort. Så nu annonserar du över BGP en hel massa rutter som inte är dina, men med en one-hop som väg, så många av dina grannar kommer att börja skicka trafik till dessa rutter.

administrativt avstånd
sist men inte minst, vad händer när samma rutt finns i både BGP och OSPF? Självklart är det svårt att jämföra en BGP lokal preferens till en OSPF-metrisk. Så vad en (Cisco) router gör är att tilldela ett ”administrativt avstånd” till varje routingprotokoll. Rutten med det lägsta avståndet vinner sedan. OSPF har ett avstånd på 110. BGP-rutter har ett avstånd på 20 (bättre än OSPF och andra IGP) när de lärs över eBGP och 200 (sämre än OSPF och andra IGP) när de lärs över iBGP. Statiska rutter har ett avstånd på 1 som standard, men du kan ändra detta genom att inkludera ett Avståndsvärde i slutet av kommandot ”ip-rutt…”. Ett Avståndsvärde på 250 kommer att hålla dem ur vägen för routingprotokoll. Det administrativa avståndet är det första numret mellan kvadratkonsoler i” visa ip-rutt ” – utgång.