NÄTVERKSPROTOKOLL Föreläsning INNEHÅLL - Routingprotokoll - Interior gateway protocols - Exterior gateway protocols - Link state routing - Distance vector routing
Routingprotokoll Definierar mjukvara som möjliggör att routrar dynamiskt kan hålla reda på vilka rutter som finns till förfogande En nätverksadministrator behöver m.a.o. Inte manuellt strukturera en routingtabell som berättar åt routern möjliga rutter Realiserar också att routern klarar av att bestämma vilken rutt som är kortast/snabbast till en viss destination Kan delas in i: Interior gateway protocols Exterior gateway protocols
Interior gateway protocols Är ett routing protokoll som används inom ett autonomt system Med autonomt system menas en samling routrar under gemensam administration (t.ex. Inom en Internet operatörs nätverk) Exempel på interior gateway protocols är: OSPF (Open Shortest Path First) IS-IS (Intermediate System to Intermediate System) EIGRP (Enhanced Interior Gateway Routing Protocol) RIP (Routing Information Protocol) IGRP (Interior Gatewway Routing Protocol)
Exterior gateway protocols Protokoll för routing mellan flera autonoma system Exempel på exterior gateway protocols är: BGP (Border Gateway Protocol) CSPF (Consrained Shortest Path First)
Link-state routing Routingprotokoll kan även indelas i: Link-state routing protokoll Distance-vector routing protokoll Det allmänna konceptet för ett link-state routing protocol är att varje nod konstruerar en karta över nätverket i form av en graf som visar vilka noder som är anslutna till varandra Link-state routing konceptet kräver att varje router i nätverket sänder sin information om sina “grannar” till hela internätverket På basen av denna information bildar varje nod en lokal kopia av hela nätverkskartan
Link-state routing Varje nod kan sedan på basen av nätverkskartan räkna ut bästa “next hop” (närmaste/bästa router) för alla möjliga ruttar från sej själv Samlingen/listan av “best next hops” utformar sedan en dynamisk routing tabell för varje router Kan indelas i fem steg: 1.Lär känna dina grannar 2.Uppmät linjekostnader 3.Bygg upp paket med linkstatus 4.Distribuera paketen 5.Beräkna nya rutter
LSR – 1. Lär känna dina grannar När en router startas upp är dess första uppgift att ta reda på vilka routrar den är kopplad till Routern sänder ett så kallat HELLO-paket på varje punkt-till-punkt linje och väntas få svar (hostname/IP-adress) tillbaka av varje grannrouter
LSR – 2. Uppmät linjekostnader Varje router bör känna till eller kunna uppskatta fördröjningen till sina grannar Detta görs vanligen genom att skicka ut ett testpaket och mäta fördröjning för detta paket
LSR – 3. Bygg upp paket med linkstatus Varje router bygger upp ett paket (link-state advertisement), med jämna mellanrum, innehållande statusinformation och information om grannoderna Paketet innehåller: Sändarens identitiet Ett sekvensnummer Paketets ålder Grannoder och deras fördröjningar
LSR – 4. Distribuering av paket Paketen skickas ut enligt “flooding” modellen, dvs. I alla riktningar till alla övriga routrar. Sekvensnumret inkrementeras för varje nytt paket som skapas, används för att hålla flödet i skick För säkerhts skull försätts ett paket också med ålder Värdet för ålder nedräknas en gång / sekund och vid värdet 0 förstörs paketet
LSR – 5. Beräkna nya rutter När en router samlat in information från alla andra routrar kan den konstruera en ny graf/karta för subnätet. I detta skede används sedan mycet typiskt Dijkstras algoritm för att kalkylera kortaste rutten
Dijkstras algoritm Startnoden sätts permanent (solved), dvs nästa sökning börjar härifrån Alla noder anslutna till startnoden gås igenom och deras avstånd beräknas. För varje nod anges det totala avståndet till startnoden samt den närmaste noden från vilken rutten kommer (previous hop). Den nod som har det kortaste avståndet till startnoden antas som ny permanent (solved) nod Föregående steg upprepas men alla permanenta noder grupperas till en helhet varifrån man söker efter den nod som har den snabbaste förbindelsen till helheten. Den nod som har snabbaste förbindelsen blir ny permanent (solved) nod Proceduren fortsätter tills alla noder är permanenta
Distance-vector routing Bildar tillsammans med LSR (Link State Routing) de två vanligaste metoderna av routing protokoll i moderna datanät Exempel på distance-vector routing protokoll är: RIPv1 och 2 IGRP EGP BGP Grundiden är att varje router upprätthåller en tabell (vektor) där det ”bästa” avståndet samt rutt till varje destinationsnod är lagrad Det antas att routern känner avståndet/fördröjningen till sina grannar
Distance-vector routing Vi antar att vi har ett nätverk med 4 routrar A, B, C och D: Varje router uppmäter linjekostnaderna till sina närmase routrar och skapar en tabell/Distance Vector (DV) innehållande de kortaste rutterna till sina grannar
Distance-vector routing Tabellen distribueras till samtliga grannar: Från A till B och C Från B till C och A Från C till A, B, och D Från D till C När alla noder fått information av alla andra noder räknar de om nya kortaste rutter genom att använda den info de just fått T.ex: A tar emot en DV från C som berättar att det finns en rutt till D via C med en linjekostnad/fördröjning på 5. Eftesom nuvarande kortaste rutt till C är 23, vet A att den har en rutt till D som har kostnaden 23+5=28. Eftersom A ej vet om någon annan kortare rutt till D just nu sätter den 28 som kortaste rutt till D
Distance-vector routing Under detta andra iterationsvarv, har alla routrar igen kalkylerat nya ”kortaste rutter” vilka de distribuerar till sina grannar. När alla routrar igen får nya DV från sina grannar tvingas de igen att kalkylera om nya ”kortaste rutter” Iterationerna pågår ända tills ingen av rourtrarna har funnit nya ”kortaste rutter” För mera info om Distance-vector routing se:
Animering av Link-state och distance-vector routingprotokoll