Routing

När en router tar emot ett paket behöver routern fastställa den bästa vägen till en destination grundad i information lagrad i sin routing tabell. Med informationen till hands växlar router från den mottagande till den utgående interfacet som är anslutet till den bästa vägen. Det är denna process som kallas för ”Path determination”. Om det saknas routing information i routing tabellen kasserar router paketet och skickar ett ICMP meddelande till avsändaren.

Informationen i routers routing tabell programmeras in statiskt eller dynamiskt. Statiskt betyder manuella konfigurationer gjorda av en tekniker medan dynamiskt görs av router själv i ett helt automatiserat arbete via ett dynamiskt routing-protokoll såsom RIP, EIGRP, OSPF.

För att välja och besluta den bästa vägen som leder till destinationen använder routern en parameter känd som ”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. Mindre antal routrar mellan avsändaren och mottagaren motsvarar bästa vägen. 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. PC1 skickar iväg ett paket till PC2 och det tas emot förts 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 vägen 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 växlat till utgående interfacet utför routern följande tre steg:

  1. Kapslar av L2 ram header och trailer med syfte att komma åt den inkapslade IP-paket där destinations IP adress finns.
  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.

Här nedan anges ett exempel på routing-processen med hjälp av en bild som visar följande:

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