ca. 219KB - I4 * Lehrstuhl fuer Informatik * RWTH Aachen

Werbung
Erste textbasierte Version Ende 1990.
Erstes graphisches Interface (Mosaic) Februar 1993, später Netscape, Internet
Explorer...
Standardisierung durch WWW-Konsortium (http://www.w3.org).
•
•
•
Das Standardprotokoll zwischen einem Webserver und einem Webclient ist
das Hypertext Transfer Protocol (HTTP).
– verwendet den TCP-Port 80
– definiert die zulässigen Anfragen und Antworten
– ist ein ASCII-Protokoll
Jede Webseite ist über eine einzigartige URL (Uniform Resource Locator)
erreichbar (z.B. http://www-i4.informatik.rwth-aachen.de/education/tcpip).
Die Standardsprache für Webdokumente ist die Hypertext Markup
Language (HTML).
•
•
•
Kapitel 2: Kommunikationsprotokolle
WWW steht für World Wide Web und meint damit die weltweite Vernetzung
der Informationen und Dokumente.
•
354
HTTP server
domain name
path name
file name
http://server.name/path/file.type
URL
Kapitel 2: Kommunikationsprotokolle
Befehle auf einer URL sind
• GET: Lade eine Seite
• HEAD: Lade nur den Header einer Seite
• PUT: Speichere eine Seite auf dem Server
• POST: Hänge etwas an eine Seite an
• DELETE: Lösche eine Seite
GET http:// www.informatik.rwth-aachen.de / info / allgemein.html
protocol
GET
command
HTTP - Nachrichtenformat
Kommunikation und verteilte Systeme
WWW, HTML, URL und HTTP
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Kapitel 2: Kommunikationsprotokolle
355
353
Server
• Prozess, der WWW-Seiten verwaltet.
• wird vom Client aus z.B. durch Angabe eines URL (Uniform Resource Locator
= WWW-Adresse) angesprochen. Der Server sendet daraufhin die
angeforderte Seite (oder Datei) an den Client zurück.
Client (in Form eines Browsers)
• zeigt die aktuell geladene WWW-Seite an
• erlaubt das Navigieren im Netz (z.B. durch anklicken eines Hyperlinks)
• bietet eine Reihe zusätzlicher Funktionen (z.B. externe Viewer oder Helper
Applications).
• Ein Browser kann meist auch für andere Dienste genutzt werden (z.B. FTP,
Email, News, ...).
Verwendet wird das Client-Server-Modell:
Lehrstuhl für Informatik 4
352
Entwickelt um Daten, Bilder etc. zwischen einer großen Anzahl von geographisch
verteilten Projektmitarbeitern via Internet auszutauschen.
•
Kapitel 2: Kommunikationsprotokolle
Ursprung 1989 im Kernforschungslabor CERN in der Schweiz.
•
Historie des WWW
Zugriff auf verknüpfte Dokumente, die über verschiede Rechner im Internet verteilt
sind
World Wide Web (WWW)
Kommunikation im WWW
Kommunikation und verteilte Systeme
Kommunikation und verteilte Systeme
Entwicklung des WWW
Lehrstuhl für Informatik 4
Lehrstuhl für Informatik 4
PC
TCP/IP-Netz
WWW-Server
FTP
Lokale Datei
Newsgroup
News-Artikel
Gopher
E-Mail
Remote Login
ftp
file
news
news
gopher
mailto
telnet
Kapitel 2: Kommunikationsprotokolle
Hypertext (html)
http
URL-Name Verwendet für…
telnet://www.w3.org:80
mailto:[email protected]
gopher://gopher.tc.umn.edu/11/Libraries
news:AA0134223112cs.utah.edu
news:comp.os.minix
file:///usr/suzanne/prog.c
ftp://ftp.cs.vu.nl/pub/minix/README
http://www.cs.vu.nl/~ast
Beispiel
Hauptanwendung sind Web-Seiten, doch sind URLs auch für andere
Dokumentarten verwendbar:
358
lf
space
carriage return/line feed
data
value
value
value
cr
cr
cr
lf
lf
lf
sp version cr
Kapitel 2: Kommunikationsprotokolle
sp:
cr/lf:
cr
header field name
:
:
:
:
:
header field name
URL
header field name
method sp
HTTP Request Header
lf
Kommunikation und verteilte Systeme
Gängige URLs
Lehrstuhl für Informatik 4
Kapitel 2: Kommunikationsprotokolle
Kommunikation und verteilte Systeme
356
Entity Body: optional. Weitere
Angaben, falls der Client Daten
überträgt (POST-Method)
Accept-language: fr
Header lines: optional, weitere
Angaben zum Host/Dokument, z.B.
GET server.name/path/file.type
359
Request line: notwendiger Teil, z.B.
357
Achtung!
Der 9. Schritt gilt nur für HTTP/1.0! Bei der neueren Version HTTP/1.1 werden die
Datei sowie alle darin referenzierten Bilder über die gleiche Verbindung geladen
(effizienter bei Seiten mit vielen Bildern).
Lehrstuhl für Informatik 4
Kapitel 2: Kommunikationsprotokolle
Verbindung wird wieder abgebaut.
WWW-Server schickt die Datei allgemein.html zurück
Browser sendet das Kommando GET /info/allgemein.html
Browser öffnet eine TCP-Verbindung zu Port 80 des Rechners
DNS antwortet
Browser fragt DNS nach der IP-Adresse des Servers
Browser
DNS-Server
Beispiel: Aufruf des URL http://www.informatik.rwth-aachen.de/info/allgemein.html
1. Der Browser bestimmt den URL (was wurde angeklickt oder eingetippt).
2. Der Browser fragt das DNS nach der IP-Adresse des Servers
www.informatik.rwth-aachen.de.
3. DNS antwortet mit 137.226.116.241.
4. Browser öffnet eine TCP-Verbindung zu Port 80 des Rechners 137.226.116.241
5. Danach sendet der Browser das Kommando GET /material/allgemein.html.
6. Der WWW-Server schickt daraufhin die Datei allgemein.html zurück.
7. Die Verbindung wird wieder abgebaut.
8. Der Browser analysiert die WWW-Seite allgemein.html und gibt den Text aus.
9. Ggf. wird jedes Bild über eine neue Verbindung zum Server nachgeladen
(Adresse steht in der Seite allgemein.html) und ausgegeben.
Ablauf bei HTTP
Kommunikation und verteilte Systeme
Kommunikation und verteilte Systeme
Abruf von Webseiten
Lehrstuhl für Informatik 4
Lehrstuhl für Informatik 4
lf
cr
cr
cr
Entity Body: erfragte Daten
data
value
value
value
lf
lf
lf
Port B
Port A
Control
Process
Betriebssystem
Data
Transfer
FTP-Client
Kapitel 2: Kommunikationsprotokolle
• Struktur:
Datenverbindung
TCP/IP
Netz
Kontrollverbindung
Port 21
Data
Transfer
Port 20
Betriebssystem
Control
Process
FTP-Server
362
– Interaktiver Zugriff durch den Nutzer (z.B. Wechsel von Verzeichnissen)
– Format-Spezifikation (Binär- oder Textdateien, ASCII- oder EBCDIC-Code)
– Authentifizierung (login-Name und Passwort)
• FTP bietet neben dem reinen File-Transfer noch andere Möglichkeiten:
anderen zu kopieren
• FTP wird benutzt, um eine komplette Datei von einem Rechner auf einen
• FTP ist der Internet-Standard für die Übertragung von Dateien
FTP - File Transfer Protocol
Server
z.B.HTTP
Kapitel 2: Kommunikationsprotokolle
A
Termination of Connection TCP (Port 21)
User Command Quit
Termination of Connection TCP (Port 20)
Data Exchange
Connection Setup TCP (Port 20)
Get File
User Logged In
Password OK
Password
Login OK
Login
FTP Connect to the Server
Connection Setup TCP (Port 21)
Kapitel 2: Kommunikationsprotokolle
FTP Client
FTP - Bestätigter File-Transfer
B
361
363
FTP Server
Unterstützung bei der Verwendung zusätzlicher Protokolle
• Ein Browser ermöglicht auch Zugriff auf FTP-, News-, Gopher- oder TELNETServer etc.
• Anstatt alle Protokolle im Browser zu implementieren, kann man sie im Proxy
realisieren. Der Proxy “spricht“ dann HTTP mit dem Browser und z.B. FTP mit
einem FTP-Server.
Integration in Firewall
• Proxy kann den Zugriff auf bestimmte Web-Seiten sperren (z.B. in Schulen).
Kommunikation und verteilte Systeme
360
Internet
• Proxy speichert die zuletzt von den Browsern geladenen Seiten zwischen. Wird
eine Seite von einem Browser angefordert, die sich bereits im Cache befindet, so
kontrolliert der Proxy (kurze Anfrage), ob sich die Seite seitdem geändert hat.
Ja: Lade die Seite ganz normal vom WWW-Server und gib sie an Browser weiter.
Nein: Gib die Seite aus dem Cache an den Browser zurück.
Caching von WWW-Seiten
Proxy
Server
Lehrstuhl für Informatik 4
4xx: Client-Fehler (Syntax)
5xx: Server-Fehler
3xx: Umleitung, es müssen weitere
erforderliche Aktivitäten durchgeführt
werden
Gruppen von Status-Meldungen:
1xx: Nur zur Information
2xx: Erfolgreiche Anfrage
400 Bad Request
404 Not Found
200 OK
HTTP
Browser
Kommunikation und verteilte Systeme
lf
Ein Proxy ist mehreren Browsern vorgelagert.
Nimmt ihnen Aufgaben (Komplexität) ab und macht das Laden von Seiten effizienter!
Lehrstuhl für Informatik 4
Kapitel 2: Kommunikationsprotokolle
HEAD-Method: der Server antwortet zwar,
überträgt aber die erfragten Daten nicht
(Debugging)
cr
header field name
:
:
header field name
:
:
:
header field name
version sp status code sp phrase cr
Status line: status code und phrase
übertragen das Ergebnis einer
Anfrage und eine zugehörige
Meldung, z.B.
Proxy Server
Kommunikation und verteilte Systeme
Kommunikation und verteilte Systeme
HTTP Response Header
Lehrstuhl für Informatik 4
Lehrstuhl für Informatik 4
Information
Die Meldung bezieht sich auf die Verbindung.
Antworten auf login-Befehle
Nicht festgelegt
Status des Dateisystems
x1z
x2z
x3z
x4z
x5z
Kapitel 2: Kommunikationsprotokolle
Syntax Error
366
Positive Zwischenantwort: das Kommando wurde akzeptiert, aber ein
weiteres Kommando wird erwartet.
Temporäre negative Antwort: der Request wurde nicht bearbeitet, aber der
Fehlergrund ist nur temporär, später kann eine Wiederholung erfolgen.
Dauerhaft negative Antwort: das Kommando wurde nicht akzeptiert, sollte
aber auch nicht wiederholt werden.
Wirkung
Vorläufige positive Antwort: die Aktion wurde gestartet, aber der Client
muss noch eine weitere Antwort abwarten.
Die Anfrage wurde komplett bearbeitet.
x0z
5yz
4yz
3yz
2yz
1yz
Reply
IP Header UDP Header
Ack
IP Header UDP Header Data (350 Bytes)
Ack
Data (512 Bytes)
Data (512 Bytes)
IP Header UDP Header
IP Header UDP Header
IP Header UDP Header
Ack
Data (512 Bytes)
IP Header UDP Header
IP Header UDP Header
IP Header UDP Header Get Path/File Name
Kapitel 2: Kommunikationsprotokolle
A
365
367
TFTP Server
Timeout
B
TFTP ist ein sehr einfaches Protokoll für den File-Transfer
die Kommunikation läuft über Port 69 und benutzt UDP, nicht TCP
TFTP hat keine Authentifizierung
TFTP benutzt immer 512-Byte-Blöcke
TFTP Client
•
•
•
•
TFTP - Trivial File Transfer Protocol
Kommunikation und verteilte Systeme
FTP - Antworten
Lehrstuhl für Informatik 4
Kapitel 2: Kommunikationsprotokolle
Verbinden zum FTP-Server
Beende die FTP-Sitzung
Sende Benutzerinformationen nach dem Verbinden
change directory auf dem entfernten Rechner
change directory auf dem eigenen Rechner
Drucke das Arbeitsverzeichnis des entfernten Rechners
Der Client empfängt ein (bzw. mehrere) Dokument
Der Client sendet ein (bzw. mehrere) Dokument
Setze den Übertragungmodus auf binary
Setze den Übertragungsmodus auf ASCII
Liste den Inhalt des entfernten Verzeichnisses auf
Hilfe
Lösche eine entfernte Datei
Beende die FTP-Sitzung, Abbruch
open
disconnect
user
cd
lcd
pwd
get/mget
put/mput
binary
ascii
dir/ls
help
delete
bye
Kommunikation und verteilte Systeme
364
Wirkung
Kommando
Lehrstuhl für Informatik 4
Kapitel 2: Kommunikationsprotokolle
1. Der FTP-Client wählt für sich eine zufällige Portnummer A aus.
2. Er kontaktiert den Master-Kontroll-Prozess des FTP-Servers über Port 21 (für FTPKontrollverbindungen). Dabei werden login-Name und Passwort abgefragt.
3. Der FTP-Server erstellt einen Slave-Kontroll-Prozess für Kontrollverbindung zwischen
Client-Port A und Server-Port 21.
4. Über die Kontrollverbindung kann der FTP-Client Kommandos senden
(z.B. Verzeichniswechsel, Anzeigen des Verzeichnisses, Transfer einer Datei).
5. Fordert der FTP-Client eine Datei an, so wählt er zunächst einen zufälligen Port B aus,
generiert einen Datentransfer-Prozess und teilt dem Server die Portnummer über die
Kontrollverbindung mit.
6. Der FTP-Server generiert einen Daten-Transfer-Prozess mit lokalem Port 20 (Standard-Port
für FTP-Datenverbindungen), der nur Verbindungen von Port B des FTP-Clients akzeptiert
(dadurch wird gewährleistet, dass der Transfer zum richtigen Prozess stattfindet – es ist keine
weitere Authentifizierung notwendig).
7. Zwischen Server-Port 20 und Client-Port B wird Verbindung aufgebaut und der
Datentransfer wird durchgeführt.
8. Danach wird die Verbindung abgebaut und beide Datentransfer-Prozesse terminieren
(d.h. jeder Transfer benötigt neue Prozesse und eine neue Verbindung).
FTP - Befehle
Kommunikation und verteilte Systeme
Kommunikation und verteilte Systeme
Ablauf einer FTP-Sitzung
Lehrstuhl für Informatik 4
Lehrstuhl für Informatik 4
Kapitel 2: Kommunikationsprotokolle
370
Bei RFC 822 besteht die eMail aus
• einem einfachen “Umschlag” (erstellt durch den Message Transfer Agent anhand
der Daten im Header),
• einer Reihe von Header-Feldern (je eine Zeile ASCII-Text),
• einer Leerzeile und
• der eigentlichen Nachricht (Message Body).
eMail-Formate
Zwei verbreitete Standards:
• RFC 822
• MIME (Multipurpose Internet Mail Extensions)
Senden von eMail
Zum Verschicken einer eMail muss der Benutzer folgende Angaben machen:
• Nachricht (meist normaler Text + Attachements, z.B. Word-Datei, GIF-Image ...)
• Zieladresse (i.a. in der Form [email protected],
z.B. [email protected])
• evtl. zusätzliche Parameter bzgl. Priorität oder Sicherheit
eMail-Adresse, an die Antworten gerichtet werden sollen
Sende-Datum und -Uhrzeit
Einzeilige Angabe des Inhalts der Nachricht (wird beim Empfänger angezeigt)
Kapitel 2: Kommunikationsprotokolle
Subject:
References: Andere relavante Message-Ids
In-Reply-To: Message-Id der Nachricht, auf die geantwortet wurde
Message-Id: Eindeutige Nummer der eMail (für spätere Referenzen)
Reply-To:
Date:
Return-Path: Pfad zurück zum Sender (meist nur eMail-Adresse des Senders)
371
Je ein Eintrag pro Message Transfer Agent auf dem Weg zum Ziel
Person, die die Nachricht generiert hat
From:
Adresse des eigentlichen Senders der Nachricht (evtl. ungleich der “From-Person”)
Blind Carbon Copy, Empfänger, die anderen Empfängern nicht angezeigt werden
Bcc:
Received:
Carbon Copy (Durchschrift), eMail-Adressen von weniger wichtigen Empfängern
Sender:
eMail-Adresse des Hauptempfängers (evtl. mehrere oder auch Verteilerliste)
369
Cc:
Bedeutung
Internet
To:
Header
Header einer eMail
Kommunikation und verteilte Systeme
Aufbau einer eMail
Lehrstuhl für Informatik 4
Kapitel 2: Kommunikationsprotokolle
Message
Transfer
Agent
Kommunikation und verteilte Systeme
368
User
User
User
Agent
User
Agent
Agent
Agent
• Message Transfer Agent (MTA, Mailserver)
läuft meist im Hintergrund (rund um die Uhr)
Zustellung von eMail, die von User Agents losgeschickt wird
Zwischenspeicherung von Nachrichten für User oder andere Message
Transfer Agents
• User Agent (UA, normales eMail-Programm)
läuft meist auf dem Rechner des Benutzers und hilft bei der Bearbeitung von
eMails
Erstellung neuer und Beantwortung alter eMail
Empfang und Anzeigen von eMail
Verwaltung von erhaltener eMail
Lehrstuhl für Informatik 4
Kapitel 2: Kommunikationsprotokolle
X.400 als Standard zum Mailtransfer. Diese Spezifikation war allerdings zu
komplex und schlecht ausgelegt. Durchgesetzt hat sich ein einfacheres, 'von einer
handvoll Informatikstudenten zusammengeschustertes' System: das Simple Mail
Transfer Protocol (SMTP).
Lösung
E-Mails an Gruppen, Strukturierung der eMail, Delegation der Verwaltung an eine
Sekretärin, Dateieditor als Benutzeroberfläche, keine gemischten Medien
Probleme
Eine einfache Dateiübertragung erfolgte, mit der Konvention, dass die erste Zeile
der Datei die Adresse des Empfängers enthält.
Frühe Systeme
Ein eMail-System besteht im allgemeinen aus zwei Subsystemen:
Elektronische Post: eMail
Kommunikation und verteilte Systeme
Kommunikation und verteilte Systeme
Elektronische Post: eMail
Lehrstuhl für Informatik 4
Lehrstuhl für Informatik 4
Typ/Subtyp gemäß RFC 1521, z.B. text/plain, image/jpeg, multipart/mixed
Content-Type:
Message
Transfer
Agent
Kapitel 2: Kommunikationsprotokolle
Post Office Protocol Version 3 (POP3)
– Abholen von eMails beim Server über eine TCP-Verbindung, Port 110
– Befehle zum An- und Abmelden, Nachrichten herunterladen, Nachrichten
auf dem Server löschen oder liegen lassen, Nachrichten ohne vorherige
Übertragung vom Server direkt löschen
– kopiert lediglich eMails vom entfernten Server auf das lokale System
User
User
User
Agent
User
Agent
Agent
Agent
Simple Mail Transfer Protocol (SMTP)
– Versenden von eMails über TCP-Verbindung (Port 25)
– SMTP ist ein einfaches ASCII-Protokoll
– Ohne Prüfsummen, ohne Verschlüsselung
– Empfangende Maschine ist der Server und beginnt mit der Kommunikation
– Ist der Server zum Empfangen bereit, signalisiert er dies dem Client.
Dieser sendet die Information, von wem die eMail kommt und wer der
Empfänger ist. Ist der Empfänger dem Server bekannt, sendet der Client
die Nachricht, der Server bestätigt den Empfang.
374
Internet
Internet
Mailprogramm 1 (UA 1): Formatiert die eMail,
erzeugt die Empfängerliste und schickt die eMail
an seinen Mailserver (MTA 1)
Client 1 (MTA 1): Baut die Verbindung zum SMTPServer (MTA 2) auf und schickt eine Kopie der
eMail dorthin
Server (MTA 2): Erzeugt den Header der eMail
und platziert die eMail in die passende Mailbox
Client 2 (UA 2): baut die Verbindung zum POP3Server auf, authentifiziert sich mit Username und
Passwort (unverschlüsselt!)
Server (MTA 2): schickt die eMail an den Client
Mailprogramm 2 (UA 2): formatiert die eMail
Benutzer 2: liest die eMail
•
•
•
•
•
•
•
Kapitel 2: Kommunikationsprotokolle
Benutzer 1: schreibt eine eMail
•
E-Mail über POP3 und SMTP
Kommunikation und verteilte Systeme
E-Mail über POP3 und SMTP
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Kapitel 2: Kommunikationsprotokolle
Agent
User
User
User
Agent
AgentUser
Agent
POP3
Message
Transfer
Agent
Internet
SMTP
SMTP
Message
Transfer
Agent
Agent
User
User
User
Agent
AgentUser
Agent
375
373
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="8323328-2120168431824156555=:325"
--8323328-2120168431-824156555=:325
Content-Type: TEXT/PLAIN; charset=US-ASCII
Es befindet sich ein Bild im Anhang
--8323328-2120168431-824156555=:325
Content-Type: IMAGE/JPEG; name="bild.jpeg"
Content-Transfer-Encoding: BASE64
Content-ID: <[email protected]>
Content-Description:
/9j/4AAQSkZJRgABAQEAlgCWAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQIBAQEBA
QIBAQECAgICAgICAgIDAwQDAwMDAwICAwQDAwQEBAQEAgMFBQQEBQQEBAT/
2wBDAQEBAQEBAQIBAQIEAwIDBAQEBA[..]
KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo
AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig
AooooAD//Z
----8323328-2120168431-824156555=:325—
Lehrstuhl für Informatik 4
Message
Transfer
Agent
Verpackung, die für den Inhalt der eMail gewählt wurde (manche Netze verstehen z.B.
nur ASCII-Zeichen). Beispiele: base64, quoted-printable
Content-TransferEncoding:
User
User
User
Agent
User
Agent
Agent
Agent
Eindeutiger Bezeichner des Inhalts
Content-Id:
372
Für Menschen lesbarer String, der den Inhalt der Nachricht beschreibt
Kapitel 2: Kommunikationsprotokolle
Kennzeichnet die benutzt Version von MIME
Content-Description:
Bedeutung
MIME-Version:
Header
MIME behält das RFC-822-Format bei, definiert dabei aber
• eine Struktur im Message Body (durch zusätzliche Header) und
• Kodierungsregeln für Nicht-ASCII-Zeichen.
RFC 822: nur geeignet für Nachrichten aus reinem ASCII-Text ohne Sonderzeichen.
Heutzutage zusätzlich gefordert:
• eMail in Sprachen mit Sonderzeichen (z.B. französisch oder deutsch)
• eMail in Sprachen, die nicht das lateinische Alphabet benutzen (z.B. russisch)
• eMail in Sprachen, die überhaupt kein Alphabet benutzen (z.B. japanisch)
• eMail, die teilweise überhaupt keinen Text enthält (z.B. Audio oder Video)
MIME
Kommunikation und verteilte Systeme
Kommunikation und verteilte Systeme
Header einer eMail
Lehrstuhl für Informatik 4
Lehrstuhl für Informatik 4
/* Sender der eMail */
/* Server meldet sich */
/* Identifikation des Senders /*
/* Empfänger ist bereit /*
Kapitel 2: Kommunikationsprotokolle
Minimales Protokoll mit nur zwei Befehlsarten:
• Kopieren von eMails auf den lokalen Rechner
• Löschen von eMails auf dem Server
Replies
Commands
Greeting
TCP Verbindung Port 110
TCP/IP-Netz
POP3-Server
(MTA)
Abholen der eMails vom Server mittels POP3:
PC
QUIT
RSET
NOOP
DELE msg
RETR msg
LIST [msg]
STAT
• Transaktionsstatus
USER name
PASS string
378
Requested action aborted; mailbox unavailable
Requested action aborted; error in processing
Requested action aborted; insufficient storage
450
451
452
Kapitel 2: Kommunikationsprotokolle
• dele löscht die entsprechende
Nachricht
• retr zur Anforderung einer
Nachricht durch ihre Nummer
• list zur Auflistung der
Nachrichtennummern und der
Nachrichtengrößen
Transaktionsphase
• +OK oder -ERR sind mögliche
Serverantworten
• pass ist dessen Passwort
• user identifiziert den Benutzer
Autorisierungsphase
POP3-Protokoll
S:
C:
S:
C:
S:
C:
S:
S:
S:
C:
S:
S:
C:
C:
S:
S:
C:
C:
S:
Kommunikation und verteilte Systeme
• Autorisierungsstatus:
<domain> Service not available
421
Lehrstuhl für Informatik 4
POP3-Prozess
Client
(MUA)
Start mail input, end with <CRLF>.<CRLF>
354
Kapitel 2: Kommunikationsprotokolle
User not local, forwarded to forward path
251
Kommunikation und verteilte Systeme
376
Requested mail action okay, completed
<domain> service closing channel
<domain> service ready
Human information about how to use SMTP
System status
Bedeutung
250
221
220
214
211
Reply
Code
Lehrstuhl für Informatik 4
Kapitel 2: Kommunikationsprotokolle
C = Client, sendender MTA
C: QUIT
S: 221 <beta.edu> Server Closing
/
/* Beenden der Verbindung */
C: From: Krogull @ ..... <crlf>.<crlf>
S: 250 OK
S = Server, empfangender MTA
/* ab hier normales
Nachrichtenformat */
/* Senden ist erlaubt */
S: 250 OK
/* Empfänger der eMail */
C: RCPT TO:<[email protected]>
/* Empfänger bekannt */
S: 250 OK
/* Jetzt kommen die Daten */
C: DATA
S: 354 Start mail input; end with “<crlf>.<crlf>“ on a line by itself
S: 250 <beta.edu> OK
C: MAIL FROM:<[email protected]>
S: 220 <beta.edu> Service Ready
C: HELO <abc.com>
Kommunikation zwischen Partnern (von abc.com nach beta.edu) in Textform
der Art:
SMTP - Antwortcodes
Kommunikation und verteilte Systeme
Kommunikation und verteilte Systeme
SMTP - Befehlsabfolge
Lehrstuhl für Informatik 4
Lehrstuhl für Informatik 4
Transaction failed
377
Action not taken; mailbox name not allowed
User not local; please try <forward path>
Requested action not taken; error in processing
Requested action not taken; mailbox unavailable
Command parameter not implemented
Bad sequence number
Command not implemented
Syntax error, in parameters or arguments
Syntax error, command unrecognised
Bedeutung
379
+OK POP3 server ready
user alice
+OK
pass hungry
+OK user successfully logged in
list
1 498
2 912
.
retr 1
<message 1 contents>
.
dele 1
retr 2
<message 2 contents>
.
dele 2
quit
+OK
554
553
552
551
550
504
503
502
501
500
Reply
Code
Kapitel 2: Kommunikationsprotokolle
Intranet
Firewall
Internet
• Dazu nötig: Verarbeitung von Informationen ab Schicht 3
• Ziel: unerwünschte und unautorisierte Kommunikation in oder aus dem
geschützten Netzwerk verhindern.
• Eine Firewall ist eine Barriere zwischen einem privaten, geschützte Netzwerk
(Intranet) und anderen Netzwerken (z.B. dem Internet).
382
Kapitel 2: Kommunikationsprotokolle
• Benutzerkontrolle
Nur autorisierte Benutzer haben Zugriff über eine Firewall
• Zugriffskontrolle
Einschränkung des Zugriffs auf bestimmte Dienste.
Selektionsmerkmale sind z.B. IP-Adresse und Port-Nummer bzw.
die Art des erfragten Dienstes
• Verhaltenskontrolle
Nutzung der Applikationen ist definiert
z.B. Mail-Filter für Viren und bestimmte Dateianhänge
• Richtungskontrolle
Unterschiedliche Regeln für eingehenden und ausgehenden Zugriff
definierbar
• Protokollierung
Zusammenfassung der Nutzung und der Zugriffe
• Verbergen des internen Netzes
Topologie, Adressen, ... sollen nach außen hin nicht sichtbar sein
Funktionen einer Firewall
Kommunikation und verteilte Systeme
Sicherung von Netzwerken: Firewall
Lehrstuhl für Informatik 4
Kapitel 2: Kommunikationsprotokolle
• Zusätzliche Komponenten (Firewalls)
• Zusätzliche Kooperationsmechanismen (Virtual Private Network)
Kommunikation und verteilte Systeme
380
Sicherheitskomponenten zum Schutz sowohl des eigenen Netzes als
auch der Kommunikation.
• Sichere Protokolle (IPsec, SSL, ...)
• ...
• Verbreitung von Viren
• Einbruch auf Firmenrechner
• Ausspionieren von vertraulichen Daten
Aber: auf das Internet hat jeder Zugriff:
TCP/IP erlaubt die Kommunikation über das Internet.
Lehrstuhl für Informatik 4
Kapitel 2: Kommunikationsprotokolle
Hier dient letztendlich wieder HTTP als Protokoll zum Zugriff auf die eMails. Die
Verwaltung ist ähnlich der bei IMAP, nur dass der Client in den Web-Server
integriert ist.
Mittlerweile bieten auch viele Betreiber von Web-Seiten eMail-Dienste an: gmx,
web.de, yahoo, …
• Das Protokoll ist allerdings komplexer als bei POP3: anlegen und verwalten
entfernter Mailboxen
• Der Client führt alle Aktionen entfernt durch. Dies eignet sich für Anwender, die von
verschiedenen Hosts Zugriff auf ihre eMails benötigen
• eMails werden nicht abgerufen und lokal gespeichert, sondern bleiben auf dem
Server liegen
• TCP-Verbindung über Port 143
Weiterentwicklung von POP3: IMAP (Interactive Mail Access Protocol)
Firewalls
Kommunikation und verteilte Systeme
Kommunikation und verteilte Systeme
IMAP als POP3-“Variante“
Lehrstuhl für Informatik 4
Lehrstuhl für Informatik 4
383
381
200.200.20.1
192.168.10.3
Kapitel 2: Kommunikationsprotokolle
Application-Level Proxy
• Prüfung auf Anwendungsebene
• Ein Proxy für jede Art von Dienst
(SMTP, FTP, HTTP, ...)
• Der Benutzer muss sich vor
Nutzung eines Dienstes
authentifizieren
Connection
termination
Connection
establishment
Data
transfer
User
authentication
Connection
establishment
Source
Circuit-Level Firewall
• Arbeitet auf der Transportschicht (z.B. Port-Nummern)
• Proxy, der für jede Art von Dienst genutzt werden kann
• Nur Pakete autorisierter Verbindungen werden akzeptiert
• Nur indirekte Verbindungen über die Firewall sind möglich
Oder Unterscheidung nach Ebenen:
Implementierung einer Firewall
386
Destination
Screening
Router
Interne
Firewall
DMZ
Privates Netz
Webserver
385
Kapitel 2: Kommunikationsprotokolle
387
• Alle Ressourcen, die vom Internet aus (unbeschränkt) erreichbar sein sollen,
werden in einem eigenen Netzwerksegment platziert (DMZ – Demilitarisierte
Zone).
• Dieses Segment ist durch einen Screening Router an das Internet angeschlossen
(einfache Filterung für unkritische Systeme)
• Das private Netz ist durch eine weitere Firewall (meist Paket-Filter und ProxyServer) komplett abgeschottet.
Internet
Implementierung einer Firewall
Kommunikation und verteilte Systeme
Kapitel 2: Kommunikationsprotokolle
Lehrstuhl für Informatik 4
384
2. Proxy-Server
• "kontrollierter Aufruf" eines Dienstes: die Firewall fängt den Aufruf ab und
entscheidet, ob er zum Empfänger weitergeleitet werden darf.
• Der Proxy ist der einzige Rechner, der nach außen hin sichtbar ist
• Die Zugangskontrolle kann basierend auf der Identität des Benutzers, des
verwendeten Protokolls und des Inhalts vorgenommen werden.
• Es ist mehr machbar (Logging von Informationen, Authentifizierung, ...), aber für
jedes Anwendungsprotokoll wird ein eigener Proxy benötigt.
Kommunikation und verteilte Systeme
Application
Proxy
192.168.10.2
192.168.10.3
1. Paket-Filter
• Der Netzwerkverkehr wird analysiert und bestimmte Pakete ausgefiltert. Die
Filterung kann auf den folgenden Informationen beruhen: Quelladresse,
Zieladresse, verwendetes Protokoll, Verbindung
• Ein Paket-Filter ähnelt einer einfachen Brücke. Falls die Firewall gleichzeitig über
Routing-Funktionalität verfügt, wird sie Screening Router genannt.
• Einfach und billig (der Paket-Filter kann alle Arten von Verbindungen
kontrollieren), aber Filterregeln sind schwer (korrekt) zu definieren.
Es gibt zwei grundlegende Mechanismen zur Realisierung einer Firewall
Lehrstuhl für Informatik 4
192.168.10.1
80
80
Port
Internes Netz
Destination
131.107.2.200
IP Address / Port Mapping
Source
Firewall 200.200.20.1
Kapitel 2: Kommunikationsprotokolle
131.107.2.200
Internet
Basierend auf der IP-Adresse des Senders
kann die Firewall die Adresse des
Empfängers ändern und die Pakete zustellen.
Damit bleibt das 'wahre' Aussehen des
internen Netzes dem Sender verborgen.
Implementierung einer Firewall
Kommunikation und verteilte Systeme
Kommunikation und verteilte Systeme
Funktionen einer Firewall: Beispiel
Lehrstuhl für Informatik 4
Lehrstuhl für Informatik 4
Zugehörige Unterlagen
Herunterladen