Kommunikation und Datenhaltung

Werbung
Kapitelübersicht
Kommunikation und Datenhaltung
10. Anwendungssysteme
Prof. Dr. Martina Zitterbart
Dipl.-Inform. Martin Röhricht
[zit | roehricht]@tm.uka.de
1.
Einführung
2.
Physikalische Grundlagen
3.
Protokollmechanismen
4.
Geschichtete Architekturen
5.
Sicherungsschicht: HDLC
6.
Beschreibungsmethoden
7.
Sicherungsschicht:
Lokale Netze
8.
Netzkopplung und Vermittlung
9.
Die Transportschicht
10.
Anwendungssysteme
11.
Middleware
10.1
10.1Das
DasWorld
WorldWide
WideWeb
Web
10.2
10.2Namensdienst
Namensdienst
10.2
10.2Elektronische
ElektronischePost
Post
10.3
10.3Dateitransfer
Dateitransferim
imInternet
Internet
1
Kommunikation und Datenhaltung – SS 2009
… endlich Anwendungen
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Anwendungen im Beispiel
Die hier behandelten (Standard-)Anwendungen sind allen
bekannt
Sender
Empfänger
Hoffentlich hat sie jeder schon mal benutzt
Die Anwendungen profitieren von den angebotenen
Diensten der darunterliegenden Schichten (z.B. gesicherte
Übertragung)
Hello
Hello
Hello
Hello
400
Goodbye
Goodbye
400
Goodbye
050
0905000
Goodbye
00400
0109
05000400
0905000
3080001
9030800
000109
3080001
080
0008090
00
g;
8090308
0008090
jpg;
000
------------g;
tion/jp
-------ap
------cation/
------n/jpg;
------tion/jp
pli
applica
--------Type:
------licatio
applica
-Type:
e: app
-Type:
Content
Content
Content-Typ
e64
Content
base64
uD.jpg"
"
uD.jpg"
e64
base64
ding:
jpger
bas
uD.jpg"
name="K
uD.
coding:
g:bas
name="K
ding:
-En
er-Enco
name="K
name="K
Encodin
er-Enco
er-Transf
-Transf
ZZ
inline;
nsfit
-Transf
Content
: inline;
-Tra
b3NvZ
Content
inline;
WNyb3Nv
ion
ition:
inline;
Content-Dispos
Na
b3NvZ
Content
on:
WNyb3Nv
ition:
WNy
xlIChNa
-Dispos
NaWNy
KK
dGxlICh
positi
xlIChNa
-Dispos
KL1RpdG
Content
b3IgK
dGxlICh
Content
XRob3Ig
KL1RpdG
Content-Dis
oKP
Bd
YmoKPDw
b3IgK
Content
XRob3Ig
DwKL1Rp
XRo
kpCi9Bd
BvYm
oKPDwKL1Rp
BdXRo
YmoKPDw
bb
dHkpCi9
jEgMCBv
kpCi9Bd
BvYm
jdXJpdH
LmNvb
dHkpCi9
jEgMCBv
3J5LmNv
zNI
DIzNINC
DI
jdXJpdH
NCjEgMC
cgU
0b
bmcgU2V
LmNvb
3J5LmNv
zNINCjEgMC
DIzNINC
2VjdXJp
3J5
ZmYWN0b
xLjIKJc
Rpbm
DI
cgU2VjdXJp
0b3J5
xLjIKJc
bmcgU2V
QQ
ZGZmYWN
FJvdXRp
ZmYWN0b
Rpbm
xLjIKJc9t
3dy5wZG
JVBERi0
xLjIKJc
KQovQ
ZGZmYWN
JVBERi0
FJvdXRp
lwpKQov
YWl
9tYWluI
3dy5wZG
JVBERi0udGVyZG
uIFJvdX
J5I
hb
b3J5IHd
KQovQ
JVBERi0
lwpKQov
YWluIFJvdX
Hd3dy5w
9tYWluI
lwp
dlcm1hb
N0b3
udGVyZG
9t
J5IHd3dy5w
hblwp
b3J5IHd
R
IEdlcm1
GZGYWN0
dlcm1hb
N0b3
udGVyZG9y
zIFhQIE
dCAtIEl
udGVyZG
PAovR
IEdlcm1
dCAtIEl
GZGYWN0
go8PAov
ICh
9yIChwZ
zIFhQIE
dCAtIElDcmVhdG
wZGZGYW
5kb
ia
aW5kb3d
PAovRR
dCAtIEl
go8PAov
IChwZGZGYW
3dzIFhQ
9yIChwZ
go8
AwIG9ia
hXaW
DcmVhdG
9y
5kb3dzIFhQ
iago8
aW5kb3d
NCAwIG9
jQgXChX
AwIG9ia
hXaW
DcmVhdGJ5
vYmoKNC
uNjQgXC
b3IpCi9
DcmVhdG
NCAwIG9
b3IpCi9
jQgXChX
IDE
mRvYmoK
J5IDEuN
vYmoKNC
uNjQgXC
b3IpCi9GYWN0b3
plb
PgplbmR
b3IpCi9
IDE
J5IDEuN
GYWN0b3
o+Pg
J5
plb
PgplbmR
zU3KQo+
o+Pg mRvYmoK
GYWN0b3E2
IChwZGZ
GYWN0b3
IChwZGZ
zU3KQo+
MTQ
E2MTQ0N
IChwZGZwMDUwOT
0NzU3KQ
IChwZGZ
MTQ0NzU3KQ
E2MTQ0N
wMDUwOT
wMDUwOTE2
IChEOjI
IChEOjI
IChEOjIwMDUwOT
IChEOjI
… in diesem Kapitel werden zunächst die Anwendungen
vorgestellt
3
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Ende-zu-EndeKommunikationsbeziehung
Speicher
… darauf folgend kommt dann die Middleware
2
6
r
.6
ve
er
68
S
1
.
l
2
ai
M
19
E-
Authentifi
Verschlüszierung,
selung
E-Mails!
Allerdings fehlt teilweise noch etwas in der Mitte – die
Middleware
?
m
co
e.
l
p
am
.6
ex
neue E-Mails?
2006
1 2006
2006
119
13:33:4
3:33:411 2006
13:33:41
Jan
19
9113:33:4
19
Tue
Jan
Jan
tttTue
TueJan
hos
Tue
ocalhos
ocal
ost
st>
ost>
alh
ocalhos
local@l
st>ost.exampl
ee
loc
localho
@localh
From
lhost>
local@l
example
From
local@
localho
cal
<local@
Fromlocal@l
example
From
e-host.
al@loca
.exampl
<local@
te-h
path:
loc
+0200
<
ost3:33:41
path:
11+0200
e-host.
r@remot
00
by
path:<lo
+0200
er@remo
Returnpath:
mote-h
+02
))))by
Returnr@remot
eiv
by
receive
by
Return-e-to:
66113:33:4
6.
.16.31]
Returniver@re
2006
3:33:41
200
113:33:4
31]
e-to:
ece
Jan
rreceive
6.31]
.16.31]
Jan
2006
2.168.1
:rec
192.168
200
19
19
e-to:
Jan.31]
Envelop
e-to
34)
Jan
4.34)
2.168.1
Envelop
192.168
Tue,
ue,
198.16.31
4.
elo=[19
(helo=[
19
Envelopy-date:
]](h
34)
4.34)
Envelop
e,.168.16
(Exim
Tue,
elo=[19
4.
(helo=[
(Exim
y-date:
(h
(Exim
200
te:T[Tu
esmtp
+0200
(Exim
esmtp
y-date:
99+0
y-da
Deliver
16.31]
8.16.31
with
Deliver
200
esmtp
+0200
[192.16
192
esmtp
+0
33:
Deliverd:
13:33:2
le
29
withJan
Deliver
from
92.168.
[192.16
with
33:29
xampple
d:
2006
13:33:2
ple
lewith
2006
le.exam
13:
rom n[1
ffrom
d:from
200613:
ample.e
Receive
.examp
2006
19
le.exam
Receive
19
n.examp
.ex
Janxample>
Jan
Received:
19 Jan
Receive
example
19
n.examp
mxinter
9T;
T; TTue,
rn.
mxinter
Tue,
ue,ample.e
xample>
Tue,
nte
le>
mxinter
9T;
00058Xmxi
0058X-9
xample>
-9T;
ample.e
N-0
00058X@ex
1EHgNNample.examp
-00058X
2139@ex
ample.e
id
2139
gNN
id
@ex0200
1EHgNN1EH
2139@ex
id1EHgN
88.2063
id
88.2063
632139
FF3
88.2063
<432FF3
88 ++0200
<432
F388.20
0200
-ID:
32F
<432FF3
13:33:2
-ID:
<4
13:33:2
-ID:19
13:33:288 ++0200
Message
-ID:
13:33:2
Message
nn22006
Jan
Ja
2006
006
Message
2006
19
Message
Jan
Ja
Tue,
19
Tue,
19
(X11)
st>
Tue, loc
ost>
Date:
Tue,
Date:
(X11)
st> bird
alh
0.2
1.0.2
localho
(X11)
Date: <local@
Date:
lhost>
bird
0.2(X11)
1.0.2
oca
1.
llocalho
<local@
bird1.
Thunder
<local@
From:
From:
annThunder
Thunderbird
Debian
Thunder
From: <local@
From:
ent:
bia
Debian
ent:
De
ent:Debi
User-Ag
ent:
User-Ag
0
1.0
1.
User-Agrsion:
le
User-Ag
1.0
example
xamp
rsion:
1.0
le
n:
example
rsion:
e-host.
-host.e
rsio
.examp
MIME-Ve
MIME-Ve
ote
e-host.
MIME-Ve
r@remot
MIME-Ve
te-host
r@rem
emo
r@remot
receive
r@r
To:
receive
To:
receive
To:receive
To:
E-Mail
l
::::E-Mail
Maimu
rt;
E-Mail
Epart;
Subject
rt;
Subject
lti
multipa
Subject-Type:
Subject
tipart;
multipa
-Type:
mul
e:
-Type: :: 153
Content
929
-Typ
153929
Content
Content-Length
Content
53929
-Length
gth:: 1153929
-Length
Content
-Len
Content
Content2198
Content
2198
format.
2198
format.
Lines:
Lines:
format.
format.
Lines: 2198
iin
Lines:
MIME
IME
MIME
in
nMMIME
in
message
400
t message
art
message
par
message
400 59-1
art
050
0905000
multi-p
art
00400
0109
i-p
aaaamulti59-1
05000400
0905000
is
ult00
3080001
mmulti-p
59-1
9030800
This
000109
is------=ISO-88
59-1
3080001
This
is
080
0008090
set
Thisis
=ISO-88ble
This
8090308
=ISO-88
charset
0008090
le
000
set=ISO-88
------ain;
charset
char
le
-------te
plain;
------printab
;char
------ble
ain;
------xt/
text/pl
--------Type:
printab
ted
t/plain
quoted-------printa
text/pl
-Type:
tex
ted-printa
quotede: er
ding:
quo
-Type:
Content
coding:
-Typ
g:quo
Content
ding:
-En
Content-Transf
Content
Encodin
er-Enco
er-Transf
nsfer-Enco
-Transf
Content
Content
Content-Tra
Content
10…
…10110100
Sind daher teilweise relativ einfach aufgebaut
Server zur
Namensauflösung
Sendender
E-Mail-Server
Kommunikation und Datenhaltung – SS 2009
Zwischensystem
(Vermittlungssystem)
Kapitel 10: Anwendungssysteme
Dateneinheit
Institut für Telematik
Universität Karlsruhe (TH)
EmpfangsE-Mail-Server
www.tm.uka.de
10.1 World Wide Web (WWW)
Hypertext
Link
Web
Server
Web
Server
Hypertext
Link
Entwicklung des WWW
Hervorgegangen aus Arbeiten des britischen Informatikers
Tim Berners-Lee am europäischen Forschungszentrum CERN (Genf)
Web
Server
Ziel: Einfacher weltweiter Austausch von
Dokumenten zwischen Wissenschaftlern
Erster Prototyp Ende 1980
TCP Port 80
TCP Port 80
TCP Port 80
Grafisch und zeilenorientiert
TCP-Verbindungen
Durchbruch des WWW durch den WWW-Client Mosaic
Entwickelt von Marc Andreesen und Eric Bina (University of Illinois)
Ursprünglich für X-Windows-Systeme
Als Quellcode per FTP kostenlos verfügbar Ö schnelle Verbreitung
Marc Andreesen und Jim Clark gründeten im April 1994 die Firma
Netscape Communication Corporation
1998 wurde Netscape von America Online übernommen
Marc Andreesen inzwischen nicht mehr bei Netscape
Web Client
(Browser)
Client-Server-Anwendung
Hypertext
Über ein Netz verbundene Objekte
Die grundlegende Idee Hypertext ist wesentlich älter als WWW
Berners-Lee
Gründung des W3-Konsortiums im Juli 1994
Vorrangiges Ziel: Weiterentwicklung des WWW, z.B. durch
Standardisierung von HTML
Vorsitzender: Tim Berners-Lee
Infos unter http://www.w3.org
Grafischer Browser
Nutzung auch durch Nicht-Informatiker
Die(!) „Killer“-Anwendung im Internet
4
Marc Andreesen
5
Kommunikation und Datenhaltung – SS 2009
Institut für Telematik
Universität Karlsruhe (TH)
Kapitel 10: Anwendungssysteme
www.tm.uka.de
Kommunikation und Datenhaltung – SS 2009
Eindeutige Adressierung eines WebDokuments
Universal Resource Locator (URL)
kompakte Repräsentation der Lokation und Zugriffsmethode auf InternetRessourcen
<scheme>:<scheme-specific-part>
ftp://<user>:<password>@<host>:<cwd1>..<cwdN>/<name>; type=<typecode>
http://<host>:<port>/<path>?<searchpart>
mailto:<rfc822-addr-spec>
nntp://<host>:<port>/<newsgroup-name>/<article-number>
telnet://<user>:<password>@<host>:<port>
file://<host>/path
Auch für Inhalte anderer Server (USENET, FTP, E-Mail) verwendbar
URL
Ressourcenbezeichnung
Hypertext
Hypertext Markup Language (HTML) zur Beschreibung von WWW-Seiten
Strukturierung der Dokumente in Kopf (Header) und Rumpf (Body)
Tags zur Markierung von Formatierungsanweisungen
Ressourcenbezeichnung identifiziert das Objekt, auf das im jeweiligen
Server zugegriffen werden soll, identifiziert
<b>Hallo</b> Ö Hallo
<i>Hallo</i> Ö Hallo
Bei WWW: aufgerufene Web-Seite
Austausch von HTML-Seiten
Hypertext Transfer Protocol (HTTP)
Bei FTP: zu übertragende Datei
Bei Mail: Empfänger der Mail (also die Mail-Adresse)
6
7
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
www.tm.uka.de
Namen/Namensdienst
[RFC3986]
Repräsentiert eine Ressource und weist der Client-Software den „Weg“ zu ihr
Rechnername
(DNS)
Institut für Telematik
Universität Karlsruhe (TH)
Komponenten des WWW
WWW nutzt hierzu den Mechanismus des
Uniform Resource Locator / Identifier (URL / URI)
Protokoll
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Zustandsloses Protokoll (HTTP-Server hält keine Information über Clients)
Oberhalb TCP angeordnet
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
10.1.1 HTTP
Nicht-persistente Verbindungen
Einfaches ASCII-basiertes Transferprotokoll
Ablaufschritte
[RFC1945]
„Anklicken" des Objekts
Browser ermittelt URL
Browser fragt DNS (Domain Name System) nach IP-Adresse
DNS antwortet mit IP-Adresse
Browser etabliert TCP-Verbindung zu Port 80 dieser IP-Adresse
Browser schickt GET /...
Server sendet gewünschtes File
TCP-Verbindung wird geschlossen
Browser zeigt Text des Files an
Browser zeigt Bilder des Files an
Zwei Typen von Nachichten: Request und Response
Zustandslos: Jeder Request wird individuell bearbeitet
Setzt auf TCP-Verbindungen auf
kurzlebig: HTTP-Server schließt Verbindung nach Beantwortung der
Anfrage
Default-Port: 80
Beispiele von Requests
GET:
HEAD:
PUT:
POST:
Aufruf eines Objekts (mit und ohne Protokollversion)
Aufruf des Kopfs einer WWW-Seite
Speichern einer WWW-Seite
Übermittlung neuer Informationen; z.B. durch
interaktive Benutzer ausgefüllter Inhalt von Formularen
DELETE: Löschen einer WWW-Seite
8
Nicht-persistent
9
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
TCP-Verbindung wird nach Senden des Objekts geschlossen
Pro TCP-Verbindung genau ein Request-Response-Paar
Parallele TCP-Verbindungen möglich (ca. 5-10 bei derzeitigen
Browsern)
Probleme: Hoher Ressourcenverbrauch im Server, Slow-Start, RTT
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
10.2 Namensdienst
Persistente Verbindungen & Pipelining
Namen
Eigenschaft
Verwendung logischer Namen (z.B. www.tm.uka.de)
Ö Abbildung logischer Namen auf Referenzen (Binding)
Mehrere Objekte und WWW-Seiten werden über die gleiche TCPVerbindung ausgeliefert
z.B. Abbildung auf IP-Adresse (DNS)
z.B. Abbildung auf interne Objektidentifikatoren
Ohne Pipelining
Request wird erst nach Erhalt der vorangegangenen Response
versendet
(Beispiele im folgenden Kapitel zum Thema Middleware)
z.B. Abbildung von Dateiname auf Spur-/Sektor-/Blockadressen
Ö Analogie zum Telefonbuch: „White Pages“
Verzögerung im Rahmen einer RTT pro Objekt
Mit Pipelining
Verwaltung von Zuordnungen (Bindings)
Entgegennahme neuer Bindings
Auffinden der zu einem Objektnamen gehörenden Referenz
Löschen von Bindings
Erzeugen und Löschen von Namenskontexten
Requests können direkt hintereinander gesendet werden
Reduziert durch Slow-Start und RTT bedingte Verzögerung
Default-Modus bei HTTP/1.1
Behälter für Bindings
[RFC2616]
10
11
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Namensdienst
Beispiel: Domain Name System (DNS)
Eigenschaften der Abbildungen
Problem
Namen können hierarchisch aufgebaut sein
Name oder IP-Adresse
Sequenz von Bindungen
tm.uka.de
[RFC1034, 10.5]
Domain Name System
Verteilte Datenbank mit einer Hierarchie von Name-Servern (DNS-Servern)
Protokoll der Anwendungsschicht, das Kommunikation mit Name-Servern regelt
Über UDP realisiert – Port 53
Wieso nicht TCP?
Probleme
Ausfall des Namensdienstes
Arbeitet nach dem Client/Server-Modell
Single point of failure
Server kann Anfrage an andere Server weiterleiten
Ö Verteilte bzw. redundant aufgebaute Namensdienste
„Kernfunktion“ im Internet – keine eigentliche Anwendung
Komplexität ist am Rande des Netzes lokalisiert Ö Internet Design Philosophie!
Skalierbarkeit in großen verteilten Systemen
Ö Verteilte bzw. redundant aufgebaute Namensdienste
Verwendung
Wie findet der Dienstnehmer den Namensdienst?
Wird von anderen Protokollen der Anwendungsschicht eingesetzt: HTTP, SMTP, FTP
Feste Adresse
Im Zuge der dynamischen Netzwerkkonfiguration
(Mit Hilfe der Middleware, siehe folgendes Kapitel)
Kommunikation und Datenhaltung – SS 2009
spiegel.de
Von den menschlichen Benutzern werden Namen bevorzugt
Abbildung von Name auf IP-Adresse erforderlich
Bindung ist in seinem Kontext eindeutig
Bindung führt zu genau einer Referenz
mehrere Bindungen können auf dieselbe Referenz verweisen
12
www.ietf.org
Internet-Systeme können auf verschiedene Arten identifiziert werden
Anfrage nach IP-Adressen, Mail-Server, ...
Unter UNIX mit gethostbyname()
13
Institut für Telematik
Universität Karlsruhe (TH)
Kapitel 10: Anwendungssysteme
www.tm.uka.de
Kommunikation und Datenhaltung – SS 2009
Struktur des Internet-Namensraums
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Zur Info: Zuordnung der Domänen
Struktur
com
Domänen, Sub-Domänen usw.
Oberste Ebene: Top-Level-Domain (TLD)
Kommerzielle Unternehmen
edu
Generische Domänen
Lehranstalten, Universitäten
.aero, .biz, .cat, .com, .coop, .edu, .gov, .info, .jobs, .mobi, .int, .mil, .museum, .name,
.net, .org, .pro, .travel
gov
Länder (z.B. .de, .us, .uk,…)
Regierungsbehörden
Repräsentation als Baum
mil
generisch
Militärische Einheiten
Länder
net
Netzbetreiber und -anbieter
int
com
edu
gov
mil
org
...
umass
net
de
us
org
se
Organisationen, die nicht in die obigen Kategorien fallen
arpa
uni-karlsruhe
ee
tm
Temporäre Arpa-Domäne, die immer noch benutzt wird
ipd ...
int
Internationale Organisationen
Blätter repräsentieren Domänen ohne Sub-Domänen, aber mit IP-Equipment
Kurzbezeichnungen der Länder (de, ch, uk, etc.)
Repräsentiert durch absoluten Namen, z.B. tm.uni-karlsruhe.de
14
15
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Weitere Dienste von DNS
Weshalb verteilte DNS-Server?
Host Alias
Probleme bei Zentralisierung
Endsysteme mit komplizierten Namen können über einen oder mehrere
Alias-Namen verfügen
Singuläre Fehlerquelle
Verkehrsaufkommen an zentralem (weltweit!) Server
Entfernung der zentralen Datenbank
Verwaltung
Ö Ein zentraler Ansatz skaliert hier nicht!
Alias-Namen sind typischerweise einfacher zu merken
DNS kann für einen Alias-Namen den „eigentlichen“ Namen liefern (kanonischer
Name)
Mail Server Alias
Verteilung von DNS-Servern
E-Mail-Adressen sollten so gestaltet sein, dass sie leicht zu merken sind,
z.B. [email protected]
Kein Server kennt alle Abbildungen von Namen auf IP-Adressen
Lokale DNS-Server
Aber in vielen Fällen ist der Host-Name des Mail-Servers komplexer
gestaltet, z.B. für [email protected] der Mail-Server iramx2.ira.uni-karlsruhe.de
I.A. hat jeder Netz-Provider, jede Firma einen lokalen DNS-Server
Am Institut für Telematik (DNS der ATIS): iraun1.ira.uka.de (129.13.10.90)
Lastverteilung
Erste Nachfrage geht immer zu diesem lokalen Server (Default-Server)
Bei redundant ausgelegten Servern (z.B. Server-Cluster) kann eine Menge
von IP-Adressen mit einem Namen assoziiert sein
Autoritativer DNS-Server
Enthält autoritative Abbildungen
DNS-Server antwortet mit gesamter Menge der zugehörigen IP-Adressen,
verändert aber die Reihenfolge, in der diese genannt werden
16
Liefert maßgebliche Antworten
17
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Kommunikation und Datenhaltung – SS 2009
Name-Server
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
DNS-Hierarchie: Beispiel
Typen von Name-Servern hierarchisch gegliedert
root
Root-Server
Weltweit einige wenige solcher Server (bzw. Server-Cluster)
Top-Level Domain (TLD) Server
Verantwortlicher Server für die Top-Level Domains
ch
Autoritative Name-Server
Jeder Host ist bei einem solchen Server registriert
Häufig gleichzeitig lokaler Name-Server in „seinem“ Netz
unibe.ch
Lokale Name-Server
ethz.ch
z.B. Provider, Universität, Firma etc. betreiben lokalen Name-Server
„Weg durch die Hierarchie“
de
...
tu-bs.de
uni-karlsruhe.de
...
Für jede Hierarchie-Ebene (= Domäne) gilt
Die Adresse eines Root-Servers ist bekannt
Kennt Name-Server, die für die nächst tiefere Ebene zuständig sind
Jeder Nameserver enthält die Einträge, für die er verantwortlich ist
(authoritative)
cs.tu-bs.de
asterix.unibe.ch
Besitzt Autorität zur Namensvergabe innerhalb dieser Domäne
www.uni-karlsruhe.de
Darüber hinaus werden Ergebnisse von vorhergehenden Anfragen
zwischengespeichert
www.cs.tu-bs.de
Timeout legt fest wie lange Einträge zwischengespeichert werden
Typischerweise mehrere Tage
18
19
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
DNS Root-Server
Verteilter Betrieb von Root-Servern
Lokation der DNS Root-Server
Root-Server können verteilt betrieben werden
http://www.root-servers.org
z.B. K-Root-Server Mirror Instances
Aufgaben
Kontaktiert
autoritative
Name-Server,
falls Abbildung
unbekannt
Gibt Abbildung
dem lokalen
Name-Server
bekannt
Weltweit gibt es 13
Root-Server
Root-Server
enthalten nur
Einträge für TLDs
[KuRo07]
Generische und
Länder-TLDs
20
[RIPE09]
21
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Kommunikation und Datenhaltung – SS 2009
TLD-Name-Server für .de: DENIC
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Die größten TLDs
Zeitlicher Verlauf der Anzahl an registrierten .de-Domains
Die Top Level Domains mit den meisten Einträgen (November 2008)
14.04.2008 12-millionste .de-Domain registriert
[DENI09]
[DENI09]
22
23
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
10.2.1 DNS-Abfrage
Typen von DNS-Anfragen
Schema einer Abfrage
Rekursive Anfrage
Hat Endsystem Antwort nicht im eigenen Cache, wird lokaler DNS-Server
befragt
Lokaler DNS-Server antwortet entweder
Kennt angefragter Server die Antwort nicht, befragt er weitere
Server, bis er die Antwort zurückliefern kann
Vorteil: Geringer Aufwand für Client, da Arbeit zur vollständigen
Namensauflösung dem Server überlassen wird
aus seiner eigenen Datenbank mit Einträgen (falls autorativ)
aus seinem Cache gespeicherter Antworten auf vorangegangene Anfragen
nach Befragung anderer DNS-Server, falls er die Antwort nicht liefern kann
Endsystem
Anfrage
Cache
(1) Anfrage
Datenbank
Anfrage lokaler
DNSServer
Antwort
(4) Antwort
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
(3) Antwort
NameServer A
Client
Cache
NameServer A
Antwort
weitere
DNSServer
24
(2) Anfrage
25
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Kommunikation und Datenhaltung – SS 2009
Typen von DNS-Anfragen
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Beispiel
Typischerweise fragt Client seinen lokalen Name-Server rekursiv
Iterative Anfrage
Lokaler Name-Server arbeitet dann normalerweise iterativ
Kennt angefragter Server die Antwort nicht, kann er mit
Verweis auf anderen Server antworten
Client befragt dann weitere Server selbst
Vorteil: Weniger Aufwand für angefragten Name-Server
Root Name-Server
2
3
Lokaler Name-Server
Name-Server A
e
nfrag
(1) A
rt
ntwo
(2) A
(3) Anfrage
Name-Server B
(4) Antw
Client
ort
5
1 8
7
4
TLD Name-Server für .de
6
Autoritativer Name-Server
netserv.rz.uni-karlsruhe.de
Gesuchter Host
Client
sucht: www.uni-karlsruhe.de
26
www.uni-karlsruhe.de
27
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
10.2.2 DNS-Datenbankeinträge
Resource Records
Resource Records (RR)
Varianten von Resource Records
In der Antwort werden ein oder mehrere solche Resource
Records mitgeführt
Tupel mit (Name, Wert, Typ, TTL)
Typ
Typ=A bzw. Typ=AAAA
Name=Hostname, Value=IPv4-, bzw. IPv6-Adresse für Hostname
Typ=NS
Name=Domain, Value=IP-Adresse des autorativen Servers für
diese Domäne
Dieser Server weiß, wie IP-Adressen für Systeme dieser
Domäne bestimmt werden können
Beschreibung
A bzw. AAAA (Address)
Abbildung Name auf IPv4/IPv6-Adresse
MX (Mail Exchange)
E-Mail-Server einer Domäne
NS (Nameserver)
Nameserver einer Domäne
CNAME (Canonical Name)
„Alias“-Namen für Rechner/Domänen
PTR (Pointer)
Abbildung IP-Adresse auf Name
HINFO (Host Info)
Zusätzliche Informationen (CPU, …)
Format
0
31 bit
Domain Name
Typ=CNAME
Type
Name=Alias hostname, Value=Canonical hostname
Hiermit kann kanonischer Name bestimmt werden
Class
Time to Live
Data Length
Typ=MX
Resource Data
Name=Alias hostname, Value=Hostname eines E-Mail-Servers
28
29
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Kommunikation und Datenhaltung – SS 2009
> dig www.tm.uka.de AAAA
Seit Februar 2008 AAAA-Records für DNS-Rootserver
; <<>> DiG 9.4.1-P1 <<>> www.tm.uka.de AAAA
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12076
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 4, ADDITIONAL: 4
Namensauflösung von IPv6-Adressen in lesbare Namen und
umgekehrt
Unterstützung in sechs der insgesamt 13 Rootserver
[Heis08, RFC3596]
Zuvor keine ausschließlichen IPv6-basierten
DNS-Abfragen auf Root-Ebene möglich
Viele Toplevel-Domains bereits mit IPv6-fähigen
Nameservern ausgestattet
Z.B. DeNIC für TLD „.de“ seit 2004
Budapest, Mailand, Helsinki, Genf, Athen
Somit Gesamtzahl derzeit sieben
30
31
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
;; QUESTION SECTION:
;www.tm.uka.de.
IN
AAAA
;; ANSWER SECTION:
tm.uka.de.
86400
www.tm.uka.de.
0
www.tm.uni-karlsruhe.de. 86400
IN
IN
IN
DNAME
CNAME
AAAA
tm.uni-karlsruhe.de.
www.tm.uni-karlsruhe.de.
2001:638:204::42
;; AUTHORITY SECTION:
tm.uni-karlsruhe.de.
tm.uni-karlsruhe.de.
tm.uni-karlsruhe.de.
tm.uni-karlsruhe.de.
IN
IN
IN
IN
NS
NS
NS
NS
deneb.dfn.de.
iraun1.ira.uni-karlsruhe.de.
iraun2.ira.uni-karlsruhe.de.
netserv.rz.uni-karlsruhe.de.
A
A
A
A
192.76.176.9
141.3.10.90
141.3.10.91
129.13.64.5
86400
86400
86400
86400
;; ADDITIONAL SECTION:
deneb.dfn.de.
22190
IN
iraun1.ira.uni-karlsruhe.de. 13885 IN
iraun2.ira.uni-karlsruhe.de. 13885 IN
netserv.rz.uni-karlsruhe.de. 13887 IN
Seit 5. Juni 2008 fünf weitere k.root-servers.net Server
IPv6-fähig
Kapitel 10: Anwendungssysteme
www.tm.uka.de
Beispiel: DNS-Anfrage nach AAAARecords
IPv6 für DNS-Rootserver
Kommunikation und Datenhaltung – SS 2009
Institut für Telematik
Universität Karlsruhe (TH)
Kapitel 10: Anwendungssysteme
;;
;;
;;
;;
Query time: 2 msec
SERVER: 2001:638:204::11#53(2001:638:204::11)
WHEN: Thu Mar 27 06:20:31 2008
MSG SIZE rcvd: 269
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
DNS-Anfrage via IPv6!
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
1
Namensauflösung bei VoIP per SIP
Namensauflösung bei VoIP per SIP
Lokalisierung des SIP-Servers nur aus
Domänennamen (sip:[email protected])
nicht einfach
Problem während Sitzungsaufbaus:
SIP kann verschiedene Transportprotokolle nutzen
TCP, UDP, SCTP, TLS
32
Endsysteme müssen herausfinden, welche
Transportprotokolle zur Verfügung stehen
Endsystem kann anderen Server probieren, falls
einer ausfällt
DDDS/NAPTR ermöglicht grobgranulares
kapazitätsbasiertes „Load Balancing“
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
Transport
Bestimmung
Ermitteln von IP Adresse, Port and Transport Protokoll
des nächsten Hops
Gewünschte SRV
Namen von
Transportprotokollen
für nächste Anfrage
wählen
Load
Balancing
Robustheit
Vorhandene
Transportprotokolle
ausfindig machen
Gewünschte SRV
RR für nächste
Anfrage wählen
DNS Query
NAPTR RR
DNS Query
SRV RR
DNS Query
IP Adresse,
Protokoll und Ports
bekannt
AAAA RR
NAPTR RRs für example.com
erhalten:
SIP+D2T _sip._tcp.example.com
SIP+D2U _sip._udp.example.com
SRV RRs für _sip._tcp.example.com
SRV erhalten:
sipbalance01.example.com
sipbalance02.example.com
AAAA/A RR für
sipbalance02.example.com erhalten:
Löse Namen zu IP Adressen auf
33
www.tm.uka.de
Kommunikation und Datenhaltung – SS 2009
10.2.3 DNS-Dateneinheiten
Institut für Telematik
Universität Karlsruhe (TH)
Kapitel 10: Anwendungssysteme
www.tm.uka.de
DNS-Query – Wireshark
Typen von Dateneinheiten
Query
Reply
Format der Dateneinheiten
Query/Reply, Authoritative, ...
31 bit
0
Identifiziert Query
Identification
Flags
Number of Questions Number of answer RRs
Number of authority RRs
Name und Typ
RRs zu Namen
Records anderer
autoritativer Server
Andere hilfreiche
Records
34
Kommunikation und Datenhaltung – SS 2009
Kopf
Number of additional RRs
Identification
Questions
(Variable number of questions)
Flags
Number of Questions
Answers
(Variable number of RRs)
Number of Answers
Number of Authority RRs
Authority
(Varible number of RRs)
Number of Additional RRs
Additional information
(Variable number of RRs)
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
35
www.tm.uka.de
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
DNS-Reply – Wireshark
10.2.4 Reverse Lookup
Aufgabe
Bestimmung des logischen Namens zu gegebener
IP-Adresse
Vorgehensweise
arpa
Gesuchte IP-Adresse wird in Zeichenkette umgeformt
Hierzu: Spezieller Teilbaum des DNS „in-addr.arpa“
in-addr
Dient der Zuordnung von IP-Adresse Ö Name
Jede IP-Adresse entspricht Eintrag unterhalb in-addr.arpa
Flags im Reply
aufgeschlüsselt
207
IP-Adresse wird dabei invertiert (siehe Beispiel)
2 RRs zu Namen
(Answers)
Beispiel
168
IP-Adresse: 207.171.168.16
10 RRs anderer
autoritativer Server
16
DNS-Name in Anfrage: 16.168.171.207.in-addr.arpa
Ergebnis (Antwort RR): Resource Data = www.amazon.de
3 zusätzliche
Angaben
36
171
37
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Kommunikation und Datenhaltung – SS 2009
10.2.5 DNS-Beispiel: Akamai
Ziel
www.tm.uka.de
1
10.3 Elektronische Post
Hauptziel
[Akam09]
Schnellere Auslieferung von Webseiten
Auslieferung des Contents durch Proxys
Institut für Telematik
Universität Karlsruhe (TH)
Kapitel 10: Anwendungssysteme
Internationaler Dienst zum Austausch elektronischer Mitteilungen
zwischen Personen oder zwischen Rechnern
sog. Akamai-Server „nahe“ beim User (ISP)
Hauptvorteil gegenüber dem Telefon
Anpassung der Webseiten notwendig (Preprocessing)
Eingebettete URLs werden zu ARLs (URLs die auf Akamai zeigen)
Asynchron (Nachrichtenvermittlung)
Proxy-Auswahl
Vergleich von Briefpost und Elektronischer Post:
User Lokation + Proxy, der Objekte vorhält
nicht alle Objekte liegen auf allen Proxys
Absender Umschlag
Zweistufiger Abbildungsprozess der ARLs
Briefkasten
HLDNS (High Level DNS, TTL 30 min)
LLDNS (Low Level DNS, TTL 30 sec)
Berücksichtigt Zustand des Internets, User-Anforderungen, Verfügbarkeit der Proxys
Text wird von Originalseite geladen, Objekte von Akamai-Servern
Probleme
Postamt
Postamt
Briefkasten
Inhalt
Aufwendigere Namensauflösung Ö Erhöhte DNS-Verzögerung/ -Verkehr
Nachbarschaftsbestimmung ungenau
Welche Metrik bestimmt Nachbarschaft?
Anzahl Hops? Auslastung? Geschwindigkeit? Ö Keine triviale Frage
Absender
38
Empfänger
Inhalt
Terminal
Routing-technisch nicht klar, welcher Proxy am „nächsten“ zur IP-Adresse des Users liegt
Umschlag
Terminal
User
Agent
Mail
Transport
Agent
Mail
Transport
Agent
User
Agent
Empfänger
39
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
E-Mail im Internet: SMTP
Nachrichtenübertragung mit SMTP (1)
E-Mail
Client
Server
Mail Server
und MTA
Vergleichbar mit „Snail Mail“
Traditionelle Post
SYN
SYN + ACK
Asynchroner
Datenaustausch
zwischen Benutzern
Inhalte
SMTP
Text, Bilder, Audio und
Video
Server signalisiert
Bereitschaft zum
Kommunikationsaustausch
SMTP
Grundlegende
Komponenten
220 mail.receiver.de SMTP Ready\r\n
HELO mail.client.de
SMTP
User Agent (UA)
Mail Server
Mail Transport Agents
(MTA)
User
Agents Mail Server
und MTA
250 mail.receiver.de \r\n
User Mailbox
Verbindungsaufbau
durch Client
ACK
Mail Server
und MTA
Client sendet
Verifikationswunsch
für Benutzer zit
VRFY zit\r\n
Der Client identifiziert
sich mittels des HELO
Kommandos
Stimmt der DNS-Eintrag
mit dem angegebenen
Namen wird Verbindung
akzeptiert
250 OK \r\n
Simple Mail Transfer
Protocol (SMTP)
[RFC2821]
40
41
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Kommunikation und Datenhaltung – SS 2009
Nachrichtenübertragung mit SMTP (2)
Client
Server
Beispiel
250 OK \r\n
DATA \r\n
Client sendet E-Mail
mit Kopfzeilen und
Nachrichteninhalt
ACK
FIN
ACK
42
Kommunikation und Datenhaltung – SS 2009
Weitere Header-Felder:
BCC: Blind Carbon Copy
Reply-To: Antwort-Adresse falls nicht an Sender-Adresse zurück geschickt werden soll
In-Reply-To: Message-ID auf die Bezug genommen wird
Alleiniger Punkt „.“ in
einzelner Zeile signalisiert
Ende der Mail
QUIT
FIN
Kapitel 10: Anwendungssysteme
Body
Hallo!
ACK
250 OK Mail accepted\r\n
Client signalisiert
Sitzungsende
DATA Kommando zeigt
Beginn der Daten an
<Kopfzeilen>Lieber Herr … \r\n
. \r\n
www.tm.uka.de
Envelope-to: [email protected]
Received: from i72pc108.tm.uni-karlsruhe.de ([141.3.71.162] helo=tm.uka.de)
by irams1.ira.uka.de with smtp (Exim 3.30 #7 (Debian))
id 161oxI-0005j9-00
Header
for <[email protected]>; Thu, 08 Nov 2001 14:11:07 +0100
Message-Id: <[email protected]>
From: [email protected]
Date: Thu, 08 Nov 2001 14:11:07 +0100
SMTP sendet das
MAIL FROM Kommando
RCPT TO:[email protected] \r\n
354 Enter e-mail, end with . \r\n
Institut für Telematik
Universität Karlsruhe (TH)
E-Mail-Format nach RFC 822
MAIL FROM:[email protected]\r\n
250 OK \r\n
Kapitel 10: Anwendungssysteme
Probleme des RFC-Standards
Verbindungsabbau:
Server und Client
schließen TCP-Verbindung
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
43
Keine Übertragung von Binärdateien oder ausführbaren Programmen möglich
Keine länderspezifischen Zeichen
[RFC822]
Begrenzte Größe der Mails
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
10.3.1 MIME – Multipurpose Internet Mail
Extensions
MIME
Content-types für verschiedenartige Inhalte
SMTP sieht nur einfache ASCII-Texte als Nachrichten vor
MIME erweitert den Kopfteil einer Nachricht um
[RFC2045]
Formatinformation
Text: plain, richtext, HTML
Multipart: mixed, parallel, alternative, digest
Aus mehreren Teilen bestehende E-Mail (z.B. Text und HTML)
Message: rfc822, partial, external-body
Content-Type: Definiert den Typ des E-Mail-Inhalts
Content-Transfer-Encoding: Definiert die Transfer-Syntax, in der die
Daten des Hauptteils übertragen werden
Z.B. für weitergeleitete (Teile von) E-Mails
Image: GIF, JPEG
Video: MPEG
Audio: Basic
Application: PostScript, octet-stream
Weitgehende Kompatibilität zur herkömmlichen
Internet-E-Mail
Für Daten „bekannter“ Applikationen
Transfer Encoding
Mit der Transfersyntax Base 64 ist es möglich, Binärdaten durch
Subnetze zu leiten, die nur die Übertragung von 7-Bit-ASCII-Texten
erlauben
Die Transfersyntax Quoted Printable erlaubt nationale
Sonderzeichen
7bit (ASCII Zeichen), 8bit (non-ASCII Zeichen)
Binary
Quoted-printable
Kompromiss zwischen Lesbarkeit und Übertragung von nicht-ASCII-Zeichen
ASCII-Zeichen + Hex-Codes
z.B. Darstellung von 12 (dezimal) : =0C
Wird eine solche Mail von einem "normalen Mailer" angezeigt, so
werden nur diese Erweiterungen verstümmelt
Base64
44
45
Kommunikation und Datenhaltung – SS 2009
Institut für Telematik
Universität Karlsruhe (TH)
Kapitel 10: Anwendungssysteme
www.tm.uka.de
Kommunikation und Datenhaltung – SS 2009
10.3.2 Mailserver
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Ablauf in verschiedenen Phasen
User-Agent öffnet TCP-Verbindung zum POP-Server
auf Port 110
Autorisierung
Einfache Funktionalität
IMAP (Interactive Mail Access Protocol) dient dazu, die Nachrichten
zentral auf einem Mailserver zu verwalten
Benutzername und Passwort
Transaktion
IMAP erlaubt erweiterte Kommandos (z.B. Ordnerverwaltung, Filterung)
Abrufen von Nachrichten
Markieren von Nachrichten (Löschen ...)
Mailserver
Internet
Kapitel 10: Anwendungssysteme
10.3.2.1 POP3
E-Mail wird meist zentral über einen Mailserver abgewickelt (Relay-MTA)
Mittels POP3 (Post Office Protocol 3) holt der Client die vom Mailserver
empfangenen und in der Mailbox gespeicherten Nachrichten ab
Mail
Queue
[RFC2046]
Abbildung von 6-Bit-Werten auf ASCII-Zeichen
Update
Löschen markierter Nachrichten
SMTP
SMTP
Mailbox
POP3, Mail Client
IMAP
[RFC1939]
46
47
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
1
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
POP3
10.3.2.2 IMAP
Vorteile gegenüber POP3
Schema
Sender
Benutzer kann Nachrichten-Ordner auf dem Server anlegen und
verwalten
Suchen in Ordnern wird unterstützt
IMAP-Server verwaltet Ordner-Hierarchie
Benutzer kann Teile von Nachrichten abrufen
Empfänger
POP-Server
User Agent
User Agent
Wann ist diese Eigenschaft nützlich?
Ablauf
Mailbox
Message
Transfer
Agent
SMTP
Message
SMTP
Transfer
Agent
POP
POPServer
Verbindungsaufbau zwischen Client und IMAP-Server
Interaktionen
Kommando vom Client, Daten vom Server, Fertigmeldung vom
Server
POPClient
Vier Zustände einer IMAP-Sitzung
Non-authenticated state
TCP-Verbindung
Kein Nutzer angemeldet, Einloggen und Abfragen der Server-Fähigkeiten
TCP-Verbindung
Authenticated state
Nutzer angemeldet, Operationen mit Ordnern möglich
Selected state
Ordner ausgewählt, Operationen mit Nachrichten möglich
Logout state
48
49
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
[RFC2060]
Ausloggen, Server sichert Änderungen endgültig
Kommunikation und Datenhaltung – SS 2009
10.4 Dateitransfer im Internet
Institut für Telematik
Universität Karlsruhe (TH)
Kapitel 10: Anwendungssysteme
www.tm.uka.de
FTP-Prozesse für Dateitransfer
File Transfer Protocol (FTP)
Nutzung zweier TCP-Verbindungen
Kontrollverbindung für Clientbefehle und Serverantworten
Dient der Übertragung von Dateien
Basiert auf Client/Server-Modell
Server wartet dazu passiv auf Port 21
Bleibt bestehen, solange Client mit Server kommuniziert
Ermöglicht Kommunikation während eines Dateitransfers
IP „Type-of-Service“ sollte wegen Befehlseingabe auf minimale Verzögerung
gestellt sein
FTP-Dienste
Verbindungsaufbau mit Authentifizierung
Datenverbindung zur Übermittlung von Daten zwischen Client und Server
Vorsicht: Authentifizierungsdaten werden im Klartext versendet
Auch anonymes FTP möglich
Nicht-persistent: Nach der Übertragung einer Datei wird die Verbindung
geschlossen
IP „Type-of-Service“ sollte maximalen Datendurchsatz angeben
Jeder darf FTP-Dienst auf Server nutzen
Dateiübertragung von und zum Server
Benutzer
Benutzerschnittstelle
2 TCP-Verbindungen
z.B. get- und put-Kommandos
Operationen auf Dateisystem
z.B. cd, dir
Hilfefunktionen
Client
Kontrollprozess
FTP-Kommandos
Client
Datentransfer
Daten
Server
Kontrollprozess
FTP-Antworten
Dateisystem
Dateisystem
z.B. Kommando-Auflistung inklusive Parameter
Weitere implementierungsabhängige Dienste möglich
50
Server
Datentransfer
51
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
FTP – Datendarstellung
FTP-Befehle
Befehle und Antworten erfolgen im ASCII-Format
[RFC959]
Dateityp
Sequenz Carriage-Return (CR) plus Linefeed (LF) an jedem
Zeilenende notwendig
ASCII-Dateityp, EBCDIC-Dateityp, Binär-Dateityp,
lokaler Dateityp
Befehle bestehen aus 3 oder 4 Bytes mit ASCIIGroßbuchstaben
Formatierungsinformationen
Struktur
Dateistruktur, Datensatzstruktur, Seitenstruktur
Übertragunsmodus
Stream-Modus, Block-Modus, Komprimierter Modus
Æ Nur die blau markierten Optionen werden
typischerweise implementiert
52
53
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Befehl
Beschreibung
ABOR
Vorherigen FTP-Befehl sowie Datentransfer abbrechen
LIST dateiliste
Liste von Dateien oder Verzeichnissen ausgeben
PASS passwort
Passwort für Server
PORT n1,n2,n3,n4,n5,n6
Client IP-Adresse (n1,n2,n3,n4) und Port (n5 x 256 + n6)
QUIT
Am Server abmelden
RETR dateiname
Datei holen (get)
STOR dateiname
Datei speichern (put)
SYST
Server gibt Systemtyp zurück
TYPE type
Dateityp spezifizieren: A für ASCII, I für Binärdatei
USER benutzername
Benutzername am Server
Kommunikation und Datenhaltung – SS 2009
FTP-Antworten
Bedeutung
1yz
Positive vorläufige Antwort
2yz
Positive abschließende Antwort
3yz
Positive zwischenzeitliche Antwort
4yz
Transiente negative abschließende Antwort
5yz
Permanente negative abschließende Antwort
x0z
Syntax
x1z
Information
x2z
Verbindungen
x3z
Authentifizierung und Abrechnung
x4z
Nicht spezifiziert
x5z
Dateisystem-Status
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Beispiel FTP-Nachrichten (1)
Antworten bestehen aus 3-stelligen ASCII-Zahlen mit
optionaler Nachricht nach Nummer
Jede der drei Stellen besitzt andere Bedeutung
Antwort
[Stev04]
Manche mit optionalen Argumenten
Gängige der 30 möglichen Befehle siehe Tabelle unten
Nonprint, Telnet-Format-Control, Fortran-CarriageControl
FTP Client
[Stev04]
Beispiele:
125 Datenverbindung
besteht
200 Befehl OK
214 Hilfemeldung
331 Benutzername OK,
Passwort erforderlich
425 Kann Datenverbindung
nicht öffnen
500 Syntaxfehler (Befehl
unbekannt)
501 Syntaxfehler (ungültige
Argumente)
54
$ ftp ftp.uni-koeln.de
Verbindungsaufbau
an Port 21 für
Kontrollverbindung
FTP Server
Server lauscht passiv
an Port 21
TCP SYN
TCP SYN+ACK
TCP ACK
220 Welcome to ftp.uni-koeln.de
Authentifizieren
Benutzer wird nach
Passwort gefragt
TCP Kontrollverbindung
an Port 21 aufgebaut
USER anonymous
331 Please specifiy the password.
PASS pass
230 Login successful.
ftp> get robots.txt
In Binärmodus
wechseln
TYPE I
200 Switching to Binary mode.
Client gibt IP-Adresse
und Port (53967) für
Datenverbindung an
PORT 141,3,71,33,210,207
200 PORT command successful.
55
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Beispiel FTP-Nachrichten (Forts.)
FTP Client
Beispiel FTP-Authentifizierung
FTP Server
Client fordert Datei
robots.txt an
RETR robots.txt
Aufbau TCP-Verbindung
für Daten auf Port 53967
TCP SYN
TCP SYN+ACK
TCP ACK
150 Opening BINARY mode data connection for robots.txt (211 bytes).
FTP Data: 211 bytes
Über Datenverbindung
Server wünscht Datenverbindung abzubauen
TCP FIN
Datenverbindung auf
Port 53967 wird abgebaut
Über Kontrollverbindung
TCP FIN+ACK
TCP ACK
226 File send OK.
ftp> quit
Sitzung beenden
Übermittlung des
Benutzernamens
im Klartext
QUIT
221 Goodbye.
Abbau der
Kontrollverbindung
TCP FIN
TCP FIN+ACK
TCP ACK
56
57
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Kommunikation und Datenhaltung – SS 2009
Beispiel FTP-Authentifizierung (2)
Institut für Telematik
Universität Karlsruhe (TH)
Kapitel 10: Anwendungssysteme
www.tm.uka.de
Zusammenfassung
HTTP FTP SMTP POP IMAP
TCP
DNS
UDP
IP
Übermittlung des
Passworts
im Klartext!
58
59
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Aufgaben
Literatur
10.1 Was ist ein URL, wozu dient er und wie ist er aufgebaut?
10.2 Wie läuft üblicherweise der Abruf einer WWW-Seite über HTTP1.0
ab?
10.3 Beschreiben Sie, wie die Mechanismen Persistente Verbindungen,
sowie Pipelining Verbesserungen bewirken.
10.4 Erläutern Sie die Aufgaben des Domain Name Systems und dessen
Aufbau.
10.5 Wie läuft eine Namensauflösung ab und welche unterschiedlichen
Anfragetypen können hierbei vorkommen?
10.6 Beschreiben Sie, worin eine DNS-Antwort besteht und geben Sie
Beispiele, was sie enthalten kann.
10.7 Wozu dient und wie funktioniert eine rekursive DNS-Abfrage?
10.8 Wie werden E-Mails über das Internet transportiert?
10.9 Erläutern Sie, mit welchen Mitteln über E-Mails mehr als nur Text
transportiert werden kann.
10.10 Welche Protokolle spielen beim Abruf von E-Mails aus Mailboxen
die Hauptrolle und worin bestehen deren wichtigste Unterschiede?
10.11 Wofür werden beim Dateitransfer über FTP zwei Verbindungen
verwendet?
60
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Literatur
[RFC2045] N. Freed, N. Borenstein; Multipurpose Internet Mail Extensions
(MIME) Part One: Format of Internet Message Bodies; RFC 2045,
November 1996
[RFC2046] N. Freed, N. Borenstein; Multipurpose Internet Mail Extensions
(MIME) Part Two: Media Types; RFC 2046, November 1996
[RFC2060] M. Crispin; Internet Message Access Protocol – Version 4rev1;
RFC 2060, December 1996
[RFC2616] R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P.
Leach, T. Berners-Lee; Hypertext Transfer Protocol – HTTP/1.1; RFC
2616, June 1999
[RFC2821] J. Klensin (Ed.); Simple Mail Transfer Protocol; RFC 2821,
April 2001
[RFC3596] S. Thomson, C. Huitema, V. Ksinant, M. Souissi; DNS
Extensions to Support IP Version 6; RFC 3596, October 2003
[RFC3986] T. Berners-Lee, R. Fielding, L. Masinter; Uniform Resource
Identifier (URI): Generic Syntax; RFC 3986, January 2005
[RIPE09] RIPE NCC; k-root-server; http://k.root-servers.org
[Stev04] W. R. Stevens; TCP/IP; Hüthig-Verlag, 2004
62
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
[Akam09] http://www.akamai.com
[DENI09] DENIC eG; http://www.denic.de
[Hals05] F. Halsall; Computer Networking and the Internet; Addison-Wesley,
2005, 5th Edition
[Heis08] R. Kaps; IPv6 für DNS-Rootserver; heise online News, Februar
2008
[KuRo07] J. F. Kurose, K. W. Ross; Computer Networking; 4rd ed.,
Addison-Wesley, 2007
[RFC822] David H. Crocker (Ed.); Standard for the Format of ARPA Internet
Text Messages; RFC 822, August 1982
[RFC959] J. Postel, J. Reynolds; File Transfer Protocol (FTP); RFC 959,
October 1985
[RFC1034] P. Mockapetris; Domain Names – Concepts and Facilities; RFC
1034; November 1987
[RFC1035] P. Mockapetris; Domain Names – Implementation and
Specification; RFC 1035; November 1987
[RFC1939] J. Myers, M. Rose; Post Office Protocol – Version 3; RFC 1939,
May 1996
[RFC1945] T. Berners-Lee, R. Fielding, H. Frystyk; Hypertext Transfer
Protocol -- HTTP/1.0; RFC 1945, May 1996
61
Kommunikation und Datenhaltung – SS 2009
Kapitel 10: Anwendungssysteme
Institut für Telematik
Universität Karlsruhe (TH)
www.tm.uka.de
Herunterladen