24
Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 2 Literatur - Allgemein [11-1] Bleich, Holger; Braun, Herbert; Mansmann, Urs: Nachrichten mit Köpfchen. CT 21/2006, S.218-221

Literatur - Allgemeinwi.f4.htw-berlin.de › users › messer › LV › AI-Netzwerke-WS13 › ... · 2013-10-31 · Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 2 Literatur

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Literatur - Allgemeinwi.f4.htw-berlin.de › users › messer › LV › AI-Netzwerke-WS13 › ... · 2013-10-31 · Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 2 Literatur

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 2

Literatur - Allgemein

[11-1] Bleich, Holger; Braun, Herbert; Mansmann, Urs: Nachrichten mit Köpfchen. CT 21/2006, S.218-221

Page 2: Literatur - Allgemeinwi.f4.htw-berlin.de › users › messer › LV › AI-Netzwerke-WS13 › ... · 2013-10-31 · Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 2 Literatur

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 3

Übersicht

• Entferntes Arbeiten (remote access)– telnet

– rlogin

– ssh

• Mail-Protokolle– SMTP

– POP

– IMAP

• Filetransfer– FTP

– HTTP (wird in einem anderen Teil behandelt)

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 4

Literatur - Telnet

[T1] telnet http://tools.ietf.org/html/rfc854

[T2] rlogin BSD Rlogin

http://tools.ietf.org/html/rfc1282

[T3] telnet http://de.wikipedia.org/wiki/VT100

[T4] telnet http://vt100.net/

[T5] telnet http://de.wikipedia.org/wiki/Terminal_(Computer)

[T6] telnet http://commons.wikimedia.org/wiki/Category:Data_terminals?uselang=de

Page 3: Literatur - Allgemeinwi.f4.htw-berlin.de › users › messer › LV › AI-Netzwerke-WS13 › ... · 2013-10-31 · Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 2 Literatur

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 5

Telnet

• Telnet ist ein Protokoll für den interaktiven Zugriff auf entfernte Systeme über TCP/IP.

• Alle Tastatureingaben beim Client werden an den Server übertragen, dessen Output Zeichen für Zeichen an den Client zurück geschickt und dort angezeigt werden.

• Varianten:– Telnet, RFC 97 (1971), RFC 854 (1983), Port 23

– rtelnet: Port 107

– rlogin: Port 513

– rsh: Port 514 (dazu gibt es kein RFC)

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 6

Virtuelles Terminal

• Telnet basiert auf der Idee eines virtuellen Terminals.

• Terminal = Realisierung einer Bildschirm- und Tastatur-Schnittstelle an einem Kommunikationsendpunkt durch eine spezielles Gerät

• Virtuelles Terminal = Simulation einer Terminal auf "normaler" Hardware und Software

Das virtuelle Terminal von telnet realisiert:– Eingabe per Tastatur

� Lesbares ASCII� Escape-Zeichen (0xFF, IAC) zur Eingabe von Kommandos

– Ausgabe (Printer)� Lesbares ASCII� NUL, LF, CR, BEL, Horizontal Tab, Vertical Tab, Form Feed (FF)

• Dies ist der kleinste gemeinsame Nenner aller TerminalsBeispiele für Hardware-Terminals: IBM 3270, VT100, VT220

Page 4: Literatur - Allgemeinwi.f4.htw-berlin.de › users › messer › LV › AI-Netzwerke-WS13 › ... · 2013-10-31 · Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 2 Literatur

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 7

Bemerkungen

• Mit Telnet-Kommandos ist Konfigurieren möglich,

Beispiele:– Cooked Mode: Eingegebener String wird zum Verbessern von

Tippfehlern zwischengepuffert und erst dann übertragen, wenn eine <CRLF>-Sequenz eingegeben wurde

– Raw Mode: Alle Zeichen werden unmittelbar ohne Pufferung und ohne Möglichkeit der Verbesserung übertragen

• Über Telnet können Verbindungen zu SMTP-, POP-, HTTP- oder FTP-Servern realisiert werden.Ein Telnet-Client kann daher auch als primitiver Email- oder FTP-Client benutzt werden.

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 8

Secure Shell (SSH) - Literatur

[S1] SSH (Secure Shell) FAQ - Frequently Asked Questions

http://www.faqs.org/faqs/computer-security/ssh-faq/

[S2] http://de.wikipedia.org/wiki/Secure_Shell

[S3] The Secure Shell (SSH) Protocol Architecture

http://tools.ietf.org/html/rfc4251

[S4] The Secure Shell (SSH) Protocol Assigned Numbers

http://tools.ietf.org/html/rfc4250

[S5] The Secure Shell (SSH) Authentication Protocol

http://tools.ietf.org/html/rfc4252

[S6] The Secure Shell (SSH) Transport Layer Protocol

http://tools.ietf.org/html/rfc4253

[S7] The Secure Shell (SSH) Connection Protocol

http://tools.ietf.org/html/rfc4254

Page 5: Literatur - Allgemeinwi.f4.htw-berlin.de › users › messer › LV › AI-Netzwerke-WS13 › ... · 2013-10-31 · Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 2 Literatur

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 9

SSH basiert auf dem Secure Socket Layer (SSL)

• Ursprünglich von Netscape zur Sicherung beim Surfen entwickelt

• Aktuelle Version: 3

• Weiterentwicklung zum Transport Layer Security(TLS, RFC2246)

• Begriffe:– Verbindungen im SSL-Sinne sind immer Peer-to-Peer (also

zwischen den Endsystemen) und gehören zu einer Sitzung

– Sitzung: Verbindung mit der Gültigkeit von ausgehandelten Parametern, kann auch mehrere Verbindungen überspannen

– Bei SSL bzw. SSH wird pro Sitzung nur eine Verbindung realisiert.

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 10

Eigenschaften einer Sitzung

• Session Identifier

• X.509-Zertifikat des Partners - kann leer sein

• Kompressionsmethode

• Verwendete Verschlüsselungs- und Hash-Verfahren

• Verschiedene geheime Schlüssel (secrets)

Page 6: Literatur - Allgemeinwi.f4.htw-berlin.de › users › messer › LV › AI-Netzwerke-WS13 › ... · 2013-10-31 · Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 2 Literatur

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 11

SSL-Protokollstack

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 12

SSL-Record-Protokoll

• Dienste:– Vertraulichkeit: Handshake-Protokoll mit gemeinsamen geheimen

Schlüssel

– Integrität: Handshake-Protokoll mit gemeinsamen geheimen Schlüssel als Basis für den MAC

• Verfahren beim Senden1. Anwendungsdaten aufteilen in kleinere Blöcke

2. Fragmente komprimieren

3. Berechnen und Hinzufügen des MAC

4. Verschlüsseln des gesamten neuen Pakets

5. Vorausstellen des SSL-Headers

• Verfahren beim Empfang: umgekehrte Reihenfolge

Page 7: Literatur - Allgemeinwi.f4.htw-berlin.de › users › messer › LV › AI-Netzwerke-WS13 › ... · 2013-10-31 · Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 2 Literatur

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 13

Change Cipher Spec/Alert Protokoll

• Change Cipher Spec Protokoll:Mit dem SSL-Record-Protokoll wird ein einziges Byte versendet, damit sich Sender und Empfänger bzgl. der Verschlüsselung synchronisieren.

• Alert Protokoll:Austausch von Warnungen oder Fehlermeldungen bei Realisierungsfehlern oder Netzwerkproblemen

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 14

Handshake Protokoll

• Ziel– Möglichst gegenseitige Authentifizierung

– Aushandeln von Verfahren (Verschlüsselung, Hash)

– Austausch von Zertifikaten

• Phasen– Phase 1: Einrichten von Sicherheitsfähigkeiten

– Phase 2: Server-Authentifizierung und Schlüsselaustausch

– Phase 3: Client-Authentifizierung und Schlüsselaustausch

– Phase 4: Beendigung (des Aufbaus)

Page 8: Literatur - Allgemeinwi.f4.htw-berlin.de › users › messer › LV › AI-Netzwerke-WS13 › ... · 2013-10-31 · Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 2 Literatur

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 15

Simple Mail Transport Protokoll - Literatur

[S8] smtp Simple Mail Transfer Protocol

http://en.wikipedia.org/wiki/SMTP

[S9] smtp Extended SMTP

http://en.wikipedia.org/wiki/Extended_SMTP

[S10] smtp SMTP Service Extension for Authentication

http://tools.ietf.org/html/rfc4954

http://tools.ietf.org/html/rfc5248

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 16

Simple Mail Transport Protokoll (SMTP)

• RFC 821 (1982), 2821 (2001), 5321 (2008)

• Bis zum Web (1992) war E-Mail die am weitesten verbreitete Internet-Anwendung.

• Reines ASCII-Protokoll (Bit 7 der Bytes ist immer 0) auf der Anwendungsebene

• Store and Forward:Keine direkten Verbindungen zwischen Absender und Empfänger, sondern ein Kopieren der Mails von Server zu Server

• Vorteil: Hohe Ausfallssicherheit

• Das E-Mail-System ist eines der erfolgreichsten verteilten Systeme.

Page 9: Literatur - Allgemeinwi.f4.htw-berlin.de › users › messer › LV › AI-Netzwerke-WS13 › ... · 2013-10-31 · Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 2 Literatur

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 17

Architektur

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 18

Bemerkungen

• Wenn der Mail User Agent (MUA, Client) mit dem Mail-Reader SMTP-fähig ist, kann auf die Mail-Zugriffsprotokolle POP oder IMAP verzichtet werden.

• Die Trennung zwischen den MTA (Message Transfer Agent), die fast immer laufen, und den MUA, die nur dann laufen, wenn der Benutzer es will, hat den großen Vorteil, dass auch bei abgeschalteten Clients die E-Mails so weit wie möglich zu Ziel transportiert werden können.

• MUA und MTA können sich auf demselben System befinden.

• Die Mailbox liegt als Datei im Zugriff des letzten MTA vor dem MUA. In der Praxis beim Internet Service Provider (ISP).

• Die empfangenen Mails werden meist nach dem Kopieren auf den MUA in der Mailbox gelöscht, müssen aber nicht.

Page 10: Literatur - Allgemeinwi.f4.htw-berlin.de › users › messer › LV › AI-Netzwerke-WS13 › ... · 2013-10-31 · Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 2 Literatur

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 19

Empfangen einer Mail

• Der Begriff "Empfangen einer Mail" ist nun komplizierter:– Das Kopieren der Email in die Mailbox beim Provider

– Das Kopieren der Email aus der Mailbox des Providers auf das System des Clients

– Das Lesen der Email durch einen Menschen

• Weiterhin gibt es keinen Mechanismus der Bestätigung, dass eine Email empfangen worden ist.Um das zu kompensieren, kann der Sender den Empfänger bitten, beim Empfang eine kleine Bestätigungsmail (Receipt) zu senden.

• Die Dauer eines Mailtransports liegt international zwischen 5-10 Min. und einem Tag, meistens im Bereich von 10 Min. Die Zeiten hängen von der Belastung des Netzes und vom Weg durch das Netz ab.

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 20

Mail-Format

• Das allgemeine Format ist definiert inRFC 822 (1982), 2822 (2001), 5322 (2008)

• Überarbeitet und erweitert bis 1996 zum Extended SMTP durch Einführung von MIME zur Übertragung binärer Daten

• MIME = Multi Purpose Internet Mail Extension– Das MIME-Format ist definiert in

RFC 1341 (1992), 1521 (1993), 2045-2049 (1996), 2184 (1997), 2231 (1997)

– Weiteres in RFC 1343 und 1524

• Aufbau jeder Mail:– Kopf mit Schlüsselworten samt Werten

– Leerzeile

– Body

– Optionale Attachments (Anhänge) entsprechend MIME

Page 11: Literatur - Allgemeinwi.f4.htw-berlin.de › users › messer › LV › AI-Netzwerke-WS13 › ... · 2013-10-31 · Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 2 Literatur

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 21

Betreff:Btte um einen TerminVon: "bmesser" <[email protected]>Datum: Fri, 29 Apr 2011 15:42:15 +0200An: "FB4-Service" <[email protected]>Return-Path: <[email protected]>Delivery-date: Fri, 29 Apr 2011 15:40:28 +0200Received: from [141.45.29.226] (helo=[127.0.0.1]) by mail2.rz.htw-berlin.de Nachricht-ID: <[email protected]>User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)MIME-Version: 1.0Content-Type: text/plain; charset="iso-8859-1"Content-Transfer-Encoding: 7bit

Liebe Frau ...,

koennten Sie bitte ...in WH reservieren?

Vielen Dank!Mit freundlichen Gruessen -- Burkhard Messer

Einfaches Beispiel

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 22

Ein zweites Beispiel

Page 12: Literatur - Allgemeinwi.f4.htw-berlin.de › users › messer › LV › AI-Netzwerke-WS13 › ... · 2013-10-31 · Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 2 Literatur

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 23

Beispiele für Keywords

Keyword Erläuterung

Received Angaben über den Weg der Mail durch das Netz (Reihenfolge von oben nach unten, "falsch herum")

Message-ID Eindeutiger Name dieser Mail beim Absender

Date Datum der Absendung

From Verfasser/in der Mail

To Empfänger/in der Mail

Subject Thema der Mail

References Bezüge der Mail, wenn diese als Antwort auf andere Mails dient (Definition des "Threads")

Organization Firma/Organisation des/r Absenders/in

MIME-Version Version der MIME-Kodierung

Content-Type MIME-Beschreibung des Mailaufbaus einschließlich eines Trenners zwischen den Anhängen

Content-Length Länge der Mail bzw. Attachments in byte

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 24

Mail-Routing

• Der Weg der Mail durch das Netz der SMTP-Server wird von den Einträgen in den korrespondierenden DNS-Servern bestimmt.

• In den MX-Records dieser DNS-Server stehen priorisierte Angaben, zu welchen SMTP-Servern die Mail weitergeleitet werden soll (RFC 974).

• Der SMTP-Server versucht, den angegebenen Server anzusprechen. Gelingt ihm das nicht, versucht er es nach einer gewissen Zeit ein weiteres Mal.

• Gibt es auch dann Schwierigkeiten, wird es mit einem Server der nächst niedrigeren Priorität probiert.

Page 13: Literatur - Allgemeinwi.f4.htw-berlin.de › users › messer › LV › AI-Netzwerke-WS13 › ... · 2013-10-31 · Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 2 Literatur

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 25

Beispiel für Anhänge I

Type/Subtype

Datei/Attachment-NameArt der Kodierung

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 26

Beispiel für Anhänge II

Page 14: Literatur - Allgemeinwi.f4.htw-berlin.de › users › messer › LV › AI-Netzwerke-WS13 › ... · 2013-10-31 · Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 2 Literatur

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 27

Anhänge

• Jeder Anhang hat einen Typ, der die Gruppe beschreibt, und einen Untertyp, der das Verarbeitungsprogramm oder das spezielle Format beschreibt.

• Jeder Anhang hat einen eigenen Kopf, der vom Inhalt mit einer Leerzeile getrennt ist.

• Im Kopf stehen Angaben über die Kodierung, den Typ und den Namen der Datei etc.

Diese erfolgen nach dem Schema: <Keyword>: <Wert>

• Theoretisch können die Mails beliebig lang werden; sie werden aber praktisch begrenzt:– durch die maximale Größe der Mailbox, meist 5-10 Mbyte

– durch Begrenzungen der Mailserver, meist 10 Mbyte

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 28

Beispiele für MIME-Typen

Type Subtype Bemerkungen

Text Plain Normaler ASCII-Text

Text HTML Normaler ASCII-HTML

Multipart Mixed Mehrere Anhänge unterschiedlichen Typs

Application msword Word-Datei

Application Mac-Binhex40 Binärdatei für Macintosh

Application Postscript Postscript-Datei (z. B. zum Ausdrucken)

Image gif GIF-Datei

Image jpeg JPEG-Datei

Audio Basic Normale Audio-Datei

Video mpeg MPEG-Video

Siehe auch: http://en.wikipedia.org/wiki/MIMEund: http://tools.ietf.org/html/rfc2045

Page 15: Literatur - Allgemeinwi.f4.htw-berlin.de › users › messer › LV › AI-Netzwerke-WS13 › ... · 2013-10-31 · Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 2 Literatur

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 29

MIME-Typen im Thunderbird

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 30

Kodierungen (ASCII und Base64)

Es werden zwei Kodierungen benutzt:– ASCII (7 bit)

– Base64: Kodierung zur Übertragung von BinärdateienDazu werden jeweils 24 bit in vier 6-bit-Teile aufgeteilt, die wiederum als ASCII kodiert werden: 2*26 Buchstaben, 10 Ziffern und 2 Sonderzeichen (+/) -> 64

Page 16: Literatur - Allgemeinwi.f4.htw-berlin.de › users › messer › LV › AI-Netzwerke-WS13 › ... · 2013-10-31 · Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 2 Literatur

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 31

SMTP selbst

• ASCII-Protokoll - kann mit Telnet auch von Hand eingegeben werden. Es gibt keine festen Bitformate für die Pakete, sondern es werden variabel lange Strings verwendet.

• Client: das System, das die Kommunikation beginntServer: das System, das darauf antwortetPer Kommando können diese Rollen getauscht werden.

• Client-Request:<Keyword> <Parameter> [Daten]

• Server-Responses:<Statuscode> <Erklärung in ASCII> [Daten]

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 32

Auszug aus einer SMTP-Sitzung

SMTP-Client SMTP-Server

HELO <Client-Hostname> 250 Hello <Client-Hostname> <IP-Adresse>

MAIL FROM: <Absender-Mail-Adresse>

250 OK

RCPT TO: <1. Ziel-Mail-Adresse> 250 OK

RCPT TO: <2. Ziel-Mail-Adresse> 550 No such user here

DATA 354 Start Mail Input; end with <CRLF>.<CRLF>

Text der Mail in ASCII......<CRLF>.<CRLF>

250 OK

QUIT 221 Closing Connection

In diesem Beispiel beginnt der Client links und der Server antwortetin der Gegenrichtung rechts.

Page 17: Literatur - Allgemeinwi.f4.htw-berlin.de › users › messer › LV › AI-Netzwerke-WS13 › ... · 2013-10-31 · Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 2 Literatur

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 33

Erläuterungen

• Die Mail selbst wird nach der Vorbereitung durch die Kommandos "MAIL FROM:" und "RCPT TO:" nach dem Kommando "DATA" als ASCII-Text übertragen.

• Das Ende der Daten ist eine einzelne Zeile mit einem Punkt.

• Jede Zeile wird mit <CRLF> (2 Bytes: Carriage Return, Line Feed) abgeschlossen.

• Der String "<CRLF>.<CRLF>" muss innerhalb der Mail verhindert werden.

• Die Statuscodes des Servers werden durch den nachfolgenden String erläutert.

Es gibt keine Flusskontrolle, keine Verschlüsselungen (bis auf S/MIME), keine Wiederholungen, keine Bestätigungen, keinen CRC,keine Wiederaufsetzpunkte, keine Zeichenkonvertierungen.

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 34

SMTP-Kommandos (Auszug)

Kommando Erläuterung

HELO Beginn, Identifizierung

MAIL FROM Angabe der Absenderadresse

RCPT TO Angabe der Zieladresse

DATA Beginn des Mailinhalts

RSET Rücksetzen der Verbindung

QUIT Beenden der Verbindung

VRFY Frage nach Gültigkeit einer Mailbox

NOOP Erwarten einer OK-Antwort

EXPN Expandieren von Maillisten

TURN Sender und Empfänger tauschen die Rollen

Page 18: Literatur - Allgemeinwi.f4.htw-berlin.de › users › messer › LV › AI-Netzwerke-WS13 › ... · 2013-10-31 · Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 2 Literatur

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 35

Post Office Protokoll (POP)

• POP ist ein Mailbox-Zugriffsprotokoll zum Abholen und einfachen Verwalten von Mailboxen

• Versionen– POP: RFC 918, 1984

– POP2: RFC 937, 1985

– POP3: RFC 1725 (1994), 1939 (1996)Ergänzungen: RFC 1957 und RFC 2449

• ASCII-Protokoll sehr ähnlich zu SMTP :– Client sendet Kommandos

– Server antwortet mit Statuscodes und Daten

• Keine Verschlüsselung:Passwörter werden in ASCII übertragen, daher Einsatz nur auf "privaten" Leitungen, typisch zwischen Benutzer und ISP-Mailbox

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 36

Verarbeitungsphasen

Phase 1 Verbindungsaufbau

Phase 2 AuthentifizierungClient identifiziert sich gegenüber Server

Phase 3 Sperren der Mailbox durch Server

Phase 4 Datenübertragung zum Client

Phase 5 UpdateServer führt nach Verbindungsbeendigung Operationen an der Mailbox aus und gibt Mailbox frei

Page 19: Literatur - Allgemeinwi.f4.htw-berlin.de › users › messer › LV › AI-Netzwerke-WS13 › ... · 2013-10-31 · Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 2 Literatur

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 37

Beispiele für Client-Kommandos

Kommando Erläuterung

USER Mitteilung des Mail-Accounts

PASS Mitteilung des Passworts

QUIT Ende der Verbindung, Beginn des Updates

STAT Anzahl der Mails, Gesamtgröße

LIST Liste von Mails samt jeweilige Größe

RETR Holen einer Mail

NOOP Erwarten eines OK

RSET Zurücksetzen der Verbindung

DELE Löschen einer Mail

TOP N Anlisten einer Mail (N Zeilen)

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 38

Erläuterungen I

• Das TOP-Kommando veranlasst den Server nur die angegebene Anzahl von Zeilen der Mail zu übertragen.

• Eine Mail kann ohne Übertragung zum Client auf dem Server gelöscht werden.

• Mit dem APOP-Kommando ist eine Authentifizierung basierend auf dem MD5-Algorithmus möglich.

• Die Kommandos TOP und APOP werden nicht von allen POP-Servern unterstützt.

• Löschkommandos werden nach einem Reset/Leitungsabbruch vom Server nicht ausgeführt.

• Löschkommandos sowie das Freigeben der Mailbox erfolgt erst nach dem QUIT und damit ordnungsgemäßen Abbau der Verbindung.

Page 20: Literatur - Allgemeinwi.f4.htw-berlin.de › users › messer › LV › AI-Netzwerke-WS13 › ... · 2013-10-31 · Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 2 Literatur

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 39

Erläuterungen II

• Antworten des Servers haben den Aufbau:

<Indikator> [Daten]

Als Indikator kommen "+OK" und "-ERR" in Frage.

• Alle Zeilen werden mit einem <CRLF> abgeschlossen

• Die übertragene Mail wird mit einem <CRLF>.<CRLF> abgeschlossen.

Das Konvertieren nach Binär/ASCII sowie das Anzeigen etc.erfolgt ausschließlich im Mail-Reader des Clients nach derBenutzung von POP.

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 40

Internet Message Access Protokoll (IMAP)

• Leistungsfähiges Protokoll für den Zugriff auf E-Mails durch einem Client

• Definitionen aus den Jahren 1986, 1988, 1994, 1996

• Letzte Version 4

• Recht komplex

• IMAP erlaubt– Berücksichtigung der Struktur der Mail

– Anzeige des Status, Zugriff auf die einzelnen Teile

– Suchoperationen

– Verwaltung der Mailbox auf dem IMAP-Server

– Anlegen, Löschen und Umbenennen von eigenen Mailboxen

– Aber nur Empfangen von Mails

Page 21: Literatur - Allgemeinwi.f4.htw-berlin.de › users › messer › LV › AI-Netzwerke-WS13 › ... · 2013-10-31 · Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 2 Literatur

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 41

File Transfer Protokoll - Literatur

[F1] ftp http://tools.ietf.org/html/rfc959

[F2] ftp http://slacksite.com/other/ftp.html

[F3] ftp http://www.nsftools.com/tips/RawFTP.htm

[F4] ftp http://winscp.net/eng/docs/protocols

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 42

File Transfer Protokoll (FTP)

• Definiert in RFC 959, 1985

• Variation im Trivial File Transfer Protokoll (TFTP), basiert auf UDP/IP und dient häufig zum Booten von Stationen über ein LAN

• Über FTP ist ein voller Zugriff auf ein hierarchisches Dateisystem über TCP/IP ohne Verschlüsselung möglich

• Es wird eine eigene (Telnet-basierte) Verbindung zur Steuerung sowie weitere Verbindungen zum Datentransport benutzt.

• Es werden in der Regel gleichzeitig mehrere Verbindungen benutzt.

Page 22: Literatur - Allgemeinwi.f4.htw-berlin.de › users › messer › LV › AI-Netzwerke-WS13 › ... · 2013-10-31 · Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 2 Literatur

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 43

Beispiele für Kommandos I

Kommando Erläuterung

PASS Übergabe des Passwords

ACCT Angabe des Accounts

CWD Change working directory

CDUP Change to parent directory

ABOR Abbrechen der Datenübertragung

LIST Auflisten der working Directory

SYST Auskunft über Server

PORT Angabe des Ports für Dateiaustausch

RETR Holen einer Datei zum Client

STOR Senden einer Datei zum Server

DELE Löschen einer Datei

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 44

Beispiele für Kommandos II

Kommando Erläuterung

RMD Remove Directory

MKD Make Directory

PWD Print Working Directory

RNFR Rename From

RNTO Rename To

REIN Beendigung des angegebenen Accounts

QUIT Abbau der Verbindung

REST Wiederaufsetzen nach Abbruch

APPE Anhängen (Append)

Page 23: Literatur - Allgemeinwi.f4.htw-berlin.de › users › messer › LV › AI-Netzwerke-WS13 › ... · 2013-10-31 · Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 2 Literatur

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 45

Datenverbindung

• Über die Kommandoverbindung wird der Port, der Name der Datei, der Übertragungsmodus etc. vereinbart.

• Über eine weitere Datenverbindung wird parallel der Transfer realisiert; es können parallel mehrere Dateitransfers in verschiedenen Richtungen über jeweils eigene Verbindungen in ablaufen.

• Modi der Datenübertragung (Transmission modes):1. Stream: Es werden die Bytes der Datei direkt ohne Strukturierung

übertragen.

2. Block: Es werden Blöcke mit einem Kopf und Körper übertragen.

3. Compressed: Vor der Übertragung werden die Daten komprimiert.

In der Praxis wird nur Nr. 1 benutzt.

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 46

Praxis

• Es gibt viele FTP-Server mit einem Standard-Account:"anonymous" mit einem Passwort als der eigenen Mail-Adresse

• Wenige FTP-Server verifizieren die Mail-Adresse über einen AUTH-Server und verweigern den Zugriff bei falscher Adresse.Ein AUTH-Server muss dann auf dem System des Clients laufen und Auskunft über die Identität geben.

• Es gibt ein Kommando "REST", das ein Wiederaufsetzen nach einem abgebrochenen Dateitransfer erlaubt.

• Leider realisieren nicht alle FTP-Server bzw. Clients alle Kommandos.

Page 24: Literatur - Allgemeinwi.f4.htw-berlin.de › users › messer › LV › AI-Netzwerke-WS13 › ... · 2013-10-31 · Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 2 Literatur

Netzwerke - WS 2013/14 - Teil 11/Anwendungsprotokolle 47

Nach dieser Anstrengung etwas Entspannung....