7.0 Dynamische routering
7.0.1 Introductie
De datanetwerken die we in ons dagelijks leven gebruiken om te leren, te spelen en te werken, variëren van kleine, lokale netwerken tot grote, wereldwijde internetwerken. Thuis kan een gebruiker een router en twee of meer computers hebben. Op het werk kan een organisatie meerdere routers en switches hebben die voorzien in de datacommunicatiebehoeften van honderden of zelfs duizenden pc’s.
Routers sturen pakketten door met behulp van informatie in de routeringstabel. Routes naar externe netwerken kunnen door de router op twee manieren worden geleerd: statische routes en dynamische routes.
In een groot netwerk met talrijke netwerken en subnetten vereist het configureren en onderhouden van statische routes tussen deze netwerken veel administratieve en operationele overhead. Deze operationele overhead is vooral omslachtig wanneer er wijzigingen in het netwerk plaatsvinden, zoals een downlink of het implementeren van een nieuw subnet. Het implementeren van dynamische routeringsprotocollen kan de last van configuratie- en onderhoudstaken verlichten en het netwerk schaalbaarheid geven.
Dit hoofdstuk introduceert dynamische routeringsprotocollen. Het onderzoekt de voordelen van het gebruik van dynamische routeringsprotocollen, hoe verschillende routeringsprotocollen worden geclassificeerd en de metrieken die routeringsprotocollen gebruiken om het beste pad voor netwerkverkeer te bepalen. Andere onderwerpen die in dit hoofdstuk worden behandeld, zijn de kenmerken van dynamische routeringsprotocollen en hoe de verschillende routeringsprotocollen verschillen. Netwerkprofessionals moeten de verschillende beschikbare routeringsprotocollen begrijpen om weloverwogen beslissingen te kunnen nemen over het gebruik van statische of dynamische routering. Ze moeten ook weten welk dynamisch routeringsprotocol het meest geschikt is in een bepaalde netwerkomgeving.
7.1. Dynamische routeringsprotocollen
7.1.1. Dynamische routeprotocolbewerking
7.1.1.1. De evolutie van dynamische routeringsprotocollen
Dynamische routeringsprotocollen worden sinds het einde van de jaren tachtig in netwerken gebruikt. Een van de eerste routeringsprotocollen was Routing Information Protocol (RIP). RIP versie 1 (RIPv1) werd uitgebracht in 1988, maar enkele van de basisalgoritmen binnen het protocol werden al in 1969 gebruikt op het Advanced Research Projects Agency Network (ARPANET).
Naarmate netwerken evolueerden en complexer werden, ontstonden er nieuwe routeringsprotocollen. Het RIP-routeringsprotocol is bijgewerkt om de groei in de netwerkomgeving op te vangen, in RIPv2. De nieuwere versie van RIP schaalt echter nog steeds niet naar de grotere netwerkimplementaties van vandaag. Om aan de behoeften van grotere netwerken te voldoen, zijn twee geavanceerde routeringsprotocollen ontwikkeld: Open Shortest Path First (OSPF) en Intermediate System-to-Intermediate System (IS-IS). Cisco ontwikkelde het Interior Gateway Routing Protocol (IGRP) en Enhanced IGRP (EIGRP), dat ook goed schaalt in grotere netwerkimplementaties.
Daarnaast was er de behoefte om verschillende internetwerken met elkaar te verbinden en daartussen te voorzien van routering. Het Border Gateway Protocol (BGP) wordt nu gebruikt tussen internetserviceproviders (ISP’s). BGP wordt ook gebruikt tussen ISP’s en hun grotere particuliere klanten om routeringsinformatie uit te wisselen.
IGP | IGP | IGP | IGP | EGP | |
---|---|---|---|---|---|
Distance Vector | Distance Vector | Link-State | Link-State | Path-Vector | |
IPv4 | RIPv2 | EIGRP | OSPFv2 | IS-IS | BGP-4 |
IPv6 | RIPng | EIGRP for IPv6 | OSPFv3 | IS-IS for IPv6 | BGP-MP |
Met de komst van talloze consumentenapparaten die IP gebruiken, is de IPv4-adresruimte bijna uitgeput; dus IPv6 is ontstaan. Om de communicatie op basis van IPv6 te ondersteunen, zijn nieuwere versies van de IP-routeringsprotocollen ontwikkeld, zie de IPv6-rij in de figuur.
RIP is de eenvoudigste van alle dynamische routeringsprotocollen en wordt in deze sectie gebruikt om een basisniveau van begrip van routeringsprotocollen te bieden.
7.1.1.2. Doel van dynamische routeringsprotocollen
Routeringsprotocollen worden gebruikt om de uitwisseling van routeringsinformatie tussen routers te vergemakkelijken. Een routeringsprotocol is een reeks processen, algoritmen en berichten die worden gebruikt om routeringsinformatie uit te wisselen en de routeringstabel te vullen met de beste paden die door het routeringsprotocol zijn gekozen. Het doel van dynamische routeringsprotocollen omvat:
Ontdekking van externe netwerken
- Up-to-date houden van route-informatie
- Het beste pad naar bestemmingsnetwerken kiezen
- Mogelijkheid om een nieuw beste pad te vinden als het huidige pad niet langer beschikbaar is
De belangrijkste componenten van dynamische routeringsprotocollen zijn:
- Gegevensstructuren – Routingprotocollen gebruiken meestal tabellen of databases voor hun bewerkingen. Deze informatie wordt in het RAM bewaard.
- Routingprotocolberichten – Routingprotocollen gebruiken verschillende soorten berichten om naburige routers te ontdekken, routeringsinformatie uit te wisselen en andere taken om nauwkeurige informatie over het netwerk te leren en te behouden.
- Algoritme – Een algoritme is een eindige lijst van stappen die worden gebruikt om een taak te volbrengen. Routeringsprotocollen gebruiken algoritmen om routeringsinformatie te vergemakkelijken en voor de beste padbepaling.
De afbeelding belicht de datastructuren, routeringsprotocolberichten en routeringsalgoritmen die door EIGRP worden gebruikt.
7.1.1.3. De rol van dynamische routeringsprotocollen
Met routeringsprotocollen kunnen routers dynamisch informatie over externe netwerken delen en deze informatie automatisch toevoegen aan hun eigen routeringstabellen; zie de animatie in de figuur.
Routeringsprotocollen bepalen het beste pad of de beste route naar elk netwerk. Die route wordt vervolgens toegevoegd aan de routeringstabel. Een belangrijk voordeel van dynamische routeringsprotocollen is dat routers routeringsinformatie uitwisselen wanneer er een topologiewijziging is. Deze uitwisseling stelt routers in staat om automatisch nieuwe netwerken te leren kennen en ook om alternatieve paden te vinden wanneer er een verbindingsfout is met een bestaand netwerk.
In vergelijking met statische routering vereisen dynamische routeringsprotocollen minder administratieve overhead. De kosten van het gebruik van dynamische routeringsprotocollen zijn echter het wijden van een deel van de bronnen van een router voor protocolwerking, inclusief CPU-tijd en bandbreedte van de netwerkverbinding. Ondanks de voordelen van dynamische routering, heeft statische routering nog steeds zijn plaats. Er zijn momenten waarop statische routering geschikter is en andere momenten waarop dynamische routering de betere keuze is. Netwerken met een gemiddelde complexiteit kunnen zowel statische als dynamische routering hebben geconfigureerd.
7.1.2. Dynamische versus statische routering
7.1.2.1. Statische routering gebruiken
Overweeg, voordat u de voordelen van dynamische routeringsprotocollen identificeert, de redenen waarom netwerkprofessionals statische routering gebruiken. Dynamische routering heeft zeker verschillende voordelen ten opzichte van statische routering; statische routering wordt echter nog steeds gebruikt in netwerken. In feite gebruiken netwerken doorgaans een combinatie van zowel statische als dynamische routering.
Statische routering heeft verschillende primaire toepassingen, waaronder:
- Eenvoudig onderhoud aan routeringstabel bieden in kleinere netwerken die naar verwachting niet significant zullen groeien.
- Routering van en naar een stub-netwerk, een netwerk met slechts één standaardroute en geen kennis van externe netwerken.
- Toegang tot een enkele standaardroute (die wordt gebruikt om een pad weer te geven naar een netwerk dat geen specifiekere overeenkomst heeft met een andere route in de routeringstabel).
De afbeelding biedt een voorbeeldscenario van statische routering.
7.1.2.2. Statische routeringsscorekaart
De tabel in de afbeelding belicht de voor- en nadelen van statische routering. Statische routering is eenvoudig te implementeren in een klein netwerk. Statische routes blijven hetzelfde, waardoor ze vrij eenvoudig op te lossen zijn. Statische routes verzenden geen updateberichten en vereisen daarom weinig overhead.
Voordelen | Nadelen |
---|---|
Eenvoudig te implementeren in een klein netwerk. | Alleen geschikt voor eenvoudige topologieën of voor speciale doeleinden zoals een standaard statische route. |
Zeer veilig. Er worden geen advertenties verzonden in vergelijking met dynamische routeringsprotocollen. | De configuratiecomplexiteit neemt dramatisch toe naarmate het netwerk groeit. |
Route naar bestemming is altijd hetzelfde. | Handmatig ingrijpen vereist om verkeer om te leiden. |
Geen routeringsalgoritme of updatemechanisme vereist; daarom zijn er geen extra resources (CPU of RAM) nodig. |
De nadelen van statische routering zijn onder meer:
- Ze zijn niet eenvoudig te implementeren in een groot netwerk.
- Het beheren van de statische configuraties kan tijdrovend worden.
- Als een koppeling mislukt, kan een statische route het verkeer niet omleiden.
7.1.2.3. Dynamische routeringsprotocollen gebruiken
Dynamische routeringsprotocollen helpen de netwerkbeheerder het tijdrovende en veeleisende proces van het configureren en onderhouden van statische routes te beheren.
Stel je voor dat je de statische routeringsconfiguraties voor de zeven routers in volgende afbeelding onderhoudt.
Wat als het bedrijf zou groeien en nu vier regio’s en 28 routers moest beheren, zoals weergegeven in de volgende afbeelding? Wat gebeurt er als een link uitvalt? Hoe zorg je ervoor dat er redundante paden beschikbaar zijn?
Dynamische routering is de beste keuze voor grote netwerken zoals het getoonde.
7.1.2.4. Dynamische routeringsscorekaart
De tabel in de figuur laat de voor- en nadelen van dynamische routering zien. Dynamische routeringsprotocollen werken goed in elk type netwerk dat uit meerdere routers bestaat. Ze zijn schaalbaar en bepalen automatisch betere routes bij een wijziging in de topologie. Hoewel er meer komt kijken bij het configureren van dynamische routeringsprotocollen, zijn ze eenvoudiger te configureren in een groot netwerk.
Nadelen | Voordelen |
---|---|
Geschikt in alle topologieën waar meerdere routers nodig zijn. | Kan ingewikkelder zijn om te implementeren. |
Over het algemeen onafhankelijk van de netwerkgrootte. | Minder veilig. Er zijn aanvullende configuratie-instellingen nodig om te beveiligen. |
Past de topologie automatisch aan om verkeer om te leiden indien mogelijk. | Route is afhankelijk van de huidige topologie. |
Vereist extra CPU, RAM en linkbandbreedte. |
Er zijn nadelen aan dynamische routering. Dynamische routering vereist kennis van aanvullende commando’s. Het is ook minder veilig dan statische routering omdat de interfaces die door het routeringsprotocol worden geïdentificeerd, routeringsupdates verzenden. Genomen routes kunnen verschillen tussen pakketten. Het routeringsalgoritme gebruikt extra CPU, RAM en linkbandbreedte.
Merk op hoe dynamische routering de nadelen van statische routering aanpakt.
7.1.3. Elementaire routeringsprotocol werking
7.1.3.1. Dynamische Routing Protocol-bewerking
Alle routeringsprotocollen zijn ontworpen om te leren over externe netwerken en om snel aan te passen wanneer er een verandering in de topologie is. De methode die een routeringsprotocol gebruikt om dit te bereiken, hangt af van het algoritme dat het gebruikt en de operationele eigenschappen van dat protocol.
In het algemeen kunnen de bewerkingen van een dynamisch routeringsprotocol als volgt worden beschreven:
- De router verzendt en ontvangt routeringsberichten op zijn interfaces.
- De router deelt routeringsberichten en routeringsinformatie met andere routers die hetzelfde routeringsprotocol gebruiken.
- Routers wisselen routeringsinformatie uit om meer te weten te komen over externe netwerken.
- Wanneer een router een topologiewijziging detecteert, kan het routeringsprotocol deze wijziging bekendmaken aan andere routers.
7.1.3.2. Koude start
Alle routeringsprotocollen volgen dezelfde werkingspatronen. Om dit te illustreren, kunt u het volgende scenario overwegen waarin alle drie de routers RIPv2 gebruiken.
Wanneer een router opstart, weet deze niets over de netwerktopologie. Het weet niet eens dat er apparaten aan de andere kant van zijn links zijn. De enige informatie die een router heeft, is afkomstig uit zijn eigen opgeslagen configuratiebestand dat is opgeslagen in NVRAM. Nadat een router succesvol is opgestart, past deze de opgeslagen configuratie toe. Als de IP-adressering correct is geconfigureerd, ontdekt de router in eerste instantie zijn eigen direct aangesloten netwerken.
Bekijk de animatie te van de eerste ontdekking van verbonden netwerken voor elke router.
Merk op hoe de routers het opstartproces doorlopen en vervolgens direct verbonden netwerken en subnetmaskers ontdekken. Deze informatie wordt als volgt aan hun routeringstabellen toegevoegd:
- R1 voegt het 10.1.0.0-netwerk toe dat beschikbaar is via interface FastEthernet 0/0 en 10.2.0.0 is beschikbaar via interface Serial 0/0/0.
- R2 voegt het 10.2.0.0-netwerk toe dat beschikbaar is via interface Serial 0/0/0 en 10.3.0.0 is beschikbaar via interface Serial 0/0/1.
- R3 voegt het 10.3.0.0-netwerk toe dat beschikbaar is via interface Serial 0/0/1 en 10.4.0.0 is beschikbaar via interface FastEthernet 0/0.
Met deze initiële informatie gaan de routers vervolgens op zoek naar aanvullende routebronnen voor hun routeringstabellen.
7.1.3.3. Netwerk ontdekking
Na de eerste keer opstarten en ontdekken, wordt de routeringstabel bijgewerkt met alle direct verbonden netwerken en de interfaces waarop deze netwerken zich bevinden.
Als er een routeringsprotocol is geconfigureerd, is de volgende stap dat de router begint met het uitwisselen van routeringsupdates om meer te weten te komen over eventuele externe routes.
De router stuurt een updatepakket naar alle interfaces die op de router zijn ingeschakeld. De update bevat de informatie in de routeringstabel, die momenteel allemaal direct verbonden netwerken zijn.
Tegelijkertijd ontvangt en verwerkt de router soortgelijke updates van andere aangesloten routers. Na ontvangst van een update controleert de router deze op nieuwe netwerkinformatie. Alle netwerken die momenteel niet in de routeringstabel staan, worden toegevoegd.
Raadpleeg de volgende afbeelding voor een topologie-instelling tussen drie routers, R1, R2 en R3. Op basis van deze topologie vindt u hieronder een lijst van de verschillende updates die R1, R2 en R3 verzenden en ontvangen tijdens de initiële convergentie.
R1:
- Stuurt een update over netwerk 10.1.0.0 uit de Serial0/0/0-interface
- Stuurt een update over netwerk 10.2.0.0 uit de FastEthernet0/0-interface
- Ontvangt update van R2 over netwerk 10.3.0.0 en verhoogt het aantal hops met 1
- Slaat netwerk 10.3.0.0 op in de routeringstabel met een metriek van 1
R2:
- Stuurt een update over netwerk 10.3.0.0 uit de seriële 0/0/0-interface
- Stuurt een update over netwerk 10.2.0.0 uit de seriële 0/0/1-interface
- Ontvangt een update van R1 over netwerk 10.1.0.0 en verhoogt het aantal hops met 1
- Slaat netwerk 10.1.0.0 op in de routeringstabel met een metriek van 1
- Ontvangt een update van R3 over netwerk 10.4.0.0 en verhoogt het aantal hops met 1
- Slaat netwerk 10.4.0.0 op in de routeringstabel met een metriek van 1
R3:
- Stuurt een update over netwerk 10.4.0.0 uit de seriële 0/0/1-interface
- Stuurt een update over netwerk 10.3.0.0 uit de FastEthernet0/0
- Ontvangt een update van R2 over netwerk 10.2.0.0 en verhoogt het aantal hops met 1
- Slaat netwerk 10.2.0.0 op in de routeringstabel met een metriek van 1
Bekijk de voorgaande animatie van R1, R2 en R3 die de initiële uitwisseling starten.
Na deze eerste ronde van update-uitwisselingen is elke router op de hoogte van de verbonden netwerken van zijn direct verbonden buren. Is het je echter opgevallen dat R1 10.4.0.0 nog niet kent en dat R3 10.1.0.0 nog niet kent? Volledige kennis en een geconvergeerd netwerk vinden pas plaats als er opnieuw routeringsinformatie wordt uitgewisseld.
7.1.3.4. De routeringsinformatie uitwisselen
Op dit punt hebben de routers kennis over hun eigen direct aangesloten netwerken en over de aangesloten netwerken van hun directe buren. De routers zetten de reis naar convergentie voort en wisselen de volgende ronde van periodieke updates uit. Elke router controleert de updates opnieuw op nieuwe informatie.
Raadpleeg de volgende afbeelding voor een topologie-instelling tussen drie routers, R1, R2 en R3. Nadat de eerste detectie is voltooid, zet elke router het convergentieproces voort door de volgende updates te verzenden en te ontvangen.
R1:
- Stuurt een update over netwerk 10.1.0.0 uit de seriële 0/0/0-interface
- Stuurt een update over netwerken 10.2.0.0 en 10.3.0.0 uit de FastEthernet0/0-interface
- Ontvangt een update van R2 over netwerk 10.4.0.0 en verhoogt het aantal hops met 1
- Slaat netwerk 10.4.0.0 op in de routeringstabel met een metriek van 2
Dezelfde update van R2 bevat informatie over netwerk 10.3.0.0 met een metrische waarde van 1. Er is geen verandering; daarom blijft de routeringsinformatie hetzelfde
R2:
- Stuurt een update over netwerken 10.3.0.0 en 10.4.0.0 uit de seriële 0/0/0-interface
- Stuurt een update over netwerken 10.1.0.0 en 10.2.0.0 uit de seriële 0/0/1-interface
- Ontvangt een update van R1 over netwerk 10.1.0.0. Er is geen verandering; daarom blijft de routeringsinformatie hetzelfde
- Ontvangt een update van R3 over netwerk 10.4.0.0. Er is geen verandering; daarom blijft de routeringsinformatie hetzelfde
R3:
- Stuurt een update over netwerk 10.4.0.0 uit de seriële 0/0/1-interface
- Stuurt een update over netwerken 10.2.0.0 en 10.3.0.0 uit de FastEthernet0/0-interface
- Ontvangt een update van R2 over netwerk 10.1.0.0 en verhoogt het aantal hops met 1
- Slaat netwerk 10.1.0.0 op in de routeringstabel met een metriek van 2
Dezelfde update van R2 bevat informatie over netwerk 10.2.0.0 met een metrische waarde van 1. Er is geen verandering; daarom blijft de routeringsinformatie hetzelfde
Bekijk de voorgaande animatie van R1, R2 en R3 die de nieuwste routeringstabel naar hun buren sturen.
Afstandsvectorrouteringsprotocollen implementeren typisch een routeringsluspreventietechniek die bekend staat als gesplitste horizon. Gesplitste horizon voorkomt dat informatie via dezelfde interface wordt verzonden als waar deze is ontvangen. R2 verzendt bijvoorbeeld geen update met het netwerk 10.1.0.0 uit serieel 0/0/0, omdat R2 via serieel 0/0/0 leerde over netwerk 10.1.0.0.
Nadat routers binnen een netwerk zijn geconvergeerd, kan de router de informatie in de routetabel gebruiken om het beste pad te bepalen om een bestemming te bereiken. Verschillende routeringsprotocollen hebben verschillende manieren om het beste pad te berekenen.
7.1.3.5. Convergentie bereiken
Het netwerk is geconvergeerd wanneer alle routers volledige en nauwkeurige informatie over het hele netwerk hebben, zoals weergegeven in volgende afbeelding. De convergentietijd is de tijd die routers nodig hebben om informatie te delen, de beste paden te berekenen en hun routeringstabellen bij te werken. Een netwerk is pas volledig operationeel als het netwerk is geconvergeerd; daarom vereisen de meeste netwerken korte convergentietijden.
Convergentie is zowel samenwerkend als onafhankelijk. De routers delen informatie met elkaar, maar moeten onafhankelijk de impact van de topologiewijziging op hun eigen routes berekenen. Omdat ze onafhankelijk een overeenkomst met de nieuwe topologie ontwikkelen, zouden ze op deze consensus convergeren.
Convergentie-eigenschappen omvatten de voortplantingssnelheid van routeringsinformatie en de berekening van optimale paden. De voortplantingssnelheid verwijst naar de hoeveelheid tijd die routers binnen het netwerk nodig hebben om routeringsinformatie door te sturen.
Zoals weergegeven in de volgende afbeelding, kunnen routeringsprotocollen worden beoordeeld op basis van de snelheid tot convergentie; hoe sneller de convergentie, hoe beter het routeringsprotocol. Over het algemeen convergeren oudere protocollen, zoals RIP, traag, terwijl moderne protocollen, zoals EIGRP en OSPF, sneller convergeren.
7.1.4. Soorten routeringsprotocollen
7.1.4.1. Routingprotocollen classificeren
Routeringsprotocollen kunnen op basis van hun kenmerken in verschillende groepen worden ingedeeld. Specifiek kunnen routeringsprotocollen worden geclassificeerd op basis van hun:
- Doel – Interieur Gateway Protocol (IGP) of Exterieur Gateway Protocol (EGP)
- Bediening – Afstandsvector, link-state-protocol of path-vector-protocol
- Gedrag – Classful (legacy) of classless protocol
IPv4-routeringsprotocollen worden bijvoorbeeld als volgt geclassificeerd:
- RIPv1 (legacy) – IGP, afstandsvector, klassiek protocol
- IGRP (legacy) – IGP, distance vector, classful protocol ontwikkeld door Cisco (verouderd vanaf 12.2 IOS en later)
- RIPv2 – IGP, afstandsvector, klasseloos protocol
- EIGRP – IGP, afstandsvector, klasseloos protocol ontwikkeld door Cisco
- OSPF – IGP, link-state, klasseloos protocol
- IS-IS – IGP, link-state, klasseloos protocol
- BGP – EGP, pad-vector, klasseloos protocol
De klassieke routeringsprotocollen, RIPv1 en IGRP, zijn legacy-protocollen en worden alleen in oudere netwerken gebruikt. Deze routeringsprotocollen zijn geëvolueerd naar respectievelijk de klasseloze routeringsprotocollen, RIPv2 en EIGRP. Link-state routeringsprotocollen zijn van nature klasseloos.
De volgende afbeelding toont een hiërarchische weergave van de classificatie van dynamische routeringsprotocollen.
7.1.4.2. IGP- en EGP-routeringsprotocollen
Een autonoom systeem (AS) is een verzameling routers onder een gemeenschappelijke administratie, zoals een bedrijf of een organisatie. Een AS wordt ook wel een routeringsdomein genoemd. Typische voorbeelden van een AS zijn het interne netwerk van een bedrijf en het netwerk van een ISP.
Het internet is gebaseerd op het AS-concept; daarom zijn twee soorten routeringsprotocollen vereist:
- Interior Gateway Protocols (IGP) – Gebruikt voor routering binnen een AS. Het wordt ook wel intra-AS-routering genoemd. Bedrijven, organisaties en zelfs serviceproviders gebruiken een IGP op hun interne netwerken. IGP’s omvatten RIP, EIGRP, OSPF en IS-IS.
- Exterieur Gateway Protocollen (EGP) – Gebruikt voor routering tussen AS. Het wordt ook wel inter-AS-routering genoemd. Dienstverleners en grote bedrijven kunnen onderling verbinden via een EGP. Het Border Gateway Protocol (BGP) is de enige momenteel levensvatbare EGP en is het officiële routeringsprotocol dat door internet wordt gebruikt.
Opmerking: omdat BGP de enige beschikbare EGP is, wordt de term EGP zelden gebruikt; in plaats daarvan verwijzen de meeste ingenieurs gewoon naar BGP.
Het voorbeeld in de afbeelding biedt eenvoudige scenario’s die de inzet van IGP’s, BGP en statische routering benadrukken:
- ISP-1 – Dit is een AS en gebruikt IS-IS als IGP. Het maakt verbinding met andere autonome systemen en serviceproviders die BGP gebruiken om expliciet te bepalen hoe het verkeer wordt gerouteerd.
- ISP-2 – Dit is een AS en het gebruikt OSPF als de IGP. Het maakt verbinding met andere autonome systemen en serviceproviders die BGP gebruiken om expliciet te bepalen hoe het verkeer wordt gerouteerd.
- AS-1 – Dit is een grote organisatie en gebruikt EIGRP als IGP. Omdat het multihomed is (d.w.z. verbinding maakt met twee verschillende serviceproviders), gebruikt het BGP om expliciet te bepalen hoe verkeer het AS binnenkomt en verlaat.
- AS-2 – Dit is een middelgrote organisatie en gebruikt OSPF als IGP. Het is ook multihomed; daarom gebruikt het BGP om expliciet te bepalen hoe verkeer de AS binnenkomt en verlaat.
- AS-3 – Dit is een kleine organisatie met oudere routers binnen de AS; het gebruikt RIP als de IGP. BGP is niet vereist omdat het single-homed is (d.w.z. verbinding maakt met één serviceprovider). In plaats daarvan wordt statische routering geïmplementeerd tussen het AS en de serviceprovider.
Let op: BGP valt buiten het bestek van deze cursus en wordt niet in detail besproken.
7.1.4.3. Afstand Vector Routing Protocollen
Afstandsvector betekent dat routes worden geadverteerd door twee kenmerken te bieden:
- Afstand – identificeert hoe ver het is naar het doelnetwerk en is gebaseerd op een metriek zoals het aantal hops, kosten, bandbreedte, vertraging en meer.
- Vector – Specificeert de richting van de next-hop router of exit-interface om de bestemming te bereiken.
In de figuur weet R1 bijvoorbeeld dat de afstand om netwerk 172.16.3.0/24 te bereiken één sprong is en dat de richting uit de interface S0/0/0 naar R2 is.
Een router die een afstandsvectorrouteringsprotocol gebruikt, heeft niet de kennis van het volledige pad naar een bestemmingsnetwerk. Afstandsvectorprotocollen gebruiken routers als wegwijzers langs het pad naar de eindbestemming. De enige informatie die een router weet over een extern netwerk is de afstand of meetwaarde om dat netwerk te bereiken en welk pad of welke interface moet worden gebruikt om daar te komen. Afstandsvectorrouteringsprotocollen hebben geen echte kaart van de netwerktopologie.
Er zijn vier afstandsvector IPv4 IGP’s:
- RIPv1 – Eerste generatie legacy-protocol
- RIPv2 – Eenvoudig afstandsvectorrouteringsprotocol
- IGRP – Eerste generatie Cisco eigen protocol (verouderd en vervangen door EIGRP)
- EIGRP – Geavanceerde versie van vectorroutering op afstand
7.1.4.4. Link-State Routing Protocollen
In tegenstelling tot de werking van het vectorrouteringsprotocol op afstand, kan een router die is geconfigureerd met een routeringsprotocol met linkstatus een compleet beeld van topologie van het netwerk creëren door informatie van alle andere routers te verzamelen.
Om onze analogie van wegwijzers voort te zetten, is het gebruik van een routeringsprotocol met linkstatus hetzelfde als het hebben van een volledige kaart van de netwerktopologie. De wegwijzers langs de weg van bron naar bestemming zijn niet nodig, omdat alle link-state routers een identieke kaart van het netwerk gebruiken. Een link-state-router gebruikt de link-state-informatie om een topologiekaart te maken en om het beste pad naar alle bestemmingsnetwerken in de topologie te selecteren.
RIP-compatibele routers sturen periodieke updates van hun routeringsinformatie naar hun buren. Routeringsprotocollen met linkstatus maken geen gebruik van periodieke updates. Nadat het netwerk is geconvergeerd, wordt alleen een update van de linkstatus verzonden wanneer er een wijziging in de topologie is. De link-state-update in de animatie wordt bijvoorbeeld pas verzonden als het 172.16.3.0-netwerk uitvalt.
Bekijk onderstaande animatie om de koppelingsstatusbewerkingen te bekijken.
Link-state-protocollen werken het beste in waarin:
- Het netwerkontwerp is hiërarchisch en komt meestal voor in grote netwerken
- Snelle convergentie van het netwerk is cruciaal
- De beheerders hebben goede kennis van het essentiële routeringsprotocol voor linkstatus
Er zijn twee link-state IPv4 IGP’s:
- OSPF – Op populaire standaarden gebaseerd routeringsprotocol
- IS-IS – Populair in providernetwerken
7.1.4.5. Classful Routing Protocollen
Het grootste onderscheid tussen classful en classless routeringsprotocollen is dat classful routeringsprotocollen geen subnetmaskerinformatie verzenden in hun routeringsupdates. Klasseloze routeringsprotocollen bevatten subnetmaskerinformatie in de routeringsupdates.
De twee oorspronkelijk ontwikkelde IPv4-routeringsprotocollen waren RIPv1 en IGRP. Ze zijn gemaakt toen netwerkadressen werden toegewezen op basis van klassen (d.w.z. klasse A, B of C). Op dat moment hoefde een routeringsprotocol het subnetmasker niet in de routeringsupdate op te nemen, omdat het netwerkmasker kon worden bepaald op basis van het eerste octet van het netwerkadres.
Opmerking: alleen RIPv1 en IGRP zijn klassevol. Alle andere IPv4- en IPv6-routeringsprotocollen zijn klasseloos. Classful addressing is nooit een onderdeel geweest van IPv6.
Het feit dat RIPv1 en IGRP geen subnetmaskerinformatie opnemen in hun updates, betekent dat ze geen subnetmaskers met variabele lengte (VLSM’s) en klasseloze interdomeinroutering (CIDR) kunnen bieden.
Classful routing protocollen zorgen ook voor problemen in niet-aangrenzende netwerken. Een niet-aangrenzend netwerk is wanneer subnetten van hetzelfde klassevolle hoofdnetwerkadres worden gescheiden door een ander klassevol netwerkadres.
Raadpleeg de topologie in volgende afbeelding om de tekortkoming van classful routing te illustreren. Merk op dat de LAN’s van R1 (172.16.1.0/24) en R3 (172.16.2.0/24) beide subnetten zijn van hetzelfde klasse B-netwerk (172.16 .0.0/16). Ze worden van elkaar gescheiden door verschillende klassevolle netwerkadressen (192.168.1.0/30 en 192.168.2.0/30).
Wanneer R1 een update doorstuurt naar R2, neemt RIPv1 de subnetmaskerinformatie niet op bij de update; het stuurt alleen het klasse B-netwerkadres 172.16.0.0 door.
R2 ontvangt en verwerkt de update. Vervolgens maakt en voegt het een item toe voor het klasse B 172.16.0.0/16-netwerk in de routeringstabel, zoals weergegeven in de volgende afbeelding.
Volgende afbeelding laat zien dat wanneer R3 een update naar R2 doorstuurt, deze ook geen subnetmaskerinformatie bevat en daarom alleen het klassevolle netwerkadres 172.16.0.0 doorstuurt.
In het volgende voorbeeld laat zien dat R2 de update ontvangt en verwerkt en een ander item toevoegt voor het klassevolle netwerkadres 172.16.0.0/16 aan de routeringstabel. Wanneer er twee vermeldingen met identieke statistieken in de routeringstabel zijn, verdeelt de router de belasting van het verkeer gelijkelijk over de twee links. Dit staat bekend als loadbalancing.
R2# show ip route | begin Gateway
Gateway of last resort is not set
R 172.16.0.0/16 [120/1] via 192.168.2.1, 00:00:14,
Serial0/0/1
[120/1] via 192.168.1.1, 00:00:16,
Serial0/0/0
192.168.1.0/24 is variably subnetted, 2 subnets,
2 masks
C 192.168.1.0/30 is directly connected, Serial0/0/0
L 192.168.1.2/32 is directly connected, Serial0/0/0
192.168.2.0/24 is variably subnetted, 2 subnets,
2 masks
C 192.168.2.0/30 is directly connected, Serial0/0/1
L 192.168.2.2/32 is directly connected, Serial0/0/1
R2#
Zoals te zien is in figuur 5 heeft dit een negatief effect op een aaneengesloten netwerk. Let op het grillige gedrag van de opdrachten ping en traceroute.
R2# ping 172.16.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.1.1, timeout is 2
seconds:
U.U.U
Success rate is 0 percent (0/5)
R2#
R2# traceroute 172.16.1.1
Type escape sequence to abort.
Tracing the route to 172.16.1.1
VRF info: (vrf in name/id, vrf out name/id)
1 192.168.1.1 4 msec
192.168.2.1 4 msec
192.168.1.1 4 msec
R2#
7.1.4.6 Classless routeringsprotocollen
Moderne netwerken gebruiken geen klassieke IP-adressering meer en het subnetmasker kan niet worden bepaald door de waarde van het eerste octet. De klasseloze IPv4-routeringsprotocollen (RIPv2, EIGRP, OSPF en IS-IS) bevatten allemaal de subnetmaskerinformatie met het netwerkadres in routeringsupdates. Klasseloze routeringsprotocollen ondersteunen VLSM en CIDR.
IPv6-routeringsprotocollen zijn klasseloos. Het onderscheid of een routeringsprotocol klassevol of klasseloos is, is doorgaans alleen van toepassing op IPv4-routeringsprotocollen. Alle IPv6-routeringsprotocollen worden als klasseloos beschouwd omdat ze de prefixlengte met het IPv6-adres bevatten.
De volgende voorbeelden illustreren hoe klasseloze routering de problemen oplost die zijn ontstaan met klassevolle routering:
De volgende afbeedling toont een niet-aangrenzende netwerkontwerp waarop het klasseloze protocol RIPv2 op alle drie de routers geïmplementeerd is. Wanneer R1 een update doorstuurt naar R2, bevat RIPv2 de subnetmaskerinformatie met de update 172.16.1.0/24.
In het volgende voorbeeld wordt getoond hoe R2 twee items ontvangt, verwerkt en toevoegt aan de routeringstabel. De eerste regel toont het klassevolle netwerkadres 172.16.0.0 met het /24 subnetmasker van de update. Dit staat bekend als de ouderroute. Het tweede item toont het VLSM-netwerkadres 172.16.1.0 met het exit- en next-hop-adres. Dit wordt de kindroute genoemd. Bovenliggende routes bevatten nooit een exit-interface of next-hop IP-adres.
R2# show ip route | begin Gateway
Gateway of last resort is not set
172.16.0.0/24 is subnetted, 1 subnets
R 172.16.1.0 [120/1] via 192.168.1.1, 00:00:06, Serial0/0/0
192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.1.0/30 is directly connected, Serial0/0/0
L 192.168.1.2/32 is directly connected, Serial0/0/0
De volgende afbeelding toont dat wanneer R3 een update doorstuurt naar R2, RIPv2 de subnetmaskerinformatie bijvoegt met de update 172.16.2.0/24.
Afbeelding 4 – In het volgende volgend voorbeeld ontvangt, verwerkt en voegt R2 nog een onderliggende route-invoer 172.16.2.0/24 toe onder de bovenliggende route-invoer 172.16.0.0.
R2# show ip route | begin Gateway
Gateway of last resort is not set
172.16.0.0/24 is subnetted, 2 subnets
R 172.16.1.0 [120/1] via 192.168.1.1, 00:00:03, Serial0/0/0
R 172.16.2.0 [120/1] via 192.168.2.1, 00:00:03, Serial0/0/1
192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.1.0/30 is directly connected, Serial0/0/0
L 192.168.1.2/32 is directly connected, Serial0/0/0
192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.2.0/30 is directly connected, Serial0/0/1
L 192.168.2.2/32 is directly connected, Serial0/0/1
R2#
In het volgend voorbeeld wordt getoond dat R2 nu op de hoogte is van de gesubnettende netwerken.
R2# ping 172.16.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/14/16 ms
R2#
R2# traceroute 172.16.1.1
Type escape sequence to abort.
Tracing the route to 172.16.1.1
VRF info: (vrf in name/id, vrf out name/id)
1 192.168.1.1 4 msec 4 msec *
R2#
7.1.4.7. Kenmerken van routeringsprotocol
Routeringsprotocollen kunnen worden vergeleken op basis van de volgende kenmerken:
- Convergentiesnelheid – Convergentiesnelheid bepaalt hoe snel de routers in de netwerktopologie routeringsinformatie delen en een staat van consistente kennis bereiken. Hoe sneller de convergentie, hoe beter het protocol. Er kunnen routeringslussen optreden wanneer inconsistente routeringstabellen niet worden bijgewerkt als gevolg van langzame convergentie in een veranderend netwerk.
- Schaalbaarheid – Schaalbaarheid definieert hoe groot een netwerk kan worden, op basis van het ingezette routeringsprotocol. Hoe groter het netwerk, hoe schaalbaarder het routeringsprotocol moet zijn.
- Classful of Classless (gebruik van VLSM) – Classful routeringsprotocollen bevatten geen subnetmasker en kunnen VLSM niet ondersteunen. Klasseloze routeringsprotocollen bevatten het subnetmasker in de updates. Klasseloze routeringsprotocollen ondersteunen VLSM en een betere routesamenvatting.
- Resourcegebruik – Resourcegebruik omvat de vereisten van een routeringsprotocol, zoals geheugenruimte (RAM), CPU-gebruik en gebruik van bandbreedte. Hogere resourcevereisten vereisen krachtigere hardware om de bewerking van het routeringsprotocol te ondersteunen, naast de processen voor het doorsturen van pakketten.
- Implementatie en onderhoud – Implementatie en onderhoud beschrijft het kennisniveau dat een netwerkbeheerder nodig heeft om het netwerk te implementeren en te onderhouden op basis van het geïmplementeerde routeringsprotocol.
De volgende tabel vat de kenmerken van elk routeringsprotocol samen.
Distance Vector | Distance Vector | Distance Vector | Distance Vector | Link-State | Link-State | |
---|---|---|---|---|---|---|
RIPv1 | RIPv2 | IGRP | EIGRP | OSPF | IS-IS | |
Convergentiesnelheid | Langzaam | Langzaam | Langzaam | Snel | Snel | Snel |
Schaalbaarheid – Grootte van het netwerk | Klein | Klein | Klein | Groot | Groot | Groot |
Gebruik van VLSM | Nee | Ja | Nee | Ja | Ja | Ja |
Brongebruik | Laag | Laag | Laag | Middel | Hoog | Hoog |
Implementatie en onderhoud | Eenvoudig | Eenvoudig | Eenvoudig | Complex | Complex | Complex |
7.4.1.8. Metrische data van routeringsprotocollen
Er zijn gevallen waarin een routeringsprotocol meer dan één route naar dezelfde bestemming leert. Om het beste pad te selecteren, moet het routeringsprotocol de beschikbare paden kunnen evalueren en onderscheiden. Dit wordt bereikt door het gebruik van routeringsstatistieken.
Een metriek is een meetbare waarde die door het routeringsprotocol aan verschillende routes wordt toegewezen op basis van het nut van die route. In situaties waarin er meerdere paden zijn naar hetzelfde externe netwerk, worden de routeringsstatistieken gebruikt om de totale “kosten” van een pad van bron naar bestemming te bepalen. Routeringsprotocollen bepalen het beste pad op basis van de route met de laagste kosten.
Verschillende routeringsprotocollen gebruiken verschillende statistieken. De metriek die door het ene routeringsprotocol wordt gebruikt, is niet vergelijkbaar met de metriek die door een ander routeringsprotocol wordt gebruikt. Twee verschillende routeringsprotocollen kunnen verschillende paden naar dezelfde bestemming kiezen.
De animatie in volgende afbeelding laat zien dat RIP het pad met de minste hoeveelheid hop zou kiezen; terwijl OSPF het pad met de hoogste bandbreedte zou kiezen.
7.2 Distance Vector dynamische routering
7.2.1. Distance Vector routeringsprotocol werking
7.2.1.1. Afstandsvectortechnologieën
Afstandsvectorrouteringsprotocollen delen updates tussen buren. Buren zijn routers die een link delen en zijn geconfigureerd om hetzelfde routeringsprotocol te gebruiken. De router kent alleen de netwerkadressen van zijn eigen interfaces en de externe netwerkadressen die hij via zijn buren kan bereiken. Routers die afstandsvectorroutering gebruiken, zijn zich niet bewust van de netwerktopologie.
Sommige routeringsprotocollen voor afstandsvectoren sturen periodieke updates. RIP stuurt bijvoorbeeld elke 30 seconden een periodieke update naar al zijn buren. RIP doet dit zelfs als de topologie niet is gewijzigd; het blijft updates verzenden. RIPv1 bereikt al zijn buren door updates te verzenden naar het IPv4-adres van alle hosts van 255.255.255.255, een uitzending.
Het uitzenden van periodieke updates is inefficiënt omdat de updates bandbreedte verbruiken en CPU-bronnen van netwerkapparaten verbruiken. Elk netwerkapparaat moet een broadcastbericht verwerken. RIPv2 en EIGRP gebruiken in plaats daarvan multicast-adressen, zodat alleen buren die updates nodig hebben deze kunnen ontvangen. EIGRP kan ook een unicast-bericht verzenden naar alleen de getroffen buur. Bovendien stuurt EIGRP alleen een update wanneer dat nodig is, in plaats van periodiek.
Zoals te zien is in de volgende afbeelding, zijn de twee moderne IPv4-afstandsvectorrouteringsprotocollen RIPv2 en EIGRP. RIPv1 en IGRP worden alleen vermeld voor historische nauwkeurigheid.
7.2.1.2. Afstand Vector Algoritme
De kern van het afstandsvectorprotocol is het routeringsalgoritme. Het algoritme wordt gebruikt om de beste paden te berekenen en die informatie vervolgens naar de buren te sturen.
Het algoritme dat voor de routeringsprotocollen wordt gebruikt, definieert de volgende processen:
- Mechanisme voor het verzenden en ontvangen van routeringsinformatie
- Mechanisme voor het berekenen van de beste paden en het installeren van routes in de routeringstabel
- Mechanisme voor het detecteren van en reageren op topologieveranderingen
In de volgende animatie zijn R1 en R2 geconfigureerd met het RIP-routeringsprotocol. Het algoritme verzendt en ontvangt updates. Zowel R1 als R2 halen vervolgens nieuwe informatie uit de update. In dit geval leert elke router over een nieuw netwerk. Het algoritme op elke router maakt zijn berekeningen onafhankelijk en werkt de routeringstabel bij met de nieuwe informatie. Wanneer het LAN op R2 uitvalt, maakt het algoritme een geactiveerde update en stuurt deze naar R1. R1 verwijdert vervolgens het netwerk uit de routeringstabel.
Verschillende routeringsprotocollen gebruiken verschillende algoritmen om routes in de routeringstabel te installeren, updates naar buren te verzenden en beslissingen te nemen over het bepalen van paden. Bijvoorbeeld:
- RIP gebruikt het Bellman-Ford-algoritme als routeringsalgoritme. Het is gebaseerd op twee algoritmen die in 1958 en 1956 zijn ontwikkeld door Richard Bellman en Lester Ford, Jr.
- IGRP en EIGRP gebruiken het Diffusing Update Algorithm (DUAL) routeringsalgoritme ontwikkeld door Dr. J.J. Garcia-Luna-Aceves bij SRI International.
7.2.2. Soorten Distance Vector routeringsprotocollen
7.2.2.1. Routeringsinformatieprotocol
Het Routing Information Protocol (RIP) was een routeringsprotocol van de eerste generatie voor IPv4 dat oorspronkelijk werd gespecificeerd in RFC 1058. Het is eenvoudig te configureren, waardoor het een goede keuze is voor kleine netwerken.
RIPv1 heeft de volgende belangrijke kenmerken:
- Routeringsupdates worden elke 30 seconden uitgezonden (255.255.255.255).
- Het aantal hops wordt gebruikt als metriek voor padselectie.
- Een hoptelling van meer dan 15 hops wordt als oneindig (te ver) beschouwd. Die 15e hop-router zou de routeringsupdate niet doorgeven aan de volgende router.
In 1993 werd RIPv1 bijgewerkt naar een klasseloos routeringsprotocol dat bekend staat als RIP-versie 2 (RIPv2). RIPv2 bevatte de volgende verbeteringen:
- Klasseloos routeringsprotocol – Het ondersteunt VLSM en CIDR, omdat het het subnetmasker opneemt in de routeringsupdates.
- Verhoogde efficiëntie – Het stuurt updates door naar multicast-adres 224.0.0.9, in plaats van het broadcast-adres 255.255.255.255.
- Minder route-invoer – Het ondersteunt handmatige route-samenvatting op elke interface.
- Veilig – Het ondersteunt een authenticatiemechanisme om routeringstabelupdates tussen buren te beveiligen.
Volgende tabel vat de verschillen tussen RIPv1 en RIPv2 samen.
Kenmerken en mogelijkheden | RIPv1 | RIPv2 |
---|---|---|
Metriek | Hop Count Maximaal 15 hops | Hop Count Maximaal 15 hops |
Updates doorgestuurd naar adres | 255.255.255.255 | 224.0.0.9 |
Ondersteund VLSM | Nee | Ja |
Ondersteund CIDR | Nee | Ja |
Ondersteund samenvattingen | Nee | Ja |
Ondersteund authenticatie | Nee | Ja |
RIP-updates zijn ingekapseld in een UDP-segment, waarbij zowel de bron- als de bestemmingspoortnummers zijn ingesteld op UDP-poort 520.
In 1997 werd de IPv6-versie van RIP uitgebracht. RIPng is gebaseerd op RIPv2. Het heeft nog steeds een limiet van 15 hop en de administratieve afstand is 120.
7.2.2.2. Enhanced Interior-Gateway routeringsprotocol
Het Interior Gateway Routing Protocol (IGRP) was het eerste gepatenteerde IPv4-routeringsprotocol dat in 1984 door Cisco werd ontwikkeld. Het gebruikte de volgende ontwerpkenmerken:
- Bandbreedte, vertraging, belasting en betrouwbaarheid worden gebruikt om een samengestelde metriek te maken.
- Routing-updates worden standaard elke 90 seconden uitgezonden.
In 1992 werd IGRP vervangen door Enhanced IGRP (EIGRP). Net als RIPv2 introduceerde EIGRP ook ondersteuning voor VLSM en CIDR. EIGRP verhoogt de efficiëntie, vermindert routeringsupdates en ondersteunt veilige berichtuitwisseling.
Volgende tabel vat de verschillen tussen IGRP en EIGRP samen.
Kenmerken en mogelijkheden | IGRP | EIGRP |
---|---|---|
Metriek | Bandbreedte Vertaging Betrouwbaarheid Belading | Bandbreedte Vertaging Betrouwbaarheid Belading |
Updates doorgestuurd naar adres | 255.255.255.255 | 224.0.0.10 |
Ondersteund VLSM | Nee | Ja |
Ondersteund CIDR | Nee | Ja |
Ondersteund samenvattingen | Nee | Ja |
Ondersteund authenticatie | Nee | Ja |
EIGRP introduceerde ook:
- Begrensde geactiveerde updates – Het verzendt geen periodieke updates. Alleen wijzigingen in de routeringstabel worden doorgegeven wanneer er zich een wijziging voordoet. Dit vermindert de hoeveelheid belasting die het routeringsprotocol op het netwerk plaatst. Bounded getriggerde updates betekent dat EIGRP alleen naar de buren stuurt die het nodig hebben. Het gebruikt minder bandbreedte, vooral in grote netwerken met veel routes.
- Hallo keepalive-mechanisme – Er wordt periodiek een klein Hallo-bericht uitgewisseld om aangrenzende routers te behouden. Dit betekent een zeer laag gebruik van netwerkbronnen tijdens normaal bedrijf, in plaats van de periodieke updates.
- Onderhoudt een topologietabel – Onderhoudt alle routes die zijn ontvangen van buren (niet alleen de beste paden) in een topologietabel. DUAL kan back-uproutes invoegen in de EIGRP-topologietabel.
- Snelle convergentie – In de meeste gevallen is het de snelste IGP om te convergeren omdat het alternatieve routes handhaaft, waardoor bijna onmiddellijke convergentie mogelijk is. Als een primaire route mislukt, kan de router de geïdentificeerde alternatieve route gebruiken. De omschakeling naar de alternatieve route is onmiddellijk en vereist geen interactie met andere routers.
- Ondersteuning voor protocollen met meerdere netwerklagen – EIGRP gebruikt Protocol Dependent Modules (PDM), wat betekent dat dit het enige protocol is dat ondersteuning biedt voor andere protocollen dan IPv4 en IPv6, zoals legacy IPX en AppleTalk.
7.3 RIP en RIPng Routering
7.3.1. Het RIP protocol configureren
7.3.1.1. Router RIP-configuratiemodus
Hoewel RIP zelden wordt gebruikt in moderne netwerken, is het nuttig als basis voor het begrijpen van basisnetwerkroutering. Om deze reden biedt dit gedeelte een kort overzicht van hoe u de basis-RIP-instellingen configureert en RIPv2 controleert.
Apparaat | Interface | IP Adres | Subnet Masker |
---|---|---|---|
R1 | G0/0 S0/0/0 | 192.168.1.1 192.168.2.1 192.168.3.1 | 255.255.255.0 255.255.255.0 255.255.255.0 |
R2 | G0/0 S0/0/0 S0/0/1 | 192.168.3.1 192.168.2.2 192.168.4.2 | 255.255.255.0 255.255.255.0 255.255.255.0 |
R3 | G0/0 S0/0/1 | 192.168.5.1 192.168.4.1 | 255.255.255.0 255.255.255.0 |
Raadpleeg de referentietopologie en adresseringstabel in bovenstaand voorbeeld. In dit scenario zijn alle routers geconfigureerd met basisbeheerfuncties en zijn alle interfaces die in de referentietopologie worden geïdentificeerd, geconfigureerd en ingeschakeld. Er zijn geen statische routes geconfigureerd en er zijn geen routeringsprotocollen ingeschakeld; daarom is externe netwerktoegang momenteel onmogelijk. RIPv2 wordt gebruikt als het dynamische routeringsprotocol. Om RIP in te schakelen, gebruikt u de router rip-opdracht, zoals weergegeven in onderstaadn voorbeel. Deze opdracht start niet direct het RIP-proces. In plaats daarvan biedt het toegang tot de routerconfiguratiemodus waarin de RIP-routeringsinstellingen worden geconfigureerd.
R1# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
R1(config)# router rip
R1(config-router)#
Gebruik de globale configuratieopdracht no router rip om RIP uit te schakelen en te elimineren. Deze opdracht stopt het RIP-proces en wist alle bestaande RIP-configuraties.
Volgend voorbeeld toont de verschillende RIP-opdrachten die kunnen worden geconfigureerd. De gemarkeerde trefwoorden worden in dit gedeelte behandeld.
R1(config-router)# ?
Router configuration commands:
address-family Enter Address Family command mode
auto-summary Enable automatic network number summarization
default Set a command to its defaults
default-information Control distribution of default information
default-metric Set metric of redistributed routes
distance Define an administrative distance
distribute-list Filter networks in routing updates
exit Exit from routing protocol configuration mode
flash-update-threshold Specify flash update threshold in second
help Description of the interactive help system
input-queue Specify input queue depth
maximum-paths Forward packets over multiple paths
neighbor Specify a neighbor router
7.3.1.2. Netwerken adverteren
Door de configuratiemodus van de RIP-router te openen, wordt de router geïnstrueerd om RIP uit te voeren. Maar de router moet nog steeds weten welke lokale interfaces hij moet gebruiken voor communicatie met andere routers, evenals welke lokaal verbonden netwerken hij aan die routers moet adverteren.
Om RIP-routering voor een netwerk in te schakelen, gebruikt u de routerconfiguratiemodus opdracht network network-address. Voer het klassevolle netwerkadres in voor elk rechtstreeks aangesloten netwerk. Dit commando:
- Schakelt RIP in op alle interfaces die tot een specifiek netwerk behoren. Bijbehorende interfaces verzenden en ontvangen nu zowel RIP-updates als RIP-updates.
- Adverteert het opgegeven netwerk in RIP-routeringsupdates die elke 30 seconden naar andere routers worden verzonden.
Opmerking: als een subnetadres wordt ingevoerd, converteert de IOS dit automatisch naar het klassieke netwerkadres. Onthoud dat RIPv1 een klassiek routeringsprotocol voor IPv4 is. Als u bijvoorbeeld de opdracht netwerk 192.168.1.32 invoert, wordt automatisch geconverteerd naar netwerk 192.168.1.0 in het actieve configuratiebestand. De IOS geeft geen foutmelding, maar corrigeert in plaats daarvan de invoer en voert het klassevolle netwerkadres in.
In onderstaand voorbeeld wordt de netwerkopdracht gebruikt om reclame te maken voor de R1 direct verbonden netwerken.
R1(config)# router rip
R1(config-router)# network 192.168.1.0
R1(config-router)# network 192.168.2.0
R1(config-router)#
7.3.1.3. Standaard RIP-instellingen onderzoeken
De opdracht show ip protocols geeft de IPv4-routeringsprotocolinstellingen weer die momenteel op de router zijn geconfigureerd. Deze uitvoer die wordt weergegeven in Afbeelding 1 bevestigt de meeste RIP-parameters, waaronder:
R1# show ip protocols
*** IP Routing is NSF aware ***
Routing Protocol is "rip"
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Sending updates every 30 seconds, next due in 16 seconds
Invalid after 180 seconds, hold down 180, flushed after 240
Redistributing: rip
Default version control: send version 1, receive any version
Interface Send Recv Triggered RIP Key-chain
GigabitEthernet0/0 1 1 2
Serial0/0/0 1 1 2
Automatic network summarization is in effect
Maximum path: 4
Routing for Networks:
192.168.1.0
192.168.2.0
Routing Information Sources:
Gateway Distance Last Update
192.168.2.2 120 00:00:15
Distance: (default is 120)
R1#
- RIP-routering is geconfigureerd en wordt uitgevoerd op router R1.
- De waarden van verschillende timers; de volgende routeringsupdate wordt bijvoorbeeld in 16 seconden door R1 verzonden.
- De geconfigureerde versie van RIP is momenteel RIPv1.
- R1 vat momenteel samen op de classful netwerkgrens.
- De klassevolle netwerken worden geadverteerd door R1. Dit zijn de netwerken die R1 opneemt in zijn RIP-updates.
- De RIP-buren worden vermeld, inclusief hun next-hop IP-adres, de bijbehorende AD die R2 gebruikt voor updates die door deze buurman zijn verzonden en wanneer de laatste update van deze buurman is ontvangen.
Opmerking: deze opdracht is ook erg handig bij het verifiëren van de bewerkingen van andere routeringsprotocollen (d.w.z. EIGRP en OSPF).
De opdracht show ip route geeft de RIP-routes weer die in de routeringstabel zijn geïnstalleerd. In volgend voorbeeld is R1 nu op de hoogte van de gemarkeerde netwerken.
R1# show ip route | begin Gateway
Gateway of last resort is not set
192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.1.0/24 is directly connected, GigabitEthernet0/0
L 192.168.1.1/32 is directly connected, GigabitEthernet0/0
192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.2.0/24 is directly connected, Serial0/0/0
L 192.168.2.1/32 is directly connected, Serial0/0/0
R 192.168.3.0/24 [120/1] via 192.168.2.2, 00:00:24, Serial0/0/0
R 192.168.4.0/24 [120/1] via 192.168.2.2, 00:00:24, Serial0/0/0
R 192.168.5.0/24 [120/2] via 192.168.2.2, 00:00:24, Serial0/0/0
R1#
7.3.1.4. RIPv2 inschakelen
Wanneer een RIP-proces is geconfigureerd op een Cisco-router, wordt standaard RIPv1 uitgevoerd, zoals weergegeven in afbeelding 1. Hoewel de router echter alleen RIPv1-berichten verzendt, kan deze zowel RIPv1- als RIPv2-berichten interpreteren. Een RIPv1-router negeert de RIPv2-velden in de route-invoer.
R1# show ip protocols
*** IP Routing is NSF aware ***
Routing Protocol is "rip"
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Sending updates every 30 seconds, next due in 16 seconds
Invalid after 180 seconds, hold down 180, flushed after 240
Redistributing: rip
Default version control: send version 1, receive any version
Interface Send Recv Triggered RIP Key-chain
GigabitEthernet0/0 1 1 2
Serial0/0/0 1 1 2
Automatic network summarization is in effect
Maximum path: 4
Routing for Networks:
192.168.1.0
192.168.2.0
Routing Information Sources:
Gateway Distance Last Update
192.168.2.2 120 00:00:15
Distance: (default is 120)
R1#
Gebruik de version 2 configuratiemodusopdracht om RIPv2 in te schakelen, zoals weergegeven in volgend voorbeeld. Merk op hoe de opdracht show ip protocols verifieert dat R2 nu is geconfigureerd om alleen berichten van versie 2 te verzenden en te ontvangen. Het RIP-proces omvat nu het subnetmasker in alle updates, waardoor RIPv2 een klasseloos routeringsprotocol is.
R1(config)# router rip
R1(config)# version 2
R1(config)# ^Z
R1#
R1# show ip protocols | section Default
Default version control: send version 2, receive version 2
Interface Send Recv Triggered RIP Key-chain
GigabitEthernet0/0 2 2
Serial0/0/0 2 2
R1#
Opmerking: door versie 1 te configureren, wordt alleen RIPv1 ingeschakeld, terwijl het configureren van geen versie de router terugzet naar de standaardinstelling van het verzenden van updates van versie 1, maar luisteren naar updates van versie 1 of versie 2.
Het volgend voorbeel verifieert dat er nog geen RIP-routes in de routeringstabel staan. Dit komt omdat R1 nu alleen luistert naar RIPv2-updates. R2 en R3 sturen nog steeds RIPv1-updates. Daarom moet de opdracht version 2 worden geconfigureerd op alle routers in het routeringsdomein.
R1# show ip route | begin Gateway
Gateway of last resort is not set
192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.1.0/24 is directly connected, GigabitEthernet0/0
L 192.168.1.1/32 is directly connected, GigabitEthernet0/0
192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.2.0/24 is directly connected, Serial0/0/0
L 192.168.2.1/32 is directly connected, Serial0/0/0
R1#
7.3.1.5. Automatische samenvatting uitschakelen
Zoals te zien is in onderstaand voorbeeld, vat RIPv2 standaard automatisch netwerken bij de belangrijkste netwerkgrenzen samen, net als RIPv1.
R1# show ip protocols
*** IP Routing is NSF aware ***
Routing Protocol is "rip"
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Sending updates every 30 seconds, next due in 16 seconds
Invalid after 180 seconds, hold down 180, flushed after
240
Redistributing: rip
Default version control: send version 2, receive version 2
Interface Send Recv Triggered RIP Key-chain
GigabitEthernet0/0 1 1 2
Serial0/0/0 1 1 2
*** IP Routing is NSF aware ***
Routing Protocol is "rip"
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Sending updates every 30 seconds, next due in 16 seconds
Invalid after 180 seconds, hold down 180, flushed after
240
Redistributing: rip
Default version control: send version 2, receive version 2
Interface Send Recv Triggered RIP Key-chain
GigabitEthernet0/0 1 1 2
Serial0/0/0 1 1 2
Automatic network summarization is in effect
Maximum path: 4
Routing for Networks:
192.168.1.0
192.168.2.0
Routing Information Sources:
Gateway Distance Last Update
192.168.2.2 120 00:00:15
Distance: (default is 120)
R1#
Om het standaard RIPv2-gedrag van automatische samenvatting te wijzigen, gebruikt u de opdracht no auto-summary routerconfiguratiemodus, zoals weergegeven in volgend voorbeeld. Deze opdracht heeft geen effect bij gebruik van RIPv1. Wanneer automatische samenvatting is uitgeschakeld, vat RIPv2 netwerken bij grensrouters niet langer samen tot hun classificatieadres. RIPv2 neemt nu alle subnetten en de bijbehorende maskers op in de routeringsupdates. De show ip-protocollen stellen nu dat automatische netwerksamenvatting niet van kracht is.
R1(config)# router rip
R1(config-router)# no auto-summary
R1(config-router)# end
R1#
*Mar 10 14:11:49.659: %SYS-5-CONFIG_I: Configured from console by console
R1# show ip protocols | section Automatic
R1#
Opmerking: RIPv2 moet zijn ingeschakeld voordat automatische samenvatting wordt uitgeschakeld.
7.3.1.6. Passieve interfaces configureren
Standaard worden RIP-updates doorgestuurd naar alle RIP-compatibele interfaces. RIP-updates hoeven echter alleen maar te worden verzonden via interfaces die verbinding maken met andere RIP-routers.
Raadpleeg bijvoorbeeld de topologie in bovenstaande afbeelding. RIP verzendt updates vanuit zijn G0/0-interface, ook al bestaat er geen RIP-apparaat op dat LAN. R1 kan dit niet weten en stuurt daarom elke 30 seconden een update. Het verzenden van onnodige updates op een LAN heeft op drie manieren invloed op het netwerk:
- Verspilde bandbreedte – Bandbreedte wordt gebruikt om onnodige updates te transporteren. Omdat RIP-updates ofwel worden uitgezonden of multicasted; daarom sturen switches de updates ook door naar alle poorten.
- Verspilde bronnen – Alle apparaten op het LAN moeten de update verwerken tot aan de transportlagen, waarna de apparaten de update weggooien.
- Beveiligingsrisico – Advertentie-updates op een uitzendnetwerk vormen een beveiligingsrisico. RIP-updates kunnen worden onderschept met software voor het snuiven van pakketten. Routing-updates kunnen worden gewijzigd en teruggestuurd naar de router, waardoor de routeringstabel wordt beschadigd met valse statistieken die verkeer verkeerd omleiden.
Gebruik de passive-interface routerconfiguratieopdracht om de overdracht van routeringsupdates via een routerinterface te voorkomen, maar sta toch toe dat dat netwerk wordt geadverteerd aan andere routers. De opdracht stopt met het routeren van updates uit de opgegeven interface. Het netwerk waartoe de opgegeven interface behoort, wordt echter nog steeds geadverteerd in routeringsupdates die naar andere interfaces worden verzonden.
Het is niet nodig dat R1, R2 en R3 RIP-updates doorsturen vanuit hun LAN-interfaces. De configuratie in afbeelding 2 identificeert de R1 G0/0-interface als passief. De opdracht show ip protocols wordt vervolgens gebruikt om te controleren of de Gigabit Ethernet-interface passief was. Merk op dat de G0/0-interface niet langer wordt vermeld als het verzenden of ontvangen van versie 2-updates, maar nu wordt vermeld onder de sectie Passieve interface(s). Merk ook op dat het netwerk 192.168.1.0 nog steeds wordt vermeld onder Routing for Networks, wat betekent dat dit netwerk nog steeds wordt opgenomen als een route-item in RIP-updates die naar R2 worden verzonden.
R1(config)# router rip
R1(config-router)# passive-interface g0/0
R1(config-router)# end
R1#
R1# show ip protocols | begin Default
Default version control: send version 2, receive version 2
Interface Send Recv Triggered RIP Key-chain
Serial0/0/0 2 2
Automatic network summarization is not in effect
Maximum path: 4
Routing for Networks:
192.168.1.0
192.168.2.0
Passive Interface(s):
GigabitEthernet0/0
Routing Information Sources:
Gateway Distance Last Update
192.168.2.2 120 00:00:06
Distance: (default is 120)
R1#
Opmerking: alle routeringsprotocollen ondersteunen de opdracht passive interface.
Als alternatief kunnen alle interfaces passief gemaakt worden met het passive-interface default commando. Interfaces die niet passief mogen zijn, kunnen opnieuw worden ingeschakeld met de opdracht no passive-interface.
7.3.1.7. Een standaardroute verspreiden
Raadpleeg de volgende afbeelding. In dit scenario is R1 alleenstaand voor een serviceprovider. Daarom is het enige dat nodig is om R1 het internet te laten bereiken een standaard statische route die de seriële 0/0/1-interface verlaat.
Vergelijkbare standaard statische routes kunnen worden geconfigureerd op R2 en R3, maar het is veel beter schaalbaar om het één keer in te voeren op de edge-router R1 en R1 het vervolgens te laten verspreiden naar alle andere routers met behulp van RIP. Om internetconnectiviteit te bieden aan alle andere netwerken in het RIP-routeringsdomein, moet de standaard statische route worden bekendgemaakt aan alle andere routers die het dynamische routeringsprotocol gebruiken.
Om een standaardroute te verspreiden, moet de edge-router worden geconfigureerd met:
- Een standaard statische route die de ip route 0.0.0.0 0.0.0.0 exit-intf next-hop-ip commando gebruikt.
- De default-information originate is afkomstig van de routerconfiguratieopdracht. Dit geeft de R1-router de opdracht om standaardinformatie te genereren door de statische standaardroute in RIP-updates te verspreiden.
Het het voorbeeld voorbeeld wordt een volledig gespecificeerde standaard statische route naar de serviceprovider geconfigureerd en vervolgens wordt de route gepropageerd door RIP. Merk op dat R1 nu een Gateway of Last Resort en standaardroute heeft geïnstalleerd in de routeringstabel.
R1(config)# ip route 0.0.0.0 0.0.0.0 S0/0/1 209.165.200.226
R1(config)# router RIP
R1(config-router)# default-information originate
R1(config-router)# ^Z
R1#
*Mar 10 23:33:51.801: %SYS-5-CONFIG_I: Configured from
console by console
R1# show-ip route | begin Gateway
Gateway of last resort is 209.165.200.226 to network 0.0.0.0
S* 0.0.0.0/0 [1/0] via 209.165.200.226, Serial0/0/1
192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.1.0/24 is directly connected, GigabitEthernet0/0
L 192.168.1.1/32 is directly connected, GigabitEthernet0/0
192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.2.0/24 is directly connected, Serial0/0/0
L 192.168.2.1/32 is directly connected, Serial0/0/0
R 192.168.3.0/24 [120/1] via 192.168.2.2, 00:00:08,
Serial0/0/0
R 192.168.4.0/24 [120/1] via 192.168.2.2, 00:00:08,
Serial0/0/0
R 192.168.5.0/24 [120/2] via 192.168.2.2, 00:00:08,
Serial0/0/0
209.165.200.0/24 is variably subnetted, 2 subnets, 2 masks
C 209.165.200.0/24 is directly connected, Serial0/0/1
L 209.165.200.225/27 is directly connected, Serial0/0/1
R1#
7.3.2. Het RIPng protocol configureren
7.3.2.1. IPv6-netwerken adverteren
Net als zijn IPv4-tegenhanger, wordt RIPng zelden gebruikt in moderne netwerken. Het is ook nuttig als basis voor het begrijpen van basisnetwerkroutering. Om deze reden biedt dit gedeelte een kort overzicht van het configureren van basis-RIPng.
Raadpleeg de referentietopologie in de afbeelding. In dit scenario zijn alle routers geconfigureerd met basisbeheerfuncties en zijn alle interfaces die in de referentietopologie zijn geïdentificeerd, geconfigureerd en ingeschakeld. Er zijn geen statische routes geconfigureerd en er zijn geen routeringsprotocollen ingeschakeld; daarom is externe netwerktoegang momenteel onmogelijk.
Om een IPv6-router in staat te stellen IPv6-pakketten door te sturen, moet de ipv6 unicast-routing worden geconfigureerd.
In tegenstelling tot RIPv2 is RIPng ingeschakeld op een interface en niet in de configuratiemodus van de router. In feite is er geen network network-address opdracht beschikbaar in RIPng. Gebruik in plaats daarvan de ipv6 rip domain-name enable interface-configuratieopdracht.
In onderstaand voorbeeld is IPv6 unicast-routering ingeschakeld en zijn de Gigabit Ethernet 0/0- en Seriële 0/0/0-interfaces ingeschakeld voor RIPng met behulp van de domeinnaam RIP-AS.
R1(config)# ipv6 unicast-routing
R1(config)#
R1(config)# interface gigabitethernet 0/0
R1(config-if)# ipv6 rip RIP-AS enable
R1(config-if)# exit
R1(config)#
R1(config)# interface serial 0/0/0
R1(config-if)# ipv6 rip RIP-AS enable
R1(config-if)# no shutdown
R1(config-if)#
Het proces om een standaardroute in RIPng te verspreiden is identiek aan RIPv2, behalve dat er een IPv6 standaard statische route moet worden gespecificeerd. Neem bijvoorbeeld aan dat R1 een internetverbinding had van een seriële 0/0/1-interface naar IP-adres 2001:DB8:FEED:1::1/64. Om een standaardroute te verspreiden, zou R3 moeten worden geconfigureerd met:
- Een standaard statische route die de ipv6 route 0::/0 2001:DB8:FEED:1::1 globale configuratieopdracht gebruikt.
- De ipv6 rip domain-name default-information originate interface configuratiemodusopdracht. Dit geeft R3 de opdracht om de bron te zijn van de standaard route-informatie en de standaard statische route door te geven in RIPng-updates die vanuit de geconfigureerde interface worden verzonden.
7.3.2.2. De RIPng-configuratie onderzoeken
In volgend voorbeeld biedt de opdracht show ipv6 protocols niet dezelfde hoeveelheid informatie als zijn IPv4-tegenhanger. Het bevestigt echter wel de volgende parameters:
R1# show ipv6 protocols
IPv6 Routing Protocol is "connected"
IPv6 Routing Protocol is "ND"
IPv6 Routing Protocol is "rip RIP-AS"
Interfaces:
Serial0/0/0
GigabitEthernet0/0
Redistribution:
None
R1#
- Die RIPng-routering is geconfigureerd en draait op router R1.
- De interfaces geconfigureerd met RIPng.
De opdracht show ipv6 route geeft de routes weer die in de routeringstabel zijn geïnstalleerd, zoals weergegeven in het volgend voorbeeld. De uitvoer bevestigt dat R1 nu weet van de gemarkeerde RIPng-netwerken.
R1# show ipv6 route
IPv6 Routing Table - default - 8 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
B - BGP, R - RIP, I1 - ISIS L1, I2 - ISIS L2
IA - ISIS interarea, IS - ISIS summary, D - EIGRP, EX - EIGRP external
ND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - Redirect
O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
C 2001:DB8:CAFE:1::/64 [0/0]
via GigabitEthernet0/0, directly connected
L 2001:DB8:CAFE:1::1/128 [0/0]
via GigabitEthernet0/0, receive
R 2001:DB8:CAFE:2::/64 [120/2]
via FE80::FE99:47FF:FE71:78A0, Serial0/0/0
R 2001:DB8:CAFE:3::/64 [120/3]
via FE80::FE99:47FF:FE71:78A0, Serial0/0/0
C 2001:DB8:CAFE:A001::/64 [0/0]
via Serial0/0/0, directly connected
L 2001:DB8:CAFE:A001::1/128 [0/0]
via Serial0/0/0, receive
R 2001:DB8:CAFE:A002::/64 [120/2]
via FE80::FE99:47FF:FE71:78A0, Serial0/0/0
L FF00::/8 [0/0
via Null0, receive
R1#
Merk op dat de R2 LAN wordt geadverteerd als twee hops verwijderd. Dit komt omdat er een verschil is in de manier waarop RIPv2 en RIPng het aantal hops berekenen. Met RIPv2 (en RIPv1) zou de metriek voor het R2-LAN één hop zijn. Dit komt omdat de metriek (aantal hops) die wordt weergegeven in de IPv4-routeringstabel het aantal hops is dat nodig is om het externe netwerk te bereiken (waarbij de next-hop-router als de eerste hop wordt geteld). In RIPng beschouwt de verzendende router zichzelf al als één hop verwijderd; daarom adverteert R2 zijn LAN met een metriek van 1. Wanneer R1 de update ontvangt, voegt het nog een hoptelling van 1 toe aan de metriek. Daarom beschouwt R1 het R2 LAN als twee hops verwijderd. Evenzo beschouwt het de R3 LAN als drie hops verwijderd.
Door het trefwoord rip aan de opdracht toe te voegen, zoals weergegeven in het volgend voorbeeld, worden alleen RIPng-netwerken weergegeven.
R1# show ipv6 route rip
IPv6 Routing Table - default - 8 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
B - BGP, R - RIP, I1 - ISIS L1, I2 - ISIS L2
IA - ISIS interarea, IS - ISIS summary, D - EIGRP, EX - EIGRP external
ND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - Redirect
O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
R 2001:DB8:CAFE:2::/64 [120/2]
via FE80::FE99:47FF:FE71:78A0, Serial0/0/0
R 2001:DB8:CAFE:3::/64 [120/3]
via FE80::FE99:47FF:FE71:78A0, Serial0/0/0
R 2001:DB8:CAFE:A002::/64 [120/2]
via FE80::FE99:47FF:FE71:78A0, Serial0/0/0
R1#
7.4 Link-State dynamische routering
7.4.1. Link-State route protocol werking
7.4.1.1. Shortest Path First protocollen
Link-state routeringsprotocollen zijn ook bekend als shortest path first-protocollen en zijn gebouwd rond Edsger Dijkstra’s shortest path first (SPF)-algoritme. Het SPF-algoritme wordt in een later gedeelte in meer detail besproken.
De IPv4-routeringsprotocollen met linkstatus worden weergegeven in de afbeelding:
- Open Shortest Path First (OSPF)
- Intermediate System-to-Intermediate System (IS-IS)
Link-state routeringsprotocollen hebben de reputatie veel complexer te zijn dan hun tegenhangers voor afstandsvectoren. De basisfunctionaliteit en configuratie van routeringsprotocollen met linkstatus is echter even eenvoudig.
Net als RIP en EIGRP kunnen basis OSPF-bewerkingen worden geconfigureerd met behulp van:
- router ospf process-id globale configuratieopdracht
- network opdracht om netwerken te adverteren
7.4.1.2. Dijkstra’s algoritme
Alle routeringsprotocollen met linkstatus passen het algoritme van Dijkstra toe om de beste padroute te berekenen. Het algoritme wordt gewoonlijk het kortste pad eerst (SPF)-algoritme genoemd. Dit algoritme gebruikt opgetelde kosten langs elk pad, van bron tot bestemming, om de totale kosten van een route te bepalen.
In de bovenstaande afbeelding is elk pad gelabeld met een willekeurige waarde voor kosten. De kosten van het kortste pad voor R2 om pakketten te verzenden naar het LAN dat is aangesloten op R3 is 27. Elke router bepaalt zijn eigen kosten voor elke bestemming in de topologie. Met andere woorden, elke router berekent het SPF-algoritme en bepaalt de kosten vanuit zijn eigen perspectief.
Opmerking: de focus van deze sectie ligt op de kosten, die worden bepaald door de SPF-boom. Om deze reden tonen de afbeeldingen in deze sectie de verbindingen van de SPF-structuur, niet de topologie. Alle links worden weergegeven met een ononderbroken zwarte lijn.
7.4.1.3. SPF-voorbeeld
De tabel in figuur 1 toont het kortste pad en de geaccumuleerde kosten om de geïdentificeerde bestemmingsnetwerken te bereiken vanuit het perspectief van R1.
Bestemming | Korste pad | Kost |
---|---|---|
R2 LAN | R1 naar R2 | 22 |
R3 LAN | R1 naar R3 | 7 |
R4 LAN | R1 naar R3 naar R4 | 17 |
R5 LAN | R1 naar R3 naar R4 naar R5 | 27 |
Het kortste pad is niet noodzakelijk het pad met het minste aantal hops. Kijk bijvoorbeeld naar het pad naar het R5 LAN. Er zou kunnen worden aangenomen dat R1 rechtstreeks naar R4 zou sturen in plaats van naar R3. De kosten om R4 rechtstreeks te bereiken (22) zijn echter hoger dan de kosten om R4 via R3 (17) te bereiken.
Houd rekening met het kortste pad voor elke router om elk van de LAN’s te bereiken.
7.4.2. Link-State updates
7.4.2.1. Link-State Routeringsproces
Dus hoe werkt een routeringsprotocol met linkstatus precies? Bij routeringsprotocollen met linkstatus is een link een interface op een router. Informatie over de status van die links staat bekend als link-states.
Alle routers in een OSPF-gebied zullen het volgende generieke link-state-routeringsproces voltooien om een staat van convergentie te bereiken:
- Elke router leert over zijn eigen links en zijn eigen direct verbonden netwerken. Dit wordt gedaan door te detecteren dat een interface zich in de up-status bevindt.
- Elke router is verantwoordelijk voor het ontmoeten van zijn buren op direct verbonden netwerken. Link-state-routers doen dit door Hello-pakketten uit te wisselen met andere link-state-routers op direct verbonden netwerken.
- Elke router bouwt een Link-State Packet (LSP) met de status van elke direct verbonden link. Dit wordt gedaan door alle relevante informatie over elke buur vast te leggen, inclusief buur-ID, linktype en bandbreedte.
- Elke router overspoelt de LSP naar alle buren. Die buren slaan alle ontvangen LSP’s op in een database. Vervolgens overspoelen ze de LSP’s naar hun buren totdat alle routers in het gebied de LSP’s hebben ontvangen. Elke router slaat een kopie op van elke LSP die van zijn buren is ontvangen in een lokale database.
- Elke router gebruikt de database om een volledige kaart van de topologie te construeren en berekent het beste pad naar elk doelnetwerk. Net als het hebben van een wegenkaart, heeft de router nu een volledige kaart van alle bestemmingen in de topologie en de routes om ze te bereiken. Het SPF-algoritme wordt gebruikt om de kaart van de topologie te construeren en om het beste pad naar elk netwerk te bepalen.
Opmerking: dit proces is hetzelfde voor zowel OSPF voor IPv4 als OSPF voor IPv6. De voorbeelden in deze sectie verwijzen naar OSPF voor IPv4.
7.4.2.2. Link en Link-Status
De eerste stap in het link-state-routeringsproces is dat elke router leert over zijn eigen links, zijn eigen direct verbonden netwerken. Wanneer een routerinterface is geconfigureerd met een IP-adres en subnetmasker, wordt de interface onderdeel van dat netwerk.
Raadpleeg de topologie in afbeelding 1. Neem voor deze discussie aan dat R1 eerder was geconfigureerd en volledige connectiviteit met alle buren had. R1 verloor echter kort vermogen en moest opnieuw opstarten.
Tijdens het opstarten laadt R1 het opgeslagen opstartconfiguratiebestand. Naarmate de eerder geconfigureerde interfaces actief worden, leert R1 over zijn eigen direct verbonden netwerken. Ongeacht de gebruikte routeringsprotocollen, zijn deze direct verbonden netwerken nu vermeldingen in de routeringstabel.
Net als bij afstandsvectorprotocollen en statische routes, moet de interface correct worden geconfigureerd met een IPv4-adres en subnetmasker, en moet de link in de up-status staan voordat het link-state-routeringsprotocol over een link kan leren. Ook moet de interface, net als afstandsvectorprotocollen, worden opgenomen in een van de network router configuratie opdrachten voordat deze kan deelnemen aan het routeringsproces met linkstatus.
Bovenstaande afbeelding toont R1 gekoppeld aan vier direct verbonden netwerken:
- FastEthernet 0/0 – 10.1.0.0/16
- Serieel 0/0/0 – 10.2.0.0/16
- Serieel 0/0/1 – 10.3.0.0/16
- Serieel 0/1/0 – 10.4.0.0/16
Zoals weergegeven in onderstaande figuren, omvat de informatie over de verbindingsstatus:
- Het IPv4-adres en subnetmasker van de interface
- Het type netwerk, zoals Ethernet (broadcast) of Seriële point-to-point-link
- De kosten van die link
- Alle naburige routers op die link
Link 1
- Netwerk 10.1.0.0/16
- IP adres 10.1.0.1
- Type netwerk: Ethernet
- Kost van de link: 2
- Buren: Geen
Link 2
- Netwerk 10.2.0.0/16
- IP adres 10.2.0.1
- Type netwerk: Serial
- Kost van de link: 20
- Buren: R2
Link 3
- Netwerk 10.3.0.0/16
- IP adres 10.3.0.1
- Type netwerk: Serial
- Kost van de link: 5
- Buren: R3
Link 4
- Netwerk 10.4.0.0/16
- IP adres 10.4.0.1
- Type netwerk: Serial
- Kost van de link: 20
- Buren: R4
Opmerking: Cisco’s implementatie van OSPF specificeert de OSPF-routeringsmetriek als de kosten van de link op basis van de bandbreedte van de uitgaande interface. Voor de doeleinden van dit hoofdstuk gebruiken we willekeurige kostenwaarden om de demonstratie te vereenvoudigen.
7.4.2.3. Zeg hallo
De tweede stap in het link-state-routeringsproces is dat elke router verantwoordelijk is voor het ontmoeten van zijn buren op direct verbonden netwerken.
Routers met routeringsprotocollen met linkstatus gebruiken een Hello-protocol om eventuele buren op de links te ontdekken. Een buur is elke andere router die is ingeschakeld met hetzelfde routeringsprotocol met linkstatus.
In de volgende animatie kunt u het proces bekijken over het ontdekken van de verbinding tussen buren met Hello-pakketten.
In de animatie stuurt R1 Hello-pakketten uit zijn links (interfaces) om te ontdekken of er buren zijn. R2, R3 en R4 antwoorden op het Hello-pakket met hun eigen Hello-pakketten omdat deze routers zijn geconfigureerd met hetzelfde routeringsprotocol met linkstatus. Er zijn geen buren buiten de FastEthernet 0/0-interface. Omdat R1 geen Hello ontvangt op deze interface, gaat het niet verder met de processtappen voor het routeren van de link-status voor de FastEthernet 0/0-link.
Wanneer twee link-state routers ontdekken dat ze buren zijn, vormen ze een aangrenzend netwerk. Deze kleine Hello-pakketten worden nog steeds uitgewisseld tussen twee aangrenzende buren en dienen als een keepalive-functie om de toestand van de buurman te bewaken. Als een router geen Hello-pakketten van een buur ontvangt, wordt die buur als onbereikbaar beschouwd en wordt de nabijheid verbroken.
7.4.2.4. Het Link-State Pakket bouwen
De derde stap in het link-state-routeringsproces is dat elke router een link-state-pakket (LSP) bouwt dat de status van elke direct verbonden link bevat.
Nadat een router zijn aangrenzende gebieden heeft vastgesteld, kan hij zijn LSP’s bouwen die de linkstatusinformatie over zijn links bevatten. Een vereenvoudigde versie van de LSP van R1 weergegeven in de afbeelding zou het volgende bevatten:
- R1; Ethernet-netwerk 10.1.0.0/16; Cost 2
- R1 -> R2; Seriële point-to-point netwerk; 10.2.0.0/16; Cost 20
- R1 -> R3; Seriële point-to-point netwerk; 10.3.0.0/16; Cost 5
- R1 -> R4; Seriële point-to-point netwerk; 10.4.0.0/16; Cost 20
7.4.2.5. Overspoeling van de LSP
De vierde stap in het link-state-routeringsproces is dat elke router de LSP overstroomt naar alle buren, die vervolgens alle ontvangen LSP’s in een database opslaan.
Elke router stuurt zijn link-state-informatie naar alle andere link-state-routers in het routeringsgebied. Telkens wanneer een router een LSP ontvangt van een naburige router, stuurt hij die LSP onmiddellijk alle andere interfaces uit, behalve de interface die de LSP heeft ontvangen. Dit proces creëert een overstromingseffect van LSP’s van alle routers in het routeringsgebied.
Merk in de bovenstaande animatie op hoe de LSP’s vrijwel direct na ontvangst worden overspoeld zonder tussentijdse berekeningen. Routeringsprotocollen met koppelingen berekenen het SPF-algoritme nadat de overstroming is voltooid. Als resultaat bereiken link-state routeringsprotocollen zeer snel convergentie.
Houd er rekening mee dat LSP’s niet periodiek hoeven te worden verzonden. Een LSP hoeft alleen te worden verzonden:
- Tijdens de eerste opstart van het routeringsprotocolproces op die router (bijv. router opnieuw opstarten)
- Telkens wanneer er een verandering in de topologie is (bijv. een link die naar beneden gaat of die omhoog komt, een aangrenzende nabijheid wordt tot stand gebracht of verbroken)
Naast de link-state-informatie is er andere informatie in het LSP opgenomen, zoals volgnummers en verouderingsinformatie, om het overstromingsproces te helpen beheersen. Deze informatie wordt door elke router gebruikt om te bepalen of deze de LSP al van een andere router heeft ontvangen of dat de LSP nieuwere informatie heeft dan wat al in de link-state-database staat. Met dit proces kan een router alleen de meest actuele informatie in zijn link-state-database bewaren.
7.4.2.6. De Link-State Database bouwen
De laatste stap in het routeringsproces met linkstatus is dat elke router de database gebruikt om een volledige kaart van de topologie te construeren en het beste pad naar elk doelnetwerk berekent.
Uiteindelijk ontvangen alle routers een LSP van elke andere link-state router in het routeringsgebied. Deze LSP’s worden opgeslagen in de link-state database.
Volgende tabel toont de inhoud van de link-state database van R1.
R1 Link-State Database |
---|
R1 Link-states: Connected to network 10.1.0.0/16, cost = 2 Connected to R2 on network 10.2.0.0/16, cost = 20 Connected to R3 on network 10.3.0.0/16, cost = 5 Connected to R4 on network 10.4.0.0/16, cost = 20 |
R2 Link-states: Connected to network 10.5.0.0/16, cost = 2 Connected to R1 on network 10.2.0.0/16, cost = 20 Connected to R5 on network 10.9.0.0/16, cost = 10 |
R3 Link-states: Connected to network 10.6.0.0/16, cost = 2 Connected to R1 on network 10.3.0.0/16, cost = 5 Connected to R4 on network 10.7.0.0/16, cost = 10 |
R4 Link-states: Connected to network 10.8.0.0/16, cost = 2 Connected to R1 on network 10.4.0.0/16, cost = 20 Connected to R3 on network 10.7.0.0/16, cost = 10 Connected to R5 on network 10.10.0.0/16, cost = 10 |
R5 Link-states: Connected to network 10.11.0.0/16, cost = 2 Connected to R2 on network 10.9.0.0/16, cost = 10 Connected to R4 on network 10.10.0.0/16, cost = 10 |
Als resultaat van het overpoelingsproces heeft R1 de verbindingsstatusinformatie voor elke router in zijn routeringsgebied geleerd. Merk op dat R1 ook zijn eigen link-state informatie opneemt in de link-state database.
Met een complete link-state-database kan R1 nu de database en het kortste pad eerst (SPF)-algoritme gebruiken om het voorkeurspad of kortste pad naar elk netwerk te berekenen, wat resulteert in de SPF-boom.
7.4.2.7. Het SPF-diagram bouwen
Elke router in het routeringsgebied gebruikt de link-state database en het SPF-algoritme om het SPF-diagram te construeren.
Door bijvoorbeeld de link-state-informatie van alle andere routers te gebruiken, kan R1 nu beginnen met het construeren van een SPF-boom van het netwerk. Om te beginnen interpreteert het SPF-algoritme de LSP van elke router om netwerken en bijbehorende kosten te identificeren.
In het volgend voorbeeld identificeert R1 zijn direct verbonden netwerken en kosten.
Identificeer de direct verbonden netwerken R1 Link-State Database |
---|
R1 Link-states: Connected to network 10.1.0.0/16, cost = 2 Connected to R2 on network 10.2.0.0/16, cost = 20 Connected to R3 on network 10.3.0.0/16, cost = 5 Connected to R4 on network 10.4.0.0/16, cost = 20 |
R2 Link-states: Connected to network 10.5.0.0/16, cost = 2 Connected to R1 on network 10.2.0.0/16, cost = 20 Connected to R5 on network 10.9.0.0/16, cost = 10 |
R3 Link-states: Connected to network 10.6.0.0/16, cost = 2 Connected to R1 on network 10.3.0.0/16, cost = 5 Connected to R4 on network 10.7.0.0/16, cost = 10 |
R4 Link-states: Connected to network 10.8.0.0/16, cost = 2 Connected to R1 on network 10.4.0.0/16, cost = 20 Connected to R3 on network 10.7.0.0/16, cost = 10 Connected to R5 on network 10.10.0.0/16, cost = 10 |
R5 Link-states: Connected to network 10.11.0.0/16, cost = 2 Connected to R2 on network 10.9.0.0/16, cost = 10 Connected to R4 on network 10.10.0.0/16, cost = 10 |
In de volgende voorbeelden blijft R1 onbekende netwerken en bijbehorende kosten toevoegen aan de SPF-boom. Merk op dat R1 alle netwerken negeert die het al heeft geïdentificeerd.
Identificeer onbekende netwerken en kosten van R2 R1 Link-State Database |
---|
R1 Link-states: Connected to network 10.1.0.0/16, cost = 2 Connected to R2 on network 10.2.0.0/16, cost = 20 Connected to R3 on network 10.3.0.0/16, cost = 5 Connected to R4 on network 10.4.0.0/16, cost = 20 |
R2 Link-states: Connected to network 10.5.0.0/16, cost = 2 Connected to R1 on network 10.2.0.0/16, cost = 20 Connected to R5 on network 10.9.0.0/16, cost = 10 |
R3 Link-states: Connected to network 10.6.0.0/16, cost = 2 Connected to R1 on network 10.3.0.0/16, cost = 5 Connected to R4 on network 10.7.0.0/16, cost = 10 |
R4 Link-states: Connected to network 10.8.0.0/16, cost = 2 Connected to R1 on network 10.4.0.0/16, cost = 20 Connected to R3 on network 10.7.0.0/16, cost = 10 Connected to R5 on network 10.10.0.0/16, cost = 10 |
R5 Link-states: Connected to network 10.11.0.0/16, cost = 2 Connected to R2 on network 10.9.0.0/16, cost = 10 Connected to R4 on network 10.10.0.0/16, cost = 10 |
Identificeer onbekende netwerken en kosten van R3 R1 Link-State Database |
---|
R1 Link-states: Connected to network 10.1.0.0/16, cost = 2 Connected to R2 on network 10.2.0.0/16, cost = 20 Connected to R3 on network 10.3.0.0/16, cost = 5 Connected to R4 on network 10.4.0.0/16, cost = 20 |
R2 Link-states: Connected to network 10.5.0.0/16, cost = 2 Connected to R1 on network 10.2.0.0/16, cost = 20 Connected to R5 on network 10.9.0.0/16, cost = 10 |
R3 Link-states: Connected to network 10.6.0.0/16, cost = 2 Connected to R1 on network 10.3.0.0/16, cost = 5 Connected to R4 on network 10.7.0.0/16, cost = 10 |
R4 Link-states: Connected to network 10.8.0.0/16, cost = 2 Connected to R1 on network 10.4.0.0/16, cost = 20 Connected to R3 on network 10.7.0.0/16, cost = 10 Connected to R5 on network 10.10.0.0/16, cost = 10 |
R5 Link-states: Connected to network 10.11.0.0/16, cost = 2 Connected to R2 on network 10.9.0.0/16, cost = 10 Connected to R4 on network 10.10.0.0/16, cost = 10 |
Identificeer onbekende netwerken en kosten van R4 R1 Link-State Database |
---|
R1 Link-states: Connected to network 10.1.0.0/16, cost = 2 Connected to R2 on network 10.2.0.0/16, cost = 20 Connected to R3 on network 10.3.0.0/16, cost = 5 Connected to R4 on network 10.4.0.0/16, cost = 20 |
R2 Link-states: Connected to network 10.5.0.0/16, cost = 2 Connected to R1 on network 10.2.0.0/16, cost = 20 Connected to R5 on network 10.9.0.0/16, cost = 10 |
R3 Link-states: Connected to network 10.6.0.0/16, cost = 2 Connected to R1 on network 10.3.0.0/16, cost = 5 Connected to R4 on network 10.7.0.0/16, cost = 10 |
R4 Link-states: Connected to network 10.8.0.0/16, cost = 2 Connected to R1 on network 10.4.0.0/16, cost = 20 Connected to R3 on network 10.7.0.0/16, cost = 10 Connected to R5 on network 10.10.0.0/16, cost = 10 |
R5 Link-states: Connected to network 10.11.0.0/16, cost = 2 Connected to R2 on network 10.9.0.0/16, cost = 10 Connected to R4 on network 10.10.0.0/16, cost = 10 |
Identificeer onbekende netwerken en kosten van R5 R1 Link-State Database |
---|
R1 Link-states: Connected to network 10.1.0.0/16, cost = 2 Connected to R2 on network 10.2.0.0/16, cost = 20 Connected to R3 on network 10.3.0.0/16, cost = 5 Connected to R4 on network 10.4.0.0/16, cost = 20 |
R2 Link-states: Connected to network 10.5.0.0/16, cost = 2 Connected to R1 on network 10.2.0.0/16, cost = 20 Connected to R5 on network 10.9.0.0/16, cost = 10 |
R3 Link-states: Connected to network 10.6.0.0/16, cost = 2 Connected to R1 on network 10.3.0.0/16, cost = 5 Connected to R4 on network 10.7.0.0/16, cost = 10 |
R4 Link-states: Connected to network 10.8.0.0/16, cost = 2 Connected to R1 on network 10.4.0.0/16, cost = 20 Connected to R3 on network 10.7.0.0/16, cost = 10 Connected to R5 on network 10.10.0.0/16, cost = 10 |
R5 Link-states: Connected to network 10.11.0.0/16, cost = 2 Connected to R2 on network 10.9.0.0/16, cost = 10 Connected to R4 on network 10.10.0.0/16, cost = 10 |
Het SPF-algoritme berekent vervolgens de kortste paden om elk afzonderlijk netwerk te bereiken, wat resulteert in de SPF-boom zoals weergegeven in volgend voorbeeld. R1 heeft nu een volledig topologieoverzicht van het link-state-gebied.
Resultaat van het SPF Diagram |
---|
Destination | Korste Pad | Kost |
---|---|---|
10.5.0.0/16 | R1 -> R2 | 22 |
10.6.0.0/16 | R1 -> R3 | 7 |
10.7.0.0/16 | R1 -> R3 | 15 |
10.8.0.0/16 | R1 -> R3 -> R4 | 17 |
10.9.0.0/16 | R1 -> R2 | 30 |
10.10.0.0/16 | R1 -> R3 -> R4 | 25 |
10.11.0.0/16 | R1 -> R3 -> R4 -> R5 | 27 |
Elke router bouwt zijn eigen SPF-diagram, onafhankelijk van alle andere routers. Om een goede routering te garanderen, moeten de link-state databases die worden gebruikt om die bomen te construeren identiek zijn op alle routers.
7.4.2.8. OSPF-routes toevoegen aan de routeringstabel
Met behulp van de kortste padinformatie die is bepaald door het SPF-algoritme, kunnen deze paden nu worden toegevoegd aan de routeringstabel. De afbeelding toont de routes die nu zijn toegevoegd aan de IPv4-routeringstabel van R1.
R1 Routetabel |
---|
Directly Connected Networks 10.1.0.0/16 Directly Connected Network 10.2.0.0/16 Directly Connected Network 10.3.0.0/16 Directly Connected Network 10.4.0.0/16 Directly Connected Network Remote Networks 10.5.0.0/16 via R2 serial 0/0/0, cost = 22 10.6.0.0/16 via R3 serial 0/0/1, cost = 7 10.7.0.0/16 via R3 serial 0/0/1, cost = 15 10.8.0.0/16 via R3 serial 0/0/1, cost = 17 10.9.0.0/16 via R2 serial 0/0/0, cost = 30 10.10.0.0/16 via R3 serial 0/0/1, cost = 25 10.11.0.0/16 via R3 serial 0/0/1, cost = 27 |
De routeringstabel bevat ook alle direct verbonden netwerken en routes van andere bronnen, zoals statische routes. Pakketten worden nu doorgestuurd volgens deze vermeldingen in de routeringstabel.
7.4.3. Waarom Link-State routeringsprotcollen gebruiken
7.4.3.1. Waarom Link-State Protocollen gebruiken?
Zoals weergegeven zijn er verschillende voordelen van routeringsprotocollen met verbindingstoestanden in vergelijking met routeringsprotocollen voor afstandsvectoren.
- Bouwt een topologische kaart – Routeringsprotocollen met verbindingsstatus creëren een topologische kaart of SPF-boom van de netwerktopologie. Omdat routeringsprotocollen voor verbindingstoestanden verbindingstoestanden uitwisselen, kan het SPF-algoritme een SPF-boomstructuur van het netwerk bouwen. Met behulp van de SPF-boom kan elke router onafhankelijk het kortste pad naar elk netwerk bepalen.
- Snelle convergentie – Bij het ontvangen van een LSP, overspoelen de routeringsprotocollen met linkstatus de LSP onmiddellijk uit alle interfaces, behalve de interface waarvan de LSP werd ontvangen. Daarentegen moet RIP elke routeringsupdate verwerken en de routeringstabel bijwerken voordat ze uit andere interfaces worden overspoeld.
- Gebeurtenisgestuurde updates – Na de eerste overstroming van LSP’s, sturen link-state routeringsprotocollen alleen een LSP wanneer er een verandering in de topologie is. Het LSP bevat alleen de informatie over de betreffende link. In tegenstelling tot sommige routeringsprotocollen voor afstandsvectoren, verzenden routeringsprotocollen met linkstatus geen periodieke updates.
- Hiërarchisch ontwerp – Routeringsprotocollen met verbindingstoestanden gebruiken het concept van gebieden. Meerdere gebieden creëren een hiërarchisch ontwerp voor netwerken, waardoor een betere route-aggregatie (samenvatting) en de isolatie van routeringsproblemen binnen een gebied mogelijk is.
Link-state-protocollen hebben ook enkele nadelen in vergelijking met vectorrouteringsprotocollen op afstand:
- Geheugenvereisten – Link-state-protocollen vereisen extra geheugen om de link-state-database en SPF-structuur te maken en te onderhouden.
- Verwerkingsvereisten – Protocollen met verbindingsstatus kunnen ook meer CPU-verwerking vereisen dan protocollen voor afstandsvectorroutering. Het SPF-algoritme vereist meer CPU-tijd dan afstandsvectoralgoritmen zoals Bellman-Ford, omdat protocollen met verbindingsstatus een volledige kaart van de topologie bouwen.
- Bandbreedtevereisten – Het overstromen van pakketten met linkstatus kan een negatieve invloed hebben op de beschikbare bandbreedte op een netwerk. Dit zou alleen moeten gebeuren tijdens de eerste opstart van routers, maar kan ook een probleem zijn op onstabiele netwerken.
7.4.3.2. Een hiërarchisch ontwerp gebruiken door gebieden te maken
Moderne routeringsprotocollen met linkstatus zijn ontworpen om de effecten op geheugen, CPU en bandbreedte te minimaliseren. Het gebruik en de configuratie van meerdere gebieden kan de grootte van de link-state databases verkleinen. Meerdere gebieden kunnen ook de hoeveelheid link-state-informatie die in een routeringsdomein stroomt, beperken en LSP’s alleen naar die routers sturen die ze nodig hebben. Wanneer er een wijziging in de topologie is, ontvangen alleen die routers in het getroffen gebied de LSP en voeren ze het SPF-algoritme uit. Dit kan helpen bij het isoleren van een onstabiele link naar een specifiek gebied in het routeringsdomein.
In de afbeelding zijn er bijvoorbeeld drie afzonderlijke routeringsdomeinen: area 1, area 0 en area 51. Als een netwerk in area 51 uitvalt, wordt de LSP met de informatie over deze neergehaalde link alleen overstroomd naar andere routers in die Oppervlakte. Alleen die routers in gebied 51 hoeven hun link-state databases bij te werken, het SPF-algoritme opnieuw uit te voeren, een nieuwe SPF-boom te maken en hun routeringstabellen bij te werken. Routers in andere gebieden leren dat deze route niet werkt, maar dit wordt gedaan met een type LSP dat er niet voor zorgt dat ze hun SPF-algoritme opnieuw uitvoeren. Routers in andere gebieden kunnen hun routeringstabellen direct bijwerken.
7.4.3.3. Protocollen die Link-State gebruiken
Er zijn slechts twee routeringsprotocollen met linkstatus, OSPF en IS-IS.
Open Shortest Path First (OSPF) is de meest populaire implementatie. Het is ontworpen door de OSPF-werkgroep Internet Engineering Task Force (IETF). De ontwikkeling van OSPF begon in 1987 en er zijn twee huidige versies in gebruik:
- OSPFv2 – OSPF voor IPv4-netwerken (RFC 1247 en RFC 2328)
- OSPFv3 – OSPF voor IPv6-netwerken (RFC 2740)
Opmerking: Met de functie OSPFv3-adresfamilies biedt OSPFv3 ondersteuning voor zowel IPv4 als IPv6.
IS-IS is ontworpen door de International Organization for Standardization (ISO) en wordt beschreven in ISO 10589. De eerste incarnatie van dit routeringsprotocol is ontwikkeld bij Digital Equipment Corporation (DEC) en staat bekend als DECnet Phase V. Radia Perlman was de hoofdontwerper van het IS-IS-routeringsprotocol.
IS-IS is oorspronkelijk ontworpen voor de OSI-protocolsuite en niet voor de TCP/IP-protocolsuite. Later omvatte Integrated IS-IS of Dual IS-IS ondersteuning voor IP-netwerken. Hoewel IS-IS bekend staat als het routeringsprotocol dat voornamelijk door ISP’s en providers wordt gebruikt, beginnen steeds meer bedrijfsnetwerken IS-IS te gebruiken.
OSPF en IS-IS delen veel overeenkomsten en hebben ook veel verschillen. Er zijn veel pro-OSPF- en pro-IS-IS-fracties die de voordelen van het ene routeringsprotocol boven het andere bespreken en bespreken. Beide routeringsprotocollen bieden de nodige routeringsfunctionaliteit.
7.5 De routetabel
7.5.1. Gedeelte van een IPv4 routeingang
7.5.1.1. Routetabel toegangen
De topologie die wordt weergegeven in de volgende afbeelding wordt gebruikt als referentietopologie voor deze sectie. Merk op dat in de topologie:
- R1 is de edge-router die verbinding maakt met internet. Daarom verspreidt het een standaard statische route naar R2 en R3.
- R1, R2 en R3 niet-aangrenzende netwerken bevatten, gescheiden door een ander klassevol netwerk.
- R3 introduceert ook een 192.168.0.0/16 supernetroute.
Volgend voorbeeld toont de IPv4-routeringstabel van R1 met direct verbonden, statische en dynamische routes.
R1# show ip route | begin Gateway
Gateway of last resort is 209.165.200.234 to network 0.0.0.0
S* 0.0.0.0/0 [1/0] via 209.165.200.234, Serial0/0/1 is directly connected, Serial0/0/1
172.16.0.0/16 is variably subnetted, 5 subnets, 3 masks
C 172.16.1.0/24 is directly connected, GigabitEthernet0/0
L 172.16.1.1/32 is directly connected, GigabitEthernet0/0
R 172.16.2.0/24 [120/1] via 209.165.200.226, 00:00:12, Serial0/0/0
R 172.16.3.0/24 [120/2] via 209.165.200.226, 00:00:12, Serial0/0/0
R 172.16.4.0/28 [120/2] via 209.165.200.226, 00:00:12, Serial0/0/0
R 192.168.0.0/16 [120/2] via 209.165.200.226, 00:00:03, Serial0/0/0
209.165.200.0/24 is variably subnetted, 5 subnets, 2 masks
C 209.165.200.224/30 is directly connected, Serial0/0/0
L 209.165.200.225/32 is directly connected, Serial0/0/0
R 209.165.200.228/30 [120/1] via 209.165.200.226, 00:00:12, Serial0/0/0
C 209.165.200.232/30 is directly connected, Serial0/0/1
L 209.165.200.233/30 is directly connected, Serial0/0/1
R1#
Opmerking: de routeringstabelhiërarchie in Cisco IOS is oorspronkelijk geïmplementeerd met het classful routing-schema. Hoewel de routeringstabel zowel klassevolle als klasseloze adressering bevat, is de algemene structuur nog steeds rond dit klassevolle schema gebouwd.
7.5.1.2. Direct verbonden toegangen
Zoals aangegeven in onderstaand voorbeeld, bevat de routeringstabel van R1 drie direct verbonden netwerken. Merk op dat er automatisch twee routeringstabelvermeldingen worden gemaakt wanneer een actieve routerinterface wordt geconfigureerd met een IP-adres en subnetmasker.
R1# show ip route | begin Gateway
Gateway of last resort is 209.165.200.234 to network 0.0.0.0
S* 0.0.0.0/0 [1/0] via 209.165.200.234, Serial0/0/1 is directly connected, Serial0/0/1
172.16.0.0/16 is variably subnetted, 5 subnets, 3 masks
C 172.16.1.0/24 is directly connected, GigabitEthernet0/0
L 172.16.1.1/32 is directly connected, GigabitEthernet0/0
R 172.16.2.0/24 [120/1] via 209.165.200.226, 00:00:12, Serial0/0/0
R 172.16.3.0/24 [120/2] via 209.165.200.226, 00:00:12, Serial0/0/0
R 172.16.4.0/28 [120/2] via 209.165.200.226, 00:00:12, Serial0/0/0
R 192.168.0.0/16 [120/2] via 209.165.200.226, 00:00:03, Serial0/0/0
209.165.200.0/24 is variably subnetted, 5 subnets, 2 masks
C 209.165.200.224/30 is directly connected, Serial0/0/0
L 209.165.200.225/32 is directly connected, Serial0/0/0
R 209.165.200.228/30 [120/1] via 209.165.200.226, 00:00:12, Serial0/0/0
C 209.165.200.232/30 is directly connected, Serial0/0/1
L 209.165.200.233/30 is directly connected, Serial0/0/1
R1#
Onderstaande tabel toont een van de routeringstabelvermeldingen op R1 voor het direct aangesloten netwerk 172.16.1.0. Deze vermeldingen werden automatisch toegevoegd aan de routeringstabel toen de GigabitEthernet 0/0-interface werd geconfigureerd en geactiveerd. De vermeldingen bevatten de volgende informatie:
Routebron | Bestemmingsnetwerk | UItgaande interface |
---|---|---|
C L | 172.16.1.0/24 is directly connected 172.16.1.0/24 is directly connected | GigabitEthernet0/0 GigabitEthernet0/0 |
- Routebron – geeft aan hoe de route is geleerd. Direct aangesloten interfaces hebben twee routebroncodes.
C identificeert een direct aangesloten netwerk. Direct verbonden netwerken worden automatisch aangemaakt wanneer een interface met een IP-adres wordt geconfigureerd en geactiveerd.
L geeft aan dat dit een lokale route is. Lokale routes worden automatisch aangemaakt wanneer een interface met een IP-adres wordt geconfigureerd en geactiveerd. - Bestemmingsnetwerk – Het adres van het externe netwerk en hoe dat netwerk is verbonden.
- Uitgaande interface – Identificeert de exit-interface die moet worden gebruikt bij het doorsturen van pakketten naar het bestemmingsnetwerk.
Opmerking: Lokale routeringstabelgegevens verschenen niet in routeringstabellen vóór IOS-release 15.
Een router heeft meestal meerdere interfaces geconfigureerd. De routeringstabel slaat informatie op over zowel direct verbonden als afgelegen routes. Net als bij direct verbonden netwerken, geeft de routebron aan hoe de route is geleerd. Veelgebruikte codes voor externe netwerken zijn bijvoorbeeld:
- S – Geeft aan dat de route handmatig is gemaakt door een beheerder om een specifiek netwerk te bereiken. Dit staat bekend als een statische route.
- D – Geeft aan dat de route dynamisch is geleerd van een andere router met behulp van het EIGRP-routeringsprotocol.
- O – Geeft aan dat de route dynamisch is geleerd van een andere router met behulp van het OSPF-routeringsprotocol.
- R – Geeft aan dat de route dynamisch is geleerd van een andere router met behulp van het RIP-routeringsprotocol.
7.5.1.3. Externe netwerktoegangen
De afbeelding toont een IPv4-routeringstabelvermelding op R1 voor de route naar het externe netwerk 172.16.4.0 op R3. De vermelding identificeert de volgende informatie:
- Routebron – geeft aan hoe de route is geleerd.
- Bestemmingsnetwerk – Identificeert het adres van het externe netwerk.
- Administratieve afstand – identificeert de betrouwbaarheid van de routebron.
- Metriek – Identificeert de waarde die is toegewezen om het externe netwerk te bereiken. Lagere waarden geven voorkeursroutes aan.
- Volgende hop – Identificeert het IPv4-adres van de volgende router waarnaar het pakket moet worden doorgestuurd.
- Routetijdstempel – geeft aan vanaf wanneer de route voor het laatst is gehoord.
- Uitgaande interface – Identificeert de exit-interface die moet worden gebruikt om een pakket door te sturen naar de eindbestemming.
7.5.2. Dynamische geleerde IPv4 routes
7.5.2.1. Voorwaarden voor routeringstabel
Een dynamisch opgebouwde routeringstabel levert veel informatie op, zoals te zien is in de figuur. Daarom is het van cruciaal belang om de uitvoer te begrijpen die door de routeringstabel wordt gegenereerd. Bij de bespreking van de inhoud van een routeringstabel worden speciale termen gebruikt.
R1# show ip route | begin Gateway
Gateway of last resort is 209.165.200.234 to network 0.0.0.0
S* 0.0.0.0/0 [1/0] via 209.165.200.234, Serial0/0/1 is directly connected, Serial0/0/1
172.16.0.0/16 is variably subnetted, 5 subnets, 3 masks
C 172.16.1.0/24 is directly connected, GigabitEthernet0/0
L 172.16.1.1/32 is directly connected, GigabitEthernet0/0
R 172.16.2.0/24 [120/1] via 209.165.200.226, 00:00:12, Serial0/0/0
R 172.16.3.0/24 [120/2] via 209.165.200.226, 00:00:12, Serial0/0/0
R 172.16.4.0/28 [120/2] via 209.165.200.226, 00:00:12, Serial0/0/0
R 192.168.0.0/16 [120/2] via 209.165.200.226, 00:00:03, Serial0/0/0
209.165.200.0/24 is variably subnetted, 5 subnets, 2 masks
C 209.165.200.224/30 is directly connected, Serial0/0/0
L 209.165.200.225/32 is directly connected, Serial0/0/0
R 209.165.200.228/30 [120/1] via 209.165.200.226, 00:00:12,
Serial0/0/0
C 209.165.200.232/30 is directly connected, Serial0/0/1
L 209.165.200.233/30 is directly connected, Serial0/0/1
R1#
De Cisco IP-routeringstabel is geen platte database. De routeringstabel is eigenlijk een hiërarchische structuur die wordt gebruikt om het opzoekproces te versnellen bij het lokaliseren van routes en het doorsturen van pakketten. Binnen deze structuur omvat de hiërarchie verschillende niveaus.
Routes worden besproken in termen van:
- Ultieme route
- Niveau 1 route
- Bovenliggende route niveau 1
- Niveau 2 kindroutes
7.5.2.2. Ultieme route
Een ultieme route is een invoer in een routeringstabel die ofwel een IPv4-adres van de volgende hop of een exit-interface bevat. Direct verbonden, dynamisch aangeleerde en lokale routes zijn ultieme routes.
In onderstaand voorbeeld zijn de gemarkeerde gebieden voorbeelden van ultieme routes. Merk op dat al deze routes ofwel een next-hop IPv4-adres of een exit-interface specificeren.
R1# show ip route | begin Gateway
Gateway of last resort is 209.165.200.234 to network 0.0.0.0
S* 0.0.0.0/0 [1/0] via 209.165.200.234, Serial0/0/1 is directly connected, Serial0/0/1
172.16.0.0/16 is variably subnetted, 5 subnets, 3 masks
C 172.16.1.0/24 is directly connected, GigabitEthernet0/0
L 172.16.1.1/32 is directly connected, GigabitEthernet0/0
R 172.16.2.0/24 [120/1] via 209.165.200.226, 00:00:12, Serial0/0/0
R 172.16.3.0/24 [120/2] via 209.165.200.226, 00:00:12, Serial0/0/0
R 172.16.4.0/28 [120/2] via 209.165.200.226, 00:00:12, Serial0/0/0
R 192.168.0.0/16 [120/2] via 209.165.200.226, 00:00:03, Serial0/0/0
209.165.200.0/24 is variably subnetted, 5 subnets, 2 masks
C 209.165.200.224/30 is directly connected, Serial0/0/0
L 209.165.200.225/32 is directly connected, Serial0/0/0
R 209.165.200.228/30 [120/1] via 209.165.200.226, 00:00:12, Serial0/0/0
C 209.165.200.232/30 is directly connected, Serial0/0/1
L 209.165.200.233/30 is directly connected, Serial0/0/1
R1#
7.5.2.3. Niveau 1 route
Een niveau 1-route is een route met een subnetmasker dat gelijk is aan of kleiner is dan het classful mask van het netwerkadres. Daarom kan een route van niveau 1 een:
- Netwerkroute – Een netwerkroute met een subnetmasker dat gelijk is aan dat van het classful-masker.
- Supernetroute – Een supernetroute is een netwerkadres met een masker dat kleiner is dan het classful-masker, bijvoorbeeld een overzichtsadres.
- Standaardroute – Een standaardroute is een statische route met het adres 0.0.0.0/0.
De bron van de niveau 1-route kan een direct verbonden netwerk, een statische route of een dynamisch routeringsprotocol zijn.
De onderstaande figuur laat zien hoe routes van niveau 1 ook ultieme routes zijn.
Onderstaand voorbeeld laat routes van niveau 1 zien.
R1# show ip route | begin Gateway
Gateway of last resort is 209.165.200.234 to network 0.0.0.0
S* 0.0.0.0/0 [1/0] via 209.165.200.234, Serial0/0/1 is directly connected, Serial0/0/1
172.16.0.0/16 is variably subnetted, 5 subnets, 3 masks
C 172.16.1.0/24 is directly connected, GigabitEthernet0/0
L 172.16.1.1/32 is directly connected, GigabitEthernet0/0
R 172.16.2.0/24 [120/1] via 209.165.200.226, 00:00:12, Serial0/0/0
R 172.16.3.0/24 [120/2] via 209.165.200.226, 00:00:12, Serial0/0/0
R 172.16.4.0/28 [120/2] via 209.165.200.226, 00:00:12, Serial0/0/0
R 192.168.0.0/16 [120/2] via 209.165.200.226, 00:00:03, Serial0/0/0
209.165.200.0/24 is variably subnetted, 5 subnets, 2 masks
C 209.165.200.224/30 is directly connected, Serial0/0/0
L 209.165.200.225/32 is directly connected, Serial0/0/0
R 209.165.200.228/30 [120/1] via 209.165.200.226, 00:00:12, Serial0/0/0
C 209.165.200.232/30 is directly connected, Serial0/0/1
L 209.165.200.233/30 is directly connected, Serial0/0/1
R1#
7.5.2.4. Bovenliggende route niveau 1
Zoals geïllustreerd in volgende figuur is een bovenliggende route van niveau 1 een netwerkroute van niveau 1 die is gesubnetteerd. Een bovenliggende route kan nooit een ultieme route zijn.
Volgend voorbeeld markeert de bovenliggende routes van niveau 1 in de routetabel van R1. In de routeringstabel biedt het in feite een kop voor de specifieke subnetten die het bevat. Elke invoer toont het classful netwerkadres, het aantal subnetten en het aantal verschillende subnetmaskers waarin het classful adres is onderverdeeld.
R1# show ip route | begin Gateway
Gateway of last resort is 209.165.200.234 to network 0.0.0.0
S* 0.0.0.0/0 [1/0] via 209.165.200.234, Serial0/0/1 is directly connected, Serial0/0/1
172.16.0.0/16 is variably subnetted, 5 subnets, 3 masks
C 172.16.1.0/24 is directly connected, GigabitEthernet0/0
L 172.16.1.1/32 is directly connected, GigabitEthernet0/0
R 172.16.2.0/24 [120/1] via 209.165.200.226, 00:00:12, Serial0/0/0
R 172.16.3.0/24 [120/2] via 209.165.200.226, 00:00:12, Serial0/0/0
R 172.16.4.0/28 [120/2] via 209.165.200.226, 00:00:12, Serial0/0/0
R 192.168.0.0/16 [120/2] via 209.165.200.226, 00:00:03, Serial0/0/0
209.165.200.0/24 is variably subnetted, 5 subnets, 2 masks
C 209.165.200.224/30 is directly connected, Serial0/0/0
L 209.165.200.225/32 is directly connected, Serial0/0/0
R 209.165.200.228/30 [120/1] via 209.165.200.226, 00:00:12, Serial0/0/0
C 209.165.200.232/30 is directly connected, Serial0/0/1
L 209.165.200.233/30 is directly connected, Serial0/0/1
R1#
7.5.2.5. Niveau 2 Kindroute
Een onderliggende route van niveau 2 is een route die een subnet is van een klassevol netwerkadres. Zoals geïllustreerd in volgende figuur is een bovenliggende route van niveau 1 een netwerkroute van niveau 1 die is gesubnetteerd. Bovenliggende routes van niveau 1 bevatten onderliggende routes van niveau 2, zoals weergegeven in het volgende afbeelding.
Net als een route van niveau 1 kan de bron van een route van niveau 2 een direct verbonden netwerk, een statische route of een dynamisch aangeleerde route zijn. Niveau 2 kindroutes zijn ook ultieme routes.
Opmerking: de routeringstabelhiërarchie in Cisco IOS heeft een stijlvol routeringsschema. Een bovenliggende route van niveau 1 is het klassevolle netwerkadres van de subnetroute. Dit is zelfs het geval als een routeringsprotocol zonder klasse de bron is van de subnetroute.
Volgend voorbeeld markeert de onderliggende routes in de routeringstabel van R1.
R1# show ip route | begin Gateway
Gateway of last resort is 209.165.200.234 to network 0.0.0.0
S* 0.0.0.0/0 [1/0] via 209.165.200.234, Serial0/0/1 is directly connected, Serial0/0/1
172.16.0.0/16 is variably subnetted, 5 subnets, 3 masks
C 172.16.1.0/24 is directly connected, GigabitEthernet0/0
L 172.16.1.1/32 is directly connected, GigabitEthernet0/0
R 172.16.2.0/24 [120/1] via 209.165.200.226, 00:00:12, Serial0/0/0
R 172.16.3.0/24 [120/2] via 209.165.200.226, 00:00:12, Serial0/0/0
R 172.16.4.0/28 [120/2] via 209.165.200.226, 00:00:12, Serial0/0/0
R 192.168.0.0/16 [120/2] via 209.165.200.226, 00:00:03, Serial0/0/0
209.165.200.0/24 is variably subnetted, 5 subnets, 2 masks
C 209.165.200.224/30 is directly connected, Serial0/0/0
L 209.165.200.225/32 is directly connected, Serial0/0/0
R 209.165.200.228/30 [120/1] via 209.165.200.226, 00:00:12, Serial0/0/0
C 209.165.200.232/30 is directly connected, Serial0/0/1
L 209.165.200.233/30 is directly connected, Serial0/0/1
R1#
7.5.3. Het IPv4 route opzoekproces
7.5.3.1. Route-opzoekproces
Wanneer een pakket arriveert op een routerinterface, onderzoekt de router de IPv4-header, identificeert het IPv4-bestemmingsadres en gaat verder door het routerzoekproces.
In de volgende figuur onderzoekt de router netwerkroutes van niveau 1 voor de beste match met het bestemmingsadres van het IPv4-pakket.
- Als de beste match een ultieme route van niveau 1 is, wordt deze route gebruikt om het pakket door te sturen.
- Als de beste match een bovenliggende route van niveau 1 is, gaat u verder met de volgende stap.
In de volgende figuur onderzoekt de router onderliggende routes (de subnetroutes) van de bovenliggende route voor een beste match.
- Als er een overeenkomst is met een kindroute van niveau 2, wordt dat subnet gebruikt om het pakket door te sturen.
- Als er geen match is met een van de kindroutes van niveau 2, gaat u verder met de volgende stap.
In de volgende figuur gaat de router verder met het zoeken naar supernetroutes van niveau 1 in de routeringstabel voor een overeenkomst, inclusief de standaardroute, als die er is.
- Als er nu een mindere overeenkomst is met een niveau 1 supernet of standaardroutes, gebruikt de router die route om het pakket door te sturen.
- Als er geen overeenkomst is met een route in de routeringstabel, laat de router het pakket vallen.
Opmerking: een route die alleen verwijst naar een next-hop IP-adres en niet naar een exit-interface, moet worden omgezet in een route met een exit-interface als Cisco Express Forwarding niet wordt gebruikt. Zonder CEF wordt een recursieve lookup uitgevoerd op het IP-adres van de volgende hop totdat de route is opgelost naar een exit-interface.
7.5.3.2. Beste route = langste overeenkomst
Wat wordt bedoeld met de router moet de beste match vinden in de routeringstabel? De beste match is gelijk aan de langste overeenkomst.
Om een overeenkomst te hebben tussen het bestemmings-IPv4-adres van een pakket en een route in de routeringstabel, moet een minimum aantal uiterst linkse bits overeenkomen tussen het IPv4-adres van het pakket en de route in de routeringstabel. Het subnetmasker van de route in de routeringstabel wordt gebruikt om het minimum aantal uiterst linkse bits te bepalen dat moet overeenkomen. Onthoud dat een IPv4-pakket alleen het IPv4-adres bevat en niet het subnetmasker.
De beste overeenkomst is de route in de routeringstabel die het meeste aantal uiterst linkse overeenkomende bits heeft met het IPv4-bestemmingsadres van het pakket. De route met het grootste aantal equivalente uiterst linkse bits, of de langste overeenkomst, is altijd de voorkeursroute.
In de bovenstaande figuur is een pakket bestemd voor 172.16.0.10. De router heeft drie mogelijke routes die overeenkomen met dit pakket: 172.16.0.0/12, 172.16.0.0/18 en 172.16.0.0/26. Van de drie routes heeft 172.16.0.0/26 de langste match en wordt daarom gekozen om het pakket door te sturen. Onthoud dat om een van deze routes als een overeenkomst te beschouwen, er ten minste het aantal overeenkomende bits moet zijn dat wordt aangegeven door het subnetmasker van de route.
7.5.4. Een IPv6 routetabel analyseren
7.5.4.1. IPv6-routeringstabeltoegangen
Onderdelen van de IPv6-routeringstabel lijken sterk op de IPv4-routeringstabel. Het wordt bijvoorbeeld gevuld met behulp van direct verbonden interfaces, statische routes en dynamisch aangeleerde routes.
Omdat IPv6 van nature klasseloos is, zijn alle routes in feite ultieme routes van niveau 1. Er is geen niveau 1 ouder of niveau 2 kind routes.
De topologie die in de afbeelding wordt weergegeven, wordt gebruikt als referentietopologie voor deze sectie. Merk op dat in de topologie:
R1, R2 en R3 zijn geconfigureerd in een volledige mesh-topologie. Alle routers hebben redundante paden naar verschillende netwerken.
R2 is de edge-router en maakt verbinding met de ISP; er wordt echter geen standaard statische route geadverteerd.
EIGRP voor IPv6 is geconfigureerd op alle drie de routers.
7.5.4.2. Direct verbonden toegangen
De routeringstabel van R1 wordt weergegeven in volgend voorbeeld met behulp van de opdracht show ipv6 route. Hoewel de opdrachtuitvoer iets anders wordt weergegeven dan in de IPv4-versie, bevat deze nog steeds de relevante route-informatie.
R1# show ipv6 route
C 2001:DB8:CAFE:1::/64 [0/0] via GigabitEthernet0/0, directly connected
L 2001:DB8:CAFE:1::1/128 [0/0] via GigabitEthernet0/0, receive
D 2001:DB8:CAFE:2::/64 [90/3524096] via FE80::3, Serial0/0/1
D 2001:DB8:CAFE:3::/64 [90/2170112] via FE80::3, Serial0/0/1
C 2001:DB8:CAFE:A001::/64 [0/0] via Serial0/0/0, directly connected
L 2001:DB8:CAFE:A001::1/128 [0/0] via Serial0/0/0, receive
D 2001:DB8:CAFE:A002::/64 [90/3523840] via FE80::3, Serial0/0/1
C 2001:DB8:CAFE:A003::/64 [0/0] via Serial0/0/1, directly connected
L 2001:DB8:CAFE:A003::1/128 [0/0] via Serial0/0/1, receive
L FF00::/8 [0/0] via Null0, receive
R1#
Het volgend voorbeeld toont de vermeldingen in de aangesloten netwerk- en lokale routeringstabel van de direct aangesloten interfaces. De drie items zijn toegevoegd toen de interfaces werden geconfigureerd en geactiveerd.
R1# show ipv6 route
C 2001:DB8:CAFE:1::/64 [0/0] via GigabitEthernet0/0, directly connected
L 2001:DB8:CAFE:1::1/128 [0/0] via GigabitEthernet0/0, receive
D 2001:DB8:CAFE:2::/64 [90/3524096] via FE80::3, Serial0/0/1
D 2001:DB8:CAFE:3::/64 [90/2170112] via FE80::3, Serial0/0/1
C 2001:DB8:CAFE:A001::/64 [0/0] via Serial0/0/0, directly connected
L 2001:DB8:CAFE:A001::1/128 [0/0] via Serial0/0/0, receive
D 2001:DB8:CAFE:A002::/64 [90/3523840] via FE80::3, Serial0/0/1
C 2001:DB8:CAFE:A003::/64 [0/0] via Serial0/0/1, directly connected
L 2001:DB8:CAFE:A003::1/128 [0/0] via Serial0/0/1, receive
L FF00::/8 [0/0] via Null0, receive
R1#
Routebron | Direct aangeloten netwerk | Administratieve afstand/Metriek | Uitgaande interface |
---|---|---|---|
C L | 2001:DB8:CAFE:A001::/64 2001:DB8:CAFE:A001::1/12 | [0/0] [0/0] | via Serial0/0/0, directly connected via Serial0/0/0, receive |
Zoals weergegeven in bovenstaande tabel, geven direct verbonden route-items de volgende informatie weer:
- Routebron – geeft aan hoe de route is geleerd. Direct verbonden interfaces hebben twee routebroncodes (C identificeert een direct verbonden netwerk terwijl L aangeeft dat dit een lokale route is.)
- Direct aangesloten netwerk – Het IPv6-adres van het direct aangesloten netwerk.
- Administratieve afstand – identificeert de betrouwbaarheid van de routebron. IPv6 gebruikt dezelfde afstanden als IPv4. Een waarde van 0 geeft de beste, meestbetrouwbare bron aan.
- Metriek – Identificeert de waarde die is toegewezen om het externe netwerk te bereiken. Lagere waarden geven voorkeursroutes aan.
- Uitgaande interface – Identificeert de exit-interface die moet worden gebruikt bij het doorsturen van pakketten naar het bestemmingsnetwerk.
Opmerking: de seriële links hebben referentiebandbreedtes die zijn geconfigureerd om te observeren hoe EIGRP-statistieken de beste route selecteren. De referentiebandbreedte is geen realistische weergave van moderne netwerken. Het wordt alleen gebruikt om een visueel gevoel van linksnelheid te geven.
7.5.4.3. Externe IPv6-netwerktoegangen
In onderstaand voorbeeld worden de routeringstabelitems voor de drie externe netwerken weergegeven (d.w.z. R2 LAN, R3 LAN en de link tussen R2 en R3). De drie vermeldingen zijn toegevoegd door de EIGRP.
R1# show ipv6 route
C 2001:DB8:CAFE:1::/64 [0/0] via GigabitEthernet0/0, directly connected
L 2001:DB8:CAFE:1::1/128 [0/0] via GigabitEthernet0/0, receive
D 2001:DB8:CAFE:2::/64 [90/3524096] via FE80::3, Serial0/0/1
D 2001:DB8:CAFE:3::/64 [90/2170112] via FE80::3, Serial0/0/1
C 2001:DB8:CAFE:A001::/64 [0/0] via Serial0/0/0, directly connected
L 2001:DB8:CAFE:A001::1/128 [0/0] via Serial0/0/0, receive
D 2001:DB8:CAFE:A002::/64 [90/3523840] via FE80::3, Serial0/0/1
C 2001:DB8:CAFE:A003::/64 [0/0] via Serial0/0/1, directly connected
L 2001:DB8:CAFE:A003::1/128 [0/0] via Serial0/0/1, receive
L FF00::/8 [0/0] via Null0, receive
R1#
Routebron | Direct aangeloten netwerk | Administratieve afstand/Metriek | Uitgaande interface |
---|---|---|---|
D | 2001:DB8:CAFE:3::/64 | [90/2170112] | via FE80::3, Serial0/0/1 |
Bovenstaande tabel toont een vermelding in de routeringstabel op R1 voor de route naar het externe netwerk 2001:DB8:CAFE:3::/64 op R3. De vermelding identificeert de volgende informatie:
- Routebron – geeft aan hoe de route is geleerd. Veelgebruikte codes zijn O (OSPF), D (EIGRP), R (RIP) en S (statische route).
- Bestemmingsnetwerk – Identificeert het adres van het externe IPv6-netwerk.
- Administratieve afstand – geeft aan hoe betrouwbaar de routebron is. IPv6 gebruikt dezelfde afstanden als IPv4.
- Metriek – Identificeert de waarde die is toegewezen om het externe netwerk te bereiken. Lagere waarden geven voorkeursroutes aan.
- Volgende hop – Identificeert het IPv6-adres van de volgende router waarnaar het pakket moet worden doorgestuurd.
- Uitgaande interface – Identificeert de exit-interface die moet worden gebruikt om een pakket door te sturen naar de eindbestemming.
Wanneer een IPv6-pakket op een routerinterface arriveert, onderzoekt de router de IPv6-header en identificeert het IPv6-bestemmingsadres. De router doorloopt vervolgens het volgende routerzoekproces.
De router onderzoekt netwerkroutes van niveau 1 voor de beste match met het bestemmingsadres van het IPv6-pakket. Net als bij IPv4 is de langste match de beste match. Als er bijvoorbeeld meerdere overeenkomsten in de routeringstabel zijn, kiest de router de route met de langste overeenkomst. Een match wordt gemaakt door de uiterst linkse bits van het IPv6-bestemmingsadres van het pakket te matchen met het IPv6-voorvoegsel en de prefix-lengte in de IPv6-routeringstabel.
7.6 Samenvatting
Dynamische routeringsprotocollen worden door routers gebruikt om de uitwisseling van routeringsinformatie tussen routers te vergemakkelijken. Het doel van dynamische routeringsprotocollen omvat: het ontdekken van externe netwerken, het up-to-date houden van routeringsinformatie, het kiezen van het beste pad naar bestemmingsnetwerken en het vermogen om een nieuw beste pad te vinden als het huidige pad niet langer beschikbaar is. Hoewel dynamische routeringsprotocollen minder administratieve overhead vereisen dan statische routering, vereisen ze wel een deel van de bronnen van een router voor protocolwerking, inclusief CPU-tijd en netwerklinkbandbreedte.
Netwerken gebruiken doorgaans een combinatie van zowel statische als dynamische routering. Dynamische routering is de beste keuze voor grote netwerken en statische routering is beter voor stub-netwerken.
Routeringsprotocollen zijn verantwoordelijk voor het ontdekken van externe netwerken en het onderhouden van nauwkeurige netwerkinformatie. Wanneer er een wijziging is in de topologie, verspreiden routeringsprotocollen die informatie door het routeringsdomein. Het proces om alle routeringstabellen in een staat van consistentie te brengen, waarbij alle routers in hetzelfde routeringsdomein of -gebied volledige en nauwkeurige informatie over het netwerk hebben, wordt convergentie genoemd. Sommige routeringsprotocollen convergeren sneller dan andere.
Routingprotocollen kunnen worden geclassificeerd als classful of classless, distance-vector of link-state, en een intern gateway-protocol of een extern gateway-protocol.
Afstandsvectorprotocollen gebruiken routers als “wegwijzers” langs het pad naar de eindbestemming. De enige informatie die een router weet over een extern netwerk is de afstand of meetwaarde om dat netwerk te bereiken en welk pad of welke interface moet worden gebruikt om daar te komen. Afstandsvectorrouteringsprotocollen hebben geen echte kaart van de netwerktopologie.
Een router die is geconfigureerd met een routeringsprotocol met linkstatus, kan een volledig beeld of topologie van het netwerk creëren door informatie van alle andere routers te verzamelen.
Metrieken worden gebruikt door routeringsprotocollen om het beste pad of kortste pad te bepalen om een doelnetwerk te bereiken. Verschillende routeringsprotocollen kunnen verschillende metrische gegevens gebruiken. Meestal betekent een lagere statistiek een beter pad. Metrieken kunnen worden bepaald door hop, bandbreedte, vertraging, betrouwbaarheid en belasting.
Routers leren soms over meerdere routes naar hetzelfde netwerk van zowel statische routes als dynamische routeringsprotocollen. Wanneer een router een bestemmingsnetwerk leert van meer dan één routeringsbron, gebruiken Cisco-routers de administratieve afstandswaarde om te bepalen welke bron moet worden gebruikt. Elk dynamisch routeringsprotocol heeft een unieke administratieve waarde, samen met statische routes en direct verbonden netwerken. Hoe lager de administratieve waarde, hoe meer de voorkeur wordt gegeven aan de routebron. Een direct aangesloten netwerk is altijd de voorkeursbron, gevolgd door statische routes en vervolgens verschillende dynamische routeringsprotocollen.
De opdracht show ip protocols geeft de IPv4-routeringsprotocolinstellingen weer die momenteel op de router zijn geconfigureerd. Gebruik voor IPv6 show ipv6-protocollen.
Bij routeringsprotocollen met linkstatus, zoals OSPF, is een link een interface op een router. Informatie over de status van die links staat bekend als link-states. Alle routeringsprotocollen met linkstatus passen het algoritme van Dijkstra toe om de beste padroute te berekenen. Het algoritme wordt gewoonlijk het kortste pad eerst (SPF)-algoritme genoemd. Dit algoritme gebruikt opgetelde kosten langs elk pad, van bron tot bestemming, om de totale kosten van een route te bepalen.