Wat is een routeringsprotocol?
Een routeringsprotocol is het middel waarmee computernetwerken verkeer efficiënt kunnen sturen via apparaten die routers worden genoemd. Een dergelijk protocol is in wezen een algoritme dat is ontworpen om lussen te voorkomen en te corrigeren, informatie over de netwerktopologie te verzamelen en die informatie naar andere routers te verspreiden en uiteindelijk de paden te selecteren die het verkeer moet volgen. Sommige van deze protocollen verwerken het verkeer binnen een netwerk en sturen dit door naar andere routers binnen een gecontroleerd netwerk. Wanneer communicatie een bepaald netwerk moet binnenkomen of verlaten, wordt dit geleid door een ander type routeringsprotocol dat het verkeer aan de rand of rand van het netwerk bewaakt.
Wanneer een routeringsprotocol aan de binnenkant van een netwerk wordt gebruikt, wordt dit een interieur gateway-protocol (IGP) genoemd. Met hetzelfde routeringsprotocol vormen ze samen een routeringsdomein. Vervolgens vormt een willekeurig aantal routeringsdomeinen samen een netwerk dat een autonoom systeem (AS) omvat. Hier, aan de binnenkant van een AS, vallen de protocollen in twee primaire categorieën, een link-state protocol of een vectorgebaseerd protocol.
Met een link-state protocol praten de routers met elkaar om het hele netwerk in kaart te brengen, de status van de verbindingen tussen hen te beoordelen en vervolgens de best mogelijke paden te berekenen die het verkeer kan volgen om zich te verplaatsen. Deze methode is nuttig om te bepalen welke paden een hogere verbindingssnelheid kunnen hebben dan een ander pad en voor het uitzoeken van het kortste pad. Dit type routeringsprotocol zorgt er heel snel voor dat de routers met elkaar convergeren, waardoor hun kennis van het netwerk wordt bijgewerkt wanneer een nieuwe router wordt toegevoegd of een offline gaat.
Een op vectoren gebaseerd routeringsprotocol kent twee smaken: de afstandsvector en de padvector, waarbij de laatste een subklasse is van de eerste. Methoden voor afstandsvector gebruiken een zogenaamde hoptelling om het kortste pad van de ene router naar de volgende te bepalen. Hier telt de router het aantal andere routers dat communicatie moet doorlopen, die elk één hop vertegenwoordigen, en bouwt vervolgens zijn kaart met de best mogelijke routes. In vergelijking met een koppelingsstatusprotocol kan een afstandsvectoralgoritme niet zeggen hoe snel een bepaalde hop wordt vergeleken met een andere en kan het uiteindelijk een langzamere route kiezen, hoewel het minder hops vereist. Het lijdt ook aan vertragingen wanneer een router wordt toegevoegd aan of verwijderd uit het netwerk, omdat het opnieuw hop moet tellen om de kaart van het netwerk opnieuw op te bouwen.
Een padvectorrouteringsprotocol wordt vaak gebruikt aan de rand van een netwerk in een zogenaamd border gateway-protocol (BGP). Naast het tellen van hop, adverteert de grensrouter ook over zijn beschikbaarheid door een padvectorbericht te verzenden. De grensrouters van andere netwerken bouwen vervolgens hun kennis op van paden buiten een AS door op elkaar te letten voor deze berichten.
In sommige gevallen kan een routeringsprotocol daadwerkelijk via een bestaand communicatieprotocol worden gerouteerd. Of ze worden gerouteerd, hangt af van de laag van het open systems interconnection (OSI) -model waaronder ze werken, zoals IS-IS, de datalinklaag, en is een niet-gerouteerd protocol. Internetprotocol (IP) en transmissiebesturingsprotocol (TCP) werken respectievelijk op lagen drie en vier en zijn twee middelen waarmee een routeringsprotocol kan worden gerouteerd. Het meest opvallend zijn de BGP's die via TCP worden uitgevoerd.