på nogle måder er BGP flot og simpelt. For eksempel er der kun en BGP: BGP version 4. Mange netværksprofessionelle har stillet spørgsmålet om, hvorvidt BGP-versionen 4 snart vil blive erstattet af BGP 5. Der er dog intet at bekymre sig om. I dag kører vi stadig BGP version 4 som vores ydre Portprotokol (EGP). Selvom dagens BGP4 gør alle mulige ting, som BGP4 fra 20 år siden ikke kunne gøre, såsom routing IPv6, multicast og VPN ‘ er eller brug af samfund. BGP har vist sig at være meget udvidelig, men det er stadig BGP—og en enkelt BGP-proces på det. Men BGP håndterer kun den udvendige side af routing—der er også indvendig routing.

indvendige Portprotokoller
og der er meget mere valg i indvendige Portprotokoller (IGP ‘ er). En gammel favorit er RIP, Routing Information Protocol. Selv den forbedrede RIPv2 er for enkel for de fleste netværk i disse dage, ligesom RIPng (næste generation) til IPv6. Som sådan oprettede Cisco sin egen indvendige Portrute-routingprotokol (IGRP) og derefter en forbedret version med passende navn Enhanced IGRP (EIGRP). Den mest anvendte IGP er dog OSPF: Åbn korteste sti først. OSPF er en” åben ” implementering af den korteste vej først eller Dijkstras algoritme. (Navnet henviser ikke til den mulige åbenhed på den korteste vej.) OSPF version 2 bruges til IPv4; OSPF version 3 til IPv6. Netværk, der kører begge IP-versioner og bruger OSPF som deres IGP, skal således køre både OSPFv2 og OSPFv3.

Tilbage i slutningen af 1980 ‘ erne, da OSPF blev udviklet, var OSI (Open Systems Interconnect) – familien af netværksprotokoller stadig i strid, og en masse teknologi blev lånt/stjålet af OSI fra IP og af IP fra OSI. Som et resultat har OSI IS-IS-routingprotokollen til OSI CLNP-routing, som meget ligner OSPF på mange måder (eller omvendt). IS-is står for Intermediate System to Intermediate System, hvor “intermediate system” betyder “router”. IS-IS blev senere udvidet til at understøtte først IPv4 og derefter også IPv6 og bruges hovedsageligt i meget store IP-netværk.

med den introduktion ud af vejen vil jeg fokusere på det mest almindelige tilfælde: et netværk, der kører BGP som EGP og OSPF som IGP og se på, hvordan routingopgaverne er opdelt over begge protokoller og hvordan de to interagerer.

omfordeling
med OSPF som en IGP og BGP som en EGP antyder en åbenlys arbejdsdeling: OSPF håndterer den interne routing, BGP routing mod eksterne destinationer. Det er dog ikke så simpelt. Ja, OSPF er ansvarlig for intern routing. Disse ruter vises som” O “- ruter i output fra” vis ip-rute ” på en Cisco-router. Hvis netværket er opdelt i flere OSPF—områder—ikke rigtig nødvendigt i disse dage, medmindre du har hundredvis af routere-kan du også se Inter-area “O IA” ruter.

O-og O IA-ruter er kun de adresseblokke, der bruges på routergrænseflader, der faktisk kører OSPF. Det omfatter ikke grænseflader til servere eller PC ‘ er og andre slutbrugerenheder, eller i tilfælde af internetudbydere, kunder. For at få disse adresser til at dukke op i OSPF, er vi nødt til at omfordele tilsluttede undernet og/eller omfordele statiske ruter:

!
router ospf 1
omfordel tilsluttede undernet
omfordel statiske undernet
!

1 i “router ospf 1” er OSPF-processen eller forekomstnummeret. Det er muligt at køre flere OSPF—forekomster på den samme router-hvilket naturligvis kræver omhyggelig planlægning for at holde alt lige. Hvis omfordeling af alle tilsluttede og/eller statiske ruter i OSPF er mere end du har brug for, kan du tilføje “rutekort <rutekort-navn>” og derefter bruge det angivne rutekort til at filtrere de uønskede ruter ud for at forhindre dem i at blive omfordelt.

som standard foretages omfordelede ruter ekstern type 2 og vises som”O E2″. Det er også muligt at omfordele som ekstern type 1 (med “metrisk type 1”). Forskellen er, at med o E1-ruter inkluderer OSPF-omkostningerne ved ruten omkostningerne ved linkene for at nå den eksterne rute, mens med o E2-ruter ignoreres omkostningerne ved de interne links.

iBGP
det er klart, at BGP håndterer ruterne mod eksterne netværk, der er BGP-kompatible. Det ville dog være lidt pinligt, hvis alle BGP-routere i netværket ville fortælle deres eksterne naboer helt forskellige ting. Så alle BGP-routere i netværket skal tale med hinanden for at fortælle en ensartet historie til eksterne netværk. Dette er hvad intern BGP (iBGP) er til. Den” almindelige ” BGP er således ekstern BGP (eBGP). Når jeg siger alle BGP-routere, mener jeg virkelig dem alle: hvis dit netværk har 100 BGP-routere, skal hver af dem opretholde iBGP-sessioner med de andre 99. Nå, medmindre du bruger rutereflektorer, men det er en historie for en anden dag.

Hvis du er vant til eBGP, kræver iBGP noget at vænne sig til. I modsætning til eBGP, iBGP er bare fint
arbejder over mange humle. Dette tilføjer dog en komplikation. Overvej følgende netværk:
loopback-grænseflader

Antag, at iBGP-sessionen fra router A til router D bliver sat op mod router D ‘ S adresse på linket mellem B og D. Derefter, når forbindelsen mellem routere B og D går ned, går D ‘ S adresse på grænsefladen, der forbinder til dette link, ned, og med det konfigureres iBGP-sessionen mod grænsefladens adresse. Så i stedet for at konfigurere iBGP-sessioner mod grænsefladeadresser, oprettede vi loopback-grænseflader til dette. I modsætning til loopback-grænsefladen på en server eller en anden vært, der altid bruger adresse 127.0.0.1, bruger routere “rigtige” adresser på deres loopback-grænseflader, som fungerer sådan:

!
interface loopback0
ip-adresse 192.0.2.65 255.255.255.255
!
router bgp 9000
nabo 192.0.2.67 fjernbetjening – as 9000
nabo 192.0.2.67 opdatering-kilde loopback0
!

i modsætning til andre grænseflader kan loopback-grænseflader have en / 32 præfikslængde, så de kun bruger en enkelt adresse. Fjernbetjeningen som for nabo 192.0.2.67 er den samme som den lokale AS (9000), hvilket gør denne BGP-session til en iBGP-session. Linjen “update-source loopback0” sørger for, at kildeadressen i udgående BGP-pakker er den IP-adresse, der er konfigureret på interface loopback0, så den matcher den adresse, som den eksterne router leder efter. Hvis nu en sti mellem de to iBGP-routere går ned, kan iBGP-pakkerne omdirigeres over en anden sti, og der er ingen indflydelse på BGP. Bemærk, at for at dette kan fungere, skal loopback—grænsefladeadresserne 2 være til stede i IGP-typisk vil tilsluttede ruter blive omfordelt for at få dette til at ske.
BGP i store netværk eBook
også i modsætning til eBGP opdaterer iBGP ikke AS-stien eller den næste hop-adresse. Dette betyder, at den næste hop-adresse i iBGP-opdateringer stadig peger mod routerens IP-adresse i det nærliggende netværk, som ruten blev lært af. Denne adresse vil opholde sig i et punkt-til-punkt-undernet mellem din eBGP-router og BGP-routeren i det nærliggende netværk. Din eBGP-router kender denne adresse, fordi den findes på en direkte tilsluttet grænseflade, men uden yderligere handling kender resten af dine routere ikke denne adresse, så den næste hop-adresse til iBGP-ruter løses ikke, og iBGP-ruterne kan ikke bruges. Igen løser omfordeling af tilsluttede netværk til OSPF (eller din valgte IGP) dette. Alternativt kan du konfigurere “næste hop-selv” på dine iBGP-sessioner, og routeren erstatter den næste hop-adresse i iBGP-opdateringer med sin egen adresse.

BGP omfordeling
det er også muligt at omfordele ruter til BGP. For eksempel kan du i et stort internetudbyder-netværk omfordele tilsluttede og statiske ruter i BGP snarere end i IS-IS, fordi dette vil holde IS-er magert og betyder. De ekstra BGP-ruter er relativt ubetydelige, og en god fordel er, at hvis de omdirigeres internt, udløser dette ikke nogen BGP-opdateringer. Snarere løses de næste hop-adresser forskelligt efter en is-is-ændring, som hver router kan gøre uafhængigt. Selvfølgelig kræver dette gode filtre, der sørger for, at det store antal små præfikser, der bruges af kunder, ikke lækker ind i den globale BGP-tabel. En god måde at opnå en sådan filtrering er ved at tilføje et fællesskab til de ruter, der kan formeres i eBGP og derefter filter baseret på dette fællesskab.

Tilbage på dagen var det ikke ualmindeligt at omfordele alle BGP-ruter til OSPF. Med en halv million præfikser i BGP er denne praksis blevet mindre almindelig. Hvis du virkelig ønsker at leve på kanten, kan du omfordele BGP til OSPF og OSPF til BGP. Så hvis dine filtre ikke er perfekte, kan ruter tur-retur mellem BGP og OSPF, med det resultat, at AS-stien fjernes. Så nu annoncerer du over BGP en hel masse ruter, der ikke er dine, men med en one-hop som sti, så mange af dine naboer vil begynde at sende dig trafik til disse ruter.

administrativ afstand
Sidst men ikke mindst, hvad sker der, når den samme rute er til stede i både BGP og OSPF? Det er klart, at det er svært at sammenligne en BGP lokal præference til en OSPF-metrisk. Så hvad en (Cisco) router gør, er at tildele en “administrativ Afstand” til hver routingprotokol. Ruten med den laveste afstand vinder derefter. OSPF har en afstand på 110. BGP-ruter har en afstand på 20 (bedre end OSPF og andre IGP ‘er), når de læres over eBGP og 200 (værre end OSPF og andre IGP’ er), når de læres over iBGP. Statiske ruter har som standard en afstand på 1, men du kan ændre dette ved at inkludere en afstandsværdi i slutningen af kommandoen “ip-rute…”. En afstandsværdi på 250 vil holde dem ude af vejen for routingprotokoller. Den administrative afstand er det første tal mellem firkantede parenteser i “vis ip-rute” output.