Uke 44 - Løsningsforslag Oppgave 1: Push, Pull og Publish-subscribe er noen paradigmer for initiering og gjennomføring av kommunikasjon over Internett. Hva er forskjellen mellom disse paradigmene? Nevn eksempler på applikasjoner som benytter paradigmene. Svar: Pull: En klient initierer en forbindelse til en tjener (innholdsleverandør) med forespørsel om en tjeneste. Eks. HTTP eller FTP. Push: En tjener “dytter”innhold til en klient når den har noe relevant å levere. Initiert av innholdsleverandøren. Eks “Pushmeldinger”på mobil, HTTP/2 Push. Publish-subscribe: Mange klienter abonnerer på en tjeneste. Tjeneren dytter innhold til abonnentene nå den har noe interessant å levere. Eks. Rich Site Summary (RSS) — Oppgave 2: Hva er forskjellene mellom klient/tjener og peer-to-peer topologiene? Nevn eksempler på begge modeller. Svar: Klient-tjener: Typisk pull-tjeneste. Tjeneren har en spesiell rolle der den leverer en tjeneste til mange potensielle brukere. Eks. HTTP eller IMAP mail. P2P: alle noder i nettverket er likeverdige og samarbeider om å levere en tjeneste. Eksempler: Bittorrent, The Onion Router (TOR), Bitcoin — Oppgave 3: Hva er et "Content Delivery Network (CDN)"? Svar: Innhold som trenger å leveres til svært mange brukere over hele verden kopieres til mange maskiner som ligger fysisk nær sluttbrukerne. Dette gjør at kildemaskinen ikke blir overbelastet og sparer kapasitet på nettverket. — Oppgave 4: Nevn 3 grunner til at man velger å bruke et CDN for distribusjon av data: Svar: 1) Å ha innholdet fysisk nærmere brukeren reduserer round trip time (RTT) og gjør det derfor raskere å aksessere, 2) Ved å cache innholdet nær brukeren sparer man trafikk over backbone-nettet, 3) Ved å distribuere innholdet, avlaster man tjeneren som leverer dette innholdet, noe som gir en mer skalerbar tjeneste. - Oppgave 5: Hva er Dynamisk, Adaptiv Streaming over HTTP (DASH)? Svar: En måte å strømme video ved hjelp av HTTP-tjenere. Videoen “klippes” opp i små uavhengige segmenter som kan kodes i flere kvalitetsnivåer. Dette gjør at en klient kan spørre etter høy kvalitet i perioder når den opplever gode nettverksforhold og redusere kvaliteten når forholdene er dårligere. — Oppgave 6: Forklar kort kommunikasjonen mellom en nettleser og en HTTP-tjener når du spør etter en hjemmeside over nettverket. Svar: En TCP-forbindelse opprettes med et 3-veis håndtrykk, om SSL skal brukes, forhandles dette frem ved å først bruke asymmetrisk kryptering til å utveksle en felles nøkkel for videre symmetrisk kryptering av forbindelsen. Klienten sender så en "GET"-forespørsel på det aktuelle dokumentet til HTTP-tjeneren. Tjeneren leverer et "200 OK" svar tilbake sammen med det aktuelle dokumentet. Om hjemmesiden inneholder dokumenter fra flere kilder opprettes tilsvarende forbindelser for å hente resten av det aktuelle innholdet. Oppgave 7: Hvilken transportprotokoll bruker HTTP, og hvilken port er standard for tilkobling for denne tjenesten? HTTP bruker TCP og har port 80 som standard. Bonusoppgave: Hvilken port er standard for kryptert (HTTPS) oppkobling? HTTPS har port 443 som standard. — Oppgave 8: Hva er forskjellen på persistente og ikke-persistente TCP-forbindelser? Svar: En ikke-persistent forbindelse blir lukket så snart et svar er levert. Påfølgende forespørsler må åpne en ny forbindelse. En persistent forbindelse vil gjenbruke den samme forbindelsen til flere forespørsler. — Oppgave 9: Man kan bruke programmet telnet til å opprette en TCP-forbindelse til en annen maskin og sende tekstlige kommandoer.  Kjør kommandoen "telnet www.ifi.uio.no 80" Skriv "GET / HTTP/1.1" Skriv "Host: www.ifi.uio.no" Trykk "Enter" to ganger. Hva får du tilbake?  Svar: Du skal få tilbake et HTML-dokument som oppgir at du bør bruke https til å aksessere nettsiden. — Oppgave 10: a) Forklar kort hva som menes med "Surface web", "Deep web" og "Dark web". Surface web: Alt som kan indekseres av søkemotorer på nettet, og som kan åpnes og leses uten bruk av passord eller krav om å være på et spesifikt lukket nettverk for å få tilgang. Deep web: Alt som er tilgjengelig via en lukket tjeneste som krever innlogging, eller som på annen måte er beskyttet mot lesing av uautoriserte. Dark web: Tjenester som, i tillegg til autentisering, krever anonymisering f.eks gjennom The Onion Router (TOR) og har strenge krav til diskresjon. Ofte kriminelle nettverk eller forum for grupper som risikerer å bli forfulgt om de blir avslørt. b) om lag hvor stor andel av informasjonen som finnes på Internett er offentlig tilgjengelig via "Surface web"? Svar: Estimert til under 10% (ca 4% i henhold til referansen på foilene). - Oppgave 11: Hva er SMTP og MIME, og hvilken Internett-applikasjon benytter disse? Simple Mail Transfer Protocol: transporterer e-post fra avsender til mottaker. Multipurpose Internet Mail Extension:Protokoll på topp av SMTP som tillater overføring av multimedia (vedlegg) gjennom e-post. Brukes av e-postprogrammer som Outlook, Mac Mail og Thunderbird Oppgave 12: Utforskingsoppgave: Fra et terminalvindu, skriv "telnet smtp.uio.no 25". Det er viktig at du er på UiO sitt nettverk (trådløst eller på terminalstuemaskin). Maskinen svarer: 220 mail-mxXX.uio.no ESMTP Exim 4.82_1-5b7a7c0-XX Skriv: "EHLO test.com" Maskinen svarer: 250-mail-mxXX.uio.no Hello 250-SIZE 75497472 250-8BITMIME 250-STARTTLS 250 HELP Skriv: "MAIL FROM: " Maksinen svarer: 250 OK Skriv: "RCPT TO: " Maskinen svarer: 250 ACCEPTED Skriv: "DATA" Maksinen svarer: 354 Enter message, ending with "." on a line by itself Skriv: "Subject: Hurra for IN1020 From: "Mickey Mouse" " Avslutt med et "." på en egen linje etterfulgt av to ganger. Maskinen svarer: 250 OK id= Skriv: QUIT Maskinen svarer: 221 mail-mxXX.uio.no closing connection Du er ute av sesjonen. Sjekk eposten du mottar på adressen du skrev inn i "RCPT TO:". Om du finner valget for å vise alle headere i din epostklient, vil du se at eposttjeneren har lagt til en del flere headere, for eksempel for SPAMhåndtering. Svar: Få det til å virke, så er vi fornøyd.