Oppgave 1: a) Hva er tjenere, klienter, switcher og routere, og hvilken rolle spiller hver av disse komponentene i nettverkskommunikasjonen? Svarforslag: Tjenere: enheter/verter som leverer tjenester over nettverket. Klienter: enheter/verter som benytter seg av tjenester levert over nettverket. Switcher: Kobler enheter sammen i et subnett. Routere: Kobler forskjellige subnett sammen. N?dvendig for ? sende pakker ut av et LAN. b) TCP og UDP er de mest vanlige protokollene i transportlaget. Hvilke tjenester tilbyr UDP? Svar: UDP tilbyr multiplexing over en IP-adresse (porter) og kontroll av nyttelasten (checksum) Hvilke tjenester tilbyr TCP? Svar: samme som UDP, men i tillegg p?litelighet (garantert levering), levering i rekkef?lge, flytkontroll (for ikke ? sende fortere enn. mottakeren kan ta i mot), metningskontroll (for ? dele nettverksressursene med andre datastr?mmer. Hvorfor ?nsker man noen ganger ? bruke UDP til tross for at TCP tilbyr flere tjenester? Svar: Det krever mindre ekstra data for overf?ring (mindre overhead). Det kan hende man ?nsker ? bygge sin egen versjon av flytkontroll, mentningskontroll e.l. i applikasjonen. Det at sendetidspunktet ikke styres av metningskontroll, gj?r at applikasjonen som sender pakken kan bestemme sendetidspunktet selv (nyttig i f.eks telekonferanse og videostreaming). c) Hva er en MAC-adresse, og p? hvilket lag brukes den? En adresse som identifiserer ett nettverksinterface (NIC) som bruker overf?ringsteknologier som f.eks. Ethernet eller WiFi. Logisk sett opererer en MAC-adresse p? linklaget, selv om den ofte er bygget inn i maskinvaren som gj?r overf?ringen. En MAC-adresse gj?r at man kan addressere andre maskiner p? samme lokale nettverk (LAN). Hva er ARP, og hvorfor trenger vi denne protokollen? ARP gj?r at man kan finne ut hvilken IP-adresse (Nettverkslaget) som korresonderer til MAC-adressene i et LAN. Dette gj?r at maskinene kan adressere hverandre innefor et LAN ved ? bruke IP-adresser. Oppgave 2: IP-adresser IP'en til en maskin er gitt i CIDR-notasjon ved: 192.168.0.165/28 Hva er IP-adressen med hver oktett notert bin?rt? Svar: 11000000.10101000.00000000.10100101 Hva blir nettverksmasken med hver oktett notert bin?rt? Svar: 11111111.11111111.11111111.11110000 For ? finne subnettadressen til maskinen m? du gj?re en bitvis AND operasjon mellom IP-adressen og nettverksmasken. Hva blir subnettet til maskinen over i CIDR-notasjon? Svar: 192.168.0.160/28 Hvor mange adresser er tilgjengelig til verter i dette subnettet? Svar: 14 For ? finne kringkastingsadressen til et subnett, m? du gj?re en bitvis OR-operasjon mellom maskinens IP-adresse og bit komplement (bitvis invers) av nettverksmasken. Hva er kringkastingsadressen til subnettet i oppgave 2 a) i CIDR-notasjon? Svar: 192.168.0.175 Hva er NAT, og hvordan fungerer det? Svar: NAT st?r for ?Network Address Translation?, og er en metode for ? skrive om en IP-adresse til en annen n?r den passerer en enhet i nettverket. Den benyttes for det meste for ? gj?re at man kan gjenbruke IP-adresser i forskjellige lokale nettverk ved ? skrive dem om, slik at alle forbindelser med opprinnelse innenfor et NAT-et nettverk ser ut som det kommer fra den samme offentlige IP-adressen sett fra utsiden. Dette gj?res ved at hver forbindelse kobles opp mot et portnummer tilh?rende den eksterne IP-adressen. NAT-enheten holder oversikt over hvilke enheter/forbindelse p? innsiden av LANet som korresponderer med de forskjellige portnumrene som benyttes utad. Hva er hovedgrunnen til at man for?ker ? g? over til IPv6? Svar: Man er i ferd med ? slippe opp for ledige IP-adresser i Internett med IPv4, selv med den utstrakte bruken av NAT. Dette vil gj?re det mer ? mer vanskelig ? f? muligheten til ? benytte offentlig synlige IP-adresser. IPv6 har veldig mange flere adresser (128 bits adresse mot 32 bit i IPv4). Hvorfor er det vanskelig ? bytte IP-protokollen? Svar: Alle enhetene som trenger ? behandle IP-protokollen p? veien mellom avsender og mottaker m? ha st?tte for IPv6 om ikke leveringen skal mislykkes. Det vil si at for ? sette det i global drift er det sv?rt mange enheter som m? st?tte dette om det ikke skal oppst? mange soner som ikke f?r levert data. Dette tar lang tid og er krevende. Oppgave 3: DHCP og DNS Hva er DHCP, og hvorfor bruker man denne protokollen? Svar: DHCP st?r for ?Dynamic Host Configuration Protocol? og benyttes for ? automatisk tildele IP-adresser til enheter som kobler seg p? et lokalt nettverk (LAN). Den brukes fordi det er en omstendelig prosess ? skulle manuelt tildele (og formidle) IP-adresser til alle som vil koble seg opp mot nettverket. Automatisering av denne prosessen gj?r at de f?rreste trenger ? tenke over dette n?r de kobler seg opp. Hvorfor er det vanlig ? ?frigi? en IP-adresse utdelt med DHCP etter en viss tid? Svar: Nettverk med mange enheter som kobler seg av og p? over tid vil da kunne gjenbruke IP-adressene til enheter som ikke har v?rt aktive p? en stund. Dette gj?r at man ikke trenger et veldig stort subnett med mange IP-adresser som holdes opptatt av enheter som ikke svarer eller som har forlatt nettverket. Hva er et DNS-navn, og hvorfor benytter man dette i tillegg til IP-adresser? Svar: Et DNS-navn er 2 eller flere ord med punktum i mellom som man bruker for ? koble opp mot maskiner p? internett i stedet for ? huske p? IP-adressen til maskinen. Vi benytter dette da IP-adresser ikke er s?rlig menneskevennlig (vanskelig ? huske). Det er ogs? flere tjenester som bedre lar seg l?se ved ? koble navn til IP-adressen, som f.eks aliasing (fler DNS-navn til ¨¦n IP) og round-robin DNS (samme DNS-navn g?r p? rundgang mellom flere IP-adresser). Hvilken tjeneste utf?rer en DNS rottjener? Svar: De holder oversikten over hvilke maskiner som har ansvaret for hvert TLD (Top Level Domain). TLDer er det h?yeste niv?et i DNS-hierarkiet, ordet etter det siste punktumet (f.eks .org, .net, .com, .no). Forklar hva DNS aliasing og round-robin DNS er, og hvorfor man benytter det? Svar: DNS aliasing er n?r man kobler flere forskjellige DNS-navn til samme IP-adresse. Dette benyttes n?r man vil at flere forskjellige tjenester skal leveres av den samme fysiske enheten, som f.eks ¨¦n webserver som leverer hjemmesider til mange bedrifter med forskjellige domenenavn. Round-robin DNS er n?r det samme DNS-navnet p? rundgang peker p? forskjellige IP-adresser p? en liste. Dette kan benyttes for ? spre trafikken p? popul?re tjenester over mange fysiske maskiner, s? ingen av maskinene knekker sammen av belastning pga for mye trafikk. Praktiske oppgaver for ? bli kjent med noen nyttige nettverksverkt?y. P1) Programmene p? din datamaskin kan bare sende beskjeder til andre maskiner hvis den kjenner IP adressen til maskinen den skal snakke med. Vi foretrekker ? bruke navn i stedet for en IP adresse. Maskinen huldra.uio.no har for eksempel adressen 129.240.2.27 ?pne opp en terminal i Linux og bruk kommandoen ˇ°digˇ± for ? finne adresse for navnene. Hva finner du ut hvis du for eksempel kj?rer "dig ifi.uio.no" og dig "login.ifi.uio.no". Hva med "dig www.microsoft.com". NB- Om du skal kontakte DNS-tjenere utendfor UIO sitt nettverk, blir UDP-oppslag blokkert av UiO p? veien ut. Du kan i s? fall be programmet dig om ? bruke TCP. Dette gj?r du ved ? legge til opsjonen "+tcp", slik at kommandoen blir f.eks "dig +tcp www.microsoft.com" Verkt?yet "dig" kan ogs? gi deg svar p? resultatet av oppslaget gjennom hele DNS-hierarkiet. Kj?r "dig +trace +tcp www.uio.no". Hvor mange rottjenere er det? Hvor mange tjenere har NORID for TLDen ".no"? Hvor mange navnetjenere rapporterer UiO? P2) "whois" er et verkt?y som kan brukes til ? sl? opp informasjon om hvem som administrerer en IP-adresse eller et domenenavn. Hvem administrerer IP-adressen som ble returnert da du kj?rte "dig www.microsoft.com"? Hvem administrerer domenet "microsoft.com"? P3) N?r du programmerer p? applikasjonslaget bruker vanligvis programmet transportlaget, som igjen bruker lagene under. Kommandoen "traceroute" bruker for ? vise stien som pakken bruker fra din datamaskin til destinasjonen. Hvor mange routere er brukt for ? sende en pakke til www.ifi.uio.no, www.uio.no, www.ntnu.no, www.kth.se, www.cmu.edu Hvis ikke programmet "traceroute" er installert p? din maskin kan du bruke et online verkt?y: http://networktools.nl/traceroute/ Finn en maskin p? hvert kontinent, og kj?r traceroute til dem. Tips: For ? finne en maskin p? et bestemt sted, kan du fors?ke ? s?ke etter et universitet eller en bedrift som h?rer til p? stedet og pr?ve traceroute til hjemmesidens domenenavn. Bruk verkt?yet Traceroute Mapper til ? analysere rutene dere har funnet https://stefansundin.github.io/traceroute-mapper/ Bonusoppgave: Kj?r kommandoen "traceroute bad.horse" P4) Kj?r kommandoen ˇ°netstat -tˇ± Hvor mange aktive tcp-forbindelser har maskinen? (for ? telle, kan du kj?re ˇ°netstat -t | grep ESTABLISHED | wc -l"