Teil 7 - TU Chemnitz

Werbung
Einführung
Verteilte und Selbstorganisierende Rechnersysteme • Prof. Gaedke

KAPITEL 7:
ANWENDUNGSSYSTEME
Motivation – Entwicklung verteilter Anwendungen im Internet





Einführung

TCP/IP
Client/Server-Programmierung
DNS (Domain Name System)  Übung
SMTP (Simple Mail Transfer Protocol)
WWW (World Wide Web)
FTP (File Transfer Protocol)
SNMP (Simple Network Management Protocol)
Implementierung des Protokolls

Verwendung von Standardprotokollen – evtl. bereits unterstützt durch
die verwendete Programmierplattform
 Gänzlich neues Protokoll auf Basis von UDP oder TCP
 Erfordert Programmierunterstützung für Internet Sockets

Berkeley Sockets


© 2007‐2012 Prof. Dr. Martin Gaedke ∙ Professur VSR ∙ Fakultät für Informatik ∙ TU Chemnitz
Rechnernetze ► Kapitel 7: Anwendungssysteme Welchen Dienst soll die Anwendung (Server) anbieten?
Wie unterhalten sich Dienstnehmer (Client) und Server?
Wie wird das Anwendungsprotokoll beschrieben und realisiert?
Soll die Anwendung auf TCP oder UDP basieren?
Gibt es Gründe für TCP und UDP?
SS 2012
| 308
Einführung: Sockets – Server mit Python
Ursprünglich 1983 an der UC Berkeley als Bestandteil von BSD Unix
Application Programming Interface (API)
 © 2007‐2012 Prof. Dr. Martin Gaedke ∙ Professur VSR ∙ Fakultät für Informatik ∙ TU Chemnitz
Sockets – RFC 147
Rechnernetze ► Kapitel 7: Anwendungssysteme | 309
Einführung: Sockets – Client mit Python
import socket
import socket
HOST = ''
# Symbolisch für local host
PORT = 8080
# Port auf dem der Server hört
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
conns, addr = s.accept()
print 'Connected by', addr
while 1:
data = conns.recv(1024)
if not data: break
conns.send(data)
conns.close()
HOST = 'localhost' # Hostname des Ziel-Servers
PORT = 8080
# Port auf dem der Ziel-Server hört
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.send('Hello, world')
data = s.recv(1024)
s.close()
print 'Received', repr(data)
© 2007‐2012 Prof. Dr. Martin Gaedke ∙ Professur VSR ∙ Fakultät für Informatik ∙ TU Chemnitz
Rechnernetze ► Kapitel 7: Anwendungssysteme SS 2012
SS 2012
| 310
© 2007‐2012 Prof. Dr. Martin Gaedke ∙ Professur VSR ∙ Fakultät für Informatik ∙ TU Chemnitz
Rechnernetze ► Kapitel 7: Anwendungssysteme SS 2012
| 311
Elektronische Post (EMail)
EMail: Allgemeines Modell
Hauptziel:
 Internationaler Austausch elektronischer Mitteilungen zwischen Personen
Wesentliche Charakteristik:
 Unterstützung eines asynchronen Verhaltens von Sender und Empfänger
 Speichervermittlung
User Agent (UA)

Lokales, grafik-/textorientiertes Programm
 Ermöglicht Lesen und Versenden von E-Mail vom lokalen Rechner
 z.B. Elm, Mail, Outlook, Messenger

Allgemeine Basisfunktionen:
 Erstellen von E-Mails
 Übertragung zum Ziel
 Benachrichtigung im Erfolgs-/Fehlerfall
 Anzeige erhaltener Nachrichten
 Speicherung von Nachrichten
Realisierung:
 Simple Mail Transfer Protocol (SMTP) im Internet
 X.400 bei OSI
© 2007‐2012 Prof. Dr. Martin Gaedke ∙ Professur VSR ∙ Fakultät für Informatik ∙ TU Chemnitz
Rechnernetze ► Kapitel 7: Anwendungssysteme 
Message Transfer Agent (MTA)

Hintergrundprozess
 Zuständig für das Weiterleiten von E-Mails zum Zielrechner
Postamt
UA
SS 2012
MTA
UA
SS 2012
| 313
Internet Mail: Das SMTPModell
Umschlag (Envelope)
 Enthält alle Informationen für den Transport der Mitteilung zum
Empfänger („To:“)
 Adressierung erfolgt mithilfe von DNS, z.B. [email protected]
 Wird interpretiert von den MTAs
Kopfteil (Header)
 Enthält zusätzliche Felder wie z.B. Betreff, Kopie an („Subject:“, „CC:“)
 Interpretiert von den UAs
 SMTP integriert außerdem die Felder des Umschlags im Header
Hauptteil (Body)
 Enthält den eigentlichen Inhalt der Mitteilung (ursprünglich nur ASCII)

SMTP dient der E-Mail-Übermittlung


To:
Header:
CC:
From:
Subject:
Date:
....
© 2007‐2012 Prof. Dr. Martin Gaedke ∙ Professur VSR ∙ Fakultät für Informatik ∙ TU Chemnitz
zeichenorientiertes Protokoll, basierend auf 7-Bit-ASCII
nur wenige Kommandos, z.B. HELO, MAIL, RCPT, DATA, QUIT

UA erhält alle notwendigen Angaben vom Benutzer

MTAs übertragen die Mitteilung zum Zielrechner




Quellsystem
Mitteilung wird über Mail-Queue zum lokalen MTA übertragen
Auslieferung einer E-Mail erfolgt über eine TCP-Verbindung (Port 25) zum
Ziel-MTA
MTA unter UNIX: sendmail
Relay-MTAs dienen als zentrale E-MAIL-Verteiler (z.B. für Fakultät für
Informatik)
To:
From
:...
Absender,
Inhalt usw.
UA
Body
Rechnernetze ► Kapitel 7: Anwendungssysteme MTA
© 2007‐2012 Prof. Dr. Martin Gaedke ∙ Professur VSR ∙ Fakultät für Informatik ∙ TU Chemnitz
Rechnernetze ► Kapitel 7: Anwendungssysteme | 312
SMTP: Format einer EMail
Postamt
Internet
Mail
Queue
Lokaler SMTP
MTA
Relay
MTA
SMTP
Zielsystem
UA
SS 2012
| 314
Mail
Queue
Mail
Box
Lokaler
MTA
SMTP
Relay
MTA
© 2007‐2012 Prof. Dr. Martin Gaedke ∙ Professur VSR ∙ Fakultät für Informatik ∙ TU Chemnitz
Rechnernetze ► Kapitel 7: Anwendungssysteme Mail
Queue
SS 2012
| 315
SMTP: Beispielablauf
InternetMail: Verwaltung durch Mailserver
> telnet mailserver 25
Mailserver
E:
220 mailserver ESMTP Telematik Sendmail 8.9.3/8.9.3; Wed, 22 Sep
1999 10:41:34 +0200 (MET DST)
S:
HELO sioux.tm.uni-karlsruhe.de
E:
250 blackfoot Hello sioux [129.13.35.73], pleased to meet you
Mail
Queue
Internet
SMTP
SMTP
S:
E:
MAIL FROM: telematik-vorlesung
250 telematik-vorlesung... Sender ok
S:
E:
RCPT TO: [email protected]
250 telematik-vorlesung .. Recipient ok

E-Mail wird meist zentral über einen Mailserver abgewickelt (Relay-MTA)
S:
E:
S:
S:
E:
DATA
354 Enter mail, end with "." on a line by itself
Lieber Administrator, ...
.
250 KAA12526 Message accepted for delivery

Mittels POP3 (Post Office Protocol 3) holt der Client die vom Mailserver
empfangenen und in der Mailbox gespeicherten Meldungen ab
S:
E:
QUIT
221 blackfoot closing connection
Mailbox


SS 2012
Sir Timothy John
Berners-Lee, OM, KBE,
FRS, FREng, FRSA
(London, 8 June 1955),


Ziel: Einfacher weltweiter
Austausch von Dokumenten
zwischen Wissenschaftlern
Weitere Informationen zu TBL
unter:
http://www.timbernerslee.co.uk/
Erster Prototyp Ende 1990


grafisch (auf NEXTStep) und
zeilenorientiert
Schnelle Verbreitung durch
Universitäten. Bebo White bringt
ersten Web-Server in den USA
(SLAC, Stanford University)




entwickelt von Marc Andreesen
und Eric Bina (University of
Illinois)
ursprünglich für X-WindowsSysteme
als Quellcode per FTP kostenlos
verfügbar  schnelle Verbreitung
Marc Andreesen gründete 1995 die
Firma Netscape
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
© 2007‐2012 Prof. Dr. Martin Gaedke ∙ Professur VSR ∙ Fakultät für Informatik ∙ TU Chemnitz
Rechnernetze ► Kapitel 7: Anwendungssysteme IMAP erlaubt erweiterte Kommandos (z.B. Filterung)
SS 2012
| 317
Client/ServerArchitektur des WWW
Durchbruch des WWW durch den
WWW-Client Mosaic

Hervorgegangen aus Arbeiten des
britischen Informatikers Tim
Berners-Lee am europäischen
Forschungszentrum CERN (Genf)



einfache Funktionalität
© 2007‐2012 Prof. Dr. Martin Gaedke ∙ Professur VSR ∙ Fakultät für Informatik ∙ TU Chemnitz
Rechnernetze ► Kapitel 7: Anwendungssysteme | 316
Zur Entwicklung des World Wide Web (WWW)
Mail Client
IMAP (Interactive Mail Access Protocol) dient dazu, die Nachrichten
zentral auf einem Mailserver zu verwalten

© 2007‐2012 Prof. Dr. Martin Gaedke ∙ Professur VSR ∙ Fakultät für Informatik ∙ TU Chemnitz
Rechnernetze ► Kapitel 7: Anwendungssysteme POP3,
IMAP

Client-Server-Architektur



Web-Browser zur Anzeige von Hypertext-Dokumenten/Hypermedia-Objekten
Hyperlinks erlauben Navigation
Lösungen zu folgenden Fragestellungen erforderlich:



Eindeutige Adressierung einer Web-Seite
Transport einer Web-Seite
Beschreibung des Inhalts (insbes. der Hyperlinks) einer Web-Seite
Server-System
Client-System
Web
Browser
Internet
SS 2012
| 318
© 2007‐2012 Prof. Dr. Martin Gaedke ∙ Professur VSR ∙ Fakultät für Informatik ∙ TU Chemnitz
Rechnernetze ► Kapitel 7: Anwendungssysteme SS 2012
| 319
Idee der Universal-Adressierung
Adressierung eines Web-Dokuments

Die Idee: Ein allgemeines Schema zur Beschreibung von Adressen bzw.
Ressourcen Identifikatoren:
 Uniform Resource Identifier (URI)
 URI – Syntax for identifiers [RFC1630]
Uniform Resource Locator (URL), [RFC1738]




Erbt Eigenschaften und Regeln von URI
weist der Client-Software den Weg zu einer bestimmten Ressource
auch für Inhalte anderer Server (USENET, FTP, E-Mail) verwendbar
z.B. http://www.informatik.tu-chemnitz.de/index.html
URL


<uri> ::= <scheme>":"<scheme-specific-part>
<scheme>
Name des Scheme
<scheme-specific-part>
Ressourcen Identifikator vorgegeben durch das jeweilige Scheme
Protokoll



bei WWW: abgerufene Web-Seite
bei FTP: zu übertragene Datei
bei Mail: Empfänger der Mail
Web-Browser unterstützen eine Vielzahl von Schemes

SS 2012
Web
Application
User Agent
| 321
Return Of The Resource (1)
Server-Side
Web
Application
Response
SS 2012
Screenshot from the site www.starwars.com
Request
z.B. http, ftp, mailto, telnet
© 2007‐2012 Prof. Dr. Martin Gaedke ∙ Professur VSR ∙ Fakultät für Informatik ∙ TU Chemnitz
Rechnernetze ► Kapitel 7: Anwendungssysteme | 320
Zusammenspiel Browser und Ressourcen
Client-Side
Ressourcenbezeichnung
Durch die Ressourcenbezeichnung wird das Objekt, auf das im jeweiligen
Server zugegriffen werden soll, identifiziert


© 2007‐2012 Prof. Dr. Martin Gaedke ∙ Professur VSR ∙ Fakultät für Informatik ∙ TU Chemnitz
Rechnernetze ► Kapitel 7: Anwendungssysteme Rechnername (DNS)
(scheme)
Resource
Web
Server
Web System
Applicationprotocol: HTTP, SOAP, WebDAV, other
TCP/IP-Stack
© 2007‐2012 Prof. Dr. Martin Gaedke ∙ Professur VSR ∙ Fakultät für Informatik ∙ TU Chemnitz
Rechnernetze ► Kapitel 7: Anwendungssysteme SS 2012
| 322
© 2007‐2012 Prof. Dr. Martin Gaedke ∙ Professur VSR ∙ Fakultät für Informatik ∙ TU Chemnitz
Rechnernetze ► Kapitel 7: Anwendungssysteme SS 2012
| 323
Screenshot from the site www.starwars.com
Return Of The Resource (3)
Screenshot from the site www.starwars.com
Return Of The Resource (2)
© 2007‐2012 Prof. Dr. Martin Gaedke ∙ Professur VSR ∙ Fakultät für Informatik ∙ TU Chemnitz
Rechnernetze ► Kapitel 7: Anwendungssysteme SS 2012
© 2007‐2012 Prof. Dr. Martin Gaedke ∙ Professur VSR ∙ Fakultät für Informatik ∙ TU Chemnitz
Rechnernetze ► Kapitel 7: Anwendungssysteme | 324
| 325
Screenshot from the site www.starwars.com
Return Of The Resource (5)
Screenshot from the site www.starwars.com
Return Of The Resource (4)
SS 2012
© 2007‐2012 Prof. Dr. Martin Gaedke ∙ Professur VSR ∙ Fakultät für Informatik ∙ TU Chemnitz
Rechnernetze ► Kapitel 7: Anwendungssysteme SS 2012
| 326
© 2007‐2012 Prof. Dr. Martin Gaedke ∙ Professur VSR ∙ Fakultät für Informatik ∙ TU Chemnitz
Rechnernetze ► Kapitel 7: Anwendungssysteme SS 2012
| 327
Screenshot from the site www.starwars.com
Return Of The Resource (7)
Screenshot from the site www.starwars.com
Return Of The Resource (6)
© 2007‐2012 Prof. Dr. Martin Gaedke ∙ Professur VSR ∙ Fakultät für Informatik ∙ TU Chemnitz
Rechnernetze ► Kapitel 7: Anwendungssysteme SS 2012
| 328
Screenshot from the site www.starwars.com
Return Of The Resource (8)
© 2007‐2012 Prof. Dr. Martin Gaedke ∙ Professur VSR ∙ Fakultät für Informatik ∙ TU Chemnitz
Rechnernetze ► Kapitel 7: Anwendungssysteme SS 2012
| 330
© 2007‐2012 Prof. Dr. Martin Gaedke ∙ Professur VSR ∙ Fakultät für Informatik ∙ TU Chemnitz
Rechnernetze ► Kapitel 7: Anwendungssysteme SS 2012
| 329
Herunterladen