Schicht 7 Anwendungsprotokolle des Internets

71
Schicht 7 Anwendungsprotokolle des Internets

Transcript of Schicht 7 Anwendungsprotokolle des Internets

Page 1: Schicht 7 Anwendungsprotokolle des Internets

Schicht 7

Anwendungsprotokolle des Internets

Page 2: Schicht 7 Anwendungsprotokolle des Internets

Ethernet TokenRing Token Bus Wireless Lan

Internet-protokolle

Schicht 1/2

FTP Telnet SMTP DNS SNMP TFTPHTTP

UDPTCP ICMPIGMP

IPRARP ARP

Anwendungsprotokolle im TCP/IP-Referenzmodell

Webseiten

Dateitransfer

Virtuelles Terminal

E-Mail

Namensdienst

Netzwerkmanagement

Dateitransfer

Page 3: Schicht 7 Anwendungsprotokolle des Internets

Protokolle der Anwendungsschicht definieren

• Die Typen der verschickten Nachrichten

• Die Syntax der Nachrichtentypen

• Die Semantik der Nachrichtentypen

• Regeln zur Festlegung, wann und wie ein Prozeß eine Nachricht sendet bzw. darauf antwortet

Prozesse der Anwendungsschicht greifen auf Sockets zu

Anwendungsprotokolle im TCP/IP-Referenzmodell

Page 4: Schicht 7 Anwendungsprotokolle des Internets

• FTP ist der Internet-Standard für die Übertragung von Dateien.

• FTP wird benutzt, um eine komplette Datei von einem Rechner auf einen anderen zu kopieren.

• FTP bietet neben dem reinen File-Transfer noch andere Möglichkeiten:

– Interaktiver Zugriff

– Format-Spezifikation

– Authentifizierung

FTP - File Transfer Protocol

Page 5: Schicht 7 Anwendungsprotokolle des Internets

A BFTP Client FTP ServerConnection Setup TCP (Port 21)FTP Connect to the Server

Login

Login OKPassword

Password OKUser Logged In

Get File

Connection Setup TCP (Port 20)

Data Exchange

Termination of Connection TCP (Port 20)User Command Quit

Termination of Connection TCP (Port 21)

FTP - Bestätigter File-Transfer

Page 6: Schicht 7 Anwendungsprotokolle des Internets

Kommando Wirkungopendisconnectusercdlcdpwdget/mgetput/mputbinaryascii

Verbinden zum FTP-ServerBeende die FTP-SitzungSende Benutzerinformationen nach dem Verbindenchange directory auf dem entfernten Rechnerchange directory auf dem eigenen RechnerDrucke das Arbeitsverzeichnis des entfernten RechnersDer Client empfängt ein (bzw. mehrere) DokumentDer Client sendet ein (bzw. mehrere) DokumentSetze den Übertragungmodus auf binarySetze den Übertragungsmodus auf ASCII

dir/ls Liste den Inhalt des entfernten Verzeichnisses aufhelp Hilfedelete

Beende die FTP-Sitzung, AbbruchbyeLösche eine entfernte Datei

FTP - Befehle

Page 7: Schicht 7 Anwendungsprotokolle des Internets

1yz Vorläufige positive Antwort: die Aktion wurde gestartet, aber der Clientmuß noch eine weitere Antwort abwarten.Die Anfrage wurde komplett bearbeitet.

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.

2yz

3yz

4yz

5yz

Syntax ErrorInformationDie Meldung bezieht sich auf die Verbindung.Antworten auf login-BefehleNicht festgelegtStatus des Dateisystems

Reply Wirkung

x0zx1zx2zx3zx4zx5z

FTP - Antworten

Page 8: Schicht 7 Anwendungsprotokolle des Internets

• 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 - Trivial File Transfer Protocol

Page 9: Schicht 7 Anwendungsprotokolle des Internets

A B

UDP HeaderIP Header

UDP HeaderIP Header

UDP HeaderIP Header

UDP HeaderIP Header

UDP HeaderIP Header

UDP HeaderIP Header Get Path/File Name

Data (512 Bytes)

Data (512 Bytes)

Data (512 Bytes)

UDP HeaderIP Header Ack

UDP HeaderIP Header Ack

Ack

Data (350 Bytes)

TFTP Client TFTP Server

Timeout

TFTP - Ablauf

Page 10: Schicht 7 Anwendungsprotokolle des Internets

Elektronische Post: E-Mail

Frühe Systeme

Eine einfache Dateiübertragung erfolgte, mit der Konvention, daß die erste Zeile der Datei die Adresse des Empfängers enthält.

Probleme

E-Mails an Gruppen, Strukturierung der E-Mail, Delegation der Verwaltung an eine Sekretärin, Dateieditor als Benutzeroberfläche, keine gemischten Medien

Lösung

X.400 als Standard zum Mailtransfer. Dies war allerdings zu komplex und schlecht ausgelegt. Durchgesetzt hat sich ein einfacheres, 'von einer handvoll Informatikstudenten zusammengeschustertes' System: das Simple Mail Transfer Protocol (SMTP).

Page 11: Schicht 7 Anwendungsprotokolle des Internets

Simple Mail Transfer Protocol (SMTP)– Versenden von E-Mails ü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 E-Mail 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.

Post Office Protocol Version 3 (POP3)– Abholen von E-Mails beim Server über eine TCP-Verbindung, Port 110– Befehle zum An- und Abmelden, Nachrichten herunterladen und auf dem

Server löschen oder liegen lassen, Nachrichten ohne vorherige Übertragung vom Server direkt löschen

– kopiert lediglich E-Mails vom entfernten Server auf das lokale System

E-Mail über POP3 und SMTP

Page 12: Schicht 7 Anwendungsprotokolle des Internets

• Benutzer 1: schreibt eine Mail• Mailprogramm 1 (User Agent 1): Formatiert die Mail, erzeugt die

Empfängerliste und schickt die Mail an die Queue• Client 1 (Sender): Baut die Verbindung zum SMTP-Server auf und schickt

eine Kopie der Mail dorthin• Server: Erzeugt den Header der Mail und platziert die Mail in die passende

Mailbox

• Client 2 (Empfänger): baut die Verbindung zum POP3-Server auf, authentifiziert sich mit Username und Passwort (unverschlüsselt!)

• Server: schickt die Mail an den Client• Mailprogramm 2: formatiert die Mail• Benutzer 2: liest die Mail

E-Mail über POP3 und SMTP

Page 13: Schicht 7 Anwendungsprotokolle des Internets

• Senden von E-Mails mit Hilfe von SMTP• Mailanfragen über POP3• Gateways zu anderen Mailprotokollen

SMTP

Mail Server und Gateway

POP3Proprietary

Mail Protocol

X.400Mail Clients

E-Mail über POP3 und SMTP

Page 14: Schicht 7 Anwendungsprotokolle des Internets

• HELO (der SMTP-Client initialisiert die Verbindung und identifiziert sich)HELO domain.host.name

• MAIL (vom Sender)MAIL FROM [email protected]än

• RCPT (an den Empfänger)RCPT TO: [email protected]än

• DATA (Beginn der eigentlichen Nachricht; Ende des Data-Blocks mit “<crlf>.<crlf>”)DATA

• QUIT (fertig)QUIT

SMTP - Befehlsabfolge

Page 15: Schicht 7 Anwendungsprotokolle des Internets

Kommunikation zwischen Partnern (von abc.com nach beta.edu) in Textformder Art:

C: HELO <abc.com> /* Abk. für „Hello“ /*S: 250 <beta.edu> OK /* Server meldet sich */

C: MAIL FROM:<[email protected]> /* Sender der Mail */S: 250 OK

/* Empfänger der Mail */C: RCPT TO:<[email protected]>S: 250 OK

C: DATA /* Jetzt kommen die Daten */

S: 354 Start mail input; end with “<crlf>.<crlf>“ on a line by itselfC: From: Krogull @ ..... <crlf>.<crlf> /* ab hier normales

Nachrichtenformat */

SMTP - Beispiel

S: 220 <beta.edu> Service Ready

S: 250 OKC: QUIT

S: 221 <beta.edu> Server Closing/* Beenden der Verbindung */

Page 16: Schicht 7 Anwendungsprotokolle des Internets

ReplyCode Bedeutung

211 System status

214 Human information about how to use SMTP

220 <domain> service ready

221 <domain> service closing channel

250 Requested mail action okay, completed

251 User not local, forwarded to forward path

354 Start mail input, end with <CRLF>.<CRLF>

421 <domain> Service not available

450 Requested action aborted; mailbox unavailable

451 Requested action aborted; error in processing

452 Requested action aborted; insufficient storage

504 Command parameter not implemented

ReplyCode Bedeutung

500 Syntax error, command unrecognised

501 Syntax error, in parameters or arguments

550 Requested action not taken; mailbox unavailable

551 Requested action not taken; error in processing

552 User not local; please try <forward path>

553 Action not taken; mailbox name not allowed

503 Bad sequence number

502 Command not implemented

554 Transaction failed

SMTP - Antwortcodes

Page 17: Schicht 7 Anwendungsprotokolle des Internets

PC

Client(Agent-Terminal)

POP3-Server

TCP/IP-Netz

Commands

Replies

TCP Verbindung Port 110

Greeting

POP3-ProzeßAbholen der E-Mails vom Server mittels POP3: • Authorisierungsstatus:

USER name PASS string

• TransaktionsstatusSTATLIST [msg]RETR msgDELE msgNOOPRSETQUIT

Weiterentwicklung: IMAP (Interactive Mail Access Protocol). Hier werden die E-Mails nicht abgerufen und lokal gespeichert, sondern bleiben auf dem Server liegen. Der Client führt alle Aktionen entfernt durch. Dies eignet sich für Anwender, die von verschiedenen Hosts Zugriff auf ihre E-Mails benötigen. Das Protokoll ist allerdings komplexer als bei POP3.

Page 18: Schicht 7 Anwendungsprotokolle des Internets

Top LevelDomain de

rwth-aachen

informatik

blaubaer.informatik.rwth-aachen.de

Internetadressen sind für Menschen schlecht zu merken, aber Rechner können damit perfekt umgehen.

Symbolische Name sind für Menschen einfacher zu handhaben, aber Maschinen können leider damit nichts anfangen.

DNS - Domain Name Service

Page 19: Schicht 7 Anwendungsprotokolle des Internets

1. DNS handhabt die Abbildung von Rechnernamen auf Adressen2. DNS ist eine verteilte Datenbank, d.h. die einzelnen Segmente unterliegen

einer lokalen Kontrolle3. Daten jedes lokalen Segments sind mittels einer Client/Server-Architektur im

gesamten Netzwerk verfügbar4. Robustheit und Geschwindigkeit des Systems werden durch Replikation und

Zwischenspeicherung (engl. Caching) erreicht5. Hauptkomponenten:

– Name Server: Server, die Informationen über ein Segment der Datenbank verwalten

– Resolver: Clients, die Anfragen an die Server stellen

NameServerResolver

Anfrage

Antwort

DNS - Grundlagen

Page 20: Schicht 7 Anwendungsprotokolle des Internets

User Request

ResolverUserResponse

SharedDatabase

UserProgram

References

Requests

Responses

Requests

Responses

AdministrativeRequests

Administrative Responses

RemoteName Server

RemoteResolver

RemoteName Server

NameServer

MasterFiles

ReferencesUpdates

DNS - Funktionsweise

Page 21: Schicht 7 Anwendungsprotokolle des Internets

• Datenbank läßt sich als Baum darstellen• jeder Knoten des Baums ist mit einem Label beschriftet, das ihn relativ zum

Vaterknoten identifiziert• jeder (innere) Knoten ist wiederum selber Wurzel eines Teilbaums• jeder dieser Teilbäume repräsentiert eine Domäne• jede Domäne kann wiederum weiter in Subdomänen unterteilt werden

“ “

com edu gov mil

Generic Länder

Oxford

cs

se de

rwth-aachen

informatik

Struktur der Datenbank

Page 22: Schicht 7 Anwendungsprotokolle des Internets

• der Name der Domäne identifiziert die Position der Domäne in der Datenbank• der Name der Domäne besteht aus der Folge von Labeln (getrennt durch „.“)

beginnend bei der Wurzel der Domäne und aufsteigend bis zur Wurzel des Gesamtbaums

“ “

com

hp

corp

winnie

winnie.corp.hp.com

Domänennamen

Page 23: Schicht 7 Anwendungsprotokolle des Internets

• jede Domäne kann von einer anderen Organisation verwaltet werden• die für eine Domäne verantwortliche Organisation kann diese weiter aufspalten und die

Verantwortung für die Subdomänen an andere Organisationen delegieren• die übergeordnete Domäne verwaltet Zeiger auf Quellen für die Subdomäne betreffende

Daten, um Anfragen an diese weiterleiten zu können• der Name der Domäne entspricht dem Domänennamen des Wurzelknotens

“ “

comedu gov mil

berkeley

vom Network InformationCenter verwaltet

von der UC Berkeleyverwaltete Domäne berkeley.edu

Verwaltung einer Domäne

Page 24: Schicht 7 Anwendungsprotokolle des Internets

• die Namen der Domänen dienen als Index der Datenbank• jeder Rechner im Netzwerk hat einen Domänennamen, der auf weitere

Informationen bezüglich des Rechners verweist

“ “

caor

nv

ba la

oakland rinkon

IP-Adresse: 192.2.18.44

Index der Datenbank

die mit einem Domänennamen assoziierten Daten werden in sogenannten Resource Records (RR) gespeichert

Page 25: Schicht 7 Anwendungsprotokolle des Internets

• Rechner können einen oder mehrere Zweitnamen (engl. Domain Name Alias) besitzen

• Zweitnamen sind Zeiger von einem Domänennamen (Alias) zu einem anderenDomänennamen (kanonischer Domänenname)

“ “

caor

nv

ba la

oakland rinkon

IP-Adresse: 192.2.18.44

mailhub

Zweitnamen

Page 26: Schicht 7 Anwendungsprotokolle des Internets

• der umgekehrte Baum repräsentiert den Namensraum (engl. Domain Name Space)

• die Tiefe des Baums ist auf 127 Ebenen beschränkt• Domänennamen können bis zu 63 Zeichen lang sein• ein Label der Länge 0 ist für den Wurzelknoten reserviert (" ")• der Fully Qualified Domain Name (FQDN) ist der absolute Domänenname,

der mit Bezug auf die Wurzel des Baums angegeben wird

Bsp.: informatik.rwth-aachen.de.

• Domänennamen, die nicht mit Bezug auf die Wurzel des Baums, sondern mit Bezug auf eine andere Domäne angegeben werden, werden als relative Domänennamen bezeichnet

Namensraum

Page 27: Schicht 7 Anwendungsprotokolle des Internets

• Geschwisterknoten im Baum, d.h. Knoten mit demselben Vaterknoten, müssen unterschiedliche Label haben

• hierarchischer Namensraum verhindert das Auftreten von Kollisionen

“ “

cail

pa lg

hobbes hobbes

hobbes.pa.ca.us

us

mpk

hobbes

hobbes.pa.ca.usverboten

hobbes.lg.ca.us

Namenskollisionen

Page 28: Schicht 7 Anwendungsprotokolle des Internets

• eine Domäne umfasst alle Rechner, deren Domänenname innerhalb der Domäne liegt

• Blätter des Baums repräsentieren einzelne Rechner und verweisen auf Netzwerkadressen, Hardware-Informationen und Mail-Routing-Informationen

• innere Knoten des Baums können sowohl einen Rechner als auch eine Domäne beschreiben

• Domänen werden oft relativ oder in Bezug auf ihre Ebene (engl. Level) referenziert:

– Top-Level Domäne: Kind des Root-Knotens– First-Level Domäne: Kind des Root-Knotens (eine Top-Level Domäne)– Second-Level Domäne: Kind einer First-Level Domäne– usw.

Domänen

Page 29: Schicht 7 Anwendungsprotokolle des Internets

• ursprünglich wurde der Namensraum in sieben Top-Level Domänen eingeteilt:1. com: kommerzielle Organisationen2. edu: pädagogische Organisationen3. gov: Regierungsorganisationen4. mil: militärische Organisationen5. net: Netzwerkorganisationen6. org: nicht-kommerzielle Organisationen7. int: internationale Organisationen

• der Namensraum wurde inzwischen um weitere Top-Level Domänen erweitert• innerhalb der einzelnen Top-Level Domänen werden die ursprünglichen

Konventionen zur Namensgebung unterschiedlich gehandhabt:– Australien: edu.au, com.au, etc.– UK: co.uk (für kommerzielle Organisationen), ac.uk (für akademische

Organisationen), etc.

Top-Level Domänen

Page 30: Schicht 7 Anwendungsprotokolle des Internets

• lithium.cchem.berkeley.edu

Rechner College of Chemistry U.C. Berkeley pädagogische Organisation

• winnie.corp.hp.com

Rechner corporate headquaters Hewlett-Packard kommerzielle Organisation

• fernwood.mpk.ca.us

Rechner Menlo Park California U.S.

Beispiele für Domänennamen

• daphne.ch.apollo.hp.com

Rechner Chelmsford Apollo Hewlett-Packard kommerzielle Organisation

Page 31: Schicht 7 Anwendungsprotokolle des Internets

• Name Server speichern Informationen über den Namensraum • Name Server verwalten in der Regel die kompletten Informationen für einen

bestimmten Teil des Namensraums; dieser Teil wird als Zone bezeichnet• die Informationen über eine Zone werden entweder aus einer Datei oder von

einem anderen Name Server geladen• der Name Server hat dann die Befugnisse (engl. Authority) für die Zone • Name Server können für mehrere Zonen verantwortlich sein

Name-Server und Zonen

Page 32: Schicht 7 Anwendungsprotokolle des Internets

edu

com org

berkeley

• Domäne und Zone sind unterschiedliche Konzepte:

nwu

purdue

Delegationedu Domäne

berkeley.edu Zone purdue.edu Zone

edu Zone

“ “

Domänen und Zonen

Page 33: Schicht 7 Anwendungsprotokolle des Internets

• eine Zone enthält die Domänennamen, die die Domäne mit demselben Domänennamen enthält, abgesehen von Domänennamen in delegierten Subdomänen

• Bsp.:– Top-Level Domäne ca (Canada) hat die Subdomänen ab.ca (Alberta),

on.ca (Ontario), qc.ca (Quebec)– Verantwortung für die Suddomänen ab.ca, on.ca und qc.ca wird an die

Name Server in den Provinzen delegiert– die Domäne ca umfasst dann alle Daten in ca sowie alle Daten in ab.ca,

on.ca und qc.ca– die Zone ca enthält nur die Daten in ca, bei denen es sich primär um

Zeiger auf die delegierten Subdomänen handelt• Name Server laden Zonen statt Domänen, da eine Domäne mehr

Informationen beinhaltet als vom Name Server benötigt werden• Bsp.:

– Der Root Name Server, der statt der Root-Zone die Root-Domäne und damit den gesamten Namensraum lädt

Zonen und Delegation

Page 34: Schicht 7 Anwendungsprotokolle des Internets

• Der Primary Master einer Zone (auch Master genannt) liest die Daten aus einer Datei auf dem für den Name Server genutzten Rechner

• Ein Secondary Master einer Zone (auch Slave genannt) erhält die Daten von einem anderen Name Server, der für die Zone maßgebend (engl. authoritative) ist. Dabei handelt es sich sehr oft, aber nicht notwendigerweise um den Primary Master. Ein Secondary Master kann die Daten jedoch auch von einem anderen Secondary Master erhalten.

• beim Anlaufen eines Secondary Masters kontaktiert dieser den Master Server und lädt, falls notwendig, die Zonen-Daten neu (Zone-Transfer)

• sowohl der Primary Master als auch die Secondary Masters sind maßgebend für die Zone

• die Unterscheidung zwischen Primary Master und Secondary Master dient der kontrollierten Replikation der Daten und damit sowohl der Leistungssteigerung als auch der Redundanz

Typen von Name-Servern

Page 35: Schicht 7 Anwendungsprotokolle des Internets

• der Primary Master liest die Zone-Daten aus entsprechenden Daten-Files (eng. Zone Data Files)

• ein Secondary Master kann seine Zone-Daten ebenfalls aus diesen Dateien lesen

• ein Secondary Master sichert die von einem Primary Master erhaltenen Daten in der Regel in entsprechenden Dateien

• bei einem Neustart des Secondary Masters liest dieser zunächst die gesicherten Daten in den Dateien, um festzustellen, ob diese aktuell sind

• die Sicherungskopien verhindern somit unnötige Datentransfers und dienen gleichzeitig als zusätzliche Quelle für den Fall, daß der Primary Master nicht verfügbar ist

• die Daten-Files enthalten Resource Records, die die Zone beschreiben• die Resource Records beschreiben alle Rechner in der Zone und

Informationen bezüglich der Delegation von Subdomänen

Daten-Files

Page 36: Schicht 7 Anwendungsprotokolle des Internets

• generell Abbildung von Namen auf Adressen• der Begriff der Namensauflösung bezeichnet auch den Prozeß, bei dem ein

Name Server den Namensraum nach Daten durchsucht, für die er selber nicht zuständig ist

• ein Name Server benötigt dazu den Domänennamen und die Adressen der Root Name Server

• ein Name Server kann die Root Name Server nach jedem Namen im Namensraum fragen

• Root Name Server kennen die verantwortlichen Server für jede Top-LevelDomäne

• bei einer Anfrage kann der Root Name Server die Namen und Adressen der Name Server zurückgeben, die für die Top-Level Domäne, in der der gesuchte Name liegt, verantwortlich sind

• die Top-Level Name Server wiederum stellen eine Liste mit Name Servern zur Verfügung, die für die Second-Level Domäne verantwortlich sind

• fehlen zusätzliche Informationen, dann beginnt jede Suche bei den Root Name Servern

Namensauflösung

Page 37: Schicht 7 Anwendungsprotokolle des Internets

Beispiel: “ “

au

gov

sa

sgnz

edu

ips gbrmpa

gbrmpa.gov.auName Server

gov.auName Server

auName Server

“ “Name Server

NameServer

Resolver

Anfrage nach Adresse vongirigiri.gbrmpa.gov.au

Anfrage nach Adresse vongirigiri.gbrmpa.gov.au

Anfrage nach Adresse vongirigiri.gbrmpa.gov.au

Anfrage nach Adresse vongirigiri.gbrmpa.gov.au

Verweis auf auName Server

Verweis auf gov.auName Server

Verweis auf gbrmpa.gov.auName Server

Adresse vongirigiri.gbrmpa.gov.au

Anfra

ge

Antwort

Namensauflösung

Page 38: Schicht 7 Anwendungsprotokolle des Internets

• Unterscheidung zwischen rekursiven und iterativen Anfragen bzw. rekursiver und iterativer Namensauflösung

• im Falle der rekursiven Auflösung sendet ein Resolver eine rekursive Anfrage an einen Name Server

• der Name Server muß dann mit der gesuchten Information oder einer Fehlermeldung antworten, d.h. der Name Server darf als Antwort nicht auf einen anderen Name Server verweisen

• ist der angesprochene Name Server nicht für die gesuchte Information verantwortlich, muß er andere Name Server kontaktieren

• dabei kann der Name Server selber eine rekursive oder iterative Anfrage stellen; in der Regel wird er jedoch eine iterative Anfrage stellen

• bei der Anfrage wird versucht, den mit Bezug auf die gesuchte Information geeignetsten Name Server zu befragen, um den Auflösungsprozess zu verkürzen

Rekursive Auflösung

Page 39: Schicht 7 Anwendungsprotokolle des Internets

• im Falle der iterativen Namensauflösung gibt der befragte Name Server die ihm bekannte, beste Antwort zurück, ohne selber weitere Anfragen zu stellen

Resolver

A

BC

D

Name Server

Anfrage

Antwort

Anfra

ge

Anfrag

e

Anfrage

Antwort

Verweis

Verweis

1

23

4

5

6

7

8

Iterative Auflösung

Page 40: Schicht 7 Anwendungsprotokolle des Internets

• Informationen in der Datenbank sind über Namen indiziert• Abbildung eines Namens auf eine Adresse ist einfach• Abbildung einer Adresse auf einen Namen ist schwieriger zu realisieren

(vollständige Suche)• Lösung:

– Anlegen eines speziellen Bereichs im Namensraum, der Adressen als Label benutzt; die in-addr.arpa-Domäne

– Knoten in dieser Domäne werden gemäß der üblichen Notation für IP-Adressen (vier durch Punkte getrennte Oktette) beschriftet

– die in-addr.arpa-Domäne kann entsprechend 256 Subdomänen und jede weitere Subdomäne wiederum 256 Subdomänen haben

– auf der vierten Ebene sind entsprechende Resource Records mit dem Oktett verbunden, die auf den Domänennamen des Rechners oder des Netzwerks mit der angegebenen Adresse verweisen

– die IP-Adresse erscheint dabei rückwärts, da sie beginnend beim Blattknoten gelesen wird (IP-Adresse: 15.16.192.152 => Suddomäne: 152.192.16.15.in-addr.arpa)

Abbildung von Adressen auf Namen

Page 41: Schicht 7 Anwendungsprotokolle des Internets

in-addr

arpa

15

“ “

16

192

152

0 255

0 255

0 255

0 255

hostname winnie.corp.hp.com

Abbildung von Adressen auf Namen

Page 42: Schicht 7 Anwendungsprotokolle des Internets

• Caching bezeichnet den Prozeß, bei dem ein Name Server die im Rahmen der Namensauflösung gewonnenen Informationen zwischenspeichert und zur Beantwortung weiterer Anfragen nutzt

• dazu gehört sowohl die Antwort auf die eigentlich gestellte Anfrage als auch die bei der Auflösung gewonnene Information hinsichtlich der für bestimmte Zonen zuständigen Name Server

• die Time to Live (TTL) gibt dabei an, wie lange Daten zwischengespeichert werden dürfen

• die TTL stellt sicher, daß keine veralteten Informationen verwendet werden– eine kleine TTL sorgt für eine hohe Konsistenz– eine große TTL sorgt für eine schnellere Namensauflösung

Caching & Time To Live

Page 43: Schicht 7 Anwendungsprotokolle des Internets

• die meisten Einträge in den Daten-Files sind Resource Records

• Typen von Resource Records:– SOA

zeigt die Authority für diese Zone-Daten an– NS

gibt einen Name Server für die Zone an– A

Name-to-Address Abbildung– PTR

Address-to-Name Abbildung– CNAME

Kanonischer Name– MX

Mail Exchange

Daten-Files & Resource Records

Page 44: Schicht 7 Anwendungsprotokolle des Internets

• SOA = Start of Authority• zeigt an, daß der Name Server für die Zone maßgebend ist• es kann nur einen SOA-Record in einer entsprechenden Datei geben• Bsp. (Datei db.movie):

movie.edu. IN SOA terminator.movie.edu al.robocop.movie.edu(

1 ; Serial

10800 ; Refresh after 3 hours

3600 ; Retry after 1 hour

604800 ; Expire after 1 week

86400 ) ; Minimum TTL of 1 day

IN = Internet (Klasse der Daten)

terminator.movie.edu = Primary Master Name Server

al.robocop.movie.edu = Email-Adresse einer Kontaktperson(erster . -> @)

SOA-Record

Page 45: Schicht 7 Anwendungsprotokolle des Internets

• Attribute des SOA-Records:– Serial: Seriennummer, die dem Secondary Master zur Erkennung von

neuen Versionen dient– Refresh: Zeitintervall, nach dessen Ablauf der Secondary Master die

Aktualität seiner Daten prüft– Retry: Zeitintervall; kann der Secondary Master nach Ablauf der Refresh-

Zeit den Primary Master nicht erreichen, so versucht er sich nach Ablauf der durch Retry vorgegebenen Zeitspanne mit diesem in Verbindung zu setzen

– Expire: Zeitdauer; wenn der Secondary Master den Primary Master nach der angegebenen Zeitdauer nicht erreichen kann, hört er auf, Anfragen zu beantworten, da er davon ausgehen muß, daß seine Daten veraltet sind.

– TTL: Bezieht sich auf alle Resource Records. Dieser Wert wird als Teil der Antwort auf eine Anfrage zurückgegeben, um anderen Servern das Zwischenspeichern der Daten für das angegebene Zeitintervall zu ermöglichen.

SOA-Record

Page 46: Schicht 7 Anwendungsprotokolle des Internets

• NS = Name Server• für jeden Name Server der Zone gibt es einen NS-Record • Bsp. (Datei db.movie) :

movie.edu. IN NS terminator.movie.edu

movie.edu. IN NS wormhole.movie.edu

• demnach gibt es im betrachteten Beispiel zwei Name Server, die auf den Rechnern terminator und wormhole angesiedelt sind

NS-Record

Page 47: Schicht 7 Anwendungsprotokolle des Internets

• A = Address• CNAME = Canonical Name• Einrichten der Name-to-Address-Abbildung• Bsp. (Datei db.movie) :

; Host addresses

localhost.movie.edu. IN A 127.0.0.1

robocop.movie.edu. IN A 192.249.249.2

terminator.movie.edu. IN A 192.249.249.3

diehard.movie.edu. IN A 192.249.249.4

misery.movie.edu. IN A 192.253.253.2

shining.movie.edu. IN A 192.253.253.3

carrie.movie.edu. IN A 192.253.253.4

;

; Multi-homed hosts

;

wormhole.movie.edu IN A 192.249.249.1

wormhole.movie.edu IN A 192.253.253.1

;

Address and Alias-Records

Page 48: Schicht 7 Anwendungsprotokolle des Internets

;

; Aliases

;

bigt.movie.edu. IN CNAME terminator.movie.edu.

dh.movie.edu. IN CNAME diehard.movie.edu.

wh.movie.edu. IN CNAME wormhole.movie.edu.

wh249.movie.edu. IN A 192.249.249.1

wh253.movie.edu. IN A 192.253.253.1

A = Address

CNAME = bildet einen Alias auf seinen kanonischen Namen ab

• für den mit beiden Netzen verbundenen Rechner (engl. multihomed) wird für jeden Zweitnamen, der speziell für eine der beiden Adressen ist, ein Address Record eingerichtet

• für einen Zweitnamen, der für beide Adressen gilt, wird ein CNAME-Recordeingerichtet

Address and Alias-Records

Page 49: Schicht 7 Anwendungsprotokolle des Internets

• PTR = Pointer• Einrichten der Address-to-Name Abbildung• Bsp. (Datei db.192.249.249) :

1.249.249.192.in-addr.arpa. IN PTR wormhole.movie.edu.

2.249.249.192.in-addr.arpa. IN PTR robocop.movie.edu.

3.249.249.192.in-addr.arpa. IN PTR terminator.movie.edu.

4.249.249.192.in-addr.arpa. IN PTR diehard.movie.edu.

• Adressen sollten dabei nur auf einen einzigen Namen verweisen, den kanonischen Namen

PTR-Record

Page 50: Schicht 7 Anwendungsprotokolle des Internets

• MX = Mail Exchanger• MX-Record dient der Steuerung des Email-Routings• spezifiziert einen Mail Exchanger für einen Domänennamen, der eine Email

entweder verarbeitet oder weiterleitet• zusätzlich kann eine Präferenz angegeben werden• Bsp. :

peets.mpk.ca.us IN MX 10 relay.hp.com.

gibt an, daß relay.hp.com mit der Präferenz 10 der Mail Exchanger für peets.mpk.ca.us ist

• im Falle der Präferenz ist nur der relative Wert wichtig; der Mail Exchanger mit dem kleinsten Wert wird zuerst angesprochen

MX-Record

Page 51: Schicht 7 Anwendungsprotokolle des Internets

• Tool zum Stellen von DNS-Anfragen• bietet sowohl einen interaktiven als auch einen nicht-interaktiven Modus• interaktiver Modus:

[aoxomoxoa:roland] 42> nslookup

Default Server: nets1.rz.RWTH-Aachen.DE

Address: 137.226.144.3

• nicht-interaktiver Modus:

[aoxomoxoa:roland] 43> nslookup kraftwerk

Server: nets1.rz.RWTH-Aachen.DE

Address: 137.226.144.3

Name: kraftwerk.informatik.rwth-aachen.de

Address: 137.226.12.12

nslookup

• der Default-Name-Server ist nets1.rz.RWTH-Aachen.DE, d.h. jede Anfrage wird an diesen Name Server gesendet

Page 52: Schicht 7 Anwendungsprotokolle des Internets

– man kann bei der Benutzung von nslookup Optionen angeben– zwei Arten von Optionen: Boolesche Optionen (on,off) und Wertzuweisung (=)– Optionen werden mittels des set-Kommandos (interaktiver Modus) bzw. durch

Voranstellen eines Bindestrichs geändert (nicht-interaktiver Modus)– Bsp.:

set domain=classics.movie.edu

-domain=classics.movie.edu

– Optionen sind z.B.• debug: Debugging ist standardmäßig ausgeschaltet. Wird der Debugging-Modus

eingeschaltet, zeigt der Name-Server Timeouts und die Antwortpakete an.• defname: Standardmäßig fügt nslookup den Default-Domänennamen jedem

Namen hinzu, der keinen Punkt enthält.• search: Diese Option überschreibt die defname-Option, d.h. defname wird nur

angewandt, wenn die search-Option nicht aktiviert ist. Ist die Option aktiviert, fügtnslookup den Namen, die nicht mit einem Punkt enden, die in einer Suchliste (srchlist) angegebenen Domänennamen hinzu.

Optionen

Page 53: Schicht 7 Anwendungsprotokolle des Internets

• vc: Standardmäßig nutzt nslookup UDP-Pakete zur Kommunikation mit dem Server. Beim Setzen dieser Option wird eine TCP-Verbindung (vc = virtual circuit) verwendet.

• port=53: Standardmäßig ist der DNS-Service über Port 53 zu erreichen. Mittels dieser Option kann ein Name Server auch auf einem anderen Port angesprochen werden.

• querytype=A: Standardmäßig sucht nslookup nach Address (A) ResourceRecords. Mittels dieser Option kann auf andere Resource Record-Typen umgeschaltet werden. Bei Eingabe einer IP-Adresse wird diese invertiert, mit in-addr.arpa verknüpft und entsprechend nach PTR-Daten gesucht.

• root=a.root-server.net.: Stellt den Default-Server auf den angegebenen Name Server um.

• domain=fx.movie.edu: Gibt die Default-Domäne an, die bei Verwendung derdefname-Option angehängt wird.

• srchlist=fx.movie.edu: Ist die search-Option gesetzt, so kann über diese Option die Liste der Domänen angegeben werden, die an Namen, die nicht mit einem Punkt enden, angehängt werden. Die Domänen werden in der Reihenfolge angegeben, in der sie bei der Suche verwendet werden sollen. Sie werden dabei durch ein / getrennt (z.B. fx.movie.edu/movie.edu).

Optionen

Page 54: Schicht 7 Anwendungsprotokolle des Internets

Suche nach bestimmten Datentypen• Suche nach Adressen

% nslookup

Default Server: terminator.movie.edu

Address: 0.0.0.0

> misery

Server: terminator.movie.edu

Address: 0.0.0.0

Name: misery.movie.edu

Address: 192.253.253.2

• Suche nach Namen> 192.253.253.2

Server: terminator.movie.edu

Address: 0.0.0.0

Name: misery.movie.edu

Address: 192.253.253.2

Anwendungsbeispiele

Page 55: Schicht 7 Anwendungsprotokolle des Internets

Suche nach bestimmten Datentypen• Suche nach MX-Daten

> set q=mx

> wormhole

Server: terminator.movie.edu

Address: 0.0.0.0

wormhole.movie.edu preference=10, mail exchanger = wormhole.movie.edu

wormhole.movie.edu internet address = 192.249.249.1

wormhole.movie.edu internet address = 192.253.253.1

• Suche nach beliebigen Informationen> set q=any

> diehard

Server: terminator.movie.edu

Address: 0.0.0.0

diehard.movie.edu internet address = 192.249.249.4

diehard.movie.edu preference=10, mail exchanger = diehard.movie.edu

diehard.movie.edu internet address = 192.249.249.4

Anwendungsbeispiele

Page 56: Schicht 7 Anwendungsprotokolle des Internets

Übertragung einer ganzen Zone mittels des ls-Befehls:% nslookup

Default Server: terminator.movie.edu

Address: 0.0.0.0

> ls movie.edu.@ 4D IN SOA terminator root.terminator(

1997080605 ; serial

3H ; refresh

1H ; retry

4w2d ; expiry

1D ) ; minimum

4D IN NS terminator

terminator 4D IN A 192.249.249.3

4D IN MX 10 terminator

4D IN NS wormhole

wormhole 4D IN A 192.249.249.1

4D IN A 192.253.253.1

4D IN MX 10 wormhole

...

Zone Transfers

Page 57: Schicht 7 Anwendungsprotokolle des Internets

World Wide Web (WWW)Zugriff auf verknüpfte Dokumente, die über verschiede Rechner im Internet verteiltsind

Historie des WWW• Ursprung 1989 im Kernforschungslabor CERN in der Schweiz.• Entwickelt um Daten, Bilder etc. zwischen einer großen Anzahl von geographisch

verteilten Projektmitarbeitern via Internet auszutauschen.• Erste textbasierte Version Ende 1990.• Erstes graphisches Interface (Mosaic) Februar 1993, später Netscape, Internet

Explorer...• Standardisierung durch WWW-Konsortium (http://www.w3.org).

Entwicklung des WWW

Page 58: Schicht 7 Anwendungsprotokolle des Internets

Verwendet wird das Client-Server-Modell:

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, ...).

Server• Prozeß, 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.

Kommunikation im WWW

Page 59: Schicht 7 Anwendungsprotokolle des Internets

• Das Standardprotokoll zwischen einem Webserver und einem -client ist das Hypertext Transfer Protocol (HTTP).

• Die Standardsprache für Webdokumente ist die Hypertext Markup Language(HTML).

• Jede Webseite ist über eine einzigartige URL (Uniform Resource Locator) erreichbar (z.B. http : // www-i4.informatik.rwth-aachen.de/education/tcpip).

• WWW steht für World Wide Web und meint damit die weltweite Vernetzung der Informationen und Dokumente.

WWW, HTML, URL und HTTP

Page 60: Schicht 7 Anwendungsprotokolle des Internets

Network

Intermediate Systems

http request chainhttp response chain

• TCP-Verbindung• Kommunikation über HTTP• Benutzung verschiedener Systeme• Optimierung mittels Proxy

HTTP Client

HTTP Proxy HTTP Server

WWW, HTTP und Proxies

Page 61: Schicht 7 Anwendungsprotokolle des Internets

HTTP

• verwendet den TCP-Port 80

• definiert die zulässigen Anfragen und Antworten

• ist ein ASCII-Protokoll

• unterstützt persistente und nicht-persistente Übertragung

Bei der Anforderung einer Webseite durch den Browser...

• fragt dieser den DNS nach der IP-Adresse zum Host

• gibt der DNS diese zurück

• baut der Browser zur IP-Adresse mit Port 80 eine TCP-Verbindung auf

• sendet er den GET-Befehl zu der angegebenen Datei

• Der Server sendet diese Datei

• Die Verbindung wird getrennt, der Browser zeigt die Datei an

• Für jedes eingebettete Objekt wird neue TCP-Verbindung zum entsprechenden Server aufgebaut

HTTP

Page 62: Schicht 7 Anwendungsprotokolle des Internets

GET http://server.name/path/file.type

command URL

protocol

HTTP server domain name

path namefile name

GET http : // www-i4.informatik.rwth-aachen.de/education/tcpip

HTTP - Nachrichtenformat

Page 63: Schicht 7 Anwendungsprotokolle des Internets

Aufruf von http : // www-i4.informatik.rwth-aachen.de/education/tcpip

PCBowserTCP/IP-Netz

DNS antwortet

Browser fragt DNS nach der IP-Adresse des Servers

Browser sendet das Kommando GET/education/tcpip

Browser öffnet eine TCP-Verbindung zu Port 80 des Rechners

WWW-Server schickt die Datei tcpip.html zurück

Verbindung wird wieder abgebaut.

DNS-Server

WWW-Server

Surfen im Internet

Page 64: Schicht 7 Anwendungsprotokolle des Internets

HTTP Request Header

method URL versionsp sp cr lfheader field name : value cr lfheader field name : value cr lf

header field name : value cr lf

::

cr lf

data

Request line: notwendiger Teil, z.B.

GET server.name/path/file.type

Header lines: optional, weitere Angaben zum Host/Dokument, z.B.

Accept-language: fr

Entity Body: optional. Weitere Angaben, falls der Client Daten überträgt (POST-Method)

HEAD-Method: der Server antwortet zwar, überträgt aber die erfragten Daten nicht (Debugging)

Page 65: Schicht 7 Anwendungsprotokolle des Internets

HTTP Response Header

version status code phrasesp sp cr lfheader field name : value cr lfheader field name : value cr lf

header field name : value cr lf

::

cr lf

data

Status line: status code und phraseübertragen das Ergebnis einer Anfrage und eine zugehörige Meldung, z.B.

200 OK400 Bad Request404 Not Found

Gruppen von Status-Meldungen:1xx: Nur zur Information2xx: Erfolgreiche Anfrage

3xx: Umleitung, es müssen weitere erforderliche Aktivitäten durchgeführt werden4xx: Client-Fehler (Syntax)5xx: Server-Fehler

Entity Body: erfragte Daten

Page 66: Schicht 7 Anwendungsprotokolle des Internets

Serverz.B.HTTP

Caching von WWW-Seiten• 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.

Unterstützung bei der Verwendung zusätzlicher Protokolle• Ein Browser ermöglicht auch Zugriff auf FTP-, News-, Gopher- oder TELNET-

Server 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).

HTTPBrowser

ProxyServer Internet

Ein Proxy ist mehreren Browsern vorgelagert!Nimmt ihnen Aufgaben (Komplexität) ab und macht das Laden von Seiten effizienter!

Proxy Server

Page 67: Schicht 7 Anwendungsprotokolle des Internets

SNMP - Simple Network Management Protocol

Ausgedehnte Netze, viele Hosts und Router...

... Wie diagnostiziert bzw. lokalisiert man Fehler?

Systematische Methode zur Überwachung und Verwaltung eines Rechnernetzes:

Simple Network Management Protocol (SNMPv2)

Management-Station Host Router Drucker

SNMP-Protokoll

Verwaltete Geräte

Bridge

A

A

A AAgentM

Management-Prozeß

Page 68: Schicht 7 Anwendungsprotokolle des Internets

• standardisierte Kommunikation zwischen Manager und Agent• der Knoten besitzt mehrere “Managed Objects“ (Zustandsvariablen)• der Knoten ist eine physikalische, logische oder Applikationsressource

Manager ManagedObjects

Knoten

Kommunikation

SNMP - Simple Network Management Protocol

Page 69: Schicht 7 Anwendungsprotokolle des Internets

SNMP - Simple Network Management Protocol

SNMP definiert die Informationen (und deren Format), die jeder Agententyp bereitstellen muß, in ASN.1.

Die Sammlung aller möglichen Objekte innerhalb eines Netzes ist eine Datenstruktur: Management Information Base, MIB.

Das SNMP-Protokoll definiert die Interaktion der Managementstation mit den Agenten.

Proxy-Agenten zur Überwachung von Geräten, die selbst keinen Agenten bereitstellen.

Page 70: Schicht 7 Anwendungsprotokolle des Internets

• TCP ermöglicht den transparenten, interaktiven Gebrauch von „entfernten“ Maschinen

• verbreitetes Protokoll: TELNET, welches auf einer Client/Server-Kommunikation basiert

• Ein „Pseudo-Terminal“ des Servers interpretiert Zeichen, als kämen sie von der eigenen Tastatur

• bei Antwort des Servers umgekehrter Weg (Pseudo-Teminal fängt Antwort ab, leitet sie über TCP an den Client weiter, der die Ausgabe am Bildschirm macht

• Benutzername und Passwort werden unverschlüsselt übertragen

Telnet - Entferntes Arbeiten

Page 71: Schicht 7 Anwendungsprotokolle des Internets

• rlogin ist eine sehr flexible Alternative zu Telnet.

• Vorteile gegenüber TELNET:– Bei rlogin auf einem Trusted Host entfällt die Abfrage des Passworts.– Da ausschließlich unter Unix verwendet, vereinfacht sich die

Kommunikation zwischen Client und Server: beide Seiten kennen soetwas wie Standard Input und Output, Standard Error ...

– Umgebungsvariablen des Benutzers (z.B. Terminaltyp) werden automatisch übertragen, so daß entfernte Sitzungen große Ähnlichkeit mit lokalen Sitzungen haben.

• rsh ist eine Variante von rlogin:– Ziel: Auf einfache Art und Weise einzelne Kommandos auf der Remote

Machine auszuführen ( rsh machine command ).– Automatische Authentifizierung erlaubt die Benutzung nicht nur interaktiv,

sondern auch aus Programmen heraus (ohne Passwortabfrage).

rlogin und rsh als Alternative zu Telnet