Distance-vector versus link-state routeringsprotocollen: RIP en OSPF vergeleken op routeberekening, convergentie en schaal

Met een routeringsprotocol wisselen routers route-informatie uit en bouwen ze hun routeringstabellen automatisch op. Protocollen die binnen een organisatie worden gebruikt (IGP's), volgen een van twee hoofdaanpakken. Bij een distance-vectorprotocol hoort elke router van zijn buren „hoe ver het is naar elke bestemming” en kiest hij routes door zijn afstand tot die buur erbij op te tellen. RIP, het klassieke voorbeeld, gebruikt het aantal gepasseerde routers (het aantal hops) als afstand. Bij een link-stateprotocol adverteert elke router de toestand van zijn eigen links, zodat alle routers een kaart van het netwerk (de topologie) delen, en berekent elke router de kortste paden met het algoritme van Dijkstra. OSPF, het klassieke voorbeeld, kiest routes op basis van de som van de kosten die aan elke link zijn toegekend. Distance-vectorprotocollen zijn eenvoudig en makkelijk te configureren, maar routes komen na een storing langzaam tot rust (convergeren), dus ze zijn niet geschikt voor grote netwerken. Link-stateprotocollen vragen meer rekenwerk en geheugen, maar reageren snel op veranderingen en schalen naar grote netwerken.

KenmerkDistance-vector (zoals RIP)Link-state (zoals OSPF)
Wat elke router weetAlleen de afstand en de volgende hop voor elke bestemming, zoals gehoord van zijn buren; hij kent de opbouw van het hele netwerk nietElke router en link in zijn area en hun kosten; alle routers in de area hebben dezelfde kaart (de link-statedatabase)
RouteberekeningTelt de afstand tot een buur op bij de afstand die van die buur is gehoord en kiest de kleinste (het idee van Bellman-Ford)Berekent uit de kaart een kortstepadenboom met zichzelf als wortel, met het algoritme van Dijkstra
Metriek (waarde die aangeeft hoe goed een route is)RIP gebruikt het aantal hops, tot 15; 16 betekent „onbereikbaar”OSPF gebruikt de som van de kosten per link; de kosten kunnen door de beheerder worden ingesteld en worden vaak afgeleid van de bandbreedte
Hoe updates worden verstuurdRIP stuurt de inhoud van zijn routeringstabel met een vaste tussenpoos naar zijn buren (30 seconden in RFC 2453) en verstuurt wijzigingen ook direct (triggered updates)Als er iets verandert, wordt link-state-informatie (LSA's) door de hele area verspreid (flooding); verder controleren Hello's of buren nog actief zijn en worden LSA's alleen met een lange tussenpoos ververst (30 minuten)
Convergentiesnelheid en lussenLangzaam; na een storing kunnen afstanden stap voor stap oplopen (count to infinity); split horizon en vergelijkbare technieken beperken ditSnel; zodra een wijziging is verspreid, rekent elke router direct opnieuw, en omdat alle routers met dezelfde kaart rekenen, zijn lussen onwaarschijnlijk
NetwerkgrootteGeschikt voor kleine netwerken; RIP kan geen bestemmingen aan die 16 of meer hops ver weg liggenOok geschikt voor grote netwerken; het netwerk wordt opgedeeld in area's rond de backbone-area (area 0)
Middelen en configuratieLicht voor CPU en geheugen; eenvoudig te configurerenVraagt meer CPU en geheugen om de kaart te bewaren en kortste paden te berekenen; de configuratie, zoals het ontwerp van area's, is complexer
VoorbeeldenRIP (RIPv1, RIPv2 en RIPng voor IPv6)OSPF (OSPFv2 voor IPv4, OSPFv3 voor IPv6), IS-IS

De getalswaarden zijn typische ordegroottes en variëren per procesgeneratie en product.

Wanneer welke variant?

Distance-vector (zoals RIP)
Kleine netwerken met weinig routers en een vrijwel vaste opbouw, waar eenvoudige configuratie voorop staat. Door de trage convergentie en de limiet op het aantal hops past het slecht bij grote of redundante netwerken.
Link-state (zoals OSPF)
Netwerken met veel routers en redundante paden, zoals bij bedrijven en in datacenters, waar routes na een storing snel moeten omschakelen. In grote netwerken houdt de opdeling in area's de hoeveelheid rekenwerk en informatie beperkt.

Veelgestelde vragen

Wat is count to infinity?

Bij een distance-vectorprotocol kunnen naburige routers, wanneer een bestemming onbereikbaar wordt, elkaar verouderde informatie blijven doorgeven, zodat de afstand telkens met één toeneemt en de route pas na lange tijd verdwijnt. Intussen pendelen pakketten voor die bestemming heen en weer tussen de routers. RIP begrenst dit door 16 als „onbereikbaar” te definiëren. Het maakt het probleem ook minder waarschijnlijk met split horizon (een route niet terug adverteren naar de buur waarvan hij is geleerd), poison reverse (hem naar die buur terug adverteren met afstand 16, onbereikbaar) en triggered updates (wijzigingen direct versturen).

Hoe worden de OSPF-kosten bepaald?

RFC 2328 behandelt de kosten van elke interface als een waarde die de beheerder instelt. Veel apparaten gebruiken een referentiebandbreedte gedeeld door de bandbreedte van de link als standaardkosten. Als de referentiebandbreedte op 100 Mbps blijft staan, krijgt elke link van 100 Mbps of sneller kosten 1 en zijn snelle links niet van elkaar te onderscheiden, dus wordt de referentiebandbreedte consequent op alle routers op een grotere waarde gezet.

Van welk type is BGP?

BGP gebruikt een aanpak die path vector heet: het voegt de reeks AS'en die een route heeft doorlopen (AS_PATH) toe en geeft die aan buren door. Routes kiezen op basis van wat buren melden, lijkt op distance-vector, maar omdat het het pad zelf meestuurt in plaats van een afstand, kan het lussen voorkomen door routes te verwerpen die het eigen AS-nummer bevatten. BGP wordt gebruikt tussen organisaties (tussen AS'en), terwijl OSPF en vergelijkbare protocollen binnen een organisatie worden gebruikt.

Als een router een route naar dezelfde bestemming van zowel RIP als OSPF leert, welke gebruikt hij dan?

Aantal hops en kosten betekenen iets anders, dus de metrieken zijn niet direct te vergelijken. Voor routes naar dezelfde bestemming met dezelfde prefixlengte installeert de router de route met de laagste administratieve afstand, een voorkeur per bron. De waarden verschillen per fabrikant, maar op een apparaat dat 110 voor OSPF en 120 voor RIP gebruikt, wordt de OSPF-route gekozen.

Test uw begrip

Welke beschrijving van een linkstate-routeringsprotocol is juist?

  1. AElke router bouwt zijn routeringstabel alleen op uit de bestemmingen en afstanden (zoals het aantal hops) die hij van naburige routers ontvangt
  2. BElke router verspreidt de toestand van zijn eigen links, zodat alle routers de topologie van het hele netwerk delen, en elke router berekent de kortste paden met het algoritme van Dijkstra
  3. CEen beheerder stelt de routes op elke router met de hand in, en de routers wisselen geen routeringsinformatie uit
Antwoord en toelichting tonen

Antwoord: B. Elke router verspreidt de toestand van zijn eigen links, zodat alle routers de topologie van het hele netwerk delen, en elke router berekent de kortste paden met het algoritme van Dijkstra

Bij een linkstateprotocol (zoals OSPF of IS-IS) adverteert elke router de toestand van zijn links (zijn buren en de kosten naar hen), en alle routers in hetzelfde gebied beschikken over dezelfde kaart. Uit die kaart berekent elke router met het algoritme van Dijkstra een boom van kortste paden met zichzelf als wortel. Een distance-vectorprotocol (zoals RIP) kiest routes door zijn eigen afstand op te tellen bij de „afstand tot elke bestemming” die het van zijn buren hoort; dat is eenvoudig, maar de routers kennen de topologie van het hele netwerk niet en het kan na een storing even duren voordat de routes stabiel zijn. Linkstateprotocollen vragen meer rekenwerk en geheugen, maar reageren snel op veranderingen.

Bij OSPF heeft router R1 drie paden naar een netwerk achter R4. Pad A gebruikt een link van 10 Gbit/s R1–R5 en een link van 1 Gbit/s R5–R4; pad B is een rechtstreekse link van 100 Mbit/s R1–R4; en pad C gebruikt links van 1 Gbit/s R1–R2, R2–R3 en R3–R4. De kosten van elke link zijn „referentiebandbreedte 10 Gbit/s ÷ bandbreedte van de link”, en de kosten voorbij R4 zijn voor alle paden gelijk. Welk pad kiest R1?

  1. APad A
  2. BPad B
  3. CPad C
Antwoord en toelichting tonen

Antwoord: A. Pad A

De kosten zijn 10 ÷ 10 = 1 voor een link van 10 Gbit/s, 10 ÷ 1 = 10 voor 1 Gbit/s en 10 ÷ 0,1 = 100 voor 100 Mbit/s. Pad A kost 1 + 10 = 11, pad B 100 en pad C 10 × 3 = 30, dus pad A, met de laagste totale kosten, wordt gekozen. Blijft de referentiebandbreedte op 100 Mbit/s staan, lange tijd de standaardwaarde op veel apparatuur, dan kost elke link van 100 Mbit/s of sneller 1, wat pad A 2, pad B 1 en pad C 3 geeft, en wordt het traagste pad, B, gekozen. Netwerken met snelle links stellen de referentiebandbreedte daarom op een grotere waarde in, op elke router dezelfde.

Een router heeft routes naar dezelfde bestemming, 192.168.50.0/24, geleerd van zowel OSPF als RIP. Op deze router is de administratieve afstand, die de voorkeur per routebron uitdrukt (lager heeft de voorkeur), 110 voor OSPF en 120 voor RIP. Welke route komt in de routeringstabel?

  1. ABeide routes komen in de tabel en worden per pakket afwisselend gebruikt
  2. BAlleen de route van RIP komt in de tabel
  3. CAlleen de route van OSPF komt in de tabel
Antwoord en toelichting tonen

Antwoord: C. Alleen de route van OSPF komt in de tabel

Routeringsprotocollen drukken de kwaliteit van een route (de metric) op verschillende manieren uit, zoals de kosten bij OSPF en het aantal hops bij RIP, dus hun metrics zijn niet rechtstreeks te vergelijken. Worden routes naar dezelfde bestemming met dezelfde prefixlengte uit meerdere bronnen geleerd, dan komt daarom de route met de laagste administratieve afstand in de routeringstabel, een maat voor hoeveel elke bron wordt vertrouwd. Hier is 110 van OSPF lager dan 120 van RIP, dus de route van OSPF komt in de routeringstabel. Rechtstreeks verbonden netwerken krijgen gewoonlijk 0 en statische routes 1, zodat wat mensen instellen lagere waarden krijgt, maar de naam en de standaardwaarden verschillen per fabrikant van de apparatuur.

  1. Welk protocol wisselt op het internet routeringsinformatie uit tussen de netwerken die door organisaties zoals providers worden beheerd (AS'en, autonome systemen), en kiest routes op basis van attributen zoals de reeks AS'en die een route heeft doorlopen (AS_PATH) en van het beleid van elke organisatie?
  2. Welke beschrijving van dynamische routering is juist?

Oefenvragen over Netwerkontwerp en -beheer

Belangrijke termen uitgelegd

Routering (IP-routering)
Bepalen langs welk pad pakketten hun bestemming in een IP-netwerk bereiken. Elke router heeft een routeringstabel, kiest de route waarvan de prefix het langst overeenkomt met het bestemmings-IP-adres (longest-prefix match) en geeft het pakket door aan de volgende router. De tabel wordt opgebouwd met statische routering, met de hand ingesteld, of met dynamische routering, automatisch opgebouwd met routeringsprotocollen zoals OSPF, RIP en BGP.
Router
Apparaat van de netwerklaag (laag 3) dat pakketten tussen verschillende netwerken doorstuurt. Het vergelijkt het bestemmings-IP-adres van elk pakket met zijn routeringstabel, kiest de volgende router (next hop) en de uitgaande interface en stuurt het pakket verder. Thuisrouters combineren daarnaast NAPT, een DHCP-server en een firewall.
OSPF (Open Shortest Path First)
Linkstate-routeringsprotocol dat binnen een organisatie wordt gebruikt. Elke router verspreidt de toestand van zijn eigen links, zodat alle routers de topologie van het netwerk delen, en berekent met het algoritme van Dijkstra het pad met de laagste totale kosten. De kosten worden meestal uit de bandbreedte van de links afgeleid, en door het netwerk in meerdere gebieden (areas) op te delen, schaalt het naar grote netwerken.
BGP (Border Gateway Protocol)
Het routeringsprotocol dat op het internet routeringsinformatie uitwisselt tussen AS'en (autonome systemen, de eenheden van netwerken die door organisaties zoals providers worden beheerd). Het kiest routes op basis van attributen die eraan hangen, zoals de reeks AS'en die ze hebben doorlopen (AS_PATH), en van het beleid van elke organisatie. Routers maken met elkaar verbinding via TCP-poort 179 om informatie uit te wisselen.
Algoritme van Dijkstra
Algoritme dat de kortste paden vindt van één startknoop naar elke knoop in een graaf waarvan de gewichten van de kanten 0 of groter zijn. Het legt herhaaldelijk de dichtstbijzijnde knoop vast waarvan de afstand nog niet definitief is, en werkt de afstanden van haar buren bij. Met negatieve gewichten werkt het niet correct.
Administratieve afstand (administrative distance)
Voorkeurswaarde per routebron, gebruikt om te beslissen welke route in de routeringstabel komt wanneer routes naar dezelfde bestemming met dezelfde prefixlengte uit meerdere bronnen worden geleerd, zoals statische routes, OSPF en RIP. Lagere waarden hebben de voorkeur. Ze wordt niet gebruikt om te kiezen tussen routes met verschillende prefixlengtes; dat beslist de longest prefix match. De naam en de standaardwaarden verschillen per fabrikant van de apparatuur.

Verwante vergelijkingen