KOM - 3 Transport layer Flashcards
(91 cards)
Hva menes med “logisk kommunikasjon” i transportlaget?
Det betyr at applikasjonsprosesser på ulike verter kan kommunisere som om de var direkte koblet sammen, selv om de fysisk kan være langt fra hverandre.
Hvor er transportlagsprotokoller implementert?
I endesystemer, ikke i rutere.
Hva kalles transportlagets pakker, og hva kalles nettverkslagets pakker?
Transportlagets pakker kalles segmenter, og nettverkslagets pakker kalles datagrammer.
Hva er forskjellen på transport- og nettverkslaget i forhold til logisk kommunikasjon?
Transportlaget gir logisk kommunikasjon mellom prosesser, mens nettverkslaget gir logisk kommunikasjon mellom verter.
Hva tilbyr TCP som UDP ikke gjør?
Pålitelig dataoverføring, koblingsorientert tjeneste, flytkontroll, overbelastningskontroll, sekvensnummer og bekreftelser.
Hva er hovedansvaret til transportlaget?
Å utvide IPs leveringstjeneste fra vert-til-vert til prosess-til-prosess levering.
Hva er demultipleksing?
Å levere data fra et segment til riktig applikasjonsprosess basert på portnumre.
Hvilke to felter i segmentet brukes for multipleksing og demultipleksing?
Kilde-port-nummer og destinasjons-port-nummer.
Hva er forskjellen mellom UDP- og TCP-multipleksing?
UDP bruker en to-tuppel (dest IP, dest port), mens TCP bruker en fire-tuppel (kilde IP, kilde port, dest IP, dest port) for å identifisere en socket.
Hvorfor foretrekker noen applikasjoner UDP fremfor TCP?
Det gir lavere forsinkelse, ingen oppkobling, og mer kontroll over timing og overføring.
Hvordan fungerer koblingsløs multipleksing og demultipleksing i UDP?
UDP bruker portnumre for å identifisere hvilken applikasjon et segment tilhører. En UDP-socket identifiseres med en kombinasjon av destinasjons-IP og -port. Når data sendes, settes kilde- og destinasjonsportnumre i segmentet, som så leveres til riktig socket hos mottakeren.
Hva brukes kildeportnummeret til i UDP, og hvordan kan det hentes?
Kildeportnummeret fungerer som en returadresse slik at mottakeren kan sende data tilbake til avsenderen. I Python kan det hentes med recvfrom()-metoden.
Hvordan kan flere klienter bruke samme destinasjonsport (f.eks. 80 for HTTP) for å kommunisere med samme webserver uten konflikt?
Hver TCP-forbindelse identifiseres unikt av en 4-tuppel: (kilde-IP, kildeport, destinasjons-IP, destinasjonsport). Selv om flere klienter bruker samme destinasjonsport, holdes forbindelsene adskilt fordi kilde-IP og/eller kildeport er forskjellige. Dette gjør at transportlaget kan skille forbindelsene og videresende data til riktig prosess.
Hva er hovedoppgavene til UDP som transportprotokoll?
UDP utfører kun multiplexing og demultiplexing, samt enkle feilkontroller. Det legger nesten ingenting til IP og gir applikasjonen direkte tilgang til nettverkslaget.
Hvorfor sies UDP å være en koblingsløs protokoll?
Fordi UDP ikke bruker noen form for handshaking mellom sender og mottaker før data sendes. Det oppretter ingen tilkoblingstilstand.
Hva skjer når en applikasjon sender data via UDP?
Applikasjonen gir data til UDP, som legger til kilde- og destinasjonsportnummer, pakker dataene i et segment, og sender det videre til IP-laget for levering.
Hva gjør IP-laget med UDP-segmentet?
IP innkapsler UDP-segmentet i et IP-datagram og forsøker å levere det til mottakeren, hvor UDP bruker portnummeret til å levere data til riktig prosess.
Nevn minst tre grunner til at noen applikasjoner foretrekker UDP fremfor TCP.
- Finere kontroll over når data sendes.
- Ingen tilkoblingsetablering (lav forsinkelse).
- Mindre tilstand og overhead, som gjør det enklere å støtte mange klienter.
Hvorfor bruker DNS UDP og ikke TCP?
Fordi DNS trenger rask spørre-/svar-kommunikasjon uten forsinkelse fra TCPs tilkoblingsetablering. UDP lar DNS sende spørringer umiddelbart.
Hvor stor er header-overhead for UDP sammenlignet med TCP?
UDP har 8 bytes header, mens TCP har 20 bytes header.
Hva er en potensiell ulempe med at UDP ikke har congestion control?
Det kan føre til pakkekollaps i nettverket ved høy trafikk, fordi UDP ikke bremser sendingen under overbelastning, noe som kan skade både UDP- og TCP-trafikk.
Er det mulig å oppnå pålitelig dataoverføring med UDP?
Ja, men da må applikasjonen selv implementere pålitelighet, f.eks. med egne mekanismer for bekreftelser og gjenutsending.
Hva består headeren i et UDP-segment av, og hva er funksjonen til hvert felt?
Headeren i et UDP-segment har fire felt, hver på 2 bytes:
1. Source port # – identifiserer avsenderens port.
2. Destination port # – brukes for å levere dataen til riktig prosess hos mottaker.
3. Length – angir total lengde på segmentet (header + data).
4. Checksum – brukes av mottaker for å oppdage feil i segmentet.
Hvordan beregnes UDP Checksum, og hva er hensikten med den?
UDP Checksum brukes for feilsjekking – den hjelper mottakeren å oppdage om data har blitt endret under overføringen.
Beregningen gjøres slik:
1. Alle 16-bits ord i segmentet summeres (modulo 2^16).
2. Det tas 1’s komplement av denne summen.
3. Resultatet settes i checksum-feltet.
Eksempel:
* Ord: 011001, 010101, 100011
* Sum: 011001 + 010101 = 101110
* Ny sum: 101110 + 100011 = 010001 (med overflow)
* 1’s komplement: 101110
* Checksum = 101110