Grunder av routing


I det föregående avsnittet diskuterades värdens routingtabeller. De flesta nätverk innehåller också routrar, som fungerar som mellanliggande enheter. Även routrar har routingtabeller. Detta avsnitt förklarar hur routern arbetar på Nätverkslagret. När en värd skickar ett paket till en annan värd kontrollerar den sin routingtabell för att avgöra vart paketet ska skickas. Om destinationen finns i ett fjärrnätverk (remote network) skickas paketet vidare till default gateway, som vanligtvis är den lokala routern.

Vad händer när ett paket anländer till ett router-interface?

Routern granskar paketets destinations-IP-adress och söker i sin routingtabell för att avgöra vart det ska vidarebefordras. Routingtabellen innehåller en lista över alla kända nätverksadresser (prefix) och information om vart paketen ska skickas. Dessa poster kallas ruttposter (routes) eller helt enkelt rutter. Routern väljer den bästa vägen genom att använda den mest specifika matchningen, det vill säga den längsta prefixmatchen.

  1. Ett paket anländer till interfacet Gigabit Ethernet 0/0/0 på router R1.
  2. R1 kapslar av Ethernet-headern och trailern från lager 2. Därefter undersöker R1 paketets destinationsadress i IPv4 och söker efter den bästa matchningen i sin IPv4-routingtabell. Ruttposten visar att paketet ska vidarebefordras till router R2.
  3. R1 kapslar då in paketet på nytt i en ny Ethernet-header och trailer och skickar det vidare till nästa hopp, som är R2.

Routing-tabell för R1

Rutt Nästa hopp eller utgångsgränssnitt
192.168.10.0 /24 G0/0/0
209.165.200.224 /30 G0/0/1
10.1.1.0 /24 via R2
Standardrutt 0.0.0.0/0 via R2

Routingtabell

Routingtabellen i en router innehåller poster över ruttposter som listar alla kända möjliga destinationsnätverk.

Routingtabellen lagrar tre typer av ruttposter:

  • Direktanslutna nätverk (Directly-connected networks) – Dessa poster motsvarar routerns egna aktiva interface. När ett interface konfigureras med en IP-adress och aktiveras, lägger routern automatiskt till en rutt till det direktanslutna nätverket. Varje router-interface är kopplat till ett eget nätverkssegment. I figuren motsvarar de direktanslutna nätverken i R1:s IPv4-routingtabell adresserna 192.168.10.0/24 och 209.165.200.224/30.
  • Fjärrnätverk (Remote network) – Dessa poster pekar på nätverk som är nåbara genom andra routrar. Routern kan lära sig om fjärrnätverk antingen genom att administratören konfigurerar dem manuellt eller genom att den utbyter route-information med andra routrar via dynamiska routing-protokoll. I figuren motsvarar fjärrnätverket i R1:s IPv4-routingtabell 10.1.1.0/24.
  • Default route – Precis som en host använder de flesta routrar också en default route, som fungerar som en ”sistahandsväg” eller gateway of last resort. Denna default route används när det inte finns någon mer specifik (längre) matchning i routingtabellen. I figuren skulle R1:s IPv4-routingtabell sannolikt innehålla en default route som skickar alla övriga paket vidare till router R2.

Figuren markerar tydligt vilka nätverk som är direktanslutna respektive fjärrnätverk för router R1.

  • R1 har två direktanslutna nätverk:
    • 192.168.10.0/24
    • 209.165.200.224/30
  • R1 har också fjärrnätverk (t.ex. 10.1.1.0/24 och internet) som den kan lära sig om.

En router kan lära sig om fjärrnätverk på två sätt:

  • Manuellt – Fjärrnätverk matas in i routingtabellen av administratören med hjälp av statiska rutter.
  • Dynamiskt – Fjärrnätverk lärs in automatiskt med hjälp av ett dynamiskt routingprotokoll.

Statisk routing

Statiska rutter konfigureras manuellt av en administratör. Figuren visar ett exempel på en statisk rutt som har konfigurerats på router R1. Den statiska rutten innehåller adressen till fjärrnätverket samt IP-adressen till nästa hopp, i det här fallet R2.

I exemplet har R1 konfigurerats med en statisk rutt för att nå nätverket 10.1.1.0/24 via R2. Om den vägen skulle förändras, till exempel på grund av en förändring i nätverkets topologi, fungerar den inte längre. Då måste administratören konfigurera en ny statisk rutt. Till skillnad från dynamiska rutter uppdateras inte statiska rutter automatiskt när nätverket ändras.

Låt oss studera ett annat exempel:

I figuren visas även ett scenario där R1 behöver nå 10.1.1.0/24 via R3 i stället för via R2. För att detta ska fungera måste R1 manuellt konfigureras om med en ny statisk rutt. Dessutom måste R3 ha en post i sin egen routingtabell som skickar paketen vidare mot R2, eftersom R2 i slutändan har direkt tillgång till nätverket 10.1.1.0/24.

Med andra ord, om rutten från R1 via R2 inte längre är tillgänglig, krävs en ny statisk rutt via R3. Statiska rutter anpassar sig inte själva till topologiförändringar, utan måste underhållas manuellt.

Egenskaper för statisk routing

  • En statisk rutt måste konfigureras manuellt.
  • Om topologin ändras och rutten inte längre fungerar måste den manuellt konfigureras om.
  • Statisk routing passar bäst i små nätverk eller i nätverk med få eller inga redundanta länkar.

Dynamisk routing

Ett dynamiskt routing-protokoll gör att routrar automatiskt kan lära sig om fjärrnätverk (remote network), inklusive default rutter, från andra routrar. Routrar som använder dynamiska routing-protokoll delar själva med sig av sin routing-information till andra routrar och kan anpassa sig till förändringar i nätverkstopologin – helt utan att nätverksadministratören behöver ingripa. Om topologin ändras sprids informationen automatiskt mellan routrarna via routing-protokollet, och routingtabellerna uppdateras.

Exempel på dynamiska routing-protokoll är OSPF (Open Shortest Path First) och EIGRP (Enhanced Interior Gateway Routing Protocol). I figuren ser vi ett exempel där routrarna R1 och R2 automatiskt delar nätverksinformation med varandra genom OSPF.

  • R1 använder routing-protokoll OSPF och annonserar nätverket 192.168.10.0/24 till R2
  • R2 använder routing-protokoll OSPF och annonserar nätverket 10.1.1.0/24 till R1.

Vid en grundläggande konfiguration behöver administratören endast aktivera de direktanslutna näten inom routing-protokollet. Resten sköts automatiskt. Det dynamiska routing-protokollet kommer då att:

  • Upptäcka fjärrnätverk.
  • Hålla routing-informationen uppdaterad.
  • Välja den bästa vägen till destinationen.
  • Söka efter en ny bästa väg om den nuvarande inte längre är tillgänglig.

Oavsett om en router är manuellt konfigurerad med en statisk rutt eller har lärt sig en rutt dynamiskt, läggs både nätverksadressen och nästa hopp in i IP-routingtabellen. I figuren framgår att om topologin ändras kommer routrarna automatiskt att justera sig och försöka hitta en ny bästa väg.

Routrarna R1, R2 och R3 använder det dynamiska routing-protokollet OSPF. Om nätverkets topologi förändras kan de automatiskt justera sig och hitta en ny bästa väg för trafiken.

Observera: Det är vanligt att routrar använder en kombination av både statiska rutter och ett dynamiskt routing-protokoll. På så sätt kan man dra nytta av enkelheten hos statiska rutter för vissa specifika vägar och flexibiliteten hos dynamisk routing för resten av nätverket.

Introduktion till en IPv4-routingtabell

I figuren ser vi att R2 är ansluten till internet. Därför har administratören konfigurerat R1 med en statisk default route som skickar alla paket vidare till R2 när det inte finns någon mer specifik post i routingtabellen som matchar destinationsadressen. Samtidigt använder R1 och R2 routing-protokollet OSPF för att annonsera sina direktanslutna nätverk.

För att visa en routers IPv4-routingtabell i Cisco IOS används kommandot:

R1# show ip route

I exemplet visas routingtabellen för router R1. Varje rad i tabellen inleds med en kod som identifierar vilken typ av rutt det är eller hur routern har lärt sig den. Några vanliga koder är:

LLocal address (IP-adressen på ett direktanslutet gränssnitt)
CDirectly Connected Network
SStatic route som administratören manuellt har konfigurerat
O – OSPF (dynamiskt inlärd rutt)
D – EIGRP (dynamiskt inlärd rutt)

Routingtabellen visar alltså alla IPv4-destinationsnätverk som R1 känner till.

En direktansluten rutt (C) skapas automatiskt när ett router-interface får IP-adressinformation och aktiveras. Routern lägger då till två poster: en C-post för det anslutna nätverket och en L-post för interfacets egen IP-adress. Dessutom visas vilket utgångsinterface som används för att nå nätverket. I detta exempel har R1 två direktanslutna nät: 192.168.10.0/24 och 209.165.200.224/30.

Eftersom R1 och R2 använder OSPF för att utbyta routing-information ser vi också en OSPF-post i R1:s routingtabell för nätverket 10.1.1.0/24, som R1 har lärt sig från R2.

Slutligen innehåller routingtabellen en default route. Denna har nätverksadressen 0.0.0.0/0 och används när inga andra poster matchar. En statisk default route markeras med koden S* i routingtabellen, vilket visas i exemplet.