Løsningsforslag uke 10

1. Nettlaget - Fragmentering/framsending

  1. Forklar prinsippet for fragmentering og reassemblering.

    Vi må fragmentere en melding når den skal sendes ut på et pakkesvitsjet nettverk, fordi prinsippet er at alle pakker skal være av en viss størrelse for å oppnå ressursfordeling av linja. I tillegg kan forskjellige nett ha ulik kapasitet, feks Ethernet har en MTU på 1500 bytes.

    Anta at maskinen som tar iniativet til kommunikasjonen benytter maksimale pakkestørrelser på (opptil) 4000 bytes og at disse kan transporteres i det nettet maskinen er koblet til. Neste nett kan kun transportere pakker med maskimal lengde på 1000 bytes. Hvordan vil fragmentering/reassemblering se ut for hvert av fragmentene i dette tilfellet?

    Fragmentene vil se ut som følger: (for enkelthets skyld er ikke størrelsen av header medregnet, men pakkestørrelse satt lik datastørrelse)

    Opprinnelig datagram:
    Start of header
    Ident=X     0 Offset=0
    Rest og header
    4000 data bytes
    Fragment Y:
    Start of header
    Ident=X     1 Offset=y*1000
    Rest og header
    1000 data bytes

    Forklaring til figuren: Alle fragmentene fra det originale datagrammet vil ha samme identifikator i Ident-feltet i headeren (unikt blant alle datagram). I dette tilfellet vil pakken på 4000B bli splittet i 4 fragment a 1000B hver når den passerer ruteren inn i nett 2. Ved splitting må det settes en offset-verdi som viser hvor mye av det opprinnelige datagram som har blitt sendt (y er hhv. 1000, 2000, 3000 og 4000). I tillegg brukes et M-bit (more), enten 0 eller 1, som angir om det er siste fragment, dvs alle fragment unntatt det siste har M=1. Fragmentene blir ikke satt sammen igjen før de når mottaker.

  2. Hvor er det naturlig å reassemblere fragmentene dersom det finnes flere alternativer?

    Man kunne tenke seg at det var naturlig å reassemblere fragmentene i neste nett pakken passerer dersom MTU der er større enn MTU i nettet pakken kom fra. For å spare ressurser underveis, reassembleres det i praksis ikke før hos mottaker.

  3. Dersom et fragment blir ødelagt / borte vil det oppstå et hull i den reassemblerte pakken. Hvordan håndteres dette?

    Hvis ikke alle fragmenter kommer frem (innen en tidsfrist), gir mottaker opp å reassemblere. Dvs, mottaker forsøker ikke å rette feil, den bare forkaster alle fragment tilhørende pakken med hull.

  4. Skisser alle de operasjoner en ruter må gjøre med en pakke fra det tidspunkt den mottar pakken på et grensesnitt (interface, port) til den sender den ut på et nytt. Beskriv også evt. feilsituasjoner som kan oppstå.

    Først sjekker ruteren nettverksnummeret på mottakeradressen mot nettverksnummeret på alle sine nettverksadaptere (interface). Hvis match finnes, sendes pakken ut på denne linken. Hvis ikke, konsulteres forwardingtabellen. Hvis match her, sendes pakken til den ruteren som er oppført i tabellen. Ellers benyttes default ruter om en slik finnes. Siste utvei er å sende en ICMP-melding tilbake.

    I tillegg, hvis pakken er større enn utlinkens MTU, må pakken fragmenteres. Hvis fragmentering er påkrevd men ikke mulig, sendes det ICMP-melding tilbake.

2. Nettlaget - Internetworking

  1. Hva er et autonomt system? gi eksempel

    AS er en del av Internet som er under administrasjon av en enkel enhet, feks er nettet på Ifi et AS fordi det vedlikeholdes og styres av Ifi.

  2. Hva er forskjellen på Interdomain og ruting? Er disse to formene for ruting helt lik, dvs basert på samme ønske om optimal rute mellom to punkter? Hvis ikke, forklar!

    Interdomain ruting er prosessen å utveksle turinginfo mellom ulike ruterdomener / AS, mens Intradomain ruting er utveksling av rutinginfo innen et enkelt domene/subnet. AS kan selv velge hvilke rutingprotokoller de vil bruke internt.

    De har ikke samme ønske om å finne optimal rute; Intradomain ruting er ofte så vanskelig å få til pga skaleringsproblemer at målene er forholdsvis moderate. De viktigste målene er å finne en vei som ikke inneholder loop, og enhver sti i nærheten av optimal er meget bra. Fordi hvert AS kan velge ulike interne rutingprotokoller, er det umulig å regne kostnader på tvers av AS for interdomain ruting, og vi er derfor fornøyd om vi vet at en node kan nås.

  3. Internet består av en rekke autonome nett som er koblet sammen. Diskuter hvilke problem som må overvinnes for å få til ende-til-ende kommunikasjon over Internett. Beskriv vha. en tegning tjenestemodellen for sammenkobling av store nett (internett), og indiker hvilke lag i (OSI) TCP/IP-modellen som er involvert ved de ulike punktene.

    Heterogenitet: Brukere av ulike typer nettverk skal ma mulighet til å kommunisere med hverandre, til tross for at nettene har forskjellige tjenestemodeller, adresseringsskjema og teknologi for mediumaksess Skalering: Internett ekspanderer med en utrolig hastighet, og denne veksten medfører følgende delproblemer: Ruting, hvordan finne effektiv sti i et nettverk av flere millioner noder? Adressering, hvordan identifisere alle nodene i nettverket?

    Når man sammenkobler nett via TCP/IP må man alltid opp på IPlaget før pakkene kan sendes videre på en fysisk link. Se figur X!

  4. Beskriv den designfilosofi som ligger bak teknologien brukt i Internett.

    Heterogene subnett skal kommunisere og opptre som ett operativt system. Sub-autonomitet; det skal ikke kreves endring i subnettene. Størs mulig adaptivitet overfor kabelbrudd, nodekræsj og trafikkbelastning. Gjøre minst mulig forutsetninger om underliggende teknologi. Skal utnytte ulike nett- og transmisjonsteknologier (konverteringsteknologi). Endesystemene skal håndtere påliteligheten.

  5. Hva menes med begrepet ?

    Transporten av pakker skjer på raskes muli måte, uten garanti for vellyket overføring. Dette betyr at pakker kan bli borte, ankomme i feil rekkefølge, dupliseres eller bli unormalt forsinket. Det må settes en øvre grense for pakkestørrelsen.

3. Nettlaget - IP

  1. Gi en kort forklaring på hensikten til de ulike feltene i IPv4 headeren. Er noen av disse etter din mening overflødige/ mangler det noen?
    Version HLength TOS Total Length
    Identification   DF MF Fragment offset
    TTL Protocol Header checksum
    Source adr
    Destination adr
    Options (variabel lengde)

    Figuren viser IPv4-hodet. Version inneholder protokollens versjonsnr (4/6) og muliggjør glidende overgang og bruk av lang tid fra v4 til v6. Siden hodet kan ha variabel lengde, viser HLength hvor mange ord (32bit) hodet inneholder, (5-15). Type of service angir hvilken tjenestetype pakken ønsker. I praksis vil de fleste nåværende rutere ignorere dette feltet. Total length angir lengde i bytes på hele pakken (hode+data), maks 65535. Identification brukes slik at mottaker skal vite hvilket datagram et fragment tilhører. DF =1 sier at pakken ikke kan fragmenteres. MF=1 angir at det er flere etterfølgende fragment i datagrammet. Fragment offset angir hvor langt inn i datagrammet dette fragmentet skal plasseres. TTL er en teller som typisk dekrementeres ved hvert hopp, og hvis denne blir 0 kastes pakken (det er egentlig meningen at den skal dekrementeres flere ganger hvis pakken ligger lenge i kø, men gjøres sjelden i praksis). Protocol angir hvilken protokoll pakken har, feks UDP/TCP. Gyldige protokoller og deres id finnes i RFC 1700. Header chechsum verifiserer kun hodet. Adressene er vanlige IPadresser. Det er 5 offisielle opsjoner, hhv Security, Strict source routing, Loose source routing, record route og timestamp. Ingen av disse benyttes i stor grad. Overflødigheter og mangler avhenger av hva man ønsker seg, jfr. de endringer som har blitt gjort til IPv6.

  2. En IP adresse er på 32 bit, og det eksisterer således 2x32= 4.3milliarder unike adresser innenfor Internett. Dette tallet er i størrelsesorden jordens befolkning, og helt sikkert mye større enn tallet på alle datamaskiner på kloden. Likevel snakker man om at adresserommet til Internett er for lite. Hvordan forklarer du dette?

    IP adressene er hierarkisk oppbygd, med en nettverksdel og en verts (host) del. Videre er de delt inn i nett av klasse A, B og C hvor nettverksdelen er hhv 7, 14 og 21 bit. Fordi vi i utgangspunktet må tildele ett nettverksnummer pr potensielle nettverk, vil dette bruke opp alle adressene svært raskt, samtidig som mange nett ikke utnytter alle sine vertsadresser. Den dårlige utnyttelsen oppstår fordi vi tvinges til å utgi nettverksadresser i faste størrelser, som er svært ulike.

  3. Hva er , og hvilke problemer løser dette?

    CIDR = Classless Internet Domain Routing er en metode for å aggregere ruter som behandles som en blokk med kontinuerlige klasse C IP adresser som ett nettverk. CIDR forsøker løse to av Internets skalerbarhetsproblemer: 1) at tabellene blir for store, og 2) at adresserommet blir brukt opp lenge før det er like mange maskiner som adresser på Internett. CIDR prøver balansere ønsket om å minimalisere antall ruter som en ruter må kjene til vs effektiv adresseutnyttelse. CIDR aggregerer ruter, dvs en enkelt entry i forwardingstabellen forteller hvordan mange nett kan nås. For at dette skal fungere må det deles ut blokker av klasse C adresser som deler prefix. Det lages på en måte nettverksnummer av variabel størrelse.

  4. Forklar hva er og hva slags oppgaver det skal ta hånd om. Nevn eksempel på minst èn applikasjon som benytter funksjonalitet i ICMP

    ICMP, Internet Control Message Protocol brukes av rutere for å rapportere uventede hendelser, og til å teste nettverket. Det er definert 13 meldinger, og hver melding innkapsles i en IPpakke. De viktigste typene er:

    1. Destination unreachable, betyr typisk at ruteren ikke kan lokalisere mottakeren, eller at en pakke med DF satt ikke kan leveres videre pga lavere MTU.
    2. Time exceeded, vil si at TTL=0. Typisk fordi en pakke går i løkke, enorm metning i nettet, eller for lav initiell TTL.
    3. Parameter problem, betyr at det er en ulovlig verdi i et headerfelt. Skyldes vanligvis feil i programvare i en node.
    4. Source quench, ruteren ønsker at avsenderen skal redusere utsendingshastigheten. Benyttes sjelden i våre dager.
    5. Redirect, begyr at ruteren mener at pakken har blitt rutet feil
    6. Echo request/reply, er spørsmål og svar på om en maskin er i live
    7. Timestamp request/reply, er som echo men med info om transmisjonstid
    Se RFC 792 for detaljer om disse og andre typer. Ping og traceroute er to applikasjoner som benytter ICMP.
  5. Hva er , og hva benyttes protokollen til?

    DHCP = Dynamic Host configuration Protocol, brukes til å tildele IP-adresser til maskiner uten manuell inngripen.

  6. Hvorfor har det blitt utviklet en ny versjon av IP? Hvilken ny funksjonalitet ligger i IPv6? Hvorfor finnes ikke IPv4's Protocol-felt i Ipv6? Må ARP-protokollen endres ved innføring av IPv6?

    pga 1) forlite adresserom og 2) manglende kontroll over tjenestekvalitet. Pga at store organisasjoner har gått over til å bruke NAT (network address translation), og dermed ikke trenger mer enn et klasse C nett til tusener av maskiner (private IP-adr som er ugyldige på Internett), er ikke argument 1) like riktig lenger.

    Den nye funksjonaliteten består av: større adresserom (128 bits adr), flere adressenivåer/ruterhierarkier, økt fleksibilitet, kontroll med overførings-/tjenestekvalitet, mekanismer for økt sikkerhet (autentisering og kryptering), sanntidsanvendelser, autokonfigurering og fragmentering.

    Protocol-feltet forteller destinasjonshosten hvilken protokollhandler som IP-pakken skal leveres til. Mellomliggende rutere trenger ikke denne info, så den trengs derfor ikke i hovedheader. Faktisk finnes den i IPv6 headeren, men forkledd: next header feltet av den siste (ekstension) headeren brukes til dette formålet

    Konseptuelt er det ingen endringer i ARP, men teknisk trenger de nye IP-adressene mer plass, slik at feltene i ARP må være større.

Publisert 25. mars 2011 13:21