KOM - 2 Application Layer Flashcards

(64 cards)

1
Q

Hva er klient–server-arkitektur?

A

Det er en modell der én alltid-på server tilbyr tjenester til mange klienter, som sender forespørsler. Et klassisk eksempel er en webserver som svarer på forespørsler fra nettlesere på klientmaskiner.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Hva er peer-to-peer (P2P) arkitektur?

A

I P2P-arkitektur kommuniserer enheter direkte uten dedikert server. Alle enheter (peers) kan både be om og tilby tjenester, noe som gir selvskalerende systemer som f.eks. fildelingsprogrammer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Hva er tre store utfordringer for fremtidige P2P-applikasjoner?

A
  1. ISP-vennlighet: P2P belaster oppstrøms båndbredde i nettverk som ofte er optimalisert for nedstrøm.
    1. Sikkerhet: Å sikre et åpent og distribuert system er krevende.
    2. Incentiver: Det er vanskelig å motivere brukere til å dele sine egne ressurser (båndbredde, lagring, CPU).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Hva er forskjellen mellom klient- og server-prosesser i nettverkskommunikasjon?

A
  • Klient-prosess: Den som initierer kommunikasjonen
    • Server-prosess: Den som venter på å bli kontaktet for å starte økten
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Hva er en socket i nettverkskommunikasjon, og hvordan fungerer den som analogi?

A

En socket er grensesnittet mellom applikasjonslaget og transportlaget i en vert. Den fungerer som en dør: Hvis en prosess er et hus, er socketen døren meldinger går gjennom for å komme til eller fra nettverket.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Hva er forholdet mellom en socket og et API i nettverksprogrammering?

A

En socket er et Application Programming Interface (API) mellom applikasjonen og nettverket. Det gir programmet en standard måte å sende og motta data over nettet via transportlaget.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Hva trengs for å adressere en prosess over nettverket, og hva brukes portnummer til?

A

En prosess må spesifisere:
1. IP-adressen til verten
2. Et portnummer som identifiserer den riktige prosessen på destinasjonsverten.
Portnummeret gjør det mulig å skille mellom ulike tjenester på samme enhet, f.eks. webserver (port 80) og e-postserver (port 25).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Hvilke fire egenskaper balanseres ofte når man velger en transportprotokoll?

A

Pålitelig datalevering – sikrer at data kommer frem korrekt og i riktig rekkefølge
2. Gjennomstrømming – hvor mye data som kan sendes per tidsenhet
3. Tid – hvor raskt og jevnt data leveres (latens og variasjon i forsinkelse)
4. Sikkerhet – beskyttelse av data via autentisering, kryptering og integritetssikring

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Hva menes med pålitelig dataoverføring i transportlaget?

A

Det betyr at protokollen garanterer at data blir levert korrekt og komplett til mottakeren. Protokoller som ikke tilbyr dette, kan miste data, noe som kan være akseptabelt for tapstolerante applikasjoner som tale- og videostrømming.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Hva er forskjellen på båndbreddefølsomme og elastiske applikasjoner?

A
  • Båndbreddefølsomme applikasjoner krever en viss minimumsgjennomstrømning for å fungere riktig, som videostrømming og samtaleapper.
    • Elastiske applikasjoner fungerer med varierende båndbredde og tilpasser seg det som er tilgjengelig, som e-post og filoverføring.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Hva betyr timing-garantier i transportlaget?

A

Det er løfter om hvor raskt data skal leveres. For eksempel kan en garanti være at hver bit som sendes inn i socket-en på avsendersiden, når mottakerens socket innen 100 millisekunder.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Hvilke hovedtjenester tilbyr TCP til applikasjoner?

A
  1. Tilkoblingsorientert tjeneste – etablerer forbindelse mellom klient og server før dataoverføring (handshake).
    1. Pålitelig dataoverføring – sikrer at all data kommer frem uten feil og i riktig rekkefølge.
    2. Opphopningskontroll – justerer sendefarten hvis nettverket er overbelastet.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Hvilke tjenester tilbyr UDP som transportprotokoll?

A
  • UDP er en enkel, lettvektsprotokoll uten tilkobling (connectionless).
    • Den tilbyr upålitelig dataoverføring uten garanti for at pakker kommer fram.
    • Ingen opphopningskontroll – UDP regulerer ikke sendefarten hvis nettet er overbelastet.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Hva definerer en applikasjonslagsprotokoll?

A

En applikasjonslagsprotokoll definerer:
* Hvilke meldinger som utveksles (f.eks. forespørsler og svar)
* Strukturen på meldingene (felt og avgrensning)
* Betydningen av feltene (semantikk)
* Regler for når og hvordan meldinger skal sendes og besvares

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

: Hva er HTTP, og hvordan fungerer det i samspill med TCP?

A

HTTP (HyperText Transfer Protocol) er en applikasjonslagsprotokoll som brukes til å utveksle meldinger mellom klient og server over internett. Det fungerer sammen med TCP, som sørger for pålitelig dataoverføring. HTTP er en stateless protocol, noe som betyr at serveren ikke husker informasjon om tidligere forespørsler fra klienten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Hva er forskjellen på vedvarende og ikke-vedvarende TCP-tilkoblinger?

A

I en ikke-vedvarende tilkobling brukes én separat TCP-forbindelse for hver request/response-par, mens en vedvarende tilkobling gjenbruker samme TCP-forbindelse for flere request/response-par.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Hvordan fungerer HTTP med ikke-vedvarende (non-persistent) tilkoblinger?

A

For hvert objekt (f.eks. HTML-side eller bilde) åpnes en ny TCP-tilkobling.
1. Klienten oppretter en TCP-forbindelse.
2. Klienten sender en HTTP-request.
3. Serveren svarer med en HTTP-response.
4. Serveren lukker TCP-tilkoblingen.
5. Klienten mottar objektet og prosessen gjentas for neste objekt.
Dette fører til mange separate TCP-tilkoblinger og høy RTT.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Hva er “round-trip time (RTT)” og hvordan henger det sammen med TCP-tilkobling?

A

RTT er tiden det tar for en pakke å reise fra klient til server og tilbake. Før en HTTP-request kan sendes, må klienten etablere en TCP-tilkobling med serveren ved hjelp av en “three-way handshake”, som tar én RTT.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Hva er fordelen med vedvarende (persistent) tilkoblinger i HTTP sammenlignet med ikke-vedvarende tilkoblinger?
A:

A

Ved vedvarende tilkoblinger kan én TCP-forbindelse brukes til flere HTTP-forespørsler og -svar mellom samme klient og server, noe som reduserer behovet for å opprette nye tilkoblinger for hvert objekt og dermed sparer RTT og belastning på serveren.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What are the three components of the HTTP request line?

A

Method, URL, and HTTP version.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What is the difference between GET and POST requests regarding the entity body?

A

GET usually has no entity body, while POST includes one to send data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Hvorfor bruker HTTP-servere informasjonskapsler (cookies)?

A

Fordi HTTP er tilstandsløs, og cookies gjør det mulig for servere å identifisere brukere og følge med på økter.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Hva er de fire komponentene i cookie-teknologi?

A

(1) Set-Cookie: i HTTP-respons, (2) Cookie: i HTTP-forespørsel, (3) en cookie-fil lagret i brukerens nettleser, og (4) en backend-database på serveren.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Hva gjør header-feltet Set-Cookie: i en HTTP-respons?

A

Det ber nettleseren om å lagre en cookie med spesifisert innhold.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Hva sender nettleseren med i fremtidige forespørsler for å identifisere brukeren?
Den sender Cookie:-headeren med den lagrede informasjonskapselen.
26
Hva er en web cache (nettbuffer)?
En nettverksenhet som lagrer kopier av nylig forespurte objekter og svarer på HTTP-forespørsler på vegne av en webserver.
27
Hva er hovedfordelen med å bruke en web cache?
Den reduserer belastningen på webserveren og gir raskere tilgang til ofte forespurte objekter.
28
Hvordan kan en nettleser bruke en web cache?
Nettleseren kan konfigureres til å sende alle forespørsler via nettbufferen.
29
Hva er trafikkintensitet i nettverkssammenheng, og hvordan beregnes den?
Trafikkintensitet angir belastningen på en lenke, og beregnes som (forespørsler per sekund) × (bit per forespørsel) ÷ (båndbredde i bps).
30
Hva skjer hvis trafikkintensiteten på en nettverkslenke blir lik eller over 1?
Lenken blir mettet, og dette kan føre til svært høy forsinkelse – i verste fall opp mot minutter.
31
Hva er problemet med caching når det gjelder oppdaterte versjoner av objekter?
Objektene i bufferen kan være utdaterte hvis originalen har blitt endret siden de ble lagret.
32
Hva er en betinget GET (conditional GET) i HTTP?
Det er en GET-forespørsel som inneholder headeren If-Modified-Since:, og brukes for å sjekke om en ressurs har blitt endret siden sist.
33
Hva gjør en nettbuffer når en klient ber om et objekt med en If-Modified-Since-header?
Den sender en betinget GET til serveren for å sjekke om objektet er oppdatert, og får enten nytt innhold eller svar med status 304 (Not Modified).
34
Hva er hensikten med headerlinjen Last-Modified: i et HTTP-respons?
Den angir tidspunktet da objektet sist ble endret, og brukes av cache-klienter ved senere betingede forespørsler.
35
Hva er HOL blocking (Head-of-Line blocking) i nettverkssammenheng?
HOL blocking oppstår når den første pakken i en kø forsinker leveringen av andre pakker, selv om de kunne vært levert, fordi køen behandles i rekkefølge og første pakke venter på en ressurs.
36
Hva er framing i HTTP/2, og hvorfor er det viktig?
I HTTP/2 deles all kommunikasjon inn i små enheter kalt frames. Hver frame tilhører en bestemt stream og har en type som bestemmer innholdet (f.eks. headers eller data). Framing muliggjør multiplexing av flere forespørsler over én TCP-tilkobling uten at én blokkerer resten.
37
Hvordan sendes en e-post fra en bruker til en annen via SMTP?
Når en bruker sender e-post, leveres meldingen først til brukerens mailserver og legges i en meldingskø. Deretter bruker mailserveren SMTP (port 25 over TCP) for å overføre meldingen til mottakerens mailserver. Mottakerens mailserver lagrer meldingen i brukerens innboks, som senere hentes av brukerens e-postklient.
38
Hva skjer under en SMTP-handshake mellom to mailservere?
SMTP-handshaken starter når klienten (f.eks. crepes.fr) kobler seg til serveren (f.eks. hamburger.edu) og sender HELO. Serveren svarer med en velkomstmelding. Deretter sender klienten MAIL FROM, RCPT TO, og DATA, før selve meldingen sendes og avsluttes med . på en egen linje. Til slutt sender klienten QUIT og serveren lukker tilkoblingen.
39
Hva er IMAP, og hvordan brukes det i e-postkommunikasjon?
IMAP (Internet Message Access Protocol) lar en e-postklient lese og organisere e-postmeldinger som ligger lagret på en mailserver. I motsetning til POP3, lastes ikke meldingene ned og slettes lokalt – de forblir på serveren, noe som gjør det mulig å synkronisere innboksen på tvers av flere enheter.
40
Hva er hovedforskjellen mellom IMAP og POP3 i e-postprotokoller?
IMAP lar brukeren lese og organisere e-post direkte på serveren, noe som muliggjør synkronisering på tvers av enheter. POP3 laster ned e-posten til én enhet og sletter den vanligvis fra serveren, slik at e-posten kun er tilgjengelig lokalt etter nedlasting.
41
Hvordan fungerer web-basert e-post og hvordan skiller det seg fra tradisjonelle e-postklienter?
Ved web-basert e-post er brukeragenten en nettleser som kommuniserer med e-posttjenesten via HTTP. Dette skiller seg fra tradisjonelle klienter som bruker IMAP eller POP3, fordi all tilgang og håndtering av e-posten skjer via nettsiden, ikke via dedikert e-postprogram.
42
Hva er hovedoppgaven til DNS (Domain Name System) på internett?
DNS oversetter vertsnavn (f.eks. cnn.com) til IP-adresser (f.eks. 121.7.106.83) slik at mennesker kan bruke lettleste navn, mens rutere kan bruke IP-adresser. DNS er en distribuert database og applikasjonslagsprotokoll som gjør dette mulig.
43
Hva skjer når en nettleser ber om en URL som www.someschool.edu/index.html?
1. Nettleseren henter vertsnavnet fra URL-en og gir det til DNS-klienten. 2. DNS-klienten sender en spørring for vertsnavnet. 3. Den mottar IP-adressen fra DNS. 4. Deretter oppretter nettleseren en TCP-tilkobling til port 80 på den IP-adressen og henter siden.
44
Hva er en vertsnavn alias i DNS?
Et vertsnavn alias er et enklere navn som peker til et kanonisk (komplekst) vertsnavn. DNS brukes til å oversette aliaset til det faktiske IP-adressen
45
Hvordan håndterer DNS mailserver aliaser?
DNS kan knytte ett kanonisk navn (f.eks. cnn.com) til flere IP-adresser for å støtte replikasjon av mailservere. Nettleseren mottar et helt sett med IP-adresser og velger en.
46
Hvordan brukes DNS til lastfordeling?
DNS returnerer et sett med IP-adresser for et vertsnavn med replikert webserver. Nettleseren velger én IP-adresse, ofte den første – rekkefølgen bestemmes av DNS-en.
47
Hvordan fungerer DNS-oppslag teknisk sett?
Applikasjonen bruker klientsiden av DNS og spesifiserer vertsnavnet. En forespørsel sendes som et UDP-datagram til port 53. Etter en forsinkelse (millisekunder til sekunder) returnerer DNS-en IP-adressen til klienten.
48
Hva er fire problemer med et sentralisert DNS-design?
1. Single point of failure – hele nettet kan feile hvis én DNS-server krasjer. 2. Traffic volume – én server må håndtere enorme mengder forespørsler. 3. Langveis sentralisert database – stor fysisk avstand gir forsinkelser. 4. Vedlikehold – én server må oppdatere og holde data for alle verter.
49
Hvordan er det hierarkiske DNS-systemet strukturert?
1. Root-DNS-servere: Startpunktet i DNS-oppslag. Viser til riktig TLD-server basert på domenesuffiks (f.eks. .com). 2. TLD-servere: Håndterer top-nivå domener som .com, .org, .edu, og peker videre til autoritative servere. 3. Autoritative DNS-servere: Har den faktiske IP-adressen for vertsnavn som amazon.com. 4. Lokal DNS-server: Tilhører vanligvis ISP-en og cache’er tidligere oppslag. Sender videre spørsmål til høyere nivå om nødvendig.
50
Hva er DNS-caching, og hvorfor er det viktig i DNS-systemet?
DNS-caching betyr at en DNS-server lagrer tidligere oppslag (vertsnavn til IP-adresser) i sitt lokale minne. Dette reduserer forsinkelse og antall DNS-forespørsler som må sendes ut på internett, noe som forbedrer ytelsen i DNS-systemet.
51
Hva er en ressurs-post (Resource Record) i DNS, og hva består den av?
En ressurs-post (RR) er en fir-tuppel brukt i DNS for å mappe vertsnavn til informasjon. Den består av (Name, Value, Type, TTL). Eksempler: * Type=A: Name er vertsnavn, Value er IP-adresse. * Type=NS: Name er domenenavn, Value er navn på autoritativ DNS-server. * Type=CNAME: Name er alias, Value er kanonisk navn. * Type=MX: Name er alias, Value er navn på mailserver.
52
Hva er hoveddelene i en DNS-melding, og hva inneholder de?
1. Headerseksjonen: 12 byte med bl.a. identifikator (16-bit), flagg (spørring/respons, authoritative, recursion), og antall-seksjoner. 2. Spørsmålsseksjonen: Navn og type på det som forespørres (f.eks. A eller MX). 3. Svarseksjonen: Inneholder ressursposter for det forespurte navnet. 4. Autoritetsseksjonen: Poster fra autoritative servere. 5. Tilleggsseksjonen: Hjelpsomme ekstraoppføringer.
53
Hvordan blir et nytt domenenavn satt inn i DNS-systemet?
Når man registrerer et nytt domene, må det gjøres via en registrar – en kommersiell aktør som bekrefter det unike domenenavnet og legger det inn i DNS-databasen. Man må da legge inn ressursposter (Resource Records) som knytter domenet til autoritative navneservere og deres IP-adresser. Eksempel: * (networkutopia.com, dns1.networkutopia.com, NS) * (dns1.networkutopia.com, 212.212.212.1, A)
54
Hva kjennetegner en Peer-to-Peer (P2P) applikasjonsarkitektur sammenlignet med klient–server?
I en P2P-arkitektur er det liten eller ingen avhengighet av alltid-på-servere. I stedet kommuniserer vertene direkte med hverandre. Hver vert (peer) kan fungere både som klient og server, f.eks. ved å motta og videresende filer i P2P fildistribusjon som BitTorrent.
55
Hva er definisjonen av distribusjonstid i en fildistribusjonsmodell?
Distribusjonstid er tiden det tar før alle peers i systemet har mottatt en fullstendig kopi av filen.
56
Hvordan beregnes distribusjonstiden i en klient-server-arkitektur?
57
Hvordan beregnes distribusjonstiden i en P2P-arkitektur?
58
Hva er “Dynamic Adaptive Streaming over HTTP” (DASH)?
DASH er en metode for videostrømming der videoen deles opp i små segmenter i ulike kvalitetsnivåer. Klientspilleren velger segmenter basert på tilgjengelig båndbredde, og kan tilpasse seg nettverksendringer dynamisk for jevn avspilling.
59
Hva er en manifestfil i videostrømming?
En manifestfil (f.eks. MPD i DASH eller M3U8 i HLS) er en metadatafil som beskriver videoens struktur, tilgjengelige kvalitetsnivåer og URL-er til segmentene. Spilleren bruker denne filen til å hente passende videosegmenter basert på nettverkshastigheten.
60
Hva er et Content Delivery Network (CDN)?
Et CDN er et distribuert nettverk av servere som plasseres geografisk nær brukerne for å levere innhold (som videoer, bilder og nettsider) raskere og mer effektivt. CDN reduserer belastningen på opprinnelig server og gir lavere forsinkelse ved å cache og levere innhold lokalt.
61
Hva er en “cluster selection strategy” i konteksten av CDN?
En cluster selection strategy er metoden et Content Delivery Network bruker for å velge hvilken cache-server (eller “cluster”) som skal håndtere forespørselen til en bruker. Valget baseres ofte på faktorer som geografisk nærhet, nettverksbelastning, tilgjengelighet og ytelse, for å sikre rask og pålitelig innholdslevering.
62
Hva er forskjellen på push caching og pull caching i et CDN?
* Push caching betyr at opprinnelsesserveren proaktivt overfører innhold til cache-serverne før det blir etterspurt, basert på forventet etterspørsel. * Pull caching betyr at cache-serveren først henter innholdet fra opprinnelsesserveren når en bruker etterspør det, og lagrer det deretter for fremtidige forespørsler.
63
Hva er de to hovedtypene nettverksapplikasjoner ifølge socket-programmering?
1. Standardbaserte (åpne) applikasjoner: Operasjonene er spesifisert i en offentlig protokollstandard (som en RFC). Alle klienter og servere må følge disse reglene. 2. Proprietære applikasjoner: Bruker en lukket protokoll som ikke er publisert i en RFC. Utvikleren har full kontroll over både klient og server.
64
Hva er forskjellen på TCP og UDP i nettverksapplikasjoner?
* TCP er koblingsorientert og gir pålitelig dataoverføring. * UDP er koblingsløs og sender uavhengige datapakker uten leveringsgaranti.