INF3190/4190 L�sningsforslag 7: Nettlaget
1. Nettlaget - generelt
- a) Gi en beskrivelse av hovedoppgavene til nettverkslaget, og
knytt dette opp til begrepene p�litelig/up�litelig og
forbindelsesfri/forbindelsesorientert.
Hovedoppgaven til nettlaget er � transportere pakker fra SAP p� toppen av avsenders nettlag, gjennom nettet og til SAP p� toppen av mottakers nettlag. Ofte vil pakkene m�tte passere mange rutere underveis. Nettlaget er det laveste laget som tar seg av ende til ende transmisjon, i motsetning til linklaget som h�ndterer flytting av rammer over enkeltlinker. Nettverkstjenesten kan v�re forbindelsesorientert, eller -fri. Uavhengig av dette er oppgavene til nettlaget adressering og ruting. Dersom tjenesten er forbindelsesorientert, m� nettlaget i tillegg ha st�tte for glidende vindu, flytkontroll, og metningskontroll. Up�litelig forbindelsesfri tjeneste representert ved Internett, imotsetning til forbindelsesorientert p�litelig tjeneste som kan knyttes til telefonsystemer.
- b) Gi eksempler p� lag 3 protokoller i TCP/IP-modellen som er hhv
forbindelsesorienterte og -l�se.
TCP og UDP hhv
2. Nettlaget - Ruting/forwarding
- Forklar hva som liggger i de tre rutingmetodene datagram,
virtuell forbindelse og kilderuting. Beskriv fordeler og ulemper ved
dem.
Datagram: hver pakke inneholder den komplette adressen til destinasjonen. Switchen/ruteren benytter s� denne informasjonen til � avgj�re hvor pakken skal sendes videre. Datagram er veldig enkle � sende, og kan sendes til enhver tid til enhver node, uten at avsender trenger bekymre seg for hvilken vei pakken tar. Imidlertid er det ikke garantert at datagram n�r m�let sitt; de kan g� tapt p� veien, og avsender har ingen m�te � finne ut av dette. En annen effekt, som normalt er u�nsket, er at den innbyrdes rekkef�lgen av datagram kan endres, noe som kan forekomme n�r ulike datagram f�lger ulike veier gjennom nettet. Denne rutingmetoden medf�rer ogs� noe kompleksitet for ruterne n�r det gjelder � bygge rutingtabeller. En siste draw-back er at samtlige pakker m� inneholde destinasjonsadressen.
Virtuell forbindelse (virtual circuit, VC): en VC vil si at alle pakker fra en bestemt node, X, f�lger samme vei til en bestemt node, Y. For at en VC skal fungere m� det f�rst opprettes en forbindelse, ved at den host som �nsker � opprette forbindelsen sender en setup-message. Denne spesielle pakken vil da traversere nettet og sette av ressurser i de ruterne den er innom. Hver ruter som kan tilby VC'er, m� vedlikeholde en tabell over de VC'er den har. Fordelen er at hver pakke som sendes kun trenger inneholde VCI, noe som er betydelig mindre enn en komplett adresse. I tillegg bes�rger VC at alle pakkerekkef�lgen bevares. P� den annen side er VC'er s�rbare overfor brudd i kretsen; skulle en link/ruter g� ned m� hele kretsen reetableres.
Kilderuting: avsenderen er ansvarlig for at pakken inneholder den info som beh�ves for � f� den frem til mottaker. Dvs at den m� legge inn samtlige adresser/porter pakken skal passere underveis. Fordelen her er at ruterne blir sv�rt enkle, mens avsenderen blir mer kompleks ved at den m� kjenne til hele nettverket. Overhead i pakkene kan bli uforskammet stort, avhengig av hvor mange rutere pakken skal passere.
- Hvilke hovedklasser rutingalgoritmer finnes for nettverkslaget? Gi
eksempler, og forklar kort hvordan de virker.
ikke-adaptiv ruting: rutingtabellene beregnes p� forh�nd basert p� topologi og evt. antatt belastning.
adaptiv ruting: rutingtabellen kan ikke forandres dynamisk n�r linjer brytes eller trafikk endres.De tre hovedklassene algoritmer er distance vector, link state og hierarkisk ruting. Distance Vector er ruting med avstandsvektorer (Bellmann-Ford algoritmen, ARPANET inntil 1979). Hver ruter opparbeider en tabell med avstand og vektor til alle andre noder. Nodene kjenner i utgangspunktet bare sine egne naboer, men ettersom denne info spres i nettet , kjenner alle nodene avstand og veil til alle andre. Dette gj�res ved at alle noder informerer sine naboer om sin egen kjennskap til andre noder i form av (Destination,cost) tupler. Nodene som mottar disse vil da oppdatere sine interne rutetabeller best�ende av (Destination,Cost,Nexthop)-tupler, og bringe disse videre til sine egne naboer. Denne info spres i to tilfeller: ved faste protokollavhengige intervall, samt ved s�kalte trigged updates (n�r man har oppdatert sin egen tabel)
Link state ruting er basert p� Dijkstras shortest path algoritme hvor alle noder er kjent med hele nettets topologi. I Internett benyttes Open Shortest Path First. Flodb�lgeprinsippet benyttes for � etablere graf over topologi. Linktilstanden spres ved hjelp av s�kalte link-state packets (LSP), som inneholder f�lgende: ID til LSP sitt opphav, liste av direkte tilkoblede naboer og kost tilknyttet disse, sekvensnr og TTL.
- Datagram m� rutes som separate pakker, mens alle pakker i
en forbindelsesorientert transmisjon f�lger samme vei. Betyr dette at nett
som st�tter virtuelle kretser aldri trenger � rute isolerte pakker mellom
to steder?
For � rute en enkelt pakke mellom to steder i en forbindelsesorientert omgivelse, m� man likevel etablere og koble ned en VC. Man m� derfor koble opp, sende pakke og koble ned med all den overhead dette inneb�rer. Det er selvsagt ikke umulig � sende enkeltpakker over en VC, snarere et spesialtilfelle.
- Vil pakker som sendes gjennom en virtuell krets noen gang komme
frem
i en annen rekkef�lge enn de ble utsendt i ?
Dette vil ikke v�re �nskelig, fordi man i s� fall m� innf�re buffring i endemaskinen og sortere pakkene ved mottak. Man kunne alts� like gjerne ha benyttet datagram. Reordning kan heller ikke forekomme siden samtlige pakker passerer de samme rutere i samme rekkef�lge