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.
| Kenmerk | Distance-vector (zoals RIP) | Link-state (zoals OSPF) |
|---|---|---|
| Wat elke router weet | Alleen de afstand en de volgende hop voor elke bestemming, zoals gehoord van zijn buren; hij kent de opbouw van het hele netwerk niet | Elke router en link in zijn area en hun kosten; alle routers in de area hebben dezelfde kaart (de link-statedatabase) |
| Routeberekening | Telt 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 verstuurd | RIP 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 lussen | Langzaam; na een storing kunnen afstanden stap voor stap oplopen (count to infinity); split horizon en vergelijkbare technieken beperken dit | Snel; zodra een wijziging is verspreid, rekent elke router direct opnieuw, en omdat alle routers met dezelfde kaart rekenen, zijn lussen onwaarschijnlijk |
| Netwerkgrootte | Geschikt voor kleine netwerken; RIP kan geen bestemmingen aan die 16 of meer hops ver weg liggen | Ook geschikt voor grote netwerken; het netwerk wordt opgedeeld in area's rond de backbone-area (area 0) |
| Middelen en configuratie | Licht voor CPU en geheugen; eenvoudig te configureren | Vraagt meer CPU en geheugen om de kaart te bewaren en kortste paden te berekenen; de configuratie, zoals het ontwerp van area's, is complexer |
| Voorbeelden | RIP (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.