Transcript Datorsystem

Datorsystem
Exempeltentamen
2011-10-18
Instruktioner
Samtliga svar skall vara motiverade och l¨asbara. Eventuella tabeller och ber¨akningar som
anv¨ands f¨or att n˚
a svaret ska ocks˚
a finnas med i l¨osningen. Ett svar m˚
aste vara l¨asligt f¨
or
att kunna bed¨
omas.
Ofullst¨
andigt motiverade svar kan inte ge full po¨
ang!
F¨or del A kan flera fr˚
agor besvaras p˚
a samma sida, men f¨or del B ska samtliga fr˚
agor besvaras
p˚
a en egen sida.
Hj¨
alpmedel
Inga hj¨alpmedel ¨
ar till˚
atna.
R¨
attning och betygsskala
Denna tentamen best˚
ar av tv˚
a delar: A och B. Del A kan maximalt ge betyget E, och man
m˚
aste vara godk¨
and p˚
a del A f¨
or att kunna f˚
a ett h¨ogre betyg p˚
a del B. Del A och del B har
varsin po¨angskala enligt tabellen nedan.
F
0-9
Del A
Fx
E
10-11 12-16
E
0-5
D
6-10
Del B
C
B
11-15 16-20
A
21-24
Resultatet av tentamen kommer att meddelas senast 18 november 2011. Den som f˚
ar betyget
Fx m˚
aste ta kontakt med kursens examinator senast 2 december 2011. Komplettering f¨or betyg
Fx kommer att vara skriftlig, eller skriftlig samt muntlig, beroende p˚
a examinators bed¨omning.
Lycka till!
1
Del A
1. (a) En processor best˚
ar av flera komponenter. Vilka av komponenterna nedan ing˚
ar i processorn?
A. Prim¨
arminne
B. ALU
C. Register
D. Rothubb f¨
or USB
E. Systembuss
F. Kontrollenhet
(1 po¨
ang)
(b) Beskriv de komponenter du angett ing˚
ar i processorn.
(1 po¨
ang)
Lo
¨sning:
ALU Den aritmetiska logiska enheten (Arithmetic Logic Unit) utf¨or ber¨akningsoperationer p˚
a bin¨
art data. Ber¨akningarna ¨ar logiska eller aritmetiska operationer.
Register Registren ¨
ar en processors interna minne.
Kontrollenhet Kontrollenheten (Control Unit) tolkar instruktioner fr˚
an minnet
och ser sedan till att dessa utf¨ors.
2. Beskriv kortfattat filosofierna bakom CISC- och RISC-arkitekturerna och skillnaderna mellan dem.
(2 po¨
ang)
Lo
¨sning: CISC = Complex Instruction Set Computing och RISC = Reduced Instruction Set Computing.
Med en RISC-arkitektur har man f¨arre instruktioner och m˚
anga register. F¨arre instruktioner g¨
or att en kompilator b¨
attre kan f¨oruts¨aga n¨asta instruktion, vilket ger mer
effektiv pipelining. I RISC f¨
ors¨
oker ocks˚
a kompilatorn optimera registeranv¨andningen
och f¨
oredrar registeroperationer f¨ore minnesoperationer.
Med en CISC-arkitektur finns d¨aremot fler instruktioner och f¨arre register att anv¨anda.
Meningen a
¨r att mer specifika instruktioner ska ge simplare kompilatorer, och att dessa
instruktioner dessutom ska mappa b¨attre mot h¨ogniv˚
aspr˚
ak. Anledningen till dessa mer
specifika instruktioner ¨
ar att om man kan anv¨anda en instruktion ist¨allet f¨or en kombination av flera andra instruktioner kommer man f˚
a ett mindre och snabbare program.
3. I ett modernt datorsystem ¨
ar det vanligt att man anv¨ander flera bussar f¨or att undvika
flaskhalsar.
2
(a) Vilken funktion har en buss i ett datorsystem?
(1 po¨
ang)
Lo
aller kommunikation mellan olika enheter i ett da¨sning: En buss tillhandah˚
torsystem genom att varje enhet har tillg˚
ang till gemensamma ledningar f¨or data,
kontroll och adressering.
(b) Hur ¨
ar bussarna i ett modernt h¨ogprestanda-system ordnade? Vad g¨or de olika bussarna?
(1 po¨
ang)
L¨
osning:
• Systembussen knyter samman processorn, minnet och I/O-enheter.
• H¨
oghastighetsbussen knyter samman systembussen med enheter som kr¨aver
snabb ¨
overf¨
oring.
• Expansionsbussen knyter samman h¨oghastighetsbussen med enheter med
l¨
agre krav p˚
a¨
overf¨
oringshastighet.
4. I ett datorsystem anv¨
ands flera olika typer av minnen.
(a) Beskriv f¨
oljande typer av minnen:
• RAM
• ROM
(1 po¨
ang)
Lo
ar f¨
or Random Access Memory och a¨r en typ av minne som kan
¨sning: RAM st˚
b˚
ade skrivas och l¨
asas. S¨
oktiden f¨or att l¨asa en minnesplats ¨ar oberoende av var
p˚
a minnet informationen ¨
ar sparad.
ROM st˚
ar f¨
or Read Only Memory och ¨ar en typ av minne som skrivs en g˚
ang och
som sedan bara kan l¨
asas.
(b) Ange en typ av lagringsmedium f¨or de tv˚
a typerna av minne ovan.
(1 po¨
ang)
L¨
osning:
RAM Dynamic RAM (eller Static RAM)
ROM Optiskt minne (DVD, CD, BluRay bland andra)
5. Assembler ¨
ar ett programmeringspr˚
ak som ligger v¨aldigt n¨ara en dators maskinstruktioner.
Beskriv processen f¨
or hur en assemblersintruktion ¨overs¨atts till en maskinstruktion.
(2 po¨
ang)
3
Lo
overs¨atter mellan Assembler och maskininstruktioner. As¨sning: En assemblerare ¨
sembleraren utg˚
ar fr˚
an instruktionen (till exempel ADD) och ¨overs¨atter till r¨att operationskod. Utifr˚
an operationskoden kan assembleraren fylla i operandf¨alt och ¨ovriga f¨alt
korrekt. En assemblerare ser ocks˚
a till att labels ¨overs¨atts till r¨att minnesadress f¨or de
instruktioner som anv¨
ander labels.
6. F¨orklara kortfattat vilken funktion ett filsystemet har i ett operativsystem.
(2 po¨
ang)
Lo
a ett lagringsme¨sning: Ett filsystem hanterar och organiserar data som lagrats p˚
dium. Med hj¨
alp av ett filsystem kan program l¨asa, skriva och uppdatera data, metadata
och filr¨
attigheter. Det ¨
ar filsystemet som h˚
aller ihop data i filer och mappar.
7. I TCP/IP-modellen finns fyra lager. Ange lagrens namn i korrekt ordning, fr˚
an det h¨ogsta
lagret till det l¨
agsta.
(2 po¨
ang)
L¨
osning:
1. Applikationslagret
2. Transportlagret
3. N¨
atverkslagret
4. L¨
anklagret
8. (a) Vilka av alternativen nedan ¨
ar giltiga IPv4-adresser?
A. 192.168.0.1.1
B. 17.114.89.134
C. 24:17:9b:1a:43:e3
D. 130.237.25.114
E. 278.125.0.12
F. fdb2:2c26:f4e4::1
(1 po¨
ang)
(b) Ange en motivering f¨
or de adresser du angett som ogiltiga ovan.
L¨
osning:
¨ st¨
A Ar
orre ¨
an 32 bitar (har fem oktetter ist¨allet f¨or fyra).
C Det ¨
ar en MAC-adress.
D En oktett har 8 bitar och kan d¨armed bara vara mellan 0-255. F¨orsta oktetten
h¨
ar ¨
ar 278.
4
(1 po¨
ang)
E Det ¨
ar en IPv6-adress.
5
Del B
1. Flyttal ¨
ar ett s¨
att att representera stora, sm˚
a och rationella tal. H¨ar anv¨ands standarden
IEEE 754 f¨
or 16 bitars flyttal. Bilden nedan f¨orklarar hur ett flyttal lagras bin¨art.
tecken exponent
(1 bit) (5 bitar)
15
mantissa
(10 bitar)
10
0
Figur 1: 16 bitars flyttal enligt IEEE 754
(a) Ber¨
akna operationen A*B. Svara med ett 16 bitars flyttal enligt IEEE 754.
Flyttal A: 0 10100 1001000000
Flyttal B: 0 10110 0101000000
Formeln f¨
or att f˚
a ut det decimala v¨ardet v ur ett flyttal:
v = (−1)teckenbit × 2exponent−15 × (1, mantissa)2
(2 po¨
ang)
L¨
osning: Vi anv¨
ander formeln fr˚
an uppgiften f¨or att f˚
a ut de v¨arden vi beh¨over.
Flyttal A: Teckenbiten ¨
ar 0, vilket ger ett positivt tal. Exponenten ¨ar 10100, vilket ger 20. Eftersom formeln ger 20-15 som den faktiska exponenten f˚
ar vi att
exponenten ¨
ar 5. Enligt formeln har vi ocks˚
a mantissan 1,1001.
Flyttal B: Teckenbiten ¨
ar 0, s˚
a talet ¨ar positivt. Exponenten ¨ar 10110, vilket ger
22. Ur formeln f˚
ar vi 22-15=7. Mantissan blir 1,0101 enligt formeln.
F¨
or att multiplicera de tv˚
a talen anv¨ander vi formeln (2x × a) × (2y × b) = 2x+y ×
(a × b). Det ger i v˚
art fall 25+7 × (1, 1001 × 1, 0101). 5+7=12, och vi har d¨armed
v˚
ar nya exponent.
Vi multiplicerar mantissorna fr˚
an talen A och B och f˚
ar f¨oljande:
1, 1 0 0 1
* 1, 0 1 0 1
1 1 0 0 1
0 0 0 0 0
1 1 0 0 1
0 0 0 0 0
+ 1 1 0 0 1
1 0, 0 0 0 0 1 1 0 1
Utifr˚
an den framr¨
aknade expontenten och mantissan kan vi konstruera ett nytt
flyttal. Eftersom mantissan just nu ¨ar 10,00001101 beh¨over vi skifta talet s˚
a att vi
6
ist¨
allet f˚
ar 1,000001101. Eftersom vi skiftade ett steg ˚
at h¨oger m˚
aste vi ¨oka exponenten med ett och f˚
ar d¨
armed 13. F¨or att r¨akna ut de nya exponentbitarna ¨okar
vi 13 med 15 och f˚
ar 28. 2810 = 111002 , vilket ger v˚
ara fem bitar f¨or exponenten.
Mantissan har redan 1, enligt formeln, s˚
a i bitarna f¨or mantissan l¨agger vi in
0000011010. Eftersom talet fortfarande ¨ar positivt blir teckenbiten 0.
Flyttal A * Flyttal B = 0 11100 0000011010
(b) Varf¨
or ¨
ar det enklare f¨
or en dator att r¨akna addition j¨amf¨ort med subtraktion?
L¨
osning: N¨
ar en dator r¨
aknar addition med hj¨alp av en adderare finns en carry
som skickar eventuella o
verblivna
bitar fr˚
an en position till en annan. D˚
a jobbar
¨
man hela tiden fram˚
at, ett steg ger ett v¨arde till n¨asta. Bilden nedan illustrerar
konceptet.
A3 B3
C4
A2 B2
A1 B1
A0 B0
1-bits
1-bits
1-bits
1-bits
helhelhelheladderare C3 adderare C2 adderare C1 adderare C0
S3
S2
S1
S0
Om man ist¨
allet skulle subtrahera beh¨over man arbeta ˚
at andra h˚
allet eftersom
man l˚
anar fr˚
an en position som ¨annu inte processats. Det ¨ar mycket sv˚
arare att
bygga h˚
ardvara som kan l˚
ana fr˚
an en position j¨amf¨ort med att skicka ¨over en rest,
och d¨
arf¨
or ¨
ar det enklare f¨
or en dator med addition j¨amf¨ort med subtraktion.
(2 po¨
ang)
2. En processor har en serie steg f¨
or att utf¨ora ber¨akningar. Dessa steg sker i en cykel som
kallas fetch-execute-cykeln.
(a) I den sexstegspipeline som kursen beskriver ing˚
ar f¨oljande steg: Decode instrucion, fetch
instruction, fetch operands, calulate operands, write operands och execute instruction.
Beskriv samtliga steg samt ordna dem korrekt fr˚
an f¨orsta till sista steget.
L¨
osning:
1. Fetch instruction: H¨
amtar en instruktion fr˚
an minnet.
2. Decode instruction: Tolkar instruktionen som nyss h¨amtades.
3. Calculate operands: R¨aknar ut adresser f¨or operanderna.
4. Fetch operands: H¨
amtar operanderna fr˚
an minnet. Det h¨ar steget beh¨ovs inte
om operanderna ¨
ar register.
5. Execute instruction: Utf¨or den operation som instruktionen anger.
7
6. Write operand : Skriver tillbaka resultatet av operationen till minnet.
(2 po¨
ang)
(b) Vad ¨
ar ett avbrott (interrupt)? Varf¨or anv¨ands avbrott, och hur f¨or¨andrar interrupts
fetch-execute-cykeln?
Lo
¨sning: I/O- och minnesenheter kan avbryta en processors normala fetch-executecykel vid behov. Exempelvis kan en l˚
angsam enhet utf¨ora en operation medan
processorn utf¨
or andra sysslor, och n¨ar den l˚
angsamma enheten ¨ar klar kan den
avbryta fetch-execute-cykeln s˚
a att enhetens data kan hanteras.
Avbrott g¨
or att en processors tid kan l¨aggas p˚
a andra processer ist¨allet f¨or p˚
a den
process som v¨
antar p˚
a data fr˚
an en extern enhet. Utan avbrott skulle processen
beh¨
ova vara aktiv och sj¨
alv kontrollera om statusen f¨or den externa enhet den
f¨
ors¨
oker kommunicera med.
Utan interrupts ser fetch-execute-cykeln ut s˚
a h¨ar:
Start
Hämta nästa
instruktion
Utför
instruktionen
Fetch-cykeln
Execute-cykeln
Med interrupts ser den ut s˚
a h¨ar:
Avbrott inaktiverade
Start
Hämta nästa
instruktion
Utför
instruktionen
Fetch-cykeln
Execute-cykeln
Avbrott aktiverade
Kolla efter avbrott
Hantera avbrott
Interrupt-cykeln
Avbrott l¨
agger allts˚
a till ett extra steg i fetch-execute-cykeln, d¨ar det extra steget
anv¨
ands f¨
or att kontrollera om n˚
agra avbrott har skett och i s˚
a fall hantera dessa.
(2 po¨
ang)
3. I ett datorsystem beh¨
ovs flera typer av minne f¨or att lagra data och instruktioner.
(a) Vi har f¨
oljande avsnitt ur ett assemblerprogram:
1
2
3
4
5
6
7
8
movia
ldw
ldw
ldw
stw
ldw
stw
ldw
r8 ,
r10
r11
r12
r13
r14
r15
r16
0 x740B00
, 0( r8 )
, 16( r8 )
, 32( r8 )
, 4( r8 )
, 128( r8 )
, 0( r8 )
, 64( r8 )
#
#
#
#
#
#
#
0 x740B00
0 x740B10
0 x740B20
0 x740B04
0 x740B80
0 x740B00
0 x740B40
8
Storlek:
Radl¨
angd:
Associativitet:
128 byte (32 ord)
32 byte (8 ord)
1-v¨ags (direktmappat)
Tabell 1: Egenskaper f¨or cacheminnet
Vi har ocks˚
a ett cacheminne med egenskaper enligt tabell 1.
F¨or varje instruktion som l¨
aser eller skriver till minnet ska du ange om det blir en tr¨
aff
eller miss i cacheminnet.
(2 po¨
ang)
L¨
osning:
1. Ber¨
akna antalet rader: 128/32=4
2. Ber¨
akna antalet bitar som beh¨ovs f¨or att adressera fyra rader: 2 bitar (00,
01, 10, 11)
3. Ber¨
akna antalet bitar som beh¨over f¨or att adressera 32 bytes: 5 bitar (00000
- 11111)
4. Det ger f¨
oljande: 32-2-5=25 bitar f¨or tag, 2 bitar f¨or rad och 5 bitar f¨or bytes.
Vi utg˚
ar fr˚
an ett tomt cacheminne och b¨orjar med andra kodraden:
ldw r10, 0(r8) # 0x740B00 0016 = 0|00|000002 , vilket ger rad 00. Eftersom
cachen ¨
ar tom f˚
ar vi en cachemiss, och datat 0x740B00 till 740B1F l¨aggs in
i cachen p˚
a rad 00.
ldw r11, 16(r8) # 0x740B10 1016 = 0|00|100002 , vilket ger rad 00. Vi s¨oker
byten p˚
a plats 100002 = 1016 . Vi ser att 1016 finns p˚
a rad 00 och f˚
ar en
cachetr¨
aff.
ldw r12, 32(r8) # 0x740B20 2016 = 0|01|000002 , vilket ger rad 01. Raden ¨ar
tom, vilket ger en cachemiss. Vi l¨agger nu in 0x740B20 till 0x740B3F p˚
a
rad 01.
stw r13, 4(r8) # 0x740B04 0416 = 0|00|001002 , vilket ger rad 00. 001002 =
0416 och vi ser att byten finns p˚
a rad 00, vilket ger en cachetr¨
aff.
ldw r14, 128(r8) # 0x740B80 8016 = 1|00|00000, vilket ger rad 00. D¨ar finns
data f¨
or byte 00, men vi ser att taggen skiljer sig ˚
at. Det a¨r d¨armed fel data
p˚
a rad 00, vi f˚
ar en cachemiss och f˚
ar byta ut datat p˚
a rad 00. P˚
a rad 00
finns numera 0x740B80 till 0x740B8F.
stw r15, 0(r8) # 0x740B00 0016 = 0|00|000002 , vilket ger rad 00. Eftersom
instruktionen innan tvingade oss att byta ut rad 00 ser vi att taggen inte
matchar, och det ¨
ar fel data p˚
a rad 00 igen. Vi f˚
ar ¨annu en cachemiss och
l¨
agger nu in datat 0x740B00 till 740B1F i rad 00.
ldw r16, 64(r8) # 0x740B40 4016 = 0|10|000002 , vilket ger rad 10. Raden
ar tom, vilket ger en cachemiss och vi f˚
ar l¨asa in data till raden fr˚
an
¨
prim¨
arminnet.
(b) I ett datorsystem finns flera olika typer av minne, vilka ¨ar ordnade i en minneshierarki.
Varf¨
or har man ordnat minnena p˚
a s˚
a9s¨att? Namnge ocks˚
a de fyra ¨oversta typerna av
minnen.
(2 po¨
ang)
L¨
osning: Minnestyperna ¨
ar ordnade i en hierarki med det oftast anv¨anda minnet
overst. Det sammanfaller ocks˚
a med snabbhet d˚
a det ¨oversta minnet ocks˚
a ¨ar
¨
snabbast. Om man ordnar minnena i den pyramid kursboken anv¨ander ser man
ocks˚
a att man har mindre minne av de snabbare typerna i ett datorsystem, medan
man har mer minne av de l˚
angsammare typerna. Det sammanfaller i sin tur med
att l˚
angsammare minne i regel ¨ar billigare. Hierarkin visar hur en avv¨agning mellan
hur mycket av de olika minnestyperna man b¨or ha i ett datorsystem.
De fyra ¨
oversta typerna av minnen:
1. Register
2. Cache
3. Prim¨
arminne
4. Sekund¨
arminne
4. (a) Beskriv f¨
oljande begrepp: Context switch, schemal¨aggningsalgoritm, virtuellt minne
samt multiprogrammering.
(2 po¨
ang)
L¨
osning:
Context switch ¨
ar n¨
ar ett byte sker av k¨orande process i en CPU.
Schemal¨
aggningsalgoritm ¨ar olika s¨att f¨or processorn att hantera schemal¨aggning
av processer. Det finns tv˚
a prim¨ara varianter: kooperativa algoritmer och preemptiva algoritmer.
Virtuellt minne ¨
ar ett s¨
att att ”lura” en process att tro att den har en hel,
obryten adressrymd att jobba med. Verkligheten kan ofta skilja sig genom
att en process har blivit tilldelad minne i olika delar av prim¨arminnet.
Multiprogrammering a
agan att v¨axelvis k¨ora
¨r n¨ar ett datorsystem har f¨orm˚
flera processer.
(b) F¨orklara hur begreppen ovan h¨anger ihop.
Lo
¨r vad som sker n¨ar en processor som k¨ora flera processer
¨sning: Context switch a
(multiprogramming) byter mellan dessa processer. En schemal¨aggningsalgoritm
anv¨
ands f¨
or att best¨
amma n¨ar context switch ska ske, och virtuellt minne ¨ar en
konsekvens av att flera processer delar p˚
a samma minne. Paging ¨ar en f¨oruts¨attning
f¨
or v¨
al fungerande multiprogrammering, och virtuellt minne g¨or paging enklare att
hantera fr˚
an ett programs sida, eftersom programmet d˚
a inte beh¨over hantera att
det tilldelade minnet eventuellt inte ligger i sekvens.
5. I figur 2 finns en skiss av ett n¨
atverk med flera subn¨at och olika n¨atverksenheter anslutna.
10
(2 po¨
ang)
Switch B
www.dsv.su.se
Klient C
Router B
Router A
Router D
Klient D
Klient A
Switch A
Switch D
Klient B
Router C
DNS-server
Klient E
Switch C
Figur 2: Ett mindre n¨atverk
(a) Beskriv f¨
oljande n¨
atverksenheter: router, switch och accesspunkt (access point).
(2 po¨
ang)
L¨
osning:
Router
En router dirigerar trafik mellan olika lokala n¨atverk.
Switch
En switch skickar trafik mellan enheter i ett lokalt n¨atverk
Accesspunk
En accesspunkt hanterar tr˚
adl¨ost uppkopplade enheter och g¨or s˚
a att de
tr˚
adl¨
osa enheterna kan kommunicera med ett tr˚
adbundet n¨atverk.
(b) F¨orklara hur trafiken fl¨
odar n¨ar Klient A vill ansluta till webbservern www.dsv.su.se.
Du kan utg˚
a fr˚
an att Klient A inte vet vilken IP-adress webbservern har. Flera alternativa v¨
agar existerar, redog¨
or f¨or samtliga av dessa v¨agar.
(2 po¨
ang)
L¨
osning: Klient A vill ansluta till www.dsv.su.se men har inte IP-adressen till
webbservern. Klient A beh¨over d¨armed f¨orst g¨ora ett DNS-uppslag, och vi f˚
ar
f¨
oljande: Klient A → Switch A → Router A → Router C → Switch C → DNSserver → Switch C → Router C → Router A → Switch A → Klient A.
Fr˚
an Router A finns flera m¨ojliga v¨agar: Router A → Router B → Router C eller
Router A → Router B → Router D → Router C. Naturligtvis kan ¨aven trafiken
p˚
a tillbakav¨
agen ta dessa alternativa v¨agar.
Nu n¨
ar Klient A vet IP-adressen f¨or webbservern kan den skicka sin f¨orfr˚
agan dit.
Trafiken kommer d˚
a g˚
a p˚
a f¨oljande s¨att: Klient A → Switch A → Router A →
Router B → Switch B → webbservern f¨or www.dsv.su.se → Switch B → Router B
→ Router A → Switch A → Klient A.
11
¨
Aven
h¨
ar kan trafiken ta alternativa v¨agar: Router A → Router C → Router B
eller Router A → Router C → Router D → Router B.
Bilden nedan illustrerar hur trafiken fl¨odar enligt scenariot ovan, utan de alternativa v¨
agarna inritade.
www.dsv.su.se
Klient C
Router B
Router A
Klient A
Router D
Switch A
Klient D
Switch D
Klient B
Klient E
Router C
Klient A -> DNS-server
Klient A -> webbserver
DNS-server
Switch C
6. Ponera att vi har en person med en laptop som kopplar upp sig mot internet via en tr˚
adl¨
os
anslutning h¨
ar p˚
a DSV. Om personen d˚
a ansluter till sidan www.dsv.su.se ¨ar ett flertal
protokoll inblandade, b˚
ade f¨
or att strukturera upp det data som skickas men ocks˚
a f¨or att
¨overf¨ora informationen.
(a) I scenariot ovan kan man f¨
orv¨anta sig att bland andra f¨oljande protokoll anv¨ands f¨
or
oringen av webbsidan:
¨overf¨
• WiFi (802.11)
• IP
• HTTP
• TCP
Beskriv de olika protokollen och f¨orklara deras funktion.
L¨
osning:
WiFi
WiFi, eller 802.11, ¨
ar ett protokoll f¨or tr˚
adl¨os ¨overf¨oring inom ett lokalt
n¨
atverk.
Internet Protocol
IP ¨
ar ett protokoll som hanterar ¨overf¨oring av data mellan tv˚
a n¨atverksenheter.
HyperText Transfer Protocol
HTTP ¨
ar ett protokoll f¨or att ¨overf¨ora hypermedia mellan tv˚
a n¨atverksenheter.
Transmission Control Protocol TCP ¨ar ett protokoll som ¨overf¨or data mellan
tv˚
a applikationer ¨
over ett n¨atverk. TCP ser ocks˚
a till att allt data ¨overf¨ors
korrekt och i ordning, och ser ocks˚
a till att inte ¨oversv¨amma n¨atverket eller
mottagaren.
12
(2 po¨
ang)
(b) Hur h¨
anger dessa protokoll ihop, och till vilka n¨atverkslager h¨or de?
Lo
¨sning:
• HTTP h¨
or till applikationslagret.
• TCP h¨
or till transportlagret.
• IP h¨
or till n¨
atverkslagret.
• WiFi h¨
or till l¨
anklagret.
De h¨
anger ihop genom att varje lager tillf¨or funktionalitet. HTTP hanterar hypermedia mellan tv˚
a applikationer, och skickar sitt data till TCP. TCP ser till att data
hittar till r¨
att mottagarapplikation med hj¨alp av portnummer, och ser ocks˚
a till
att datat kommer ¨
over ordentligt. TCP skickar i sin tur datat till IP, som ser till
att r¨
att n¨
atverksenhet f˚
ar datat med hj¨alp av IP-adresser. L¨angst ned finns WiFi,
som ser till att klienten kan skicka och ta emot data ¨over en tr˚
adl¨os f¨orbindelse i
ett lokalt n¨
atverk.
13
(2 po¨
ang)