Slides 8

Computerarchitectuur en netwerken
–8–
Lagenmodel
Applicatieprotocollen
Lennart Herlaar
06 oktober 2014
Inhoud
Berekeningen vertraging
Lagenmodel
Toepassingslaag:
HTTP
Email:
SMTP
POP/IMAP
DNS
Lennart Herlaar
Computerarchitectuur en netwerken – 8
1
Résumé vertraging
Transmission delay
tºd die nodig is om alle bits van een pakket uit te sturen
L/R
L = het aantal bits in het pakket
R = de overdrachtssnelheid in bits/sec
Propagation delay
d/s
d = afstand
s = snelheid van het signaal over het medium
Processing delay + Queuing delay: kan variëren
Meestal is er ‘heen en weer’ communicatie, de tºd hiervoor
is RTT (round-trip-time)
RTT = 2⇥ vertraging in één richting
Lennart Herlaar
Computerarchitectuur en netwerken – 8
2
Berekeningsvoorbeeld 1
Circuitswitching
We hebben een verbinding met een snelheid van 1,536
Mb/sec met een TDM van 24 slots (een zogenaamde T1
verbinding met 24 ISDN kanalen).
1.536 Mb/sec = 1536 kb/sec.
Elk virtueel circuit heeft dus 1536/24 = 64 kb/sec.
Stel we willen een bestand van 640 kbits oversturen.
Het oversturen kost dus 640/64 = 10 sec.
Maar er komt nog bº:
het opzetten van een virtueel circuit (opbellen), stel 0.5 sec.
Propagation delay: hangt af van de afstand.
Queueing delay is bº virtuele circuits niet van toepassing
Lennart Herlaar
Computerarchitectuur en netwerken – 8
3
Berekeningsvoorbeeld 2
Packetswitching
Stel we delen het bestand op in pakketten van 640 bits
Transmission delay voor een pakket 640/1536000 =
0.0004167 sec = 0.4167 msec
Neem even aan dat er geen processing en queueing delay
is. Elk pakket doet er dan 0.4167 msec over om in een
router binnen te komen.
De router stuurt het direct daarna naar de volgende router
Bº 10 routers 10 ⇥ 0.4167 = 4.167 msec.
Als het netwerk verder stil is dan komen de andere
pakketten direct daarna binnen met een snelheid van 1536
kb/sec. Voor 999 pakketten is dit ongeveer 416,3 msec.
Totaal 420,5 msec.
Maar er komt nog bº:
Propagation delay: hangt af van de afstand.
Queueing en processing delay: hangt af van de drukte.
Lennart Herlaar
Computerarchitectuur en netwerken – 8
4
Inhoud
Berekeningen vertraging
Lagenmodel (=
Toepassingslaag:
HTTP
Email:
SMTP
POP/IMAP
DNS
Lennart Herlaar
Computerarchitectuur en netwerken – 8
5
Lagenstructuur
In een netwerk zºn veel problemen die opgelost moeten worden:
Hoe moeten de verbindingen gemaakt worden?
Hoe krºg je een boodschap van A naar B?
Hoe moeten de boodschappen eruit zien?
Wat doen we als er iets fout gaat?
Hoe passen we het netwerk aan i.v.m. toekomstige
ontwikkelingen?
Text
Lennart Herlaar
Computerarchitectuur en netwerken – 8
6
Lagenstructuur
In een netwerk zºn veel problemen die opgelost moeten worden:
Hoe moeten de verbindingen gemaakt worden?
Hoe krºg je een boodschap van A naar B?
Hoe moeten de boodschappen eruit zien?
Wat doen we als er iets fout gaat?
Hoe passen we het netwerk aan i.v.m. toekomstige
ontwikkelingen?
Om deze problemen makkelºker te kunnen aanpakken is de
structuur van een gedistribueerd systeem (netwerk) in abstracte
lagen opgedeeld
Elke laag lost een eigen verzameling deelproblemen op
Elke laag maakt gebruik van de onderliggende laag.
Elke laag heeft zºn eigen verantwoordelºkheid.
Lennart Herlaar
Computerarchitectuur en netwerken – 8
6
Lagen model in netwerken
OSI = Open Systems Interconnection
bedacht door het ISO (International Standards
Organisation).
We gebruiken een deel van dit model
5
4
3
2
1
applicatie
transport
netwerk
datalink
fysisch
9
=
;
subnet
applicatie
8 transport
< netwerk
datalink
:
fysisch
In het officiële model nog twee lagen
Sommige lagen opgedeeld in sublagen
Lennart Herlaar
Computerarchitectuur en netwerken – 8
7
Diensten en Protocollen 1
Elke laag biedt een aantal standaard functies (diensten)
aan de bovenliggende laag aan.
Bºvoorbeeld:
Maak een verbinding tussen A en B die aan bepaalde eisen
(bºv. capaciteit) voldoet
Stuur een bericht van A naar B en zorg dat het goed
aankomt ook als er onderweg iets misgaat.
De lagen voeren de opdrachten uit door berichtjes tussen
de uitvoerende instanties (stukken hardware/software) uit
te wisselen: de regels waaraan deze berichten moeten
voldoen heten een protocol.
Lennart Herlaar
Computerarchitectuur en netwerken – 8
8
Diensten en Protocollen 2
Elke laag (behalve de onderste) maakt gebruik van de
diensten van de onderliggende laag om zºn berichten te
verzenden.
Een laag kan een bericht van een bovenliggende laag
opsplitsen, samenvoegen, er een envelop omheen zetten, en
eigen administratieve berichten versturen.
Lennart Herlaar
Computerarchitectuur en netwerken – 8
9
Diensten en protocollen 3
Elke laag voegt een eigen ‘header’ toe en vormt zo zºn
eigen PDU = Protocol Data Unit = bericht dat protocol
gebruikt
Vergelºk enveloppen/postzakken
data−
link
netw
transp data
Elke laag gebruikt de onderliggende laag om zºn PDU’s te
laten versturen:
protocol
laag n+1
laag n+1
PDU n+1
dienst
dienst
protocol
laag n
laag n
PDU n
Lennart Herlaar
Computerarchitectuur en netwerken – 8
10
1. Fysische (fysieke) Laag
Hoe breng ik een rº bits over een communicatiekanaal
heen?
Standaarden voor communicatie-media (telefoonlºnen,
TV-kabel, satelliet, glasvezel, etc.)
Elektrische eigenschappen
Aansluitpunten
De laag garandeert niet dat de bits ook goed aankomen
(maar de ontwerpen proberen de betrouwbaarheid wel zo
groot mogelºk te maken)
Er zºn intrinsieke beperkingen aan het aantal bits dat je in
een medium kunt transporteren.
Lennart Herlaar
Computerarchitectuur en netwerken – 8
11
2. Datalink Laag
Doel: Betrouwbare communicatie tussen twee punten die
door een medium verbonden zºn
De over te sturen bits worden in frames verdeeld
Ieder frame krºgt extra informatie zodat begin en einde te
herkennen zºn.
Ieder frame krºgt extra informatie zodat fouten te
detecteren zºn (checksum)
Frames die kwºtraken of verminkt worden, moeten
opnieuw gestuurd worden (protocol).
Lennart Herlaar
Computerarchitectuur en netwerken – 8
12
3. Netwerk Laag
Het belangrºkste probleem dat de netwerklaag moet
oplossen is routering:
Hoe krºg ik een boodschap van A naar B?
De knopen in het netwerk moeten gegevens uitwisselen
over de topologie van het netwerk
Wat is de kortste/goedkoopste/snelste route?
In het Internet wordt het IP protocol gebruikt (IP=Internet
protocol)
Lennart Herlaar
Computerarchitectuur en netwerken – 8
13
4. Transportlaag
De transportlaag moet de onbetrouwbaarheid van het “subnet”
oplossen.
De transportlaag verbindt processen met een ‘virtueel kanaal’.
Lennart Herlaar
Computerarchitectuur en netwerken – 8
14
5. Toepassingslaag
Bevat alle toepassingen die van het netwerk gebruik maken
E-mail
Usenet
WWW
FTP
EDI (Electronic Data Interchange)
BitTorrent, . . .
Skype, . . .
Etc.
Het aantal toepassingen is onbeperkt
Er worden voortdurend nieuwe protocollen uitgevonden
Lennart Herlaar
Computerarchitectuur en netwerken – 8
15
Relatie Applicatie-Transport Laag
host of
server
host of
server
proces
Applicatie
programmeur
proces
socket
socket
TCP met
buffers,
variabelen
Internet
TCP met
buffers,
variabelen
In het
OS
Lennart Herlaar
Computerarchitectuur en netwerken – 8
16
Inhoud
Berekeningen vertraging
Lagenmodel
Toepassingslaag:
HTTP
Email:
(=
SMTP
POP/IMAP
DNS
Lennart Herlaar
Computerarchitectuur en netwerken – 8
17
HTTP
HTTP (HyperText Transfer Protocol) is een simpel
protocol voor het oversturen van bestanden
Niet alleen voor hypertext (HTML) documenten
Zeer algemeen bruikbaar:
HTML bestanden
plaatjes
toegang tot databases
e-mail (webmail)
remote files (WebDAV)
chatten
etc.
Basis is een GET commando van cliënt naar server
Server stuurt bestand of antwoord terug
Lennart Herlaar
Computerarchitectuur en netwerken – 8
18
HTTP protocol
HT
TP
req
ues
PC running HT
t
TP
res
Explorer
pon
se
t
ues
q
e
r
nse Server
TP
o
T
p
running
H
es
Pr
T
Apache
Web
HT
server
Mac running
Navigator
Lennart Herlaar
Computerarchitectuur en netwerken – 8
19
HTTP structuur
verzoek begint met: GET regel (of HEAD/POST/PUT)
gevolgd door een aantal headers
afgesloten met lege regel
Bº andere opdrachten evt. nog een body
Lennart Herlaar
Computerarchitectuur en netwerken – 8
20
HTTP structuur
verzoek begint met: GET regel (of HEAD/POST/PUT)
gevolgd door een aantal headers
afgesloten met lege regel
Bº andere opdrachten evt. nog een body
GET /docs/vakken/nw/nieuws.html HTTP/1.1
Connection: Keep-Alive
User-Agent: Mozilla/4.73 [en] (Windows NT 5.0; U)
Host: sunshine.cs.uu.nl:80
Accept: image/gif, image/x-xbitmap, image/jpeg, ...
Accept-Encoding: gzip
Accept-Language: en,pdf
Accept-Charset: iso-8859-1,*,utf-8
De body was leeg
Lennart Herlaar
Computerarchitectuur en netwerken – 8
20
Response
De response bestaat uit
een succes of fout code
headers
lege regel
zo nodig body (document)
Lennart Herlaar
Computerarchitectuur en netwerken – 8
21
Response
De response bestaat uit
een succes of fout code
headers
lege regel
zo nodig body (document)
HTTP/1.1 200 OK
Server: Apache...
Connection: close
Set-Cookie: session=xxxx; domain=.cs.uu.nl;
Last-Modified: Wed, 16 Dec 2011 08:12:00 GMT
MIME-version: 1.1
Content-Type: text/html
Content-Length: 12345
<inhoud van de file>
Lennart Herlaar
Computerarchitectuur en netwerken – 8
21
Niet-Persistente verbindingen
Oorspronkelºk voor elk document (bºvoorbeeld een
plaatje) een aparte verbinding
Tºdsduur = RTT voor opzetten verbinding + RTT voor
document
Lennart Herlaar
Computerarchitectuur en netwerken – 8
22
Niet-persistent
begin TCP
connectie
RTT
verzoek
bestand
Tijd om bestand
te verzenden
RTT
bestand
ontvangen
tijd
Lennart Herlaar
tijd
Computerarchitectuur en netwerken – 8
23
Persistente verbindingen
Persistente verbinding:
Gebruik dezelfde verbinding voor meerdere documenten van
dezelfde server
Scheelt telkens RTT voor opzetten van de verbinding
Kan met HTTP versie 1.1
Cliënt verzoekt, server kan wel of niet doen.
Verzoeken kunnen één voor één of ‘gepipelined’ gedaan
worden
In het laatste geval overlap tussen verzoek en response
Lennart Herlaar
Computerarchitectuur en netwerken – 8
24
Persistent
begin TCP
connectie
RTT
verzoek
bestand
Tijd om bestand
te verzenden
RTT
bestand
ontvangen
verzoek
bestand
Tijd om bestand
te verzenden
RTT
bestand
ontvangen
tijd
Lennart Herlaar
tijd
Computerarchitectuur en netwerken – 8
25
Persistent met pipelining
begin TCP
connectie
RTT
verzoek
bestand
Tijd om bestand
te verzenden
RTT
bestand
ontvangen
tijd
Lennart Herlaar
tijd
Computerarchitectuur en netwerken – 8
26
Browser cache
Browser kan cache bºhouden
Server kan aangeven (header) dat bestand niet gecached
moet worden
Cache houdt leeftºd van bestand bº
Browser kan vragen om bestand alleen te sturen als
nieuwer is (header)
If-modified-since: Wed, 16 Dec 2009 08:12:00 GMT
Als er geen nieuwere versie is dan ‘continuatie code’
lege body wordt dan verzonden
HTTP/1.1 304 Not modified
Lennart Herlaar
Computerarchitectuur en netwerken – 8
27
Web cache
Caching kan ook in het netwerk gebeuren.
Gebeurt via een aparte proxy server
Voordeel: als meerdere mensen hetzelfde document
opvragen is het er al
Kan bottleneck in het netwerk verminderen
Lennart Herlaar
Computerarchitectuur en netwerken – 8
28
Web Cache 2
Stel 15 requests/sec, gemiddeld 100.000 bits/request =
1.5Mb/sec.
Zonder cache: LAN heeft bezetting van 15%, link heeft
100%, dus oneindige wachtrº!!
Lennart Herlaar
Computerarchitectuur en netwerken – 8
29
Web Cache 2
Stel 15 requests/sec, gemiddeld 100.000 bits/request =
1.5Mb/sec.
Zonder cache: LAN heeft bezetting van 15%, link heeft
100%, dus oneindige wachtrº!!
Met cache: Stel hitrate = 40%,
dan moet 60% van de verzoeken door de link, dus bezetting
link = 60%
Dus veel kleinere responsetºd.
Lennart Herlaar
Computerarchitectuur en netwerken – 8
29
Andere HTTP commando’s
HEAD stuurt alleen de headers, niet de body
POST gebruikt om formulieren op te sturen of files te
uploaden
body bevat formulier en/of bestand (MIME)
PUT voor speciale toepassingen (HTML pagina’s
uploaden)
Voor WebDAV zºn er nog andere commando’s
Voor allerlei toepassingen zºn er nog headers
Lennart Herlaar
Computerarchitectuur en netwerken – 8
30
Inhoud
Berekeningen vertraging
Lagenmodel
Toepassingslaag:
HTTP
Email:
(=
SMTP
POP/IMAP
DNS
Lennart Herlaar
Computerarchitectuur en netwerken – 8
31
Email opzet
MUA (Mail User Agent)
E-mail programma van de gebruiker
Lezen, organiseren, verzenden van berichten
Meestal op je eigen PC
MTA (Mail Transfer Agent)
Programma’s die de berichten door het netwerk verzenden
Meestal op de servers van je ISP of bedrºf
Post Office
Computer waar de berichten ontvangen en mailboxen
bewaard worden
Vaak gecombineerd met MTA
Lennart Herlaar
Computerarchitectuur en netwerken – 8
32
E-mail
SMTP (Simple Mail Transport Protocol) voor het
verzenden van e-mail (initiatief bº verzender = push
protocol)
POP3 (Post Office Protocol) en IMAP (Internet Message
Access Protocol) voor het ophalen van e-mail (initiatief bº
ontvanger = pull protocol)
Lennart Herlaar
Computerarchitectuur en netwerken – 8
33
SMTP Protocol
220 mail.cs.uu.nl ESMTP Postfix
HELO nono.cs.uu.nl
250-mail.cs.uu.nl
MAIL FROM: <[email protected]>
250 Ok
RCPT TO: <[email protected]>
250 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
From: [email protected]
To: <[email protected]>
Subject: ....
Message text....
.
250 Ok: queued as A8516454B
QUIT
221 Bye
Lennart Herlaar
Computerarchitectuur en netwerken – 8
34
SMTP en MIME
Het SMTP protocol kºkt niet in de inhoud van de
boodschap
Boodschap bestaat uit headers (From: To: Cc: Subject:
etc) en body
Gescheiden door lege regel
Het email adres van zender en ontvanger moet in SMTP
apart opgegeven worden (MAIL FROM: en RCPT TO:)
Dit kan anders zºn dan in de headers van de boodschap
staat
Wordt gebruikt voor Bcc: (niet in headers, wel RCPT TO:)
Body moet in principe ASCII tekst zºn
Andere inhoud wordt gecodeerd met MIME (Multipurpose
Internet Mail Extensions)
Lennart Herlaar
Computerarchitectuur en netwerken – 8
35
Inhoud
Berekeningen vertraging
Lagenmodel
Toepassingslaag:
HTTP
Email:
SMTP
POP/IMAP
DNS
Lennart Herlaar
(=
Computerarchitectuur en netwerken – 8
36
POP3/IMAP
POP3 wordt gebruikt om e-mail van het Post Office naar
je PC te halen
Beheer van je e-mail gebeurt in principe op je eigen PC
(opdelen in mailboxen etc.)
Op Post Office alleen 1 mailbox voor het ontvangen van
e-mail
POP3 kent geen Mime
IMAP heeft de mogelºkheid om verschillende mailboxen op
het Post Office te bewaren
Berichten verplaatsen tussen de mailboxen
Mailboxen blºven in principe op Post Office staan
Ook mogelºk attachments afzonderlºk op te halen
IMAP is vooral handig als je email op verschillende PC’s
gelezen moet worden
Lennart Herlaar
Computerarchitectuur en netwerken – 8
37
Web-based email
Omdat je HTTP voor bºna alles kunt gebruiken is het ook
geschikt voor email (Hotmail, Gmail, etc.)
TP
SM
MUA
Lennart Herlaar
Web
server met
webmail
extensie
PO
P3
/I
MA
P
Computerarchitectuur en netwerken – 8
SMTP
server
Post Office
server
38
Inhoud
Berekeningen vertraging
Lagenmodel
Toepassingslaag:
HTTP
Email:
SMTP
POP/IMAP
DNS
Lennart Herlaar
(=
Computerarchitectuur en netwerken – 8
39
Internet adressering
Computers (eigenlºk netwerkinterfaces) op het Internet
hebben een IP nummer als adres
IP nummer (IP-adres) is (nog) 32 bits (wordt 128 bits)
Wordt meestal als 4 bytes genoteerd: 131.211.80.17
De nummers zºn nodig voor de routers (IP protocol)
Nummers zºn niet handig voor mensen
Internet namen zºn hiërarchisch georganiseerd
Top-level domeinen: com, org, edu, nl, be, fr, es, uk, eu,
...
Hierbinnen verdeling: cnn.com, uu.nl, fnac.es, co.uk, ac.uk,
...
Verdeling kan willekeurig diep voortgezet worden:
cs.uu.nl, www.cs.uu.nl, demon.co.uk, cl.cam.ac.uk
Er is geen ‘logische’ relatie met IP nummers
Lennart Herlaar
Computerarchitectuur en netwerken – 8
40
DNS
DNS = Domain Name System
Gedistribueerde database voor het omzetten van namen
naar nummers (en v.v.)
Nameserver zet naam om in bºbehorend IP-adres
Een centrale database is ondoenlºk:
Lennart Herlaar
Computerarchitectuur en netwerken – 8
41
DNS
DNS = Domain Name System
Gedistribueerde database voor het omzetten van namen
naar nummers (en v.v.)
Nameserver zet naam om in bºbehorend IP-adres
Een centrale database is ondoenlºk:
te kwetsbaar (single point of failure)
te druk (CPU en netwerkverkeer)
moeilºk te beheren
niet schaalbaar
Lennart Herlaar
Computerarchitectuur en netwerken – 8
41
DNS
DNS = Domain Name System
Gedistribueerde database voor het omzetten van namen
naar nummers (en v.v.)
Nameserver zet naam om in bºbehorend IP-adres
Een centrale database is ondoenlºk:
te kwetsbaar (single point of failure)
te druk (CPU en netwerkverkeer)
moeilºk te beheren
niet schaalbaar
Daarom gedistribueerd: ongeveer volgens de domeinen
Aparte ‘top-level’ nameservers
Aparte nameservers voor ‘nl’, ‘uu.nl’, ‘cs.uu.nl’ . . .
Sommige nameservers beheren meerdere domeinen
Lennart Herlaar
Computerarchitectuur en netwerken – 8
41
DNS voorbeeld
nono.cs.uu.nl wil connectie maken met www.cam.ac.uk
nono weet dat er een nameserver zit op 131.211.80.32
(ingesteld)
nono vraagt aan 131.211.80.32 wat het IP adres van
www.cam.ac.uk is
131.211.80.32 weet het niet!!
Wat nu?
Lennart Herlaar
Computerarchitectuur en netwerken – 8
42
DNS voorbeeld
nono.cs.uu.nl wil connectie maken met www.cam.ac.uk
nono weet dat er een nameserver zit op 131.211.80.32
(ingesteld)
nono vraagt aan 131.211.80.32 wat het IP adres van
www.cam.ac.uk is
131.211.80.32 weet het niet!!
Wat nu?
131.211.80.32 moet aan andere nameserver vragen of
131.211.80.32 moet proberen uit te vinden welke
nameserver het wel weet
131.211.80.32 vraagt aan de root nameserver
Root nameserver weet IP adressen van nameservers voor
top-level domains (.com, .nl, .uk etc)
Lennart Herlaar
Computerarchitectuur en netwerken – 8
42
Scenario 1
www.cs.uu.nl
verzoekende
host
Lennart Herlaar
locale
nameserver
Computerarchitectuur en netwerken – 8
43
Scenario 1
www.cs.uu.nl
131.211.80.17
verzoekende
host
Lennart Herlaar
locale
nameserver
Computerarchitectuur en netwerken – 8
44
Scenario 2
Authoritive
nameserver
cam.ac.uk
Root
nameserver
www.cam.ac.uk
1
verzoekende
host
Lennart Herlaar
locale
nameserver
Computerarchitectuur en netwerken – 8
45
Scenario 2
Authoritive
nameserver
cam.ac.uk
Root
nameserver
2
www.cam.ac.uk
1
verzoekende
host
Lennart Herlaar
locale
nameserver
Computerarchitectuur en netwerken – 8
46
Scenario 2
Authoritive
nameserver
cam.ac.uk
Root
nameserver
3
2
www.cam.ac.uk
1
verzoekende
host
Lennart Herlaar
locale
nameserver
Computerarchitectuur en netwerken – 8
47
Scenario 2
Authoritive
nameserver
cam.ac.uk
Root
nameserver
3
4
2
www.cam.ac.uk
1
verzoekende
host
Lennart Herlaar
locale
nameserver
Computerarchitectuur en netwerken – 8
48
Scenario 2
Authoritive
nameserver
cam.ac.uk
Root
nameserver
3
4
5
2
www.cam.ac.uk
1
verzoekende
host
Lennart Herlaar
locale
nameserver
Computerarchitectuur en netwerken – 8
49
Scenario 2
Authoritive
nameserver
cam.ac.uk
Root
nameserver
3
4
5
2
www.cam.ac.uk
1
6
131.111.8.46
verzoekende
host
Lennart Herlaar
locale
nameserver
Computerarchitectuur en netwerken – 8
50
Tussenliggende nameservers
Vaak weet de root nameserver niet de uiteindelºke
(authoritive/verifiërende) nameserver
Lennart Herlaar
Computerarchitectuur en netwerken – 8
51
Tussenliggende nameservers
Vaak weet de root nameserver niet de uiteindelºke
(authoritive/verifiërende) nameserver
Maar wel een tussenliggende nameserver (bºv .uk of .ac.uk)
De nameserver van .uk weet het wel of weet de nameserver
van .ac.uk)
Lennart Herlaar
Computerarchitectuur en netwerken – 8
51
Tussenliggende nameservers
Vaak weet de root nameserver niet de uiteindelºke
(authoritive/verifiërende) nameserver
Maar wel een tussenliggende nameserver (bºv .uk of .ac.uk)
De nameserver van .uk weet het wel of weet de nameserver
van .ac.uk)
Recursieve vs. iteratieve queries
Bº recursieve query vraagt een nameserver aan een andere
en geeft het antwoord terug
Bº iteratieve query geeft nameserver alleen het adres van
een andere nameserver terug
Lennart Herlaar
Computerarchitectuur en netwerken – 8
51
Iteratieve query
Authoritive
nameserver
cam.ac.uk
Root
nameserver
3a
dr
es
na
me
se
2
4
rv
5
er
www.cam.ac.uk
1
6
131.211.8.46
verzoekende
host
Lennart Herlaar
locale
nameserver
Computerarchitectuur en netwerken – 8
52
Iteratieve en recursieve query
Authoritive
nameserver
cam.ac.uk
Tussenliggende
nameserver
.uk
Root
nameserver
5
6
3a
dr
es
na
me
ser
ve
r
2
4
7
www.cam.ac.uk
1
8
131.211.8.46
verzoekende
host
Lennart Herlaar
locale
nameserver
Computerarchitectuur en netwerken – 8
53
DNS Cache
Om het DNS systeem niet teveel te belasten worden
teruggegeven antwoorden in een cache bewaard
Na verloop van tºd worden ze uit de cache verwºderd
Lennart Herlaar
Computerarchitectuur en netwerken – 8
54
DNS Cache
Om het DNS systeem niet teveel te belasten worden
teruggegeven antwoorden in een cache bewaard
Na verloop van tºd worden ze uit de cache verwºderd
In de nameservers staat een file (database) met informatie
over o.a. de locale namen
Info over waar de rootservers staan (IP-adresssen)
A-records: vertaalt DNS naam naar IP-adres
NS-record: naam van een nameserver voor een domein
(vertaling van naam naar IP-adres moet er ook instaan)
CNAME-record: alias (bºv. www.cs.uu.nl )
joan.dmz.cs.uu.nl)
MX-records voor e-mail (SMTP): vertelt waar mail voor
xxx@domain afgeleverd moet worden (bºv. cs.uu.nl )
smtp.cs.uu.nl)
Lennart Herlaar
Computerarchitectuur en netwerken – 8
54
Schaalbaarheid van services
Sommige services worden zoveel gebruikt dat ze op
meerdere servers moeten draaien.
Bºvoorbeeld www.google.com
In dat geval levert de DNS query een rº IP-adressen op.
Telkens in een andere volgorde
Applicatie kiest de eerste (of een die werkt)
Op deze manier wordt het werk verdeeld over de vele
computers
Er zºn ook andere manieren (bºvoorbeeld load-balancing
routers)
Lennart Herlaar
Computerarchitectuur en netwerken – 8
55
Samenvatting
Het lagenmodel maakt de structuur van het internet
beheersbaar
De toepassingslaag bevat alles waar je direct mee te maken
krºgt
In principe een onbeperkte hoeveelheid toepassingen en
protocollen
Het meest gebruikt zºn tegenwoordig HTTP en Email
Bº email heb je met diverse protocollen te maken:
SMTP, POP, IMAP
DNS is een applicatieprotocol om namen naar IP adressen
te vertalen en het Internet ’mensvriendelºk’ te maken
Lennart Herlaar
Computerarchitectuur en netwerken – 8
56