Routing

Routrar vidarebefordrar paket från avsändarens nätverk till mottagarens nätverk. Till deras hjälp finns det styrinformation inkapslad i varje paket såsom IP-adressering som används hela vägen fram till destinationsnätverket. Varje paket inkapslas i ramar (frames). Vid mottagande kapslas ramarna av så att routern kommer åt paketen och läser av IP adresser registrerade i paketens header.

Förutom styrinformation behöver routrar mer information om hur dirigering av nätverkstrafik ska hanteras. Den typ av information kallas routing-information som routrar får antingen manuellt eller via särskilda protokoll. Med manuellt hantering menas att nätverksadministratörer programmerar routing-information in i routrarnas databaser. Ändringar i nätverket genererar behovet av att uppdatera routing-information vilket kan göras också manuellt så länge nätverket inte växer. Ett sådan arbetssätt kallas ”statisk routing” i den meningen att routrar är som robotar som använder inprogrammerade information för att dirigera nätverkstrafiken.

Med särskilda protokoll menas routing-protokoll som aktiverar routrar att hantera routing-information dynamiskt, det vill säga utan nätverksadministratörs ingrepp. Dock ska man först installera och konfigurera routing-protokoll och sätta igång dem. Därefter kommunicerar routrar med varandra och bygger upp egna eller gemensamma routing-information. Vid ändringar i routing-information rapporterar routrar varandra.

Att växla routing-information routrar mellan styrs på olika sätt beroende på routing-protokoll. Vissa routing-protokoll rapporterar så fort ändras routing-information medan andra väntar tidsschemat. Rapportering heter i detta sammanhang uppdateringar. När uppdateringar skickas enligt tidsschema kallas ”periodiska uppdateringar” och när routing-uppdateringar skickas så fort routing-information ändras kallas på engelska ”triggered updates”. Oavsett hur routing-uppdateringar skickas routrar mellan händer detta helt automatiskt och det är just det som uppfattas som ”dynamisk routing”.

Väg fastställande (Path determination)

När avsändare adresserar paketets destination innebär det att destinations IP-adress är redan känd men inte MAC adressen. För att inkludera destinationens MAC adressen behöver avsändare få fram den först, till sin hjälp finns ARP protokollet (mer om ARP i senare avsnitt). Dessutom undersöker avsändaren om mottagaren finns i samma eller i ett annat LAN.

  • Om mottagaren finns i samma LAN skickar avsändare ut en ARP broadcast som begär mottagarens MAC adressen associerat till mottagarens IP adress.
  • Om mottagaren inte finns i samma LAN skickar avsändare ut en ARP broadcast som begär MAC adressen kopplat till Default Gateway. När en Default Gateway tar emot ett sådant meddelande har denna skyldighet att svara direkt till avsändare och skicka sin MAC-adress.
Bild 1: Paketdirigerings process

Nu har paketet skickats till routern som är default gateway. När en router tar emot ett paket i form av ram kapslar routern av L2-header samt trailer så att routern kan komma åt till inkapslat paket för att söka efter destinationens IP adress. Med denna IP adress söker routern i sin routing tabell efter matchningar.

Sökningsprocessen kan resultera i följande tre beslut:

  • Directly connected network – IP adressen tillhör till samma nätverk som routerns interface.
  • Remote network – avsändarens nätverk IP adress är inte samma som destinationens
  • No route determined – Om ingen matchning hittas i routing tabellen kasserar routern paketet ifall inte finns konfigurerat en default route. Dessutom skickar routern ett ICMP meddelande till avsändaren.

Att välja och fastställa den bästa vägen till destination grundad i routing tabell och växla till interfacet som är anslutet till den bästa vägen kallas på engelska ”Path determination” eller vägfastställning på svenska.

Metric

En router fastställer den bästa vägen till destinationen grundad i värdet som kallas för ”metric”.

Bild 2: Olika värde för Metric

Bilden ovan illustrerar hur olika routing-protokoll använder Metric. RIP använder antal hopp, det vill säga antal routrar ett paket passerar innan det ankommer till destinationen. PC1 skickar iväg ett paket till PC2 och det tas emot först av Default gateway, R1. Denna router kapslar paketet av och läser av IP adresser. Därefter söker R1 efter en matchning i sin routing-tabell. Om flera alternativ väg (route) finns i routing-tabellen väljer R1 den bästa grundad just i Metric-värdet. R1 arbetar med routing-protokollet RIP därmed vägen via R3 är den bästa.

Om router R1 kör istället routing-protokoll OSPF väljer R1 vägen via R2 istället eftersom överföringshastigheten är betydligt snabbare än 56 kbps.

Lika kostnad och lastbalansering

När en router har flera vägar med samma kostnad (equal-cost metric) till en och samma destination, utför routern lastbalansering (Equal-Cost Load Balancing).

Bild 3: Lastningsbalansering

Bild 3 illustrerar en lika-lastbalansering i den meningen att alla länkar mellan PC1 och PC2 är lika och det finns ingen skillnad att skicka ett paket till PC2 via R2 eller R4. Det finns också möjligheten för lastbalansering även om vägar till destination har olika kostnader, något som kallas ojämnt lastbalansering (Unequal-Cost Load Balancing). EIGRP är det enda protokoll som kan konfigureras för ojämnt lastbalansering.

Switching funktion

Efter att en Router har fastställt den bästa vägen till destinationen och interfacet har identifierats växlar routern från mottagande interface till sändande (exit) interface. Nu kapslas paketet om till ram och styrinformationen aktualiseras. Processen upprepas varje gång ett paket ankommer till en router i sin resa till destinationen. Det innebär att L2 adressen ändras varje gång paketet vidarebefordras. Eftersom ett paket passerar genom flera routrar minskas värdet i TTL med 1 varje gång. När en router tar emot ett paket med TTL = 1 innebär det att värdet blir 0 och då kasserar routern paketet.

Detaljer att tänka på i paket dirigeringsprocessen

  • Hur bestämmer PC1 att PC2 är i ett annat nät?
    • PC1 utför en AND operation.
  • Hur får PC1 R1:s MAC adress?
    • PC1 kontrollerar sitt ARP cacheminne. Om adressen inte hittas där skickar PC1 en ARP broadcast och begär MAC adress associerat till IP adress 192.168.1.1 (Default Gateway).
  • Hur vet R1 att det finns ett inkapslat paket i mottagets ram?
    • I L2 header finns fältet Type där R1 läser av 0x800 vilket betyder att Ethernet ram innehåller ett inkapslat IP paket (IP=0x800, ARP=0x0806, IPv6=0x86DD mm.)
  • Hur vet R2 att PC2 finns i ett direkt anslutet nätverk?
    • R2 kapslar av L2 och läser av mottagarens IP adress och känner igen som ett av routerns direkt anslutet nätverk.
  • Hur ska ske leveransen?
    • R2 kontrollerar sin ARP tabell och söker efter PC2:s MAC adress. Om adressen hittas skickar paketet till PC2, annars skickar ett ARP broadcast ut.