Teil 10-Ebene 5

Werbung
Kommunikationsnetze
Praxis Internet
Michael Rotert
E-Mail:
[email protected]
Version 4.0
Inhalt
Einführung (Teil 1)
Lokale Netze (LAN)
–  Topologie, Komponenten
–  Ethernet
•  Punkt-zu-Punkt über Ethernet
–  Virtuelle LANs
IPv6 (Teil 6)
–  Entwicklung, Geschichte
–  IPv6 Header
–  IPv6 Adressierung
IPv6 Zusatzprotokolle
–  Konfiguration, Autokonfiguration
–  Fragmentierung
–  DHCP, ICMP
Internet Ebene 3 Protokolle (Teil 2)
–  Definition, Geschichte
–  Architektur, Protokolle
IPv4 (Teil3)
Drahtlose und mobile Netze (Teil 8)
–  IPv4 Header
–  Fragmentierung
–  IPv4 Adressierung
– 
– 
– 
– 
IPv4 Routing (Teil 4)
–  Autonome Systeme
–  Routing Protokolle
–  Internet Exchanges
Zusatzprotokolle (Teil 5)
Eigenschaften
Adressierung/Routing mobiler Benutzer
Mobilität in IPv4 Netzen
WLAN/Wifi
Transportschicht (Teil 9)
–  TCP und UDP
Anwendungsschicht (Teil 10)
– 
– 
– 
– 
–  ARP / RARP
–  ICMP (ping und traceroute)
–  DHCP und NAT
Kommunikationsnetze M.Rotert SS2015
(Teil 7)
Teil 10
Grundlagen, Architekuren
DNS
Electronic Mail (SMTP, POP3, IMAP)
P2P-Anwendungen
2
Applikationen im Internet
Ebene 5 – 7
7
Application
6
Presentation
5
Session
4
Transport
3
Network
2
Data Link
1
Physical
Kommunikationsnetze M.Rotert SS2015
DNS SMTP FTP
Net Bios Telnet
Teil 10: Anwendungsschicht
Keine Protokoll
Standards in TCP/IP
3
Einige Netzwerk Anwendungen
• 
• 
• 
• 
• 
• 
• 
E-Mail
Web
Instant Messaging
Terminalfernzugriff
P2P-Filesharing
Netzwerkspiele
Streaming von
Videoclips
Kommunikationsnetze M.Rotert SS2015
• 
• 
• 
• 
Voice over IP (VoIP)
Videokonferenzen
Soziale Netzwerke
Grid Computing
Teil 10: Anwendungsschicht
2-4
Einige Netzwerk Anwendungen
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
5
Entwickeln einer Netzwerkanwendung
Schreibe Programme, die
–  auf mehreren (verschiedenen)
Endsystemen laufen
–  über das Netzwerk
kommunizieren
–  Beispiel: Die Software eines
Webservers kommuniziert mit
dem Browser (Software)
Kaum Software für das Innere des
Netzwerkes
–  Im Inneren des Netzwerkes
werden keine Anwendungen
ausgeführt
–  Die Konzentration auf
Endsysteme erlaubt eine
schnelle Entwicklung und
Verbreitung der Software
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
6
Verschiedene Architekturen
•  Client-Server
–  mit software-as-a-service / cloud computing
(z.B. Google Data Centers)
•  Peer-to-Peer (P2P)
•  Kombination von Client-Server und P2P
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
7
Client-Server-Architektur
Server:
–  Immer eingeschaltet
–  Feste IP-Adresse
–  Serverfarmen, um zu
skalieren
Clients:
–  Kommunizieren mit
Servern
–  Sporadisch angeschlossen
–  Können dynamische IPAdressen haben
–  Kommunizieren nicht direkt
miteinander
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
8
Reine P2P-Architektur
•  Keine Server
•  Beliebige Endsysteme
kommunizieren direkt miteinander
•  Peers sind nur sporadisch
angeschlossen und wechseln ihre IPAdresse
•  Beispiel: Gnutella
Gut skalierbar, aber schwer zu warten
und zu kontrollieren!
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
9
Kombination von Client-Server und P2P
Instant Messaging
–  Chat zwischen zwei Benutzern: P2P
–  Zentralisierte Dienste: Erkennen von Anwesenheit, Zustand,
Aufenthaltsort eines Anwenders
•  Benutzer registriert seine IP-Adresse beim Server,
sobald er sich mit dem Netz verbindet
•  Benutzer fragt beim Server nach Informationen über
seine Freunde und Bekannten
Skype
–  P2P-Anwendung für Voice-over-IP
–  Zentraler Server:
Adresse des Kommunikationspartners finden
–  Verbindung zwischen Clients:
direkt (nicht über einen Server)
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
10
Basis: Kommunizierende Prozesse
Prozess: Programm, welches auf
einem Host läuft
•  Innerhalb eines Hosts können
zwei Prozesse mit InterProzess-Kommunikation
Daten austauschen (durch das
Betriebssystem unterstützt)
•  Prozesse auf verschiedenen
Hosts kommunizieren, indem
sie Nachrichten über ein
Netzwerk austauschen
Client-Prozess: Prozess, der die
Kommunikation beginnt
Server-Prozess: Prozess, der
darauf wartet, kontaktiert zu
werden
❒  Anmerkung: Anwendungen mit einer P2P-Architektur haben Clientund Server-Prozesse
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
11
Anwendungsprotokolle bestimmen …
•  Arten von Nachrichten
–  z.B. Request, Response
•  Syntax der Nachrichten
–  Welche Felder sind vorhanden
und wie werden diese
voneinander getrennt?
•  Semantik der Nachrichten
–  Bedeutung der Informationen
in den Feldern
•  Regeln für das Senden von und
Antworten auf Nachrichten
Kommunikationsnetze M.Rotert SS2015
„Öffentlich verfügbare
„Protokolle:
•  Definiert in RFCs
•  Ermöglichen Interoperabilität
•  z.B. HTTP, SMTP,
BitTorrent
Proprietäre Protokolle:
•  z.B. Skype, PPStream
Teil 10: Anwendungsschicht
12
Wahl des Transportdienstes
Datenverlust
Bandbreite
•  Einige Anwendungen können
Datenverlust tolerieren
•  Einige Anwendungen (z.B.
(z.B. Audioübertragungen)
Multimedia-Streaming) brauchen
•  Andere Anwendungen benötigen
eine Mindest-bandbreite, um zu
einen absolut zuverlässigen
funktionieren
Datentransfer
(z.B. Dateitransfer)
•  Andere Anwendungen verwenden
Zeitanforderungen
•  Einige Anwendungen (z.B.
Internet-Telefonie oder
Netzwerk-Spiele) tolerieren nur
eine sehr geringe Verzögerung
Kommunikationsnetze M.Rotert SS2015
einfach die verfügbare Bandbreite
(bandbreitenelastische
Anwendungen)
Teil 10: Anwendungsschicht
13
Beispiele für Anforderungen
von Anwendungen
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
14
Beispiele aus dem Internet
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
15
DNS: Domain Name System
Menschen: verschiedene
Identifikationsmechanismen
–  Name, Ausweisnummer
Internet-Hosts, Router:
–  IP-Adresse (32 Bit) – für die
Adressierung in Paketen
–  “Name”, z.B., www.yahoo.com
– von Menschen verwendet
Frage:
Wie findet die Abbildung
zwischen IP-Adressen und
Namen statt?
• 
Kommunikationsnetze M.Rotert
SS2015
Domain Name System:
•  Verteilte Datenbank,
implementiert eine Hierarchie
von Nameservern
•  Protokoll der
Anwendungsschicht, wird von
Hosts verwendet, um Namen
aufzulösen (Abbildung zwischen
Adresse und Name)
–  zentrale Internetfunktion,
implementiert als Protokoll
der Anwendungsschicht
–  Grund: Komplexität nur am
Rand des Netzwerkes!
Teil 10: Anwendungsschicht
16
DNS
Zeitlinie
1971: RFC 226 schlägt vor, IPs Namen zuzuordnen.
1981: RFC 799 schlägt das Konzept der Name Domains vor (über 400 Nicknames in
HOSTS.TXT).
1982: RFC 819 führt fully qualified domain names ein. Der Dienst name service wird
vorgeschlagen. Pro Domain soll ein name server installiert werden, der Namen
zu IP-Adressen umsetzt.
1983: MILNET und ARPANET werden gespalten. RFC 881 schlägt einen Zeitplan für
die Umstellung auf Domains vor. Die Rechner im ARPANET erhalten
provisorisch .ARPA als Domain, die neue Tabelle heißt DHOSTS.TXT.
1984: DHOSTS.TXT heißt jetzt HOSTS.TXT
Zustand vor DNS
Alle Rechner hatten /etc/hosts-Dateien, in denen zu IPs der Hostname und die Dienste
standen.
Zentrale Verwaltung, die Dateien wurden manuell synchronisiert.
Konzept: Domain Name System
Ziel:
Einführung eines hierarchischen Namensraumes.
Zweck: Abbildung von Hosts auf IPs und zurück, aber auch von Diensten
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
17
DNS
DNS-Dienste
• 
• 
Übersetzung von Hostnamen in IPAdressen
Aliasnamen für Hosts
–  Kanonische Namen
und Aliasnamen
• 
• 
Aliasnamen für Mailserver
Lastausgleich
–  Replizierte Webserver: mehrere IPAdressen von einem kanonischen
Namen
Warum ist DNS nicht zentralisiert?
•  Robustheit gegenüber Fehlern und
Angriffen
•  Datenverkehrsaufkommen
•  Große „Distanz“ zur zentralisierten
Datenbank
•  Wartung
DESIGNKRITERIEN
• 
• 
• 
Anfallende Datenmenge annähernd
proportional zur Anzahl der Nutzer.
Kleine Änderungsrate der Daten.
Zugriff auf Informationen und ihre
Verfügbarkeit wichtiger als globale
Konsistenz.
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
18
Name und Directory Services
Der Domain Name Space beginnt an einer gemeinsamen Wurzel und gliedert
sich immer feiner auf.
Com.
edu.
de.
HS-Karlsruhe
RZ
fr.
it.
eco
tst
Informatik
www
Kommunikationsnetze M.Rotert SS2015
net.
Germany
speedtest
ns
ns
Teil 10: Anwendungsschicht
19
Domain Names
Notationsregeln:
Punkte zwischen den Domainstufen (nodes)
Hinweis: Kein Bezug zu IP-Netzgrenzen aufgrund der
IP-Adressierung notwendig.
Aufbau:
Host subdomain domain topleveldomain
sonst: host.subdomain (ohne Punkt am Ende)
Gesamtlänge < 256 Zeichen (max. 255 Zeichen)
Domainname < 64 Zeichen
Groß-/Kleinschreibung irrelevant
7 Bit Zeichensatz (a-z, 0-9 und „-“) aber auch IDNs
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
20
DNS: Root-Nameserver
• 
• 
Wird vom lokalen Nameserver kontaktiert,
wenn dieser einen Namen nicht auflösen kann
Root-Nameserver:
–  Kennt die Adressen der Nameserver der Top-Level-Domains
(com, net, org, de, uk, …)
–  Gibt diese Informationen an die lokalen Nameserver weiter
13 RootNameserver
weltweit
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
21
TLD- und Autoritative Server
•  Top-Level-Domain (TLD)-Server:
–  Verantwortlich für com, org, net, edu etc. sowie für alle LänderDomains, z.B. de, uk, fr, ca, jp
–  Verisign ist verantwortlich für den com-TLD-Server
–  Educause hat die Verantwortung für den edu-TLD-Server
•  Autoritativer DNS-Server:
–  DNS-Server einer Organisation, der eine autorisierte Abbildung der
Namen dieser Organisation auf IP-Adressen anbietet
–  Verwaltet von der entsprechenden Organisation oder einem Service
Provider
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
22
Name und Directory Services
• 
• 
• 
• 
• 
• 
Abbildung Rechnername <--> IP-Adresse
Vergabe von Alias-Namen (z.b. ftp.xlink.net)
Mail-Exchange-Records
Verkettung von Nameservern
Caching, Aktualität, etc.
Hostinfo, Kontaktadresse, etc.
query
application
resolver
local
Authoritative
name
Name
server
response
server
Beispiel: DNS-Einträge für xlink2.xlink.net
xlink2
IN A
1
93.141.40.2
IN HINFO Linux
; Adresse
; Host.Info
IN MX
100
relay1.xlink.net.
; Mail-Exchanger
IN MX
200
relay.xlink.net
; Mail-Exchanger
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
23
Name und Directory Services
User
Program
user
queries
user
responses
queries
Resolver
responses
cache
Nach RFC 1123 muss ein Resolver für TCP/IP im Internet implementiert sein.
Einfache Aktivierung eines Resolvers durch Eintrag in Datei, wer der NameServer-Rechner ist.
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
24
Alternativen: Namensauflösung mit DNS
•  Host cis.poly.edu fragt
nach der IP-Adresse von
gaia.cs.umass.edu
Iteratives Vorgehen:
❒  Angesprochene Server in
der Hierarchie antwor-ten
mit einem Verweis auf
andere Server
❒  “Ich kenne den Namen
nicht, frag’ diesen Server
…”
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
25
Alternativen: Namensauflösung mit DNS
Rekursives Vorgehen:
❒  Die Aufgabe zur
Namensauflösung wird
an den gefragten
Nameserver delegiert
❒  Zusätzliche Belastung!
❒  Root-Nameserver
erlauben dies häufig
nicht
❒  Andere Nameserver
dagegen schon!
❒  Vorteil:
Caching der Antworten
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
26
DNS - nslookup
>nslookup -q=mx hs-karlsruhe.de
Server: dns1.versatel.de
Address: 62.72.64.237
Nicht autorisierte Antwort:
fh-karlsruhe.de MX preference = 9, mail exchanger = rz06.HSKarlsruhe.de
>nslookup -q=ns fh-karlsruhe.de
Server: dns1.versatel.de
Address: 62.72.64.237
Nicht autorisierte Antwort:
hs-karlsruhe.de nameserver = rz01.HS-Karlsruhe.de
hs-karlsruhe.de nameserver = iraun1.ira.uni-karlsruhe.de
hs-karlsruhe.de nameserver = dns1.BelWue.de
hs-karlsruhe.de nameserver = dns3.BelWue.de
>
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
27
DNS: Caching
•  Sobald ein Nameserver eine Abbildung zur Namensauflösung
kennenlernt, merkt er sich diesen in einem Cache
–  Die Einträge im Cache werden nach einer vorgegebenen
Zeit wieder gelöscht
–  Die Adressen der TLD-Server werden üblicherweise von
den lokalen Nameservern gecacht
•  Root-Nameserver werden eher selten angesprochen
•  Mechanismen zur Pflege von Cache-Einträgen und zur
Benachrichtigung bei Änderungen werden derzeit von der
IETF entwickelt
–  RFC 2136
–  http://www.ietf.org/html.charters/dnsind-charter.html
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
28
DNS Resource Records
DNS: Verteilte Datenbank für Resource Records (RR)
RR-Format: (name,
•  Typ=A
– 
– 
value, typ, ttl)
•  Type=CNAME
name ist der Hostname
value ist die IP-Adresse
– 
name ist ein Alias für einen
kanonischen (echten) Namen:
– 
•  Typ=NS
– 
– 
name ist eine Domain (z.B.
foo.com)
value ist der Hostname des
autoritativen Nameservers für
diese Domain
Kommunikationsnetze M.Rotert SS2015
– 
www.ibm.com ist ein Alias für
servereast.backup2.ibm.com
value ist der kanonische Name
•  Type=MX
– 
Teil 10: Anwendungsschicht
value ist der Name des
Mailservers für die Domain name
29
DNS
Record: NS
Wichtigster Eintrag im DNS ist der NS-Eintrag, der auf andere Nameserver verweist. Mit ihm
drückt man explizite Delegation aus.
Attribute: Rechnername.
$ORIGIN domain.com.
@
17h36m4s IN NS
bindsucks
17h36m4s IN A
bindsucks
10.1.2.3
Subdomains
Subdomains werden auch über NS-Records gemacht.
$ORIGIN domain.com.
sub
1D IN NS
bind.sub
1D IN A
Kommunikationsnetze M.Rotert SS2015
bind.sub
10.4.5.6
Teil 10: Anwendungsschicht
30
DNS
DNSSEC
RFC 2535 definiert die Record-Typen KEY, SIG und NXT (”next“).
KEY speichert öffentliche Schlüssel.
SIG speichert digitale Signaturen.
NXT verweist (zirkulär) auf den nächsten Key.
So kann man von einem Angreifer eingefügte Records erkennen. Leider kann man so
auch einen Zonentransfer ohne AXFR machen (Sicherheitsproblem).
Als Public Key Verfahren ist DSA Pflicht, RSA/MD5 wird empfohlen.
Das Problem von DNSSEC
DNSSEC ist nur nützlich, wenn die Registries es benutzen und die Domains damit
digital signieren.
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
31
DNS
Primary und Secondary
Das DNS Protokoll unterscheidet nicht zwischen Primary und Secondary. Die meisten
Registries verlangen zwei DNS-Server (weil BIND so unzuverlässig ist). Antworten
des Primary sind nicht ”wertvoller“ als Antworten des Secondary. Es ist nicht einmal
definiert, welcher Nameserver zuerst oder überhaupt befragt werden soll.
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
32
Reverse DNS
Suche Name von 192.128.52.43
Eine Domain, über die wenig gesprochen wird, die aber mindestens genauso wichtig
wie alle anderen ist, ist
in-addr.arpa.
Sie ist wie die »normalen« Domains aufgebaut und erlaubt es, den Rechnernamen
herauszufinden, wenn nur die IP-Adresse bekannt ist.
Eine wichtige Eigenheit muss man allerdings kennen:
Die IP-Adressen werden in der in-addr.arpa-Domain verkehrt herum aufgelistet.
Wenn man die IP-Adresse 192.128.52.43 hat, arbeitete named genauso wie im
prep.ai.mit.edu-Beispiel:
Suche den arpa.-Server und dann nach
in-addr.arpa.-Servern,
192.in-addr.arpa.-Servern,
128.192.in-addr.arpa.-Servern und nach
52.128.192.in-addr.arpa. Servern.
Letztendlich findet er dann die Einträge für 43.52.128.192.in-addr.arpa.
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
33
IPv6 und DNS
Das IPv6 Desaster: AAAA Records
1. Ansatz: AAAA Record.
foo IN AAAA fe80::260:67ff:fe33:d15b
Reverse Lookup über
b.5.1.d.3.3.e.f.f.f.7.6.0.6.2.0.0.0.0.0.0.0.0.0.0.\0.0.0.j.8.e.f.ip6.int IN PTR foo.domain.com.
Problem: Reverse Lookups dauern sehr lange.
Das IPv6-Desaster: Bitstrings
2. Ansatz: Bitstrings.
Die Hoffnung war, dass damit auch das CIDR Problem verbessert wird.
$ORIGIN \[x3ffe805002011860/64].ip6.arpa.\
[x0042000000000001/64] IN PTR host.domain.com.
Syntax extrem gewöhnungsbedürftig!
Man beachte die neue Domain ”ip6.arpa“.
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
34
Neue Einträge in DNS einfügen
•  Beispiel: neues Startup “Network Utopia”
•  Registrieren des Namens networkuptopia.com bei einem
DNS-Registrar (z.B. Network Solutions)
–  Bereitstellen der Namen und der IP-Adressen der
autoritativen Server (Primary und Secondary)
–  Registrar trägt zwei RRs beim TLD-Server für com ein:
(networkutopia.com, dns1.networkutopia.com, NS)
(dns1.networkutopia.com, 212.212.212.1, A)
•  Wie könnte der Typ-A-RR für www.networkuptopia.com aussehen?
Wie der Typ-MX-RR für networkutopia.com?
•  Wie erfährt man die IP-Adresse Ihrer Webseite?
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
35
Electronic Mail
Drei Hauptbestandteile:
•  Anwendungsprogramm‫‏‬
•  Mailserver
•  Übertragungprotokoll: SMTP (Simple
Mail Transfer Protocol)
Anwendungsprogramm:
•  Auch “Mail Reader”
•  Erstellen, Editieren, Lesen von EMail-Nachrichten
•  z.B. Eudora, Outlook, elm, Mozilla
Thunderbird
•  Eingehende und ausgehende
Nachrichten werden auf dem Server
gespeichert
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
36
Electronic Mail: Mailserver
Mailserver
•  Die Mailbox enthält die
eingehenden Nachrichten eines
Benutzers
•  Die Warteschlange für
ausgehende Nachrichten ent-hält
die noch zu sendenden
E-Mail-Nachrichten
•  SMTP wird verwendet, um
Nachrichten zwischen Mailservern
auszutauschen
–  Client: sendender Mailserver
–  Server: empfangender
Mailserver
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
37
Electronic Mail: SMTP [RFC 2821]
•  Ursprüngliche Version aus dem Jahr 1982
•  TCP wird zum zuverlässigen Transport von E-Mail-Nachrichten vom
Client zum Server (Port 25) verwendet
•  Direkter Transport der Nachrichten:
vom sendenden Server zum empfangenden Server
•  Drei Phasen des Mail-Versands: analog zu einer Unterhaltung
–  Handshaking (Begrüßung)
–  Transfer of Messages (Austausch von Informationen)‫‏‬
–  Closure (Verabschiedung)‫‏‬
•  Interaktion basiert auf dem Austausch von Befehlen (Commands) und
Antworten (Responses)
–  Command: ASCII-Text
–  Response: Statuscode und Bezeichnung
•  Nachrichten müssen in 7-Bit-ASCII kodiert sein
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
38
Electronic Mail
Mail-Transport
Simple Mail Transport Prot. ist in RFC821 spezifiziert.
Beispiel:
open Port 25 auf Internetadresse x.y.z.v
220
mailx Server SMTP (Complaints/bugs to: [email protected])
HELO
250
mailx - you are a charlatan
Help
214 - The following commands are accepted:
214 - helo noop mail data rcpt help quit rset expn vrfy
214 –
214
Send complaints/bugs to: [email protected]
mail from: rotert
250
OK
rcpt to: root
250
Recipient OK.
data
354
Enter Mail, end by a line with only „•“
Dies ist ein smtp dialog !!!
•
250
Submited & immediates started (msg.aa12732)
quit
221mailx says goodbye to x.dpn.com at Mon May 12 09:41:17
Security! telnet host 25 (Port) Security!
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
39
SMTP: Zusammenfassung
Vergleich mit HTTP:
•  SMTP verwendet eine
dauerhafte Verbindung für
den Versand von E-Mails
• 
•  HTTP: Pull
•  SMTP: Push
•  SMTP verwendet sowohl
für Header als auch für
Daten 7-Bit-ASCII
•  Beide interagieren mittels ASCIIBefehl/Antwort-Paaren sowie
Statuscodes
•  Ein SMTP-Server
verwendet CRLF.CRLF,
um das Ende einer
Nachricht zu signalisieren
•  HTTP: Jedes Objekt ist in einer
eigenen Antwortnachricht
gekapselt
•  SMTP: Mehrere Objekte können
in einer Nachricht (multipart msg)
versendet werden
Kommunikationsnetze M.Rotert
SS2015
Teil 10: Anwendungsschicht
40
Format einer E-Mail-Nachricht
SMTP: Protokoll für den Austausch
von E-Mail-Nachrichten
RFC 822: Standard für
Textnachrichten:
•  Header-Zeilen, z.B.
–  To:
–  From:
–  Subject:
Keine SMTP-Befehle!
Header
Leerzeile
Body
•  Body
–  Die eigentliche Nachricht in ASCII
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
41
Nachrichtenformat: Multimedia-Erweiterung
•  MIME: Multimedia Mail Extension, RFC 2045, 2056
•  Zusätzliche Zeilen im Header deklarieren den MIME-Typ des
Inhaltes
MIME-Version
Methode, die zum
Kodieren der Daten
verwendet wurde
Deklaration der
Datentypen und
Untertypen
From: [email protected]
To: [email protected]
Subject: Picture of yummy crepe.
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Type: image/jpeg
base64 encoded data .....
.........................
......base64 encoded data
Codierte (Multimedia-)Daten
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
42
Datentypen in MIME
Text
Beispiele für Subtypen:
•  plain
•  html
Bilder
Beispiele für Subtypen:
•  jpeg
•  gif
•  png
Audio
Beispiele für Subtypen:
•  basic
(8-bit mu-law encoded),
•  32kadpcm
(32 kbps coding)‫‏‬
Kommunikationsnetze M.Rotert SS2015
Video
Beispiele für Subtypen:
•  mpeg
•  quicktime
Anwendungen
•  Daten müssen von der
Anwendung vor der
Wiedergabe interpretiert
werden
•  Beispiele für Subtypen:
msword, octet-stream
Teil 10: Anwendungsschicht
43
Multipart-Typ
From: [email protected]
To: [email protected]
Subject: Picture of yummy crepe.
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=StartOfNextPart
--StartOfNextPart
Dear Bob, Please find a picture of a crepe.
--StartOfNextPart
Content-Transfer-Encoding: base64
Content-Type: image/jpeg
base64 encoded data .....
.........................
......base64 encoded data
--StartOfNextPart
Do you want the recipie?
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
44
Mail-Zugriffsprotokolle
•  SMTP: Zustellung/Speicherung auf dem Mailserver des Empfängers
•  Zugriffsprotokoll: Protokolle zum Zugriff auf E-Mails
•  Abruf vom Server
–  POP3: Post Office Protocol [RFC 1939]
•  Autorisierung (Anwendung <--> Server) und Zugriff/Download
–  IMAP4: Internet Mail Access Protocol [RFC 1730]
•  Größere Funktionalität (deutlich komplexer)‫‏‬
•  Manipulation der auf dem Server gespeicherten Nachrichten
–  HTTP: Hotmail, Yahoo!Mail etc.
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
45
POP3-Protokoll
•  Autorisierungsphase:
•  Befehle des Clients:
-  user: Benutzername
-  pass: Passwort
•  Antworten des Servers:
-  +OK
-  -ERR
• 
• 
• 
• 
• 
Transaktionsphase:
list: Nachrichten auflisten
retr: Nachrichten herunterladen
dele: Löschen von Nachrichten
Quit: Ende
Kommunikationsnetze M.Rotert SS2015
S:
C:
S:
C:
S:
+OK POP3 server ready
user bob
+OK
pass hungry
+OK user successfully logged
C:
S:
S:
S:
C:
S:
S:
C:
C:
S:
S:
C:
C:
S:
list
1 498
2 912
.
retr 1
<message 1 contents>
.
dele 1
retr 2
<message 1 contents>
.
dele 2
quit
+OK POP3 server signing off
Teil 10: Anwendungsschicht
on
46
POP3 und IMAP4
Mehr zu POP3
•  Vorheriges Beispiel nutzte
den “Download-and-Delete”Modus, d.h., andere E-MailClients haben danach keine
Möglichkeit mehr, die Mails zu
lesen
•  Der “Download-and-Keep”Modus ermöglicht den reinen
Lesezugriff auf Nach-richten,
d.h., verschiedene Clients
haben Zugriff
•  POP3 ist zustandslos
zwischen einzelnen Sitzungen
Kommunikationsnetze M.Rotert SS2015
IMAP4
•  Alle Nachrichten bleiben an
einem Ort: auf dem Server
•  Nachrichten können auf dem
Server in Ordnern verwaltet
werden
•  IMAP bewahrt den Zustand
zwischen einzelnen Sitzungen:
–  Namen von Ordnern und
Zuordnung von
Nachrichtennummer und
Ordnername bleiben erhalten
Teil 10: Anwendungsschicht
47
Zahlen und Fakten zu Mail
Deutschland: ca. 400 Mrd. Emails/Jahr,
im Vergleich dagegen SMS: 60 Mrd./Jahr
Weltweit:
ca. 150 Mrd./Tag,
im Vergleich dagegen Whatsapp: über 40 Mrd./Tag
ca. 75% des E-Mailaufkommens sind private Mails
Privat zu Privat sinkt um 4% zu Gunsten von Short
Message Systemen
Business Mail wächst um 7-10%
Bis 2015 wird bei mobilen E-Mail Nutzern Wachstum
von 25%/Jahr erwartet!
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
48
E-Mail SPAM
SPAM (Monty Python Sketch Eier und Spam, Spam,Spam……
taucht 132-mal auf lt. Wikipedia)
Spam = Spiced Ham
(gewürzter Schinken)
Mail: Weltweiter Spam
immer noch über 60%,
abnehmend,
DE: 80% Tendenz
zunehmend (je nach Quelle)
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
49
E-Mail - Schlussbemerkung
Bis heute keine „Mailkultur“ Adressen:
Name.Vorname, Initialen etc. etc. ,
Form: Anrede, Grußformel etc., CC Verteiler an jeden,
Verteilerlisten offen (nicht im BCC)
Empfangsquittung, Lesequittung, Anruf,
ob Mail angekommen?!
E-Mail entspricht heute noch in den meisten Fällen dem
Standard einer Postkarte!
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
50
P2P: Zentrales Verzeichnis
Ursprüngliches “Napster”Design
1) Wenn sich ein Peer
verbindet, übermittelt er zum
zentralen Server:
–  IP-Adresse
–  verfügbarer Inhalt
2) Alice fragt nach
“Hey Jude”
3) Alice fordert die Datei
von Bob an
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
51
Zentrales Verzeichnis: Probleme
•  Single Point of Failure, d.h., es gibt
eine zentrale Instanz, die nur einmal
vorhanden ist: der Server mit dem
Verzeichnis!
Der Dateitransfer erfolgt
dezentral, aber die Suche
nach dem Inhalt ist
hochgradig zentralisiert
•  Leistungsfähigkeit ist durch die
Ressourcen des Servers beschränkt
•  Lässt sich leicht “abschalten”
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
52
Hierarchische Overlays
•  Ansatz zwischen zentralem Index
und dem Fluten von Anfragen
•  Jeder Peer ist entweder selbst
ein „Super-Peer“ oder einem
anderen Super-Peer zugeordnet
–  TCP-Verbindung zwischen Peer
und seinem Super-Peer
–  TCP-Verbindungen zwischen
einigen Super-Peers
•  Super-Peers kennen die Dateien,
welche von ihren Peers
angeboten werden
Peer
Super Peer
Nachbarschaft im Overlay
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
53
Beispiel: Skype
• 
P2P-Voice-over-IP-Anwendung (VoIP)
Skype-Clients (SC)
–  auch Instant Messaging (IM)
• 
• 
Kein veröffentlichtes
Anwendungsprotokoll (Informationen
via Reverse Engineering)
SkypeLogin-Server
Hierarchisches Overlay
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
Supernode
(SN)
54
Skype: Ruf absetzen
•  Benutzer startet Skype
•  SC registriert sich bei einem SN
• 
• 
SkypeLogin-Server
Liste v. Bootstrap-SNs
SC loggt sich ein (Authentifikation)
•  Ruf: SC sendet die ID des Ziels an den SN
• 
• 
SN kontaktiert andere SNs
(unbekanntes Protokoll), um die
Adresse des Ziels zu finden und an
den SC zu senden
SC kontaktiert das Ziel direkt über TCP
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
55
Letzte Folie
Viel Erfolg bei allen anstehenden Prüfungen!
Kommunikationsnetze M.Rotert SS2015
Teil 10: Anwendungsschicht
56
Herunterladen