OSPF maximale metriek: transit via een filiaal ontmoedigen zonder het te verwijderen
Een filiaal kan bereikbaar blijven terwijl het een onaantrekkelijke transitprijs aankondigt. Loop het pad door, lees de router-LSA en test het geval van het laatste pad.
Twee kantoren zijn verbonden via een filiaal dat zijn eigen verkeer en heel weinig anders zou moeten dragen. Het filiaal heeft routes naar beide locaties nodig, en geen van beide locaties zou het als de weg ertussen moeten verkiezen. Het filiaal uit de topologie verwijderen zou het transitprobleem oplossen en de eis breken, want het filiaal moet nog steeds beide locaties bereiken en beide locaties moeten nog steeds het filiaal bereiken.
Wat u wilt is een voorkeur, uitgedrukt in het routeringsprotocol, die het filiaal volledig bereikbaar laat en het een slechte keuze maakt voor alles wat erdoorheen gaat. Loop het probleem door in de volgorde waarin de routers het zien.
Begin bij de weg die u wilt vermijden
Teken de topologie zoals het protocol die ziet, niet zoals het diagram die ziet. Welke interfaces vormen buren, welke zitten in hetzelfde gebied, en welke van die buren zouden verkeer tussen de twee kantoren dragen als het filiaal de voorkeur kreeg? Dat zijn drie aparte vragen, en een diagram beantwoordt er geen enkele betrouwbaar.
Zoek dan de alternatieve weg. Als de enige route tussen de kantoren via het filiaal loopt, kan geen enkele metriek het verkeer ervan wegduwen, want het verkeer heeft nergens heen te gaan. Redundantie is geen detail van dit ontwerp; het is de voorwaarde. Een tweede weg die alleen op papier bestaat, telt niet.
show ip ospf neighbor
show ip ospf interface brief
show ip route 10.40.0.0
Deze drie weergaven beantwoorden verschillende vragen: wie is buur, welke interfaces nemen deel en tegen welke prijs, en welke weg het apparaat nu kiest. Een tunneluitrol voegt een vierde toe: een lijn op een diagram is geen bewijs dat de burenrelatie eroverheen is gevormd, en een gevormde burenrelatie is geen bewijs dat de doorsturing dezelfde weg volgt. In tunnelontwerpen komt die kloof het vaakst naar voren.
Wat de maximale metriek aankondigt
RFC 6987 beschrijft een router die zijn niet-stub-links aankondigt met de maximale linkmetriek, gedefinieerd als 0xffff. De router beschrijft zichzelf en zijn links nog steeds; hij prijst ze alleen aan de bovenkant van het bereik, zodat elke andere router een weg erdoorheen als duur berekent.
Dit is een router-LSA-wijziging, geen verwijdering van de topologie. Het onderscheid is belangrijk: het flushen van de router-LSA trekt de topologie-informatie zelf terug, wat ook de relaties kan intrekken die nodig zijn om de router en de prefixen erachter te bereiken. De aankondiging houden en de prijs verhogen behoudt die relaties. Dat is het hele verschil tussen deze techniek en verwijderen.
Het mechanisme RFC 6987 heeft ook niets te maken met gebiedstypen of met de verkiezing van de aangewezen router. Een stubgebied blokkeert een categorie link-state-aankondigingen bij een gebiedsgrens, en een stubrouter prijst zijn eigen links. Vergelijkbare woorden, ongerelateerde machinerie.
Waarom bereikbaarheid overleeft en transit niet
Andere routers hebben nog steeds een route naar de aangesloten prefixen van het filiaal, omdat het filiaal ze nog steeds aankondigt en de links nog steeds bestaan. Wat verandert, is de totale prijs van elke weg die onderweg elders door het filiaal gaat. De prefixen bewegen niet; alleen de prijs van het oversteken van de router verandert.
Voor verkeer waarvan de bron of bestemming het filiaal zelf is, ligt de dure link nog steeds op de enige verstandige weg, dus die wordt gebruikt. Voor verkeer tussen de twee kantoren wint de alternatieve weg nu op prijs, en het filiaal valt uit de doorsturingsbeslissing zonder uit de topologie te verdwijnen. Twee richtingen, twee verschillende antwoorden, en beide zijn het mechanisme dat werkt.
Dat is het gedrag om te verifiëren in plaats van aan te nemen. Kijk naar de router-LSA die het filiaal genereert, dan naar de weg die een andere router kiest voor een bestemming achter het filiaal en voor een bestemming in het andere kantoor. De twee antwoorden zouden moeten verschillen, en als ze dat niet doen, bereikt de metrikwijziging niet de beslissing die u denkt.
Het probleem van de laatste weg
Dezelfde RFC is expliciet dat de techniek het gebruik niet verbiedt. Wanneer de alternatieve weg uitvalt, vallen routers terug op de dure weg via het filiaal, omdat die nog steeds een geldige weg is en het protocol een dure route verkiest boven geen route.
Of die terugval aanvaardbaar is, is een beleidsvraag die u voor de uitrol moet beantwoorden. Een filiaal op een kleine uplink dat plotseling verkeer tussen kantoren draagt, kan erger zijn dan een storing, en het kan precies zijn wat u tijdens een onderhoudsvenster wilt. Beide antwoorden zijn legitiem; stilte niet.
Als de eis een strikt verbod is in plaats van een voorkeur, zal metrikontwerp alleen het niet opleveren. U heeft handhaving van de doorsturing nodig die bij de bedoeling past, plus gedefinieerd gedrag voor het geval waarin verkeer toch aankomt. Een weg als bruikbaar aankondigen en het verkeer vervolgens laten vallen, creëert een zwart gat dat moeilijker te diagnosticeren is dan een routeringslus.
Voor OSPFv3 bespreekt de RFC de R-bit als een andere manier om deelname aan transit uit te sluiten. Ga er niet van uit dat het hetzelfde gedrag van de laatste weg erft als de maximale-metriektechniek, en kopieer geen instellingen tussen de twee adresfamilies alsof het dezelfde functie is.
Bewijs het onder normale en gestoorde omstandigheden
Test twee keer: één keer met beide wegen beschikbaar en één keer met de voorkeursweg verwijderd. De eerste test laat de voorkeur werken, en de tweede laat zien wat het netwerk doet wanneer de voorkeur niet kan worden gerespecteerd. De tweede test overslaan laat de belangrijke helft ononderzocht.
show ip ospf database router 10.0.0.3
show ip route 172.20.8.0
traceroute 172.20.8.1
De databaseweergave toont de aangekondigde metriek, de routeopzoeking toont de gekozen volgende hop, en de trace toont waar de pakketten werkelijk heen gingen. Wanneer die drie overeenkomen, heeft u een geverifieerd ontwerp in plaats van een configuratie die er goed uitziet.
Herstel daarna de voorkeursweg en bevestig dat het filiaal terugkeert naar het dragen van alleen zijn eigen verkeer. De herstelstap hoort bij de test en niet bij het opruimen, want een ontwerp dat alleen tot de volgende wijziging werkt, is geen ontwerp. Schrijf beide uitkomsten op, inclusief de terugval, want de tweede is het antwoord dat iemand om drie uur ’s nachts nodig zal hebben.