Upload
ngotram
View
224
Download
0
Embed Size (px)
Citation preview
Systemprogrammierung
Vortrag über Protokolle im Internet
27.05.200827.05.2008Michael Schmid Michael Schmid
[email protected]@sigmapert.com 22
AgendaAgenda
� Motivation� Projektaufgabe� Projektgruppe� Projektaufteilung� Einführung Protokolle im Internet� IETF� RFC� Abschließende Bemerkungen� Literatur/Hyperlinks� Ende
27.05.200827.05.2008Michael Schmid Michael Schmid
[email protected]@sigmapert.com 33
MotivationMotivation
� Täglicher Gebrauch der Protokolle im Internet
� Funktion meinst unbekannt
� Jetzt sorgen wir für Klarheit ☺
27.05.200827.05.2008Michael Schmid Michael Schmid
[email protected]@sigmapert.com 44
ProjektaufgabeProjektaufgabe
�� Protokolle im InternetProtokolle im InternetSMTP, FTP, TELNET, HTTPSMTP, FTP, TELNET, HTTP
27.05.200827.05.2008Michael Schmid Michael Schmid
[email protected]@sigmapert.com 55
ProjektgruppeProjektgruppe
�� Diplomstudent Christian Krieger Diplomstudent Christian Krieger [email protected]@gmx.at
�� Diplomstudent Michael Schmid Diplomstudent Michael Schmid [email protected]@sigmapert.com
27.05.200827.05.2008Michael Schmid Michael Schmid
[email protected]@sigmapert.com 66
ProjektaufteilungProjektaufteilung
�� Diplomstudent Michael SchmidDiplomstudent Michael SchmidEinfEinfüührung und IETF&RFC (Framework)hrung und IETF&RFC (Framework)
�� Diplomstudent Christian KriegerDiplomstudent Christian KriegerProtokolle im InternetProtokolle im Internet
•• SMTPSMTP•• FTPFTP•• TELNETTELNET•• HTTPHTTP
27.05.200827.05.2008Michael Schmid Michael Schmid
[email protected]@sigmapert.com 77
EinfEinfüührung Protokolle im Internet Ihrung Protokolle im Internet I
� Was ist ein Protokoll?
� Der Typische Aufbau eines Protokolls
� Einsatz von Protokolle
� OSI-Schichtenmodell
� Historie der Protokolle
27.05.200827.05.2008Michael Schmid Michael Schmid
[email protected]@sigmapert.com 88
EinfEinfüührung Protokolle im Internet IIhrung Protokolle im Internet II
� Was ist ein Protokoll?
� Ein Netzwerkprotokoll ist eine exakte Vereinbarung (Protokoll), nach der Daten zwischen Computern bzw. Prozessen ausgetauscht werden, die durch ein Netz miteinander verbunden sind (verteiltes System). Die Vereinbarung besteht aus einem Satz von Regeln und Formaten (Syntax), die das Kommunikationsverhalten der kommunizierenden Instanzen in den Computern bestimmen (Semantik).
27.05.200827.05.2008Michael Schmid Michael Schmid
[email protected]@sigmapert.com 99
EinfEinfüührung Protokolle im Internet IIIhrung Protokolle im Internet III
� Der Typische Aufbau eines Protokolls
� Aufbau eines Datenpakets :� Absender und Empfänger
� Typ des Pakets (z.B. Verbindungsaufbau, Nutzdaten oder Verbindungsabbau)
� Paketlänge
� Prüfsumme
� Header | Nutzdaten | Trailer
27.05.200827.05.2008Michael Schmid Michael Schmid
[email protected]@sigmapert.com 1010
EinfEinfüührung Protokolle im Internet IVhrung Protokolle im Internet IV
� Einsatz von Protokolle
� Bekannteste Nutzung von Protokollen findet man im Internet
Anwendung – (Protokollbezeichnung):� Das Laden von Webseiten – (HTTP oder HTTPS)
� Verschicken von E-Mails – (SMTP)
� Herunterladen von Dateien – (FTP, HTTP oder HTTPS)
� Die Funktionen der Protokolle bauen zum Teil aufeinander auf. Das Protokoll SMTP zum Übermitteln von E-Mails benötigt wiederum die Funktion, Daten zu versenden und setzt dazu auf das Transmission Control Protocol (TCP) auf.
� Dieses schichtweise Aufeinander aufbauen der Protokolle wird mit Hilfe des OSI-Schichtenmodells dargestellt.
27.05.200827.05.2008Michael Schmid Michael Schmid
[email protected]@sigmapert.com 1111
EinfEinfüührung Protokolle im Internet IVhrung Protokolle im Internet IV
� OSI-Schichtenmodell
� Von der International Organization for Standardization (ISO) genormtes 7 Schichten-Modell.
� Offene Kommunikation zwischen verschiedenen Netzwerkgeräten unterschiedlicher Hersteller.
� Die meisten frei nutzbaren Netzwerkprotokolle basieren auf diesem Referenzmodell.
� Bekannteste Netzwerkprotokolle ist TCP/IP.
27.05.200827.05.2008Michael Schmid Michael Schmid
[email protected]@sigmapert.com 1212
EinfEinfüührung Protokolle im Internet VIhrung Protokolle im Internet VI
� OSI-Schichtenmodell
� Schicht 7: Anwendungsschicht (Application Layer)
� Schicht 6: Darstellungsschicht (Presentation Layer)
� Schicht 5: Sitzungsschicht (Session Layer)
� Schicht 4: Transportschicht (Transport Layer)
� Schicht 3: Netzwerkschicht (Network Layer)
� Schicht 2: Verbindungsschicht (Link Layer)
� Schicht 1: Physikalische Schicht (Physical Layer)
27.05.200827.05.2008Michael Schmid Michael Schmid
[email protected]@sigmapert.com 1313
EinfEinfüührung Protokolle im Internet Vhrung Protokolle im Internet V
� Historie der Protokolle
� 1968 wurde vom amerikanischen Verteidigungsministeriums (Department of Defense, DoD) die ersten Erkenntnisse über die Funktionsweise von Rechnernetzen gewonnen.
� 1969 Beginn Advanced Research Projects Agency Network (ARPANET)-Projekt.
� 1972 wurde ARPANET in der Öffentlichkeit vorgestellt und in den Folgejahren stetig weiter ausgebaut.
� Ab 1983 hatten sich die TCP/IP-Protokolle durchgesetzt.� Aus dem ARPANET wurde für militärische Belange ein separates
Netz abgeteilt, das MILitary NETwork (MILNET).� Mit TCP/IP etablierte sich ein Standard zuverlässiger und
leistungsfähiger Datenübertragung.� Die massenhafte kommerzielle Verwertung begann.
27.05.200827.05.2008 1414
Spezielle Protokolle Spezielle Protokolle � SMTP� FTP� TELNET� HTTP
27.05.200827.05.2008 1515
Spezielle Protokolle ISpezielle Protokolle I� SMTP
� SMTP-Befehle
27.05.200827.05.2008 1616
SMTP BefehleSMTP Befehle
SMTP-Kommando Be schreibung
HELO/EHLO
(Hello/Extended Hello)
HELO bzw. EHLO startet die SMTP-Sitzung undidentifiziert den Client am Server.
MAIL MAIL leitet die Mailübertragung ein und liefertgleich die Absender-Adresse mit.
RCPT (Recipient) RCPT gibt die Adresse eines oder mehrereEmpfänger an. Dieses Kommando kann deshalbgekennzeichnet.
RSET (Reset) Mit RSET wird die bereits eingeleiteteMailübertragung abgebrochen. Die Verbindungzwischen Client und Server bleibt bestehen.
VRTY (Verify) Mit VRFY kann die Empfänger-Adresse überprüftwerden.
EXPN (Expand) Die meisten MTAs behandlen EXPN wie VRFY.NOOP NOOP bewirkt eine Antwort vom Server. DamitNOOP NOOP bewirkt eine Antwort vom Server. Damit
wird die Verbindungstrennung durch einenTimeout verhindert.
QUIT QUIT beendet die Verbindung zum SMTP-Server.Der Server liefert eine letzte Antwort zurück.
27.05.200827.05.2008 1717
Spezielle Protokolle IISpezielle Protokolle II� FTP
� Fakten� FTP-Verbindung� FTP Active/Passive Mode
27.05.200827.05.2008 1818
FTP FTP -- FaktenFakten
• Entwickelt 1971 am M.I.T. als Filetransfer Mechanismus (RFC114)
• Später, definiert als Protokoll zur Dateiübertragung zwischenHost-Rechnern und dem ARPANET (RFC354)
• Seit 1985 bis Heute ein Internetprotokoll zur Kommunikationmit einem Internetserver um Dateien hoch- bzw. herunter zuladen
27.05.200827.05.2008 1919
FTP VerbindungsaufbauFTP Verbindungsaufbau
� Authentifizierung des Benutzers� Aufbau Steuerkanal über Port 21� Aufbau Datenkanal über Port 20� Eigentliche Datenübertragung� Verbindungsabbau durch Client oder Server
27.05.200827.05.2008 2020
FTP FTP –– ActiveActive--ModeMode
27.05.200827.05.2008 2121
FTP FTP –– PassivePassive--ModeMode
Active Mode Passive Mode
27.05.200827.05.2008 2222
FTP BeispielFTP BeispielStatus: Auflösen der IP-Adresse für ftp.heise.de
Status: Verbinde mit 193.99.144.79:21...
Status: Verbindung hergestellt, warte auf Willkommensnachricht...
Antwort: 220 Hallo auf ftp.heise.de.
Befehl: USER anonymous
Antwort: 331 Please specify the password.
Befehl: PASS **************
Antwort: 230 Login successful.
Befehl: SYST
Antwort: 215 UNIX Type: L8
Befehl: FEAT
Antwort: 211-Features:
Antwort: EPRT // Extended Data port.
Antwort: EPSV // Extended Passive.
Antwort: MDTM // File modification time.
Antwort: PASV // Passive mode.
Antwort: REST STREAM // Restart of interrupted transfer.
Antwort: SIZE
Antwort: TVFS
Antwort: 211 End
Status: Verbunden
Status: Empfange Verzeichnisinhalt...
Befehl: PWD
Antwort: 257 "/"
Befehl: TYPE I
Antwort: 200 Switching to Binary mode.
Befehl: PASV
Antwort: 227 Entering Passive Mode (193,99,144,79,159,185)�
Befehl: LIST
Antwort: 150 Here comes the directory listing.
Antwort: 226 Directory send OK.
Status: Berechne Zeitzonenabweichung des Servers...
Befehl: MDTM ls-lR
Antwort: 213 20080517004043
Status: Zeitzonenabweichungen: Server: 0 Sekunden.
Lokal: 7200 Sekunden. Differenz: 7200 Sekunden.
27.05.200827.05.2008 2323
Spezielle Protokolle IIISpezielle Protokolle III� TELNET (Telecommunication Network)�
� Arbeitsweise des TELNET-Protokolls� TELNET in der Praxis
Sinn: bidirektionale, 8-bit-pro-Byte-orientierte Kommunikation
27.05.200827.05.2008 2424
TELNET ArbeitsweiseTELNET Arbeitsweise
�Zugriff auf einen anderen Computer�Kommandozeilenorientiert�Unsicher�Echo-Funktion�Verbindung zu anderen Internetdiensten�(Putty ist ebenfalls ein telnet Programm)�
27.05.200827.05.2008 2525
TELNET ArbeitsweiseTELNET Arbeitsweise
Befehle:� * help oder ? - Gibt eine Liste der möglichen Befehle aus,
mit "help befehl" gibt es nähere Informationen zu dem Befehl� * chmod 755 dateiname.ext - Ändert den Zugriffsstatus.� * locate pfadname/dateiname - Locate gefolgt von einem� * Verzeichnisnamen oder einem Dateinamen findet dieses
auf dem Server. Beispiele: locate sendmail, locate date, locate� * pwd - Zeigt Ihnen, wo Sie sich augenblicklich befinden� * mkdir - erstellt ein Verzeichnis� * mutt - startet den Email-Client
27.05.200827.05.2008 2626
TELNET PraxisTELNET Praxis
27.05.200827.05.2008 2727
Spezielle Protokolle IVSpezielle Protokolle IV� HTTP
� HTTP-Adressierung� HTTP-Methoden� HTTP-Request� HTTP-Response
27.05.200827.05.2008 2828
HTTP AdressierungHTTP Adressierung
http://www.informatik.fh-wiesbaden.de
�Http:// - Gibt das verwendete tranfer Protokoll an�Www - World Wide Web�Informatik. - Unterdomainname�Fh-wiesbaden - Hauptdomainname�.de - Top Level Domain
27.05.200827.05.2008 2929
HTTP MethodenHTTP Methoden
27.05.200827.05.2008 3030
HTTP RequestHTTP RequestAnfrage des http Clients an den Server
Darunter: Get, Post, Head, Put, Delete,Link,Unlink,Trace
Get Request
GET /index.php HTTP/1.1Host: www.html-world.deUser-Agent: Mozilla/4.0Accept: image/gif, image/jpeg, */*Connection: close
<form action="/send.php" method="post">Vorname: <input type="text" name="vorname" value="Max"><br> Name: <input type="text" name="name" value="Mustermann"><br> E-Mail: <input type="text" name="mail" value="[email protected]"><br><input type="submit" value="Abschicken"></form>
Post
27.05.200827.05.2008 3131
HTTP ResponseHTTP Response
Dient zur Rückverfolgung eines request bzw. response
Trace
Proxys hinterlassen einen Vermerk im Header
TRACE / HTTP/1.1Host: server.deMax-Forwards: 3Via: 1.1 Proxy_1, 1.1 Proxy_2
27.05.200827.05.2008 3232
AbschlieAbschließßende Bemerkungende Bemerkung
Protokolle werden selten weiterentwickelt
FTP wurde inzwischen mit der SecureShell zu SFTP(ältere Systeme laufen aber weiterhin mit FTP) �
TELNET wurde durch SSH abgelöst
SMTP wird ersetzt duch SMTPS
HTTPS als Zusatz zum HTTP
27.05.200827.05.2008Michael Schmid Michael Schmid
[email protected]@sigmapert.com 3333
IETF IIETF I
� Was ist die IETF?
� Wie gliedert sich die IETF?
27.05.200827.05.2008Michael Schmid Michael Schmid
[email protected]@sigmapert.com 3434
IETF IIIETF II
� Was ist die IETF?
� Die Internet Engineering Task Force (IETF) ist die zentrale Organisation zur technischen Entwicklung und Standardisierung des Internets.
� Die locker organisierte Gruppe arbeitet in erster Linie mit elektronischen Medien, die meisten Konversationen finden per Mail statt.
� Dreimal in jedem Jahr treffen sich die an der Arbeit interessierten Techniker aus aller Welt an wechselnden Standorten, meist in den USA.
� Die IETF ist eine selbst organisierte Gruppe von Personen, die technisch oder in anderer Art zur Entwicklung und zum Bestand des weltweiten Internets beitragen. Aus dieser Gruppe heraus wurden und werden nahezu alle heute im Internet verwendeten Standards entwickelt.
� Die IETF startete ihre Aktivitäten 1986 als kleine, meist akademisch ausgerichtete Gruppe. Bei der ersten Sitzung 1986 waren nur 15 Personen anwesend. Nach kurzer Zeit kamen Vertreter kommerziell am Internet interessierter Firmen und Anbieter hinzu. Das Interesse an einer Mitwirkung im Rahmen der IETF wuchs von Jahr zu Jahr.
� Beim Treffen in Minneapolis im Frühjahr 2002 wurden 1800 Teilnehmer gezählt. Zu Zeiten der New Economy über 3000 Interessierte.
27.05.200827.05.2008Michael Schmid Michael Schmid
[email protected]@sigmapert.com 3535
IETF IIIIETF III
� Wie gliedert sich die IETF?
� Die IETF ist in Bereiche (Areas) gegliedert, die sich jeweils um einen technischen Themenkomplex kümmern.
� Dazu kommt noch ein Bereich, der sich mit allgemeinen organisatorischen Belangen beschäftigt.
� Innerhalb der Bereiche befassen sich Arbeitsgruppen mit den jeweils anliegenden Themen.
� Arbeitsgruppen werden nach Bedarf gegründet, nachdem sie ihre geplanten Aufgaben dargestellt und hinreichend Interesse und Teilnehmer gefunden haben.
27.05.200827.05.2008Michael Schmid Michael Schmid
[email protected]@sigmapert.com 3636
RFC IRFC I
� RFC-Definition
� RFC-System
� RFC-Beispiele
27.05.200827.05.2008Michael Schmid Michael Schmid
[email protected]@sigmapert.com 3737
RFC IIRFC II
� RFC (Request for Comments)-Definition
� Im Zusammenhang mit Internet-Standards fällt immer der Begriff RFCs. Dabei muss man beachten, dass nahezu alle Internet-Standards als RFCs veröffentlicht wurden, aber nur ein kleiner Teil der RFCs als ein Standard von einem offiziellen Normungsgremium verabschiedet wurde.
� Viele RFCs sind Texte, die technische Vorgänge, also Protokolle, behandeln, die für die Zusammenarbeit unterschiedlicher Systeme unentbehrlich sind.
� Konkret sind RFCs eine Sammlung durchnummerierter Dokumente, die einen Bezug zum Internet haben und von der IETF herausgegeben werden.
27.05.200827.05.2008Michael Schmid Michael Schmid
[email protected]@sigmapert.com 3838
RFC IIIRFC III
� RFC-System
� RFC steht für Request for Comments, übersetzt: Bitte um Kommentare.
� Wird die technische Beschreibung zu einem RFC geändert, dann wird dazu ein neuer RFC mit einer neuen Nummer geschrieben und veröffentlicht.
� Die Einführung eines Systems wie RFC wurde nötig, weil sich die Internet-Protokolle schneller weiterentwickelten, als ein offizieller Standardisierungsprozess gebraucht hätte. Erst später wurden wichtige elementare und nachhaltige RFCs als offizieller Standard verabschiedet. Tatsächlich erreichen nur wenige RFCs den Standard-Status.
� Die an einem RFC mitwirkenden Personen und Gruppen konzentrieren sich in der Regel auf die Verbesserung des Protokolls, als Zeit für den Standardisierungsprozess zu investieren.
27.05.200827.05.2008Michael Schmid Michael Schmid
[email protected]@sigmapert.com 3939
RFC IVRFC IV
� RFC-Beispiele
� SMTPAlt: RFC 0821 von August 1982Neu: RFC 2821 von April 2001
� FTPAlt: RFC 0114 von April 1971Neu: RFC 2640 von Juli 1999
� HTTPAlt: RFC 1945 von Mai 1996 (HTTP/1.0)Neu: RFC 2616 von Juni 1999 (HTTP/1.1)
� TELNETRFC 0854 von Mai 1983
27.05.200827.05.2008Michael Schmid Michael Schmid
[email protected]@sigmapert.com 4040
AbschlieAbschließßende Bemerkungende Bemerkung
� Framework bildet eine etwas trockene Materie ab.
� Es hat dennoch Spaß gemacht sich mit derartigen Dingen zu beschäftigen da …
� … die Standardisierung sehr wichtig in unserem Berufszweig ist.
� Download: http://www.sigmapert.com/FH/Vortrag.pdf
27.05.200827.05.2008Michael Schmid Michael Schmid
[email protected]@sigmapert.com 4141
Literatur/Hyperlinks
� Dr. Manfred Weiss (Hg.): TCP/IP Handbuch, Franzis Verlag, Poing, Deutschland, 2002, ISBN 3-7723-5026-7.
� http://www.selflinux.org/
� http://de.wikipedia.org/
� http://www.ietf.org/
� http://www.elektronik-kompendium.de/
� http://www.rfc-editor.org/