Het Open Shortest Path First (OSPF)-routingprotocol wordt gedefinieerd door RFC 2328 OSPF-versie 2 . Het doel van dit document is te voorzien in een procedurekader dat organisaties in staat stelt om configuratiebeheersprocedures uit te voeren om OSPF-implementaties tegen OSPF-ontwerpplannen te controleren en om de OSPF-implementatie periodiek te controleren om consistentie op lange termijn met het beoogde ontwerp te waarborgen.
Dit document is gericht op de configuratie-beheerfuncties van het door ITU-T gedefinieerde FCAPS-model (fout, configuratie, accounting/inventaris, prestaties, beveiliging). Het configuratiebeheer is door ITU-T M.3400 gedefinieerd als het leveren van functies om de controle uit te oefenen over, te identificeren, gegevens te verzamelen van en gegevens te verstrekken aan NEs (Network Elementen).
De in dit document verstrekte informatie wordt in verschillende hieronder beschreven belangrijke paragrafen gepresenteerd.
De OSPF Background sectie verschaft een technologisch overzicht van OSPF met inbegrip van achtergrondinformatie over belangrijke aspecten van een OSPF-toepassing.
De sectie Procesdefinities geeft een overzicht van de procesdefinities die worden gebruikt om OSPF-configuratiebeheer te realiseren. De procesdetails worden beschreven in termen van doelstellingen, prestatie-indicatoren, input, output en individuele taken.
De sectie Taakdefinities bevat gedetailleerde procestaakdefinities. Elke taak wordt beschreven in termen van doelstellingen, taakinput, taakoutput, middelen die nodig zijn om de taak te volbrengen, en vaardigheden die nodig zijn voor een taakuitvoering.
In het gedeelte Data Identification wordt gegevensidentificatie voor OSPF beschreven. Bij de gegevensidentificatie wordt rekening gehouden met de bron van de informatie of waar deze zich bevindt. De informatie is bijvoorbeeld vervat in het systeem in de Simple Network Management Protocol (SNMP) Management Information Base (MIB), Syslog gegenereerde logbestanden of interne gegevensstructuren die alleen toegankelijk zijn door de Opdracht Line Interface (CLI).
De sectie van de gegevensverzameling van dit document beschrijft de verzameling van de OSPF-gegevens. De verzameling van de gegevens houdt nauw verband met de locatie van de gegevens. De gegevens van SNMP MIB worden bijvoorbeeld door verscheidene mechanismen zoals vallen, de alarmen en de gebeurtenissen van de Controle op Remote (RMON), of opiniepeiling verzameld. Gegevens die worden onderhouden door interne gegevensstructuren worden verzameld door automatische scripts of door een gebruiker handmatig loggen in het systeem om de CLI-opdracht uit te geven en vervolgens de uitvoer op te nemen.
De sectie Gegevenspresentatie geeft voorbeelden van hoe de gegevens in de rapportageformaten worden gepresenteerd. Nadat de gegevens zijn geïdentificeerd en verzameld, wordt ze geanalyseerd. Dit document biedt voorbeeldrapporten die kunnen worden gebruikt om OSPF-configuratiegegevens vast te leggen en te vergelijken.
De secties voor commerciële en openbare tools voor internetbewaking, SNMP Polling Data, en Voorbeelden van Algorithms bieden informatie over de ontwikkeling van gereedschappen om de OSPF-configuratiebeheerprocedure te implementeren.
OSPF is een intern gateway-protocol dat is ontworpen om binnen één autonoom systeem te worden gebruikt. OSPF gebruikt link-state of short-path eerste technologie (SPF), in vergelijking met de afstand-vector of Bellman-Ford technologie die in routingprotocollen zoals Routing Information Protocol (RIP) wordt gevonden. Individuele link-staat advertenties (LSAs) beschrijven stukken van het OSPF routingdomein, bijvoorbeeld, het volledige autonome systeem. Deze LSA's worden overstroomd door een routingdomein, dat de link-staat database vormt. Elke router in een domein heeft een identiek link-staat gegevensbestand. De synchronisatie van verbinding-staat gegevensbestanden wordt onderhouden met een betrouwbaar overstroomalgoritme. Van het verbinding-staat gegevensbestand, bouwt elke router een routing tabel door een kortst-pad boom te berekenen, met de wortel van de boom die de rekenrouter zelf is. Deze berekening wordt gewoonlijk het Dijkstra-algoritme genoemd.
LSAs zijn klein en elke LSA beschrijft een klein deel van het OSPF routingdomein, specifiek, de buurt van één enkele router, de buurt van één enkel transitnetwerk, één enkele intergebiedroute, of één enkele externe route.
Deze tabel definieert belangrijke functies van OSPF:
Functie | Beschrijving |
---|---|
Adjacentie | Wanneer paren van OSPF routers naast elkaar komen, synchroniseren de twee routers hun link-staat databases door databases samenvattingen van databases uit te wisselen in de vorm van OSPF-gegevensuitwisselingspakketten. Routers naast elkaar houden de synchronisatie van hun link-state databases vervolgens via het betrouwbare overstromingsalgoritme. Routers die door serielijnen worden aangesloten, raken altijd naast elkaar. Op multi-access netwerken (Ethernet), worden alle routers die aan het netwerk zijn gekoppeld naast zowel de aangewezen router (DR) als de back-up-aangewezen router (BDR). |
Aangewezen router | Wanneer een DR op alle multi-access netwerken is geselecteerd, komt deze voort uit het netwerk LSA dat de lokale omgeving van het netwerk beschrijft. Het speelt ook een speciale rol in het overstromingsalgoritme, aangezien alle routers op het netwerk hun link-state databases synchroniseren door LSA's te verzenden en ontvangen van en naar de DR tijdens het overstromingen proces. |
Reserve-aangewezen router | Wanneer de huidige DR verdwijnt, wordt een BDR op multi-access netwerken geselecteerd om de overgang van DR's te versnellen. Wanneer de BDR de zaak overneemt, hoeft deze niet in het nabijheidsproces van het LAN-netwerk (Local Area Network) te gebeuren. Met de BDR kan het betrouwbare overstromingsalgoritme ook in de afwezigheid van DR doorgaan voordat de verdwijning van de DR wordt opgemerkt. |
Ondersteuning voor multi-access-netwerken die niet worden uitgezonden | OSPF behandelt netwerken, zoals Frame Relay openbare gegevensnetwerken (PDN’s), alsof ze LAN’s waren. Er is echter extra configuratieinformatie nodig voor routers die aan deze netwerken zijn gekoppeld, om elkaar in eerste instantie te vinden. |
OSPF-configuratiebeheergebieden | OSPF maakt het mogelijk de autonome systemen in gebieden te verdelen. Dit biedt een extra niveau van routingbescherming zodat routing binnen een gebied beschermd wordt tegen alle informatie die buiten het gebied valt. Door een autonoom systeem in gebieden te verdelen, worden de kosten van de Dijkstra-procedure, in termen van CPU-cycli, verlaagd. |
Virtuele koppelingen | Door de configuratie van virtuele verbindingen toe te staan, verwijdert OSPF topologische beperkingen op gebiedslay-out in een autonoom systeem. |
Verificatie van routingprotocollen | Elke keer dat een OSPF-router een routingprotocol ontvangt, kan deze het pakket naar keuze voor authenticatie authenticeren voordat u het verder verwerkt. |
Flexibele routing | In OSPF worden metagegevens toegewezen aan uitgaande routerinterfaces. De kosten van een pad zijn de som van de component interfaces van het pad. De routingmetriek is, standaard, afgeleid van de bandbreedte van de link. Het kan door de systeembeheerder worden toegewezen om het even welke combinatie netwerkkenmerken zoals vertraging, bandbreedte, en kosten aan te geven. |
Gelijke kosten voor meerdere paden | Wanneer de meerdere best-kostenroutes naar een bestemming bestaan, vindt en gebruikt OSPF hen om gedeeld verkeer aan de bestemming te laden. |
Ondersteuning van variabele lengte | Ondersteunt variabele-lengte submaskers door een netwerkmasker met elke geadverteerde bestemming te dragen. |
Stub-gebiedsondersteuning | Om routers met onvoldoende geheugen te ondersteunen, kunnen gebieden als stopcontact worden geconfigureerd. Externe LSA's zijn niet overstroomd naar en door trommelgebieden. Routing naar externe bestemmingen in gebieden met stub is uitsluitend gebaseerd op standaardwaarden. |
Een procesdefinitie is een gekoppelde reeks acties, activiteiten en veranderingen die worden uitgevoerd door agenten met de bedoeling een doel te bereiken of een doel te bereiken.
Procesbeheersing is het proces van planning en regulering, met als doel een proces op doeltreffende en efficiënte wijze uit te voeren.
Dit wordt in de afbeelding hieronder weergegeven.
De productie van het proces moet in overeenstemming zijn met operationele normen die door een organisatie zijn vastgesteld en gebaseerd zijn op bedrijfsdoelstellingen. Als het proces in overeenstemming is met de reeks normen, wordt het proces als effectief beschouwd, aangezien het kan worden herhaald, gemeten, beheerd en tot de bedrijfsdoelstellingen bijdraagt. Als de activiteiten met een minimale inspanning worden uitgevoerd, wordt het proces ook efficiënt geacht.
Processen bestrijken verschillende organisatorische grenzen. Daarom is het belangrijk dat er één enkele proceseigenaar is die verantwoordelijk is voor de definitie van het proces. De eigenaar is het centrale punt voor het bepalen en rapporteren van de vraag of het proces effectief en efficiënt is. Als het proces niet effectief of efficiënt is, drijft de proceseigenaar de wijziging van het proces aan. Wijziging van het proces wordt geregeld door veranderingscontrole- en toetsingsprocessen.
Procesdoelstellingen worden vastgesteld om de richting en de reikwijdte van de procesdefinitie te bepalen. De doelen worden ook gebruikt om parameters te definiëren die worden gebruikt om de effectiviteit van een proces te meten.
Het doel van dit proces is te voorzien in een kader om de ingevoerde configuratie van een OSPF-implementatie te verifiëren tegen een voorgenomen ontwerp en een mechanisme te bieden om de OSPF-implementatie periodiek te controleren om consistentie in de tijd met betrekking tot het beoogde ontwerp te waarborgen.
Procesprestatie-indicatoren worden gebruikt om de doeltreffendheid van de procesdefinitie te meten. De prestatie-indicatoren moeten meetbaar en kwantificeerbaar zijn. De hieronder vermelde prestatie-indicatoren zijn ofwel numeriek ofwel gemeten in de tijd. Prestatie-indicatoren voor het OSPF-configuratiebeheer zijn als volgt gedefinieerd:
De tijd die u nodig hebt om door het gehele proces te bladeren.
De frequentie van uitvoering vereist om OSPF-problemen proactief te detecteren voordat ze gebruikers beïnvloeden.
De netwerkbelasting die aan de uitvoering van het proces is gekoppeld.
Het aantal corrigerende maatregelen dat door het proces wordt aanbevolen.
Het aantal corrigerende maatregelen dat naar aanleiding van het proces is uitgevoerd.
De tijd die nodig is om corrigerende maatregelen uit te voeren.
De tijd die nodig is om corrigerende maatregelen uit te voeren.
De achterstand van corrigerende maatregelen.
De downtime toegeschreven aan OSPF-gerelateerde problemen.
Het aantal toegevoegde, verwijderde of aangepaste items in het zaadbestand. Dit is een indicatie van nauwkeurigheid en stabiliteit.
Procesinput wordt gebruikt om criteria en voorwaarden voor een proces te definiëren. Vaak verschaft de identificatie van procesinput informatie over externe afhankelijkheden. Hieronder vindt u een lijst met inputs in verband met OSPF-configuratiebeheer.
OSPF-ontwerpdocumentatie
OSPF MIB-gegevens die door SNMP-stemming zijn verzameld
Syrische informatie
De output wordt als volgt gedefinieerd:
OSPF-configuratierapporten in de gegevenspresentatie van dit document
OSPF-configuratieaanbevelingen voor te ondernemen corrigerende maatregelen
De volgende secties definiëren de initialisatie en iteratieve taken verbonden aan OSPF configuratiebeheer.
Initialisatietaken worden eenmaal uitgevoerd tijdens de uitvoering van het proces en mogen niet met elke herhaling van het proces worden uitgevoerd.
Bij het controleren van de essentiële taken, indien wordt vastgesteld dat een van de taken niet wordt uitgevoerd of onvoldoende informatie verschaft om doeltreffend te voorzien in de behoeften van deze procedure, dient dit feit door de proceseigenaar te worden gedocumenteerd en aan het management te worden voorgelegd. De onderstaande tabel geeft een overzicht van de noodzakelijke initialisatietaken.
Voorwaarde taak | Beschrijving |
---|---|
Taakdoelstellingen en -input |
|
Uitvoer van taak | De taakuitvoering is een statusrapport dat de conditie van de vereiste taken vervult. Indien een van de ondersteunende taken ondoeltreffend wordt geacht, dient de proceseigenaar een verzoek in om de ondersteunende processen te laten actualiseren. Indien de ondersteunende processen niet kunnen worden bijgewerkt, moet een evaluatie worden uitgevoerd van de gevolgen voor dit proces. |
Taken | vaardigheidsset voor netwerkingenieur |
Het OSPF-configuratieproces vereist het gebruik van een zaadbestand om de noodzaak van een netwerkzoekfunctie te verwijderen. Het zaadbestand registreert de reeks routers die door het OSPF-proces worden geregeerd en wordt ook gebruikt als knooppunt om te coördineren met de processen voor wijzigingsbeheer in een organisatie. Bijvoorbeeld, als de nieuwe knooppunten in het netwerk worden ingevoerd, moeten zij aan het OSPF zaadbestand worden toegevoegd. Als de namen van de SNMP-community worden gewijzigd vanwege beveiligingsvereisten, dan moeten deze wijzigingen in het startbestand worden weergegeven. De onderstaande tabel beschrijft de processen voor het maken van een startbestand.
verwerken | Beschrijving |
---|---|
Taakdoelstellingen | Maak een zaadbestand dat gebruikt zal worden om OSPF-configuratiebeheersoftware te initialiseren. De opmaak van het zaadbestand is afhankelijk van de middelen die worden gebruikt om het OSPF-configuratieproces uit te voeren. Als er aangepaste scripts worden ontwikkeld, wordt het formaat van het startbestand gedefinieerd door de software design. Als een netwerkbeheersysteem (NMS) wordt gebruikt, wordt het formaat van het zaadbestand gedefinieerd door de NMS-documentatie. |
Taakinput |
|
Uitvoer van taak | Een startbestand voor het OSPF-configuratiebeheer. |
Taakmiddelen |
|
Taken |
|
Interinstitutionele taken worden uitgevoerd met elke iteratie van het proces en de frequentie ervan wordt bepaald en gewijzigd om de prestatie - indicatoren te verbeteren.
Het zaadbestand is van cruciaal belang voor de effectieve implementatie van het OSPF-configuratiebeheerproces. Daarom moet de huidige toestand van het zaadbestand actief worden beheerd. Veranderingen in het netwerk die de inhoud van het zaadbestand beïnvloeden moeten worden gevolgd door de eigenaar van het OSPF-configuratiebeheer.
verwerken | Beschrijving |
---|---|
Taakdoelstellingen |
|
Taakinput |
|
Uitvoer van taak |
|
Taakmiddelen |
|
Taken |
|
De twee stappen die worden gebruikt om de OSPF-scan uit te voeren zijn:
Verzamelen van de gegevens.
De gegevens analyseren.
Afhankelijk van de manier waarop het proces wordt gebruikt, zal de frequentie van deze twee stappen verschillen. Dit proces kan bijvoorbeeld worden gebruikt om installatiewijzigingen te controleren. In dit geval loopt de gegevensverzameling vóór en na de verandering, en de gegevensanalyse wordt uitgevoerd na de verandering om het succes van de verandering te bepalen.
Als dit proces wordt gebruikt om OSPF-ontwerprecords voor configuratiebeheer te controleren, zijn de gegevensverzameling en de analysekofrequentie afhankelijk van de snelheid van de verandering in het netwerk. Bijvoorbeeld, indien er een aanzienlijke mate van verandering in het netwerk is, worden de ontwerpverificaties eenmaal per week uitgevoerd. Als er zeer weinig verandering in het netwerk is, worden de ontwerpverificaties niet meer dan eens per maand uitgevoerd.
Het formaat van de OSPF-configuratiebeheersrapporten is afhankelijk van de middelen die worden gebruikt om het OSPF-configuratieproces uit te voeren. De volgende tabel biedt voorgestelde aangepaste ontwikkelde rapportageformaten.
Rapport | Notatie |
---|---|
Taakinput | Voor OSPF-configuratiebeheerrapporten, zie de sectie Gegevenspresentatie in dit document. |
Uitvoer van taak | Indien er tussen de scanrapporten en de logische ontwerpgegevens problemen worden aangetroffen, moet worden besloten welke optie correct is en welke onjuist is. Het onjuiste item moet worden gecorrigeerd. Dit kan een wijziging van de ontwerprecords of een netwerkveranderingsopdracht inhouden. |
Taakmiddelen |
|
Taken |
|
In de volgende tabel worden gegevens beschreven die kunnen worden toegepast op OSPF-configuratiebeheer.
Gegevens | Beschrijving |
---|---|
OSPF-gebieden | Informatie die de aangesloten gebieden van de router beschrijft omvat:
|
OSPF-interfaces | Beschrijft één interface vanuit het standpunt van OSPF zoals:
|
OSPF-buurstaat | Beschrijft een OSPF-buurman.
|
Cisco ondersteunt momenteel de RFC 1253 OSPF versie 2 MIB . RFC 1253 bevat geen SNMP-trap-definities voor OSPF. De nieuwste versie van de OSPF MIB is RFC 1850 OSPF versie 2 . SNMP-traps zijn gedefinieerd voor OSPF-RFC 1850. RFC 1850 wordt niet ondersteund op Cisco's implementatie van de OSPF MIB.
Raadpleeg het gedeelte SNMP-peilgegevens van dit document voor meer informatie.
Raadpleeg de pagina Cisco Network Management Software voor een definitieve lijst met MIB's die worden ondersteund op welk platform en codeversie.
Er zijn geen RMON - specifieke gegevens vereist voor deze procedure.
In het algemeen genereert Syslog servicespecifieke berichten voor verschillende technologieën. Hoewel de syslog-informatie beter geschikt is voor het beheer van fouten en prestaties, is de hier verstrekte informatie een referentie. Zie OSPF-foutmeldingen bij een voorbeeld van OSPF-systeeminformatie die door Cisco-apparaten gegenereerd is.
Zie voor een volledige lijst met systeemmeldingen per faciliteit de berichten en de herstelprocedures.
In deze versie van de OSPF-configuratiebeheerprocedure zijn er geen CLI-gegevens vereist.
De onderstaande tabel definieert de verschillende onderdelen van SNMP-gegevensverzameling.
SNMP-gegevenscomponent | Definitie |
---|---|
Algemene SNMP-configuratie | Zie SNMP configureren voor algemene informatie over best practices voor de SNMP-configuratie. |
Servicespecifieke SNMP-configuratie | Er zijn geen servicespecifieke SNMP-configuraties vereist voor deze procedure. |
SNMP MIB-vereisten | Zie het bovenstaande gedeelte Data Identification. |
SNMP MIB-stemcollectie | SNMP-polled data wordt verzameld door een commercieel systeem zoals HP OpenView of door aangepaste scripts. Zie het gedeelte Voorbeelden van algoritmen voor een verdere discussie over dit document. |
SNMP MIB-bundelverzameling | De huidige versie van OSPF MIB die op Cisco-apparaten wordt ondersteund ondersteunt SNMP-trap niet. Voor deze procedure zijn geen SNMP-traps vereist. |
Er zijn geen RMON - configuraties en gegevens vereist in deze versie van de procedure.
Algemene richtlijnen voor het configureren van systemen vallen buiten het toepassingsgebied van dit document. Raadpleeg de Cisco Secure PIX-firewall met één intern netwerk configureren en oplossen voor meer informatie.
OSPF-specifieke vereisten worden aangepakt door de OSPF-router te configureren om buurwijzigingen te loggen met een systeembericht met behulp van de volgende opdracht:
OSPF_ROUTER(config)# ospf log-adj-changes
In het algemeen biedt Cisco IOS CLI de meest directe toegang tot de ruwe informatie die door het NE bevat. De CLI-toegang is echter beter geschikt voor procedures voor probleemoplossing en voor activiteiten voor wijzigingsbeheer dan voor mondiaal configuratiebeheer zoals gedefinieerd door deze procedure. Toegang via de CLI zal niet opschalen voor het beheer van een groot netwerk. In deze gevallen is geautomatiseerde toegang tot de informatie vereist.
In deze versie van de OSPF-configuratiebeheerprocedure zijn er geen CLI-configuraties en gegevens vereist.
Het volgende is een voorbeeldformaat voor het OSPF gebiedsrapport. Het formaat van het rapport wordt bepaald door de mogelijkheden van een commerciële NMS, als men wordt gebruikt, of de ontworpen uitvoer van de aangepaste scripts.
Gebied | Gegevensvelden | Laatste run | Deze run |
---|---|---|---|
Gebied ID. #1 | Verificatie | ||
SPF-uitvoering | |||
ABR aantal | |||
ASBR-aantal | |||
LSA teller | |||
LSA-checksum | |||
Adres fouten | |||
Routingkaarten | |||
Geen route gevonden | |||
Gebied ID #n | Verificatie | ||
SPF-uitvoering | |||
ABR aantal | |||
ASBR-aantal | |||
LSA teller | |||
LSA-checksum | |||
Adres fouten | |||
Routingkaarten | |||
Geen route gevonden |
Het volgende is een voorbeeldformaat voor het OSPF interfacerapport. In de praktijk wordt het formaat van het rapport bepaald door de mogelijkheden van een commerciële NMS, indien men wordt gebruikt, of de ontworpen uitvoer van de aangepaste scripts.
Gebied | Apparaat | Interface | Gegevensvelden | Laatste run | Deze run |
---|---|---|---|---|---|
Gebied ID. #1 | Knooppunt-ID #1 | Interface-ID #1 | IP-adres | ||
Gebiedsid | |||||
Administratiestaat | |||||
OSPF-staat | |||||
Metriek/kosten/timers | |||||
Interface-id #n | IP-adres | ||||
Gebiedsid | |||||
Administratiestaat | |||||
OSPF-staat | |||||
Metriek/kosten/timers | |||||
Knooppunt-id #n | Interface-ID #1 | IP-adres | |||
Gebiedsid | |||||
Administratiestaat | |||||
OSPF-staat | |||||
Metriek/kosten/timers | |||||
Interface-id #n | IP-adres | ||||
Gebiedsid | |||||
Administratiestaat | |||||
OSPF-staat | |||||
Metriek/kosten/timers | |||||
Gebied ID #n | Knooppunt-ID #1 | Interface-ID #1 | IP-adres | ||
Gebiedsid | |||||
Administratiestaat | |||||
OSPF-staat | |||||
Metriek/kosten/timers | |||||
Interface-id #n | IP-adres | ||||
Gebiedsid | |||||
Administratiestaat | |||||
OSPF-staat | |||||
Metriek/kosten/timers | |||||
Knooppunt-id #n | Interface-ID #1 | IP-adres | |||
Gebiedsid | |||||
Administratiestaat | |||||
OSPF-staat | |||||
Metriek/kosten/timers | |||||
Interface-id #n | IP-adres | ||||
Gebiedsid | |||||
Administratiestaat | |||||
OSPF-staat | |||||
Metriek/kosten/timers |
Het volgende is een voorbeeldformaat voor het OSPF buurrapport. In de praktijk wordt het formaat van het rapport bepaald door de mogelijkheden van een commerciële NMS, indien men wordt gebruikt, of de ontworpen uitvoer van de aangepaste scripts.
Gebied | Apparaat | buren | Gegevensvelden | Laatste run | Deze run |
---|---|---|---|---|---|
Gebied ID. #1 | Knooppunt-ID #1 | buurman ID #1 | RouterID | ||
IP-adres router | |||||
Staat | |||||
Evenementen | |||||
Retrans Que | |||||
ID van de buurvrouw #n | RouterID | ||||
IP-adres router | |||||
Staat | |||||
Evenementen | |||||
Retrans Que | |||||
Knooppunt-id #n | buurman ID #1 | RouterID | |||
IP-adres router | |||||
Staat | |||||
Evenementen | |||||
Retrans Que | |||||
ID van de buurvrouw #n | RouterID | ||||
IP-adres router | |||||
Staat | |||||
Evenementen | |||||
Retrans Que | |||||
Gebied ID #n | Knooppunt-ID #1 | buurman ID #1 | RouterID | ||
IP-adres router | |||||
Staat | |||||
Evenementen | |||||
Retrans Que | |||||
ID van de buurvrouw #n | RouterID | ||||
IP-adres router | |||||
Staat | |||||
Evenementen | |||||
Retrans Que | |||||
Knooppunt-id #n | buurman ID #1 | RouterID | |||
IP-adres router | |||||
Staat | |||||
Evenementen | |||||
Retrans Que | |||||
ID van de buurvrouw #n | RouterID | ||||
IP-adres router | |||||
Staat | |||||
Evenementen | |||||
Retrans Que |
Er bestaan commerciële instrumenten voor het verzamelen en verwerken van sysloginformatie en voor het verzamelen van algemene SNMP MIB-variabelen.
Er zijn geen commerciële of openbare middelen voor internetcontrole bekend die OSPF-configuratiebeheer ondersteunen zoals gedefinieerd door deze procedure. Daarom zijn lokale aangepaste scripts en procedures vereist.
Naam van object | Beschrijving object |
---|---|
IProuteswitchprocessor | Het IP-adres van de bestemming van de route. Een boeking met een waarde van 0.0.0.0 wordt als een standaardroute beschouwd. Meervoudige routes naar één enkele bestemming kunnen in de tabel verschijnen, maar de toegang tot dergelijke meerdere items is afhankelijk van de mechanismen voor tabeltoegang die worden gedefinieerd door het in gebruik zijnde protocol voor netwerkbeheer. ::= {ipRouteEntry 1} object identifier = 1.3.6.1.2.1.4.21.1.1: |
IProuteswitch-masker | Geeft het masker aan dat logisch is met het doeladres voordat u het vergelijkt met de waarde in het veld ipRouteDest. Voor die systemen die geen willekeurige subnetmaskers ondersteunen, bouwt een agent de waarde van ipRouteMask door te bepalen of de waarde van het corresponderende ipRouteDest gebied tot een klasse A, B, of C netwerk behoort, die één van de volgende maskernetwerken gebruikt:
Opmerking: Alle IP-routingsubsystemen gebruiken impliciet dit mechanisme. ::= {ipRouteEntry 11} object identifier = 1.3.6.1.2.1.4.21.1.11 |
ipRouteNextHop | Het IP adres van de volgende hop van deze route. In het geval van een route die aan een interface wordt gebonden die met een uitzendmedia wordt verwezenlijkt, is de waarde van dit veld het IP-adres van de agent op de interface. ::= {ipRouteEntry 7} object identifier = 1.3.6.1.2.1.4.21.1.7 |
ipRouteAsIndex | De indexwaarde die uniek de lokale interface identificeert waardoor de volgende hop van de route wordt bereikt. Deze interface is dezelfde interface die geïdentificeerd is door de AsIndex waarde. ::= {ipRouteEntry 2} object identifier = 1.3.6.1.2.1.4.21.1.2 |
Naam van object | Beschrijving object |
---|---|
IndEntAsIndex | De indexwaarde die uniek de interface identificeert die van toepassing is op de ingang. Deze interface is dezelfde interface die geïdentificeerd is door de AsIndex waarde. ::= {ipAddrEntry 2} object identifier = 1.3.6.1.2.1.4.20.1.2 |
ipInAddr-fouten | Het aantal invoergegevens dat is weggegooid, omdat het IP-adres in hun IP-header een ongeldig doelveld voor de entiteit is. Deze telling omvat ongeldige adressen (0.0.0.0) en niet gesteunde klassenadressen (klasse E). Voor entiteiten die geen IP gateways zijn en geen datagrammen verzenden, omvat de teller datagrammen die worden verworpen omdat het bestemmingsadres geen lokaal adres was. ( { ip 5} object identifier = 1.3.6.1.2.1.4.5 |
ip-routingkaarten | Het aantal geldige routingitems dat is weggegooid. Een mogelijke oorzaak van het weggooien van een dergelijke ingang is het vrijmaken van bufferruimte voor andere routingangen. {ip 23} object identifier = 1.3.6.1.2.1.4.23 |
Uitgebreide routers | Het aantal teruggegooide IP-datagrammen omdat geen route kon worden gevonden om ze naar hun bestemming te verzenden. {ip 12} object identifier = 1.3.6.1.2.1.4.12 |
Naam van object | Beschrijving object |
---|---|
OSPF-gebied-ID | Een 32-bits getal dat een gebied uniek identificeert. Gebied ID 0.0.0.0 wordt gebruikt voor de OSPF-backbone. ::= { ospfAreaEntry 1} object identifier = 1.3.6.1.2.1.14.2.1.1 |
OSPFAutoType | Het voor dit gebied gespecificeerde authenticatietype. Aanvullende authenticatietypen kunnen lokaal worden toegewezen per gebied. De standaardwaarde is 0. ::= { ospfAreaEntry 2} object identifier = 1.3.6.1.2.1.14.2.1.2 |
OSPFSpfRuns | Het aantal keer dat de routingtabel binnen het gebied wordt gebruikt, is berekend met behulp van de link-state database van dit gebied. objectidentificator = 1.3.6.1.2.1.14.2.1.4 |
ospfAreaBdrRTReller | Het totale aantal BIB's dat binnen dit gebied bereikbaar is. Dit is aanvankelijk 0, de standaardwaarde, en wordt berekend in elke SPF-doorloop. ::= { ospfAreaEntry 5} object identifier = 1.3.6.1.2.1.14.2.1.5 |
OSPFASBdrRTRCount | Het totale aantal ABSR's dat binnen dit gebied bereikbaar is. Dit is aanvankelijk 0 (de standaardwaarde) en wordt berekend in elke SPF-doorloop. ::= { ospfAreaEntry 6} object identifier = 1.3.6.1.2.1.14.2.1.6 |
SpfAreaLSAC-montage | Het totale aantal LSA's in de link-staat database van een gebied, exclusief externe LSA's. De standaardwaarde is 0. ::= { ospfAreaEntry 7} object identifier = 1.3.6.1.2.1.14.2.1.7 |
ospfAreaLSACksumSom | De 32-bits niet-ondertekende som van de LS van de LSA checksum in de link-state database van het gebied. Deze som omvat geen externe LSA's (LS type 5). De som kan worden gebruikt om te bepalen als er een verandering in de verbinding-staat van een router gegevensbestand is geweest en om het verbinding-staat gegevensbestand van twee routers te vergelijken. De standaardwaarde is 0. ::= { ospfAreaEntry 8} object identifier = 1.3.6.1.2.1.14.2.1.8 |
Naam van object | Beschrijving object |
---|---|
OSPFAsIP-adres | Het IP-adres van de OSPF-interface. objectidentificator = 1.3.6.1.2.1.14.7.1.1 |
OSPF-evenementen | Het aantal keren dat de OSPF-interface zijn status heeft gewijzigd of dat er een fout is opgetreden. objectidentificator = 1.3.6.1.2.1.14.7.1.15 |
OSPFalsState | De OSPF interfacestatus. objectidentificator = 1.3.6.1.2.1.14.7.1.12 |
Naam van object | Beschrijving object |
---|---|
OSPFIBR-IP | Het IP-adres van deze buurman. ::= { ospfNbrEntry 1} object identifier = 1.3.6.1.2.1.14.10.1.1 |
HelpBrAddressLessIndex | De corresponderende waarde van AsIndex in de Internet standaard MIB op een index die geen IP adres heeft. Bij het maken van rijen kan dit worden afgeleid van de instantie. ::= { ospfNbrEntry 2} object identifier = 1.3.6.1.2.1.14.10.1.2 |
OSPF-NBRrtrID | Een 32-bits integer, weergegeven als een IPAddress, die de naburige router in het autonome systeem uniek identificeert. De standaardwaarde is 0.0.0.0. := { ospfNbrEntry 3} object identifier = 1.3.6.1.2.1.14.10.1.3 |
OSPF-NBReBR | De staat van de relatie met de buur. De staten zijn:
|
OSPFNBRevenementen | Het aantal keer dat de buurrelatie de status veranderd is, of er is een fout opgetreden. De standaardwaarde is 0. ::= { ospfNbrEntry 7} object identifier = 1.3.6.1.2.1.14.10.1.7 |
ospfNbrLSRetransQLen | De huidige lengte van de hertransmissiewachtrij. De standaardwaarde is 0. := { ospfNbrEntry 8} object identifier = 1.3.6.1.2.1.14.10.1.8 |
Tijdens het onderzoek van dit document werd een prototype C-programma ontwikkeld. Het programma, dat oscan wordt genoemd, is geschreven met Microsoft Development Studio 97 met Visual C++ versie 5.0. Er zijn twee specifieke bibliotheken die de SNMP-interface voor functionele toepassingen (API) bieden. Die bibliotheken zijn snmpapi.lib en mgmtapi.lib
De functies die door Microsoft API worden geboden, worden in drie hoofdcategorieën ingedeeld en in de onderstaande tabel opgenomen.
Agent-functies | Manager-functies | Functies voor hulpprogramma’s |
---|---|---|
SNMPExtensionInsights voor SNMPExtensionEX SNMPExtensionExtensionSearch SNMPExtensionTrap | SNMPMGRClose SNMPGRGetTrapGRoidToStr SNMPMGROpen SNMPMGRiMPEGSHMPGRAanvraag SNMPGRTovormig SNMPMGRTrapLuister | SnmpUtilMemAlloc SnmpUtilMemFree SnmpUtilMemReAlloc SnmpUtilOidAppend SmpUtilCMPUTERUTEROidCsmmpUTERUTERIDEESNMPUTER AsnAny SnmpUtilVarBindCpy SnmpUtilVarBindListCpy SnmpUtilVarBindFreeSNMPUtilVarBindListFreeFree |
De oscan-prototype-code heeft de Microsoft API ingekapseld met een reeks extra functies die hieronder worden genoemd.
snmpWalkStrOid
snmpWalkAsnOid
snmpWalkVarBind
snmpWalkVarBindList
Deze functies bieden een generieke API die toegang tot de verschillende SNMP MIB-tabellen toestaat die worden gebruikt om de OSPF-configuratiegegevens te onderhouden. Het object identifier (OID) voor de te bereiken tabel wordt doorgegeven aan de oscan API samen met een tabelspecifieke callback-functie. De callback functie heeft de intelligentie om te handelen op de gegevens die uit de tabellen worden teruggegeven.
De eerste taak is het maken van een lijst met knooppunten die het doel van het oscan-programma zullen zijn. Om het probleem van de "device discovery" te voorkomen, is een startbestand vereist om de knooppunten te identificeren die gescand moeten worden. Het zaadbestand bevat informatie zoals het IP-adres en de alleen-lezen SNMP-community strings.
Het oscan-programma moet meerdere interne gegevensstructuren onderhouden om de SNMP-informatie op te slaan die van de routers wordt verzameld. In het algemeen is er een interne gegevensstructuur voor elke SNMP MIB-tabel die wordt verzameld.
Main load node array based on information in the seed file. while more entries in the node array start SNMP session for this node collect IP route table for this node collect OSPF area table for this node collect OSPF Neighbor table for this node collect sysName for this node collect OSPF Interface table for this node end SNMP session for this node end while
Zorg ervoor dat u voorzichtig bent bij het benaderen van de IP-routetabel met SNMP omdat het eenvoudig is om de CPU van een router tijdens deze bewerking te overladen. Daarom gebruikt het oscan-programma een door de gebruiker configureerbare vertragingsparameter. De parameter biedt een vertraging tussen elk SNMP-verzoek. Voor grote omgevingen betekent dit dat de totale tijd om de informatie te verzamelen zeer belangrijk kan zijn.
De routekaart bevat vier stukken informatie die mogelijk interessant zijn voor:
IProuteswitchprocessor
IProuteswitch-masker
ipRouteNextHop
ipRouteAsIndex
De route tabel is geïndexeerd door ipRouteDest. Daarom is elk object dat van het SNMP get-request is geretourneerd aan de OID toegevoegd.
Het object ipRouteAsIndex is een integer dat indexen geeft in de IP-adrestabel (ipAddrTable). De ipAdresseerbare tabel is geïndexeerd met behulp van het ipAdEntAddr-object (het IP-adres van de interface). Om het IP-adres van de interface te bereiken, is een proces in vier stappen vereist:
Verzamel de ipRouteAsIndex van de routeringstabel.
Toegang tot de ipAddressTable met behulp van ipRouteAsIndex voor patronen die aangepast worden.
Wanneer een patroon wordt gevonden, converteer de OID naar een string en verzamel de laatste vier decimale velden met punten die het IP-adres van de interface zullen zijn.
Bewaar het IP-adres van de interface terug in de IP-routetabel.
Het algemene algoritme voor het toegang tot de IP routingtabel wordt hieronder weergegeven. Op dit punt wordt alleen de integerwaarde van de ipRouteAsIndex opgeslagen. Later in het proces, wanneer het verzamelen van de interface-informatie, wordt de ipAddrTable benaderd en wordt de resterende informatie verzameld en in de interne IP-routetabel geplaatst.
OID List = ipRouteDestOID, ipRouteMaskOID, ipRouteNextHopOID, ipRouteIfIndexOID; For each object returned by SNMP route table walk Sleep // user configurable polling delay. check varbind oid against OID list if OID is ipRouteDestOID add new entry in the internal route table array if OID is one of the others search internal route array for matching index value store information in array
De verzamelde informatie wordt weergegeven in een tabel die lijkt op de bekende uitvoer van de router CLI hieronder.
ROUTE TABLE ********************************************************** Destination Mask GW Interface 10.10.10.4 255.255.255.252 10.10.10.5 10.10.10.5 10.10.10.16 255.255.255.252 10.10.10.6 10.10.10.5 10.10.10.24 255.255.255.252 10.10.10.25 10.10.10.25 10.10.10.28 255.255.255.252 10.10.11.2 10.10.11.1 10.10.10.36 255.255.255.252 10.10.10.6 10.10.10.5 10.10.11.0 255.255.255.0 10.10.11.1 10.10.11.1 10.10.13.0 255.255.255.0 10.10.11.2 10.10.11.1
De verzameling van informatie uit de OSPF-gebiedstabel wordt uitgevoerd door de OSPF-gebiedstabel (ospfAreaTable) te scannen en de gegevens te verwerken zoals deze wordt geretourneerd. De index van ospfAreaTable is die van osfpAreaID. ospfAreaID wordt opgeslagen in decimale notatie met punten die identiek is aan een IP-adres. Daarom kunnen dezelfde subroutines die gebruikt werden om de ipRouteTable en ipRouteAsIndex te verwerken en te zoeken, hier opnieuw gebruikt worden.
Er zijn verscheidene gegevensposten die eigenlijk niet in de OSPF gebiedstabel zijn die in deze sectie zijn opgenomen. Bijvoorbeeld, de ipInAdresfouten, IPRoutingDiscards, en ipOutNoRoute voorwerpen zijn in de definitie MIB-2, maar worden niet geassocieerd met een OSPF-gebied. Deze objecten worden geassocieerd met een router. Daarom worden deze tellers gebruikt als gebied metrisch door de waarden voor elk knoop in een gebied aan een gebiedsteller toe te voegen. In het OSPF gebiedsrapport bijvoorbeeld, is het aantal pakketten dat verworpen is omdat geen route wordt gevonden de som van de pakketten die door alle routers in dat gebied verworpen zijn. Dit is een metriek op hoog niveau die een algemene mening van de routeringsgezondheid van het gebied verschaft.
OID List = ipInAddrErrorsOID, ipRoutingDiscardsOID, ipOutNoRouteOID, areaIdOID, authTypeOID, spfRunsOID, abrCountOID, asbrCountOID, lsaCountOID, lsaCksumSumOID; For object returned from the SNMP walk of the Area Table Sleep // user configurable polling delay. check varbind oid against OID list. if OID is ospfAreaId add new entry in the internal route table array if OID one of the others search internal array for matching index value store information in array end of for loop get ipInAddrErrors, ipRoutingDiscards, ipOutNoRoute add values to overall Area counters
De verzamelde informatie wordt weergegeven in onderstaande ASCII-tabel.
AREAS ********************************************************** AREA = 0.0.0.0 AREA = 0.0.0.2 authType = 0 authType = 0 spfRuns = 38 spfRuns = 18 abrCount = 2 abrCount = 1 asbrCount = 0 asbrCount = 0 lsaCount = 11 lsaCount = 7 lsaCksumSum = 340985 lsaCksumSum = 319204 ipInAddrErrors = 0 ipInAddrErrors = 0 ipRoutingDiscards = 0 ipRoutingDiscards = 0 ipOutNoRoutes = 0 ipOutNoRoutes = 0
De index voor de buurtabel is twee waarden:
ospfNbrIPAddress-The ospfNbrIP is het IP-adres van de buurman.
ospfNbrAddressLessIndex-The ospfNbrAddressLessIndex kan één van twee waarden zijn:
Voor een interface met een IP-adres dat is toegewezen, is het nul.
Voor een interface die geen IP adres toegewezen heeft, wordt het geïnterpreteerd als AsIndex van de Internet standaard MIB.
Omdat er twee waarden zijn voor de index, moet je de algoritmen aanpassen die eerder gebruikt worden voor de extra informatie toegevoegd aan de geretourneerde OID's. Na deze aanpassing kunnen dezelfde subroutines die gebruikt werden om de ipRouteTable en ipRouteIfIndex te verwerken en te zoeken, hier opnieuw gebruikt worden.
OID List = ospfNbrIpAddrOID, ospfNbrAddressLessIndexOID, ospfNbrRtrIdOID, ospfNbrStateOID, ospfNbrEventsOID, ospfNbrLSRetransQLenOID, For object returned from the SNMP walk of the Neighbor Table Sleep // user configurable polling delay. check varbind OID against OID list. if OID matches ospfNbrIpAddr add new entry in the internal neighbor table array if OID matches one of the others search array for matching index value store information in array
De verzamelde informatie wordt weergegeven in onderstaande ASCII-tabel.
NEIGHBORS ************************************************************ NEIGHBOR #0 NEIGHBOR #1 Nbr Ip Addr = 10.10.10.6 Nbr Ip Addr = 10.10.11.2 Nbr Rtr Id = 10.10.10.17 Nbr Rtr Id = 10.10.10.29 Nbr State = 8 Nbr State = 8 Nbr Events = 6 Nbr Events = 30 Nbr Retrans = 0 Nbr Retrans = 0