Routing

En av routers primära funktionen är det att vidarebefordra paket till nätverket där mottagaren finns. Destinationens IP-adress finns på varje pakets header. Varje paket inkapslas i ramar (frames). Vid mottagande kapslas ramarna av så att routern kommer åt paketen och läsa av IP adresser registrerade i paketens header.

Routing information som routrar behöver för att dirigera nätverksdatatrafiken kan hanteras manuellt eller med särskilda protokoll. Med manuellt hantering menas att nätverksadministratörer programmerar routing-information in i routrarnas routing-tabell. Ändringar i nätverket genererar behovet av att uppdatera routing-information i routing-tabeller, vilket kan göras också manuellt så länge nätverket inte växer. Ett sådan arbetssätt kallas “statisk routing“.

Vid dynamisk routing hanteras kommunikationen routrar mellan automatiskt av routing-protokoll därmed routing-information programmeras in i routing-tabellerna i självständiga routing-processer. Varje router som har en aktualiserad routing-tabell vill gärna dela tabellen med andra routrar, detta kallas för routing-uppdateringar. Dessa uppdateringar sker regelbundet, hel automatiskt. Det är just detta som uppfattas som “dynamisk routing“.

Väg fastställande (Path determination)

När avsändare adresserar destinationen har oftast IP adressen men inte MAC adressen. För att inkludera destinationens MAC adressen undersöker avsändaren först om mottagaren finns i samma eller i ett annat LAN.

  • Om mottagaren finns i samma LAN skickas ut en ARP broadcast som begär MAC adressen associerat till mottagarens IP adress.
  • Om mottagaren inte finns i samma LAN skickas ut en ARP broadcast som begär MAC adressen associerat till Default Gateway.

När en Default Gateway tar emot något meddelande har denna skyldighet att antingen leverera direkt till mottagare eller vidarebefordra till en annan router som är ansluten till destinationen. För att en router ska dirigera paket behöver information. Denna information kan antingen programmeras in av en nätverksadministratör (statisk) eller av ett protokoll (dynamiskt)

När en router tar emot ett paket i form av ram kapslar routern av L2-header samt trailer för att söka efter destinationens IP adress. Med denna IP adress söker routern i sin routing tabell efter matchningar. Processen 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 för “Path determination”. Om det saknas routing information i routing tabellen kasserar router paketet och skickar ett ICMP meddelande till avsändaren.

En router fastställer den bästa vägen till destinationen grundad i värdet som kallas för “metric“. Vissa routing protokoll såsom RIP, använder antal hopp (hop-count) som metric, där antalet hopp representerar routrar mellan avsändare och destination. Andra routing protokoll såsom OSPF fastställer den kortaste vägen genom att undersöka bland annat bandbredden av länkarna (router till router).

Bild 1: Olika värde för Metric

Bild 1 illustrerar hur olika routing-protokoll använder Metric. RIP använder antal hopp som metric, 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örs 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.

Switching funktion

Efter att en Router har fastställt den bästa vägen till destinationen och interfacet som är anslutet till den utför routern följande tre steg:

  1. Kapslar av L2 ram header och trailer med syfte att komma åt destinations IP adress.
  2. Läser av destinationens IP adress och söker efter en eller flera matchningar i sin routing tabell.
  3. Kapslar om L3 paketet till L2 ram (frame) och vidare befordrar ramen ut gränssnittet.

Processen ovan 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.

På bilden nedan kan följande observeras:

  • PC1 vill skicka ett meddelande till PC2
  • PC2 är i ett avlägset nätversk
  • PC1 adresserar destinationen 192.168.4.10 där nätverksadress är 192.168.4.0/24
  • PC1 kapslar in paketet till L2 ram som i sin tur lägger till mottagarens MAC adress (router R1 MAC adress till interface Fa0/0)
Bild 2: Paketdirigerings process

Detaljer i paket dirigeringsprocess

  • 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.

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.