Routers funktioner

pic15-ccna2-router-imp-honeywell-316
Bild 1: Den första router

En router är precis som vilken dator som helst i den meningen att den består av komponenter som processor, minne och operativsystem. Routrar skiljer sig från datorer när det gäller skärm, tangentbord och hårddisk.

Den första router användes i ARPANET (1969-08-30). Den routern var en minidator känd som IMP Honeywell 316 (Interface Message Processor). På bilden ser man den stora routern som har programmeringsknappar på framsidan.

ARPANET utvecklades av Advanced Research Projects Agengy som var USA:s försvarsdepartement. ARPANET var det första nätverk som fungerade med tekniken paketförmedling eller på engelska ”packet switching” och därför skulle man kunna säga att ARPANET var grunden till Internet. Dagens routrar är betydlig mindre i storlek men ändå kraftfullare.

Routers CPU och Minne

Liksom datorer har routrar CPU och RAM minne. Processorn exekverar operativsystemets instruktioner såsom processinitieringar, routing funktioner och växlingsfunktioner.

RAM minnet innehåller:

  • Operativsystemet (IOS) och dess instruktioner, som kopieras till RAM minnet när routern startar.
  • Konfigurationsfiler såsom ”Running Configuration File”. Routerns konfigurationer lagras i denna fil och läses av IOS. Filen är känd som running-config.
  • IP vägvalstabellen (routing tabell) innehåller routing information för externa nätverk och information för direkt anslutna nätverk.
  • ARP cacheminne (ARP tabell) lagrar tillfälliga IPv4 adresser i relation med MAC adresser. Information om IP-MAC används av routrar för att utföra paketleveranser till egna direktkopplade nätverk.
  • Packet buffert används för tillfällig lagring av paket vid utsändning och mottagning.

pic20-ccna2-router-memoryRAM minnet är flyktig (strömberoende) och förlorar sitt innehåll så fort router startar om eller stängs av. Men routern har också andra minne som inte förlorar sitt innehåll även om router startar om, nämligen ROM, flash och NVRAM.

ROM eller Read Only Memory, innehåller bootstrap instruktioner, grundläggande diagnos mjukvara, olika versioner av IOS. ROM-minnet använder sig av Firmware mjukvara som är inprogrammerad i en integrerad krets. Firmware är mjukvara som inte kräver uppdateringar exempelvis instruktioner för bootprocessen. ROM minnets innehåll försvinner inte när routern startar om.

Flash-minnet är icke-flyktig (nonvolatile) därmed försvinner inte minnets innehåll, men det kan ändras eller tas bort. Flash-minnet används för permanent lagring av operativsystemet, Cisco IOS. I de flesta Cisco routrar är IOS lagrad i ett Flash-minne och kopierad till RAM-minne under bootnings process.

NVRAM (Nonvolatile RAM) är ett minne som inte förlorar sitt innehåll när router stängs av. I detta minne lagras routerns konfigurationsfil känd som startup-config permanent. Filen startup-config kopieras till RAM minnet vid routerns startprocessen och filen döps om till running-config.

Alla ändringar som görs när routern är igång lagras i filen running-config som finns endast i RAM-minnet. För att permanent lagra ändringar i filen startup-config så måste filen running-config kopieras till startup-config filen.

Routrar är centrala i alla nätverk

En router ansluts till olika nätverk via de olika interface en router består av. Det innebär att routers interface adresseras med egna IP-adresser som tillhör till olika nätverksadresser. När en router mottar ett IP-paket via ett av sina interface, väljer routern ett annat interface för att vidarebefordra paketet till sin destination. Interfacet kan vara kopplat direkt till destinationsnätverket eller kopplat till ett nätverk som leder till destinationsnätverket.

pic16-ccna2-lan-wan-lan
Bild 2: Routrar sammanbinder nätverk

Ett LAN i sin enklaste form kan definieras som ett lokalt nätverk där nätverksenheter ansluts till en switch. En switch ansluter samman nätverksenheterna via deras MAC-adresser, men när paket skickas till mottagare som finns i andra externa LAN behövs en router. Denna router sammanbinder LAN via nätverk kända som WAN.

WAN används för att ansluta nätverk över ett stort geografiskt område exempelvis ett ISP-nätverk. Normalt är LAN nätverk kopplat till WAN-nätverk.

I figuren ser vi att routrar R1 och R2 är ansvariga för att ta emot paket från ett nätverk och vidarebefordra det till ett annat nätverk via en WAN uppkoppling.

Routrar bestämmer bästa vägen till destinationen

pic17-ccna2-determine-best-path
Bild 3: Routing-information

Det primära ansvaret för en router är att dirigera paket avsedda för lokala och externa nätverk (remote network). Routern väljer den bästa vägen mot destinationen och därmed vidarebefordrar paket till nästa router.

Till sin hjälp har alla routrar information över alla möjliga väg till olika destination (routing information) i en vägvalstabell (dirigeringstabell, routing table).

När en router tar emot ett paket, undersöker routern paketets IP-adress. Därefter söker routern efter samma IP adress i sin routing-tabell. Den innehåller information om IP adresser och interface som ska användas för att vidarebefordra paketet. När en matchning har hittats, inkapslar routern IP-paketet till en datalänksram (frame) för det utgående interfacet som är kopplat till nästa router. Denna process upprepas tills paketet levereras till mottagaren.

Varje gång ett paket vidarebefordras anpassas leveransen till nätverkstypen. Troligen kommer en router att ta emot en Ethernet datalänkram (frames) som ska vidarebefordras till ett annat nätverkstyp som använder en annan typ av datalänkram, exempelvis Point-to-Point uppkoppling. Variationen i datalänk uppkopplingar kräver olika protokoll exempelvis PPP, Frame Relay, ATM (T1 uppkopplingar).

På bilden illustreras en paketöverföring mellan Ethernet och seriell uppkopplade routrar. Dessa routrar behöver routing information i sina vägvalstabell. Routing information kan programmeras in i vägvalstabellen statiskt eller dynamiskt.

Paketförmedlingsmekanismer

Routrar stödjer tre paketförmedlingsmekanismer:

Process switching

Bild 4: Process switching

En äldre paketförmedlingsmekanism som fortfarande är tillgänglig för Cisco-routrar. När ett paket anländer till ett interface, vidarebefordras paketet till kontroller där routers CPU matchar destinationsadressen med en post i dess routing-tabell och bestämmer sedan interfacet genom vilket paketet ska vidarebefordras. Det är viktigt att förstå att routern gör detta för varje paket, även om destinationen är densamma för en följd av paket. Denna processväxlingsmekanism är väldigt långsam och implementeras sällan i moderna nätverk.

Fast switching

Bild 5: Fast switching

Det här är en vanlig paketöverföringsmekanism som använder en snabbkopplingsbuffert, ett cacheminne, för att lagra nästa hop-information. När ett paket anländer till ett interface vidarebefordras paketet till kontroller där routers CPU söker efter en matchning i snabbkopplingscacheminnet. Om det inte finns någon matchning fortsätter router processen i sin helhet och vidarebefordrar paketet till ett utgående-interface, vilket registreras i cacheminnet för senare användning. Om ett annat paket matchas med samma information återförses nästa hop-information i cacheminnet utan CPU-ingripande.

Cisco Express Forwarding (CEF)

Bild 6: Cisco Express Forwarding

CEF är den senaste överföringsteknik som förbättrar Cisco-routrar paketförmedlingsmekanismer. Precis som Fast switching, bygger CEF en vidarebefordringsinformationsbas (Forwarding Information Base), och en tabell med nästa-hop anslutningar (adjacency table). Tabellposterna uppdateras dynamiskt när nätverket konvergerar. När ett nätverk har konvergerat innehåller därför FIB- och tabellerna all information som en router skulle behöva när paket ska vidarebefordras. FIB innehåller tidigare routing-information, inklusive utgående interfacet och datalänk informationen. Cisco Express Forwarding är den snabbaste vidarebefordringsmekanismen och det första valet på dagens Cisco-routrar.

Skillnader mellan förmedlingsmekanismer illustreras med bilderna ovan. Fem packet ankommer till en switch för vidarebefordring:

  • Process switching: varje packet hanteras av CPU som ser till att koppla samman med en utgående interface.
  • Fast switching: endast det första paketet hanteras av CPU och läggs till cacheminnet. De nästa fyra paketen hanteras direkt baserat på första pakets informationshanteringen.
  • CEF: Alla fem paket hanteras samtidigt med information i FIB och Adjacency-tabell.