INF3190/4190 L�sningsforslag 9: Nettlaget (forts.)

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  0Offset=0
    Rest og header
    4000 data bytes
    Fragment Y:
    Start of header
    Ident=X  1Offset=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 Intradomain 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 best effort?

    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?
    VersionHLengthTOSTotal Length
    Identification DFMFFragment offset
    TTLProtocolHeader 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 CIDR, 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 ICMP 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 DHCP, 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.

4. Nettlaget - Oppgaver fra Tanenbaum

5-36

Siden info beh�ves for � rute hvert eneste fragment, m� opsjonen forekomme i samtlige fragment.

5-39

Masken er 20 bit lang, alts� er nettverksdelen 20 bit. De gjenst�ende 12 bit g�r til identifikasjon av host, alts� eksisterer det 4096 hostadr.

5-49

En feil i header er mye mer alvorlig enn feil i data. Feks vil en gal adresse kunne resultere i at pakken leveres til feil mottaker. Mange hoster sjekker ikke for � se om en pakke som blir levert til dem faktisk virkelig er til dem, men antar at nettverket aldri vil gi dem pakker intendert for en annen host. Data dekkes noen ganger ikke av sjekksum fordi det er for kostbart � gj�re det, og h�yere lag ofte likevel gj�r det slik at sjekksum p� nettlaget er redundant.

5-50

Ja. Det faktum at Minneapolis LAN er tr�dl�st for�rsaker ikke at pakker som ankommer til henne i Boston, automatisk hopper til Minneapolis. Hjemmeagenten i Boston m� tunnelere dem til foreignagenten p� det tr�dl�se LAN'et i Minneapolis. Den beste m�ten � betrakte denne situasjonen er at brukeren har koblet seg til Minneapolis LAN p� samme m�te som alle andre brukere i Minneapolis. At forbindelsen bruker radio istedefor kabel er irrelevant.