NÄTVERKSPROTOKOLL Föreläsning INNEHÅLL - Routingprotokoll - Interior gateway protocols - Exterior gateway protocols - Link state routing - Dijkstras algoritm
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 protocol 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, 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. Den nod som har det kortaste avståndet till startnoden antas som ny permanent nod För den nya permanenta noden utförs samma beräkningar men endast med icke-permanenta noder. Om det nya totalavståndet är mindre än tidigare uppdaterats för en icke-permanent nod uppdateras den. Den icke-permanenta nod som har det minsta totalavståndet till startnoden väljs som ny permanent nod. Proceduren fortsätter tills alla noder är permanenta
Dijkstras algoritm En steg-för-steg beskrivning på Dijkstras algoritm hittas bl.a. här: server.sce.carleton.ca/POAnimations2007/DijkstrasAlgo.html server.sce.carleton.ca/POAnimations2007/DijkstrasAlgo.html