Oppgave 1: a) Hva er tjenere, klienter, switcher og routere, og hvilken rolle spiller hver av disse komponentene i nettverkskommunikasjonen? b) TCP og UDP er de mest vanlige protokollene i transportlaget. Hvilke tjenester tilbyr UDP? Hvilke tjenester tilbyr TCP? Hvorfor ønsker man noen ganger å bruke UDP til tross for at TCP tilbyr flere tjenester? c) Hva er en MAC-adresse, og på hvilket lag brukes den? Hva er ARP, og hvorfor trenger vi denne protokollen? 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? Hva blir nettverksmasken med hver oktett notert binært? 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? Hvor mange adresser er det i vertsdelen av dette subnettet? 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? Hva er NAT, og hvordan fungerer det? Hva er hovedgrunnen til at man forøker å gå over til IPv6? Hvorfor er det vanskelig å bytte IP-protokollen? Oppgave 3: DHCP og DNS Hva er DHCP, og hvorfor bruker man denne protokollen? Hvorfor er det vanlig å «frigi» en IP-adresse utdelt med DHCP etter en viss tid? Hva er en DNS-adresse, og hvorfor benytter man dette i tillegg til IP-adresser? Hvilken tjeneste utfører en DNS rottjener? Forklar hva round-robin DNS er, og hvorfor man benytter det? 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"