Router

I ett nätverk med många segment och olika protokoll och kommunikationsmetoder räcker ofta inte en brygga till. En såpass komplext nätverk behöver en komponent som inte bara vet adressen på de olika segmenten utan också klarar att räkna ut bästa vägen för att skicka data och dessutom har bättre filtreringsmöjligheter. En sådan komponent kallas Router och jobbar i OSI modellens ”Network Layer”.

En router kan vara både en hårdvara eller en mjukvara installerad på en server som har minst två nätverkskort (kallas Multihomed Computer).

Till skillnad mot bryggor baserar en router sin routingtabell på IP adresser. Listan talar med andra ord om på vilket segment datorn med ett visst IP nummer finns. Tabellen innehåller även adresser till andra routrar, vilken väg paketen skall skickas för att nå dit, samt antalet hopp, det vill säga hur många routrar som passeras på vägen dit.

För att alla routrar skall slippa hitta all denna information själv så kan de dela med sig av sina routingtabeller till andra routrar. De skickar helt enkelt över dessa med förutbestämda tidsintervaller. Det finns även två olika system för denna uppdatering av routingtabeller. Den första varianten som används med protokollet RIP (Routing Information Protocol), skickar helt enkelt över hela listan varje gång. Den andra använder sig av protokollet OSPF (Open Shortest Path First) och sänder endast över de ändringar som skett sedan föregående uppdatering. Eftersom den senare genererar mindre belastning på nätverket är den att föredra. Alla routrar har dock inte stöd för detta.

Hur fungerar en router?
När en router får ett paket så går den igen routingtabellen och jobbar enligt följande schema:

  • Om mottagarens IP-nummer finns i listan och ligger på samma segment så kastas paketet bort eftersom vi då vet att det redan kommit fram.
  • Om mottagarens IP-nummer finns i listan och ligger på något av segmenten som är kopplade till samma router så skickas paketet endast till det segmentet.
  • Om mottagarens IP-nummer finns i listan men ligger på ett avlägset segment så räknar routern ut närmsta vägen dit samt skickar vidare paketet till nästa router i kedjan.
  • Om mottagarens IP-nummer inte finns i listan så skickas paketet till den router som tillhör det segment som söks.
  • Om mottagarens segmentet (nätverks-id) är okänt så kastas paketet.

När routrar används måste det aktuella protokollet vara av den typen som klarar att passera en router, det vill säga vara routebart. Exempel på routebara protokoll är TCP och IPX, medan NetBEUI inte går att routa.

När vi använder TCP/IP måste vi ange IP-numret till närmsta routerns interface som kallas för ”Default Gateway”. Om vi inte gör det (eller anger fel adress) så kan inte signalen hitta vägen över routern till andra segment, utan komunikationen kommer att vara begränsad till det lokala segmentet. Därför måste varje interface på varje router i ett nätverk ges ett unikt IP-nummer som identifierar just det segmentet.

Exempel på routing mellan två segment

Routing mellan två segment

Låt oss som övning följa ett paket på vägen från dator A till dator B:

  1. Det första som händer är att dator A sätter ihop paketet som skall skickas till dator H.
    Som identifikation skriver den in sin egen adress (192.169.34.5) i From fältet.
    Eftersom vi vill skicka till dator H så skriver vi den datorns adress (204.169.48.3) i Destinations fältet. Vi lägger även till de data vi vill skicka. Detta ger oss ett paket med följande utseende:

    Datapaket

    Det finns även ett mellanliggande To fält där den direkta adressen anges. I vårt fall jämförs adresserna 204.169.48.3 och 192.169.34.5. Med hjälp av en teknik som kallas för ”Anding” kan protokollet räkna ut att dessa adresser inte finns på samma segment. Därför sätts To fältet till den adress som fungerar som en port till andra sidan, det vill säga datorn ”Default Gateway” (192.169.34.254).
    Adresser
  2. Nu skickar dator A ut paketet på nätverkskabeln. När det kommer till hubben B så skickas det ut på alla portar vilket betyder att alla datorer som är anslutna till hubben får paketet.
    I alla nätverk är detta massanrop (broadcast) ett nödvändigt ont som vi får stå ut med. Dessa datorer kollar igenom paketet och ser på To fältet. Eftersom det inte är till dom så ignoreras helt enkelt paketet. När router X får paketet via kabel C så ser den att adressen i To fältet stämmer med dess egna adress. Därför plockar den upp paketet och bestämmer vad den skall göra med det. Routern tittar nu på Destinations fältet och märker att paketet är till en dator bakom router Y så To fältet sätts till adressen för router Y (192.66.50.88).
    Adress 2
    Nu skickas paketet ut på kabel D och kommer så småningom till router Y som märker att To fältet stämmer med den egna adressen.
  3. Router Y läser av Destinatons adressen och ser att datorn tillhör detta segment. Till slut sätts To fältet till samma som Destinations fältet och paketet skickas vidare ut på kabel F.
    Adress 3
    Hub G får paketet och vidarebefordrar det till alla datorer på segment 204.196.48.XXX. Eftersom dator H känner igen To fältet som sin egen adress så plockar den upp paketet som äntligen kommit fram.
Fördelar med routrar:
  • Stoppar broadcasts.
  • Isolerar trafikproblem.
  • Minskar trafiken genom segmentering.
Nackdelar med routrar:
  • Inte riktigt lika snabba som bryggor.
Brouter
En brouter är helt enkelt en enhet som fungerar som både brygga och router. Den kan automatiskt välja om protokollen skall routas eller bryggas vilket gör att det går att använda både routebara och icke routerbara protokoll i samma nätverk.
  • Routingtabell– En lista över kända datoradresser och segment.
  • Segment– En del av ett uppdelat nätverk.
©Copyright: Lars Sjunnevik