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
Låt oss som övning följa ett paket på vägen
från dator A till dator B:
- 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:
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).
- 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).
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.
- 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.
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 |