FH Rosenheim - EIT Versuch 8 Praktikum Informatik I M. Usyk Internet, Teil 1 In dieser Übung lernen Sie • Viel theoretisches • Einiges praktisches..... Vorbereitung • Vor dem Versuch muss alles bis auf die Übungsteile durchgelesen werden 1 Internetdienste und Allgemeines 1.1 Die logische Internet-Architektur Die Internet-Infrastruktur muss in der Lage sein, eine ganze Reihe von komple xen Aufgaben zuverlässig und effizient zu erfüllen. So hat sie die Aufgabe, eine Vielzahl von Netzen, unabhängig von der jeweiligen zugrunde liegenden Hardware-Technologie, miteinander zu verbinden. Da es nicht möglich ist, jedes Netzwerk mit jedem zu verbinden, muss die Kommunikation auch indirekt über unbeteiligte dritte Netzwerke möglich sein. Und schließlich müssen alle Teilnehmer des Internet eine gemeinsame, einheitliche Adressenstruktur benutzen, die eine rasche und eindeutige Identifizierung von Sender und Empfänger ermöglicht. Mit dem im Internet benutzten Kommunikations protokolls IP (Internet Protokoll) können alle drei Forderungen erfüllt werden (Abb. 1). Abb. 1: Die Grundfunktionen der logischen Netzwerkarchitektur des Internet Das Basiskommunikationsprotokoll im Internet wie auch zunehmend in Intranets (Lokalen Netzen) ist das Internet-Protokoll. Es stellt mit seiner Adressen-Struktur und seinen Übertragungsmechanismen die Grundlage für den gesamten Datentransport dar. Zur effizienten Vermittlung der Datenpakete in sehr großen und komplexen Netzen wurden über das IP -Protokoll hinaus spezielle Vermittlungs- (Routing)-Protokolle definiert. Die Ankopplung von privaten Datennetzen an die Netze der Internet-Service-Provider (ISP) - und in weiterer Folge - das Internet erfolgt im professionellen Bereich in der Regel über einen Begrenzungsrouter und eine Firewall. Der Begrenzungs-Router hat die Aufgabe, das interne lokale Netz (z.B. Ethernet) an die Datenle itung zum ISP anzukoppeln. Er besitzt demnach zumindest ein LANF-Port (Ethernet, Token-Ring oder FDDI) und ein WAN-Port (ATM, ISDN oder Modem). Zwischen Begrenzungsrouter und Firewall befinden Versuch 8 Internet, Teil 1 1 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk sich die Informationsserver (Web-Server, FTP-Server) sowie der Domain-Name-Server. Der Domain-NameServer dient zur Umsetzung der nume rischen Internet-Adressen (z.B. 141.60.190.140) in die entsprechenden Domain-Namen (ntrc12406.e.fh-rosenheim.de). Jeder Internet-Host ist verpflichtet, mindestens zwei unabhängige Domain-Name-Server (Primary und Secondary DNS) zu führen. Dem Begrenzungsrouter nachgeordnet ist das Firewallsystem, welches - je nach Typ unterschiedlich - auf TCP/IP oder auf Applikationsebene eine Trennung zwischen internem und externen Netz darstellt. Hinter dem Firewallsystem befinden sich schließlich die Benutzer sowie der Mail-Server, der zum Empfang, zur Verteilung und zur Versendung von E-Mails dient. Private Internetnutzer sind im Unterschied dazu meist ohne Zwischenkomponenten direkt über ein Modem oder eine ISDN-Karte an die Service-Provider-Netze angebunden. Aufbauend auf der IP -Infrastruktur werden mit Hilfe der Sicherungsschicht TCP (Transport Control Protocol) bzw. UDP (User Datagram Protocol) die eigentlichen Internetdienste wie E-Mail, WWW, FTP, Telnet, oder Domain-Name-Services mit Hilfe eigener Protokolle realisiert. Sie basieren alle auf dem Client-ServerPrinzip, so dass es für jeden der genannten Dienste sowohl Server- als auch Client-Applikationen gibt. 1.2 OSI-7-Schichten-Modell Die Regeln, nach denen die Kommunikation zwischen Computersystemen abläuft, werden als Protokoll bezeichnet. In der Regel sind diese Protokolle in Module unterteilt, wobei jedes Modul eine bestimmte Aufgabe innerhalb des Kommunikationsprozesses zu erfüllen hat (z. B. Verbindungsaufbau, Datenübertragung, Fehlerkorrektur, etc.). Die Funktionen der einzelnen Module wurden 1983 von der »Internationalen Standard Organisation« (ISO) standardisiert, und ihre Anzahl auf sieben festgelegt. Man spricht daher vom OSI-7Schichten-Modell (Abb. 2): OSI-Schicht 1 Die Bitübertragungsschicht (Physical Layer) RS-2~2, RS-449, Ethernet-Schicht-1, etc. OSI-Schicht 2 Die Sicherungsschicht (Data Link Layer) HDLC, SDLC, LAP, 802.2 LLC, etc. OSI-Schicht 3 Die Vermittlungsschicht (Network-Layer) IP, X.25, ARP (Adress Resolution Protocol), IPX etc. OSI-Schicht 4 Die Transportschicht (Transport-Layer) TCP, UDP, XNS, ATP (Apple Talk Transaction Protocoll) etc. OSI-Schicht 5 Die Sitzungsschicht (Session-Layer) DNS-Distributed Name Service, NetBIOS, NetBEUI etc. OSI-Schicht 6 Die Darstellungsschicht (Presentation-Layer) 3270 Codierung, SCS/SNA Character Stream, IPDS-lntelligent Printer Data Stream etc. OSI-Schicht 7 Die Anwendungsschicht (Application-Layer) FTP, Telnet, SMTP, IBM SNA, Novell NCP etc. Abb. 2: Das OSI-7-Schichten-Modell Versuch 8 Internet, Teil 1 2 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk OSI-Schicht-1: Die Bitübertragungsschicht (Physical Layer) Die Bitübertragungsschicht legt die elektrischen und mechanischen Parameter einer Kommunikationsbeziehung fest. Dazu gehören beispielsweise Spannungspegel, Datenübertragungsrate, Stecker, etc. Die Bitübertragungsschicht für die serielle Druckerschnittstelle eines Personalcomputers ist zum Beispiel durch die Schnittstellen-Spezifikation RS-232 festgelegt. Eine RS-232-Schnittstelle benutzt demnach eine Schwellenspannung von ± 3 Volt bei einer maximalen Datenübertragungsrate von 20 KBit/s und einem DB-25 Datenstecker. Das Vorhandensein einer Schicht-1-Verbindung ist somit die Voraussetzung für je gliche Kommunikation. OSI-Schicht-2: Die Sicherungsschicht (Data Link Layer) Die Sicherungsschicht hat die Aufgabe, die zu versendenden Daten in sogenannte Datenpakete aufzuteilen. Zu diesem Zweck werden bestimmte Bitmuster eingefügt, die das Erkennen von Anfang und Ende dieser Datenpakete ermöglichen. Werden Datenpakete nicht oder nur unvollständig übertragen, so sorgt die Sicherungsschicht für die wiederholte Übertragung der verlorengegangenen Daten. OSI-Schicht-3: Die Vermittlungsschicht (Network Layer) Die wichtigste Aufgabe der Vermittlungsschicht ist die Auswahl der Übertragungswege für die Datenpakete. In den weitverzweigten Strukturen des Internet gibt es eine Vielzahl von Übertragungswegen, die ein Datenpaket zu ein und demselben Ziel führen können. Die Vermittlungsschicht wählt nun nach Kriterien wie Übertragungszeit, Auslastung des Übertragungsweges usw. den optimalen Weg für die Datenpakete aus. OSI-Schicht-4: Die Transportschicht (Transport Layer) Die Transportschicht übernimmt die Daten der ihr übergeordneten Sitzungsschicht, passt sie an die Formate der OSI-Schicht-3 an und reicht sie an diese weiter. OSI-Schicht-5: Die Sitzungsschicht (Session Layer) Bei sogenannten Multi-User-Systemen haben mehrere Nutzer gleichzeitig die Möglichkeit, ein und denselben Computer zu benutzen. Die Aktivität jedes Benutzers wird dabei als Sitzung (Session) bezeichnet. Die Kommunikation von Sessions mit der Außenwelt wird von der Sitzungsschicht administriert. OSI-Schicht-6: Die Darstellungsschicht (Presentation Layer) Die Darstellungsschicht konvertiert die internen Darstellungsformate von Computersystemen (z. B. Ze ichencodes wie ASCII, EBCDIC, etc.) in die Standarddarstellung der Kommunikationsbeziehung bzw. des Netzwerkes. Dies erspart dem Benutzer die manuellen Einstellungen und Anpassungen des eigenen Systems an die Netzwerkstandardeinstellungen. OSI-Schicht-7: Die Anwendungsschicht (Application Layer) Die Anwendungsschicht beinhaltet schließlich die Dienstprogramme für die verschiedenen Funktionen, die über die Kommunikationsbeziehung bzw. das Netzwerk realisiert werden sollen. Dazu gehören beispielsweise Terminalprogramme, elektronische Post oder Dateitransfers. 1.3 Die DoD-TCP/IP-Protokollsuite Das Kommunikationsprotokoll im Internet ist jedoch das TCP/IP -Protokoll. Die Entwicklung der DoDTCP/IP -Protokollfamilie reicht bis in die frühen 70er Jahre zurück. Zum damaligen Zeitpunkt waren internationale Standardisierungsbestrebungen zur Bildung „offener Netze“ noch nicht gegeben, und das siebenschichtige OSI-Modell war noch nicht geboren. Also musste das Department of Defense (Amerikanisches Verteidigungsministerium), als Betreiber eines riesigen Rechnernetzes mit gemischter Umgebung, selbst die Initiative ergreifen. Noch heute ist das DARPAnet (ca. 150 Teilnetze) das größte herstellertunabhängige Netz mit überregionaler Ausdehnung dar. Die Anforderungen an das Netz wurden den damaligen Notwendigkeiten gerecht: Einbindung von Rechnern und Endgeräten über einheitliche Prozeduren mit Vermittlungsfunktion an Netze mit unterschiedlicher Topologie. TCP/IP (Internet Protocol Suite) und DoD-Architektur: Da es keine universelle Übereinstimmung darüber gibt, wie die TCP/IP -Protokolle in einem ISO-OSISieben-Schichtenmodell den jeweiligen Schichten zuzuordnen, werden die TCP/IP-Protokolle in einem Schichtenmodell dargestellt, das weniger Schichten umfasst. Viele Beschreibungen der TCP/IP-Protokolle Versuch 8 Internet, Teil 1 3 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk definieren drei bis fünf funktionelle Schichten in der Protokollarchitektur. Das am weitesten verbreitete VierSchichten (DOD = Department of Defense) Modell benennt folgende vier Schichten (englische Bezeichnungen in Klammern): Schicht 4 Anwendung (Application) Schicht 3 Rechner-zu-Rechner (Transport) Schicht 2 Internet Schicht 1 Netz-Zugang (Link) Abb. 3: DoD-TCP/IP-4-Schichtenmodell Das IP (Internet-Protocol), Layer 2 im DoD-(Department-of-Defense)-Modell entspricht dabei der OSISchicht 3. TCP/IP (Transport-Layer) entspricht der OSI-Schicht 4. Die auf dem Transport-Layer (TCP) aufbauenden Anwendungsprogramme (Telnet, FTP, WWW, etc.) fassen im Vergleich mit dem OSI-7Schichtenmodell die Schichten 5, 6 sowie 7 zusammen. DoD-Layer 1 fasst, im Vergleich mit dem ISO-7Schichten-Modell die Schichten 1 und 2 zusammen, stellt also die für das IP-Protokoll geeigneten Transportmechanismen ( z.B. Ethernet) zur Verfügung (Abb. 4). Abb. 4: Die TCP/IP Protokollfamilie Versuch 8 Internet, Teil 1 4 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk 1.4 Das Internet Protocol (IP) Wie Abb. 4 zeigt, ist das Internetprotokoll die Schlüsselkomponente der gesamten Internet-ProtokollFamilie. Aufbauend auf IP -Verbindungen, nutzen die wichtigsten Internet-Applikationen das »Transmission Control Protocol« (TCP), einige auch das »User-Datagram-Protocol« (UDP). UDP ist einfacher aufgebaut als TCP, überträgt die Daten wesentlich unzuverlässiger und ist auch aus sicherheitstechnischer Sicht als bedenklich einzustufen. Wird beispielsweise die ursprüngliche Paketreihenfolge während einer Übertragung verändert, so wird diese - im Gegensatz zu TCP - durch UDP nicht wieder hergestellt, da dieses Protokoll keinerlei Sequenznummern kennt. Weiter existiert in UDP keinerlei Mechanismus zur Bestätigung von vollständig empfangenen Paketen oder zur Anforderung einer erneuten Übertragungen verlorener Daten. Beide Funktionen sind dagegen integraler Bestandteil von TCP. Die Netzwerktopologien, über die die InternetProtokolle übertragen werden können, sind vielfältig und reichen von lokalen Netzen wie Ethernet, Token Ring, FDDI oder ATM über Weitverkehrsnetze wie X.25 und Frame Relay bis zur seriellen Übertragung via Telefonleitungen. Das Prinzip, mit dem das Internet-Protokoll Daten überträgt, wird als paketorientiert, verbindungslos und nicht garantiert bezeichnet. Paketorientiert bedeutet dabei, dass alle zu übertragenden Daten in Datenpakete zerlegt werden. Das Internet-Protokoll legt damit das Paketformat aller Übertragungen in Internet und Intranets fest. Die Pakete werden ferner verbindungslos übertragen, das heißt, dass jedes Paket für sich betrachtet wird, und die Übertragung unabhängig von vorhergehenden oder nachfolgenden Paketen erfolgt. Nicht garantiert bedeutet schließlich, dass kein Mechanismus im Internet-Protokoll vorgesehen ist, der für eine wiederholte Übertragung von verlorengegangenen Paketen sorgt. Abb. 5 zeigt das Format eines IPDatenpaketes. Die maximale Länge von IP-Datenpaketen beträgt 64.535 Byte. Je nachdem, über welche Netzwerkinfrastruktur ein IP-Datenpaket übertragen wird, kann allerdings die Notwendigkeit bestehen, dieses zu fragmentieren, also in mehrere kleinere Datenpakete aufzuspalten. In lokalen Netzen vom Typ Ethernet beträgt die maximal zu übertragende Nutzlast pro Paket beispielsweise lediglich 1500 Byte. Auch manche Gateways sind nicht in der Lage, Pakete mit der maximalen Länge von 64.535 Byte zu übertragen. Die Spezifikation des Internet-Protokolles sieht vor, dass eine Intersegmentkomponente (Router) Pakete mit einer Mindestlä nge von 566 Byte verarbeiten können muss. Jedes Paketfragment hat selbst wieder das Format eines gewöhnlichen IP-Paketes. Die Belegung der drei Felder Identifikation, Flag und Fragment-Qffset ermöglichen das Reassemblieren des ursprünglichen IP-Datenpaketes an der Zielstation. Die Fragmentierung kann durch das Setzen des ersten Flag-Bits auf den Wert Eins unterdrückt werden (Do-Not-Fragment-Bit). Kann ein Paket nicht übertragen werden, wird es verworfen. Header 600 Bytes Fragmentheader 1 600 Bytes Fragmentheader 2 600 Bytes 600 Bytes Fragment 1 (Offset 0) 600 Bytes Fragmentheader 3 Fragment 2 (Offset 600) 600 Bytes Fragment 3 (Offset 1200) Abb. 5: Das Segmentieren von IP-Datenpaketen Ein weiteres wichtiges Feld ist das Time To Live (TTL)-Byte. Dieses Feld beschränkt die maximale Zeitdauer, während der sich ein IP-Paket im Internet befinden darf. Während seiner Reise durch das Netzwerk wird der TTL-Zähler an jedem Vermittlungsknoten reduziert. Erreic ht der Zähler den Wert Null, bevor das Paket sein Ziel erreicht hat, so wird es verworfen. Auf das Prüfsummenfeld, welches zur Verifizierung der fehlerfreien Übertragung der Headerfelder dient, folgen schließlich die 32 Bit langen Internetadressen von Sender und Empfänger des Datenpaketes sowie die Nutzlast. Versuch 8 Internet, Teil 1 5 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk 1.5 Das Transmission Control Protocol (TCP) Das zweite zentrale Internet-Transportprotokoll ist das auf IP aufsetzende Transmission Control Protocol (TCP). Der wichtigste Unterschied zu IP ist, dass TCP die Daten im Rahmen einer virtuellen Verbindung »garantiert« überträgt. (Zur Erinnerung: Das Internet-Protokoll überträgt verbindungslos und nicht garantiert!). Das heißt, TCP fügt der IP -Funktionalität Mechanismen hinzu, die überprüfen, ob ein Datenpaket ta tsächlich beim Empfänger eingetroffen ist. Geht ein Datenpaket verloren, so wird seine wiederholte Übertragung angefordert. Das TCP -Protokoll teilt den zu übertragenden Datenstrom dazu zunächst in Segmente ein. Je nach Kapazität der Pufferspeicher der kommunizierenden Computersysteme wird dazu eine maximale Segmentgröße vereinbart. Die Standardsegmentgröße beträgt 536 Byte (Dies entspricht der Standard-IP-Paketlänge von 566 Byte minus den 40 IP-Header-Byte). Jedes Segment wird vor seiner Übertragung mit einer fortlaufenden Segmentnummer, welche von der Empfangsstation zu Erkennung von verlorenen Datenpaketen sowie zur Empfangsbestätigung benutzt wird, versehen. Die Empfangsbestätigung wird nicht für jedes Paket durchgeführt‘ sondern nur für jedes n-te Paket, wobei n als Fenstergröße bezeic hnet wird (Abb. 6). Abb. 6: Das Prinzip der garantierten Übertragung im TCP-Protokoll Versuch 8 Internet, Teil 1 6 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk Bei einer Fenstergröße von n kann die Sendestation n-Pakete übertragen, ohne auf eine Empfangsbestätigung der Empfängerstation zu warten. Spätestens nach dem Versenden des n-ten Paketes muss allerdings die Empfangsbestätigung für das erste Paket oder eines der danach versendeten Pakete eintreffen. Erst dann darf Paket n+l gesendet werden. Die Empfängerstation bestätigt in der Regel ganze Gruppen von Paketen. Wird zum Beispiel mit der ersten Empfangsbestätigung Paketnummer n-1 bestätigt, so gelten damit auch die Pakete 1 bis n-2 als bestätigt. Anhand der fortlaufenden Sequenznummer kann die Empfangsstation ja erkennen, ob eine empfangene Paketsequenz unvollständig ist. Ist dies nicht der Fall, so muss allerdings die gesamte Paketsequenz seit der letzten Bestätigung nochmals übertragen werden. Die Adressierung auf der Ebene von TCP erfolgt über sogenannte Sende- und Empfangsports. TCP-Ports sind dabei jene Softwareadressen, an denen sich auf TCP aufsetzende Internet-Dienstprogramme orientieren. Soll zu einer Anwendung auf einem Computer eine TCP-Verbindung aufgebaut werden, so muss daher ihre TCP-Portnummer bekannt sein. Nach dem Aufbau der Verbindung unter Angabe des betreffenden Forts wird so unmittelbar zum betreffenden Dienstprogramm verzweigt. Multitaskingfähige Computersysteme (Internet-Server) sind in der Lage, mehrere Kommunikationspr ozesse mit unterschiedlichen Dienstprogrammen gleichzeitig ablaufen zu lassen, wobei jedem Dienstprogramm eine andere Portnummer zugewiesen wird. Im öffentlichen Internet werden die Portadressen für frei zugängliche Dienste wie beispielsweise WWW oder FTP nach einem offiziellen, internetweit einheitlich festgelegten Portnummernplan vergeben (z.B. 80 für World Wide Web). Wie anders könnten sich sonst Internetteilnehmer auf einem Web-Server einloggen, wenn nicht von vornherein klar wäre, dass dieser unter der Portnummer 80 erreichbar ist. In Intranets besteht die Notwendigkeit, sich an diese »well-known« Portnummern zu halten, prinzipiell nicht. Aus Gründen der Übersichtlichkeit sollte man sich aber trotzdem an den „Well known Ports“ halten. Portnummer Protokoll Name Beschreibung 7 UDP/TCP echo EchoServer 13 20 21 23 25 53 80 110 UDP/TCP UDP/TCP UDP/TCP UDP/TCP UDP/TCP UDP/TCP UDP/TCP UDP/TCP daytime ftp-data ftp telnet smtp domain www-http pop3 Tageszeit File Transfer Protocol (FTP-Datenkanal) File Transfer Protocol (FTP-Steuerkanal) Telnet Simple Mail Transfer Protocol Domain Name Server (DNS) World Wide Web,HyperTextTransferProtocol Post Office Protocol - Version 3 Tabelle 1: Einige der gebräuchlichsten reservierten TCP-Port-Nummern 1.6 Das User Datagram Protocol (UDP) Das ebenfalls auf dem Internet-Protokoll aufsetzende User-Datagram-Protocol ist eine simplifizierte Version von TCP, und beschränkt seine Funktionalität auf die Zuordnung von Applikationen zu UDP-Portadressen. Eine garantierte Übertragung der Datenpakete in der richtigen Reihenfolge kann UDP nicht leisten. Ereignisse wie Paketverluste, Übertragungsverzögerungen oder vertauschte Paketreihenfolgen müssen von der jeweiligen auf UDP aufsetzenden Applika tion kompensiert. 1.7 Die Adressierung in IP-Netzen Die für das Internetprotokoll benutzte Adressierungsstruktur wurde mit dem Ziel geschaffen, eine möglichst effiziente Vermittlung der zu übertragenden Datenpakete über mehrere Teilnetzwerke hinweg zu gewährleisten. Die Internetadressen geben deshalb nicht nur darüber Auskunft, wer der betreffende Netzteilnehmer ist, sondern darüber hinaus auch, wo er sich befindet und über welche Übertragungswege er erreichbar ist. Jedem IP -Netzknoten wird dazu eine, im gesamten IP -Netz einmalige, 32 Bit (4 Byte) lange Internetadresse als Identifikation zugeordnet. Jede Adresse besteht dabei aus zwei Teilen: der Netzidentifikation (net-id) und der Benutzeridentifikation (host-id). Es gibt drei verschiedenen Klassen von Internetadressen: A,B, und C, die sich durch die Länge der Felder Netzidentifikation- bzw. Benutzeridentifikation unterscheiden. Die Adressklasse D bezeichnet Multicastadressen. Mit ihrer Hilfe können Datenpakete an bestimmte Gruppen von Versuch 8 Internet, Teil 1 7 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk Empfängern gesendet werden. Bestimmte Multicastadressen werden dabei wie alle anderen Internetadressen zentral vergeben, andere sind zur vorübergehenden Benutzung frei verfügbar. Adressen vom Typ E sind nicht in Verwendung (Abb. 7). Adressklasse Größe der Netzwerkadresse Größe der Benutzeradresse Anzahl der Netzwerke (theoretisch) Anzahl der Benutzer pro Netzwerk A B C 7 Bits 14 Bits 21 Bits 24 Bits 16 Bits 8 Bits 128 16.384 2.097.152 16.777.214 65.543 254 Bits 0 8 16 NetzwerkAdresse Klasse A 0 Klasse B 1 0 Klasse C 1 1 0 Klasse D 1 1 1 0 Klasse E 1 1 1 1 0 24 31 Benutzeradresse Netzwerkadresse Benutzeradresse Netzwerkadresse Benutzeradresse Multicastadressen Reserviert zur zukünftigen Verwendung Abb. 7: Die fünf Klassen von Internetadressen Die Schreibweise der Internetadressen ist derart, dass jedes Byte als Dezimalzahl dargestellt wird und durch einen Punkt vom Nachbar-Byte getrennt wird (z.B. 193.174.4.13). Jedem IP -Teilnetz wird so eine bestimmte Netzidentifikation zugeordnet. Die zu der jeweiligen Netzidentifikation gehörenden Benutzeridentifikationen werden innerhalb des Teilnetzes den jeweiligen Netzknoten zugeordnet. Der Adressraum für das öffentliche Internet wurde so strukturiert, dass die Netzidentifikation der Internetadressklasse A aus 7 Bit besteht, die der Adressklasse B aus 14, und die der Adressklasse C aus 21 Bit. Damit stehen 128 Klasse A Adressen mit je 2.094.152 Benutzeradressen, 16384 Masse B Adressen mit 65536 Benutzeradressen und 2.094.151 Klasse C Adressen mit 254 Benutzeradressen zur Verfügung. Die Zahl der zu vergebenden öffentlichen 32-Bit-Internetadressen ist somit beschränkt, und wird aufgrund des starken Wachstums des Internet in absehbarer Zeit erschöpft sein. Aus diesem Grund wurde im November 1991 vom IAB (Internet Activities Board) die ROAD-Gruppe (Routing and Addressing) gegründet, die die Aufgabe hatte, das Internetprotokoll zu überarbeiten. 1995 wurde diese verbesserte Internetprotokoll-Version (IPv6 oder IPnG next Generation) beschlossen, und wird über die nächsten Jahre zunehmend die bestehende Internet-Protokollversion IPv4 ablösen. Der Adressraum von IPv6 umfasst aufgrund der 128 Bit langen Adressen 2128 oder 1038 Adressen, womit das Problem der Adressenknappheit endgültig und auf absehbare Zeit gelöst ist. Versuch 8 Internet, Teil 1 8 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk 1.7.1 Besondere Internetadressen Einige Netzwerkadressen sind für bestimmte Funktionen reserviert. Die wichtig sten die ser Adressen sind Broadcast- und Loopbackadressen. Broadcast-Adressen Eine Broadcast-Adresse dient dazu, um ein bestimmtes Datenpaket an alle Knoten eines Netzwerkes zu versenden. Alle Bit des Feldes für Benutzeridentifikation werden dazu auf 1 gesetzt. Die Broadcast-Adresse für das Netzwerk 141.60. (Klasse B Netzwerk) lautet somit 141.60.255.255 (acht binäre Einsen dezimal ausgedrückt ergeben 255!). Die Loopbackadresse 127 Die Klasse-A-Adresse 127 ist für sogenanntes Loopback reserviert. Pakete mit der Zieladresse 127.0.0.1 treffen so, ohne jemals auf das Netzwerk zu gelangen, unmittelbar wieder beim Sender ein, und können zum Funktionstest verwendet werden. 1.7.2 Effizientes Routing mit Subnet-Adressmasken Große Netze bestehen aus mehreren tausend Benutzern und vielen hundert Teilnetzwerken (Subnetworks). Besäße jeder Netzknoten eine beliebige Internetadresse, müssten alle Router im Netz, um die Datenpakete richtig vermit teln zu können, über eine Liste mit der Adresse aller Netzknoten, sowie deren relative Lage zum Router selbst verfügen. In großen Netzen hätte dies die Konsequenz sehr langer Routinglisten. Bei hoher Netzlast würde dies aufgrund der endlichen Prozessorleistung in Routern zu merklichen Routingverzögerungen führen. Durch die systematische Adressen-Vergabe nach dem Subnetzmaskenprinzip kann die Routingeffizienz in IP-Netzen allerdings wesentlich erhöht werden. Dabei wird ein Teil der verfügbaren Benutzeridentifikation dazu verwendet, diese in mehrere Subnetze zu strukturieren. Ein Netz mit der Kla sse-BAdresse 141.60 könnte so beispielsweise in die Subnetze A und B aufgeteilt werden, so dass Subnetz A nur den Adressenbereich 128.69.1.1 bis 128.69.1.254 benutzt, und Subnetz B den Bereich 128.69.2.1 bis 128.69.2.254. Der Router zwischen beiden Netzwerken kann nun mit Hilfe einer sogenannten SubnetAdressmaske leicht feststellen, ob ein Datenpaket des einen Netzes ein lokales Ziel besitzt, in das zweite Subnetz vermittelt (geroutet) oder überhaupt in ein drittes IP-Netz übertragen werden soll. Die SubnetAdressmaske für unser Beispiel wäre 255.255.255.0. Sie ist damit nichts anderes als eine Bitmaske, die Nullen für den Adressenbereich enthält, der für den lokalen Subnetzbereich vorgesehen ist, und Einsen für alle anderen Bit. In unserem Beispiel wertet der Router also nur die ersten drei Byte der Zieladressen aus, da er damit bereits feststellen kann, ob ein bestimmtes Paket weitervermittelt werden muss oder nicht. Dies hat für den Router den enormen Vorteil, dass er in seinen Routingtabellen nicht mehr alle Netzknoten, sondern lediglich die Subnetzadressen der Teilnetzwerke vorhalten muss. Da die Zahl der Subnetze wesentlich geringer ist als die Anzahl der Netzknoten, ist die Routersoftware in der Lage, Vermittlungsentscheidungen wesentlich rascher durchzuführen. Dasselbe Vermittlungsprinzip wird sowohl in Intranets wie im öffentlichen Internet eingesetzt. Für alle angeschlossenen Internet-Providernetze sind Subnet-Masken definiert, wodurch eine effektive internetweite Vermittlung überhaupt erst möglich wird (Abb. 8). Versuch 8 Internet, Teil 1 9 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk Abb. 8: Der Mechanismus von Subnetzwerk-Adressmasken Falsch gesetzte Subnet-Adressmasken können aber auch die Ursache von Kommunikationsproblemen sein. Wird in unserem Fall die Subnet-Adressmaske irrtümlich auf 255.255.0.0 gesetzt, so bedeutet dies, dass alle Datenpakete mit den Zieladressen 128.69.xxx.xxx nicht vermittelt werden. (Der Router überprüft lediglich die ersten beiden Byte, und diese zeigen ihm an, dass sich das Paket bereits im richtigen Netzwerk befindet!). Jegliche Kommunikation mit dem Nachbarnetzwerk wäre unterbunden!! 1.8 Das Internet Domain-Namensystem (DNS) Zur leichteren Handhabung kann jeder numerischen Internetadresse auch ein Name zugeordnet werden. Bis 1986 war es dabei üblich, beliebige Namen zu wählen, die in einer zentral geführten Namensliste den entsprechenden numerischen Adressen zugeordnet wurden. Mit dem Wachstum des öffentlichen Internets war dieses System allerdings (nachdem es mehr als 3000 Namen umfasst) am Ende, da es immer schwieriger wurde, neue, noch unbesetzte Namen zu finden. Aus diesem Grund wurde das Domain-Namen-System mit einer hierarchischen Namenstruktur entwickelt, wie es seitdem im Internet und in Intranets zum Einsatz kommt. Wie bei der numerischen Schreibweise gliedert sich im Domain-Namensystem der Adressname in einen Benutzerteil (user-id) und einen Netzwerkteil (net-id). Die einer Domain hierarchisch untergeordnete Domain wird als Sub-Domain bezeichnet. Jeder Domain-Name besteht aus einer Top Level Domain (der am weitesten rechts befindliche Namensteil) sowie aus Sub-Domains. So ist der zugehörige Internetadressname für die Adresse 194.95.176.70 beispielsweise www.deutschland.de. (obwohl auch beim Adressnamensystem die einzelnen Adressteile durch einen Punkt unterteilt sind, korrespondieren diese Teile in keiner Weise mit den ebenfalls durch Punkte getrennten Byte einer numerischen Internetadresse!). Die Anzahl der Subdomains ist beliebig, die Gesamtlänge des Domain-Namens darf allerdings 24 Zeichen nicht überschreiten. Versuch 8 Internet, Teil 1 10 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk [email protected] team_xy Benutzeridentifikation de Top-Level-Domain, höchste Netzwerkhierarchie fh-rosenheim Erste Sub-Domain e Zweite Sub-Domain Abb. 9: Das Internet Domain-Namensystem Man unterscheidet die (älteren) dreistelligen Organisationsbezeichnungen sowie die zweistelligen geographischen Domain-Namen. Die Top Level Domain-Organisationsbezeichnungen stammen noch aus der Zeit, als das Internet noch hauptsächlich auf Nordamerika beschränkt war. Mit der zunehmenden Internationalisierung des Internet wurden für alle an das Internet angeschlossenen Länder geographische Codes festgelegt. com commercial organisation) edu Universität /Bildungseinrichtung (educational institution) gov Regierungsstelle (government) int Internationale Organisation mil Militärische Organisation net Netzwerk-Organisation org Nicht-profitorientierte Organisation Abb. 10: Die Top Level Domain-Organisationsbezeichnungen at Österreich dk Dänemark au Australien es Spanien ca Kanada jp Japan ch Schweiz uk Großbritannien de Deutschland us USA Abb. 11: Einige geographische Top Level Domains 1.8.1 Das DNS-Protokoll Bei der Vermittlung von IP-Datenpaketen können Router keine Domain-Namen benutzen, sondern sind auf die numerischen Internetadressen und die zugehörigen Subnetz-Adressmasken angewiesen. Aus diesem Grund ist ein Mechanismus notwendig, der die vom Benutzer als Zieladresse angegebenen Domain-Namen in numerische Internetadressen umwandeln kann. Dies wird mit Hilfe des DNS Protokolles (Domain Namen System) und sogenannter Domain-Namen-Server durchgeführt. Ist das DNS-System aus irgendeinem Grund nicht betriebsbereit, so ist ein Verbindungsaufbau nur durch die direkte Angabe der numerischen Adresse möglich. Alle Domain-Namenserver sind analog zur Struktur des Namensystems selbst hierarchisch organisiert. Um einen Adressnamen zuzuordnen, wird vom sogenannten Root-Server ein Namen-Server für die Top Level Domain des Namens ausgewählt. Dieser wählt wiederum für die erste Sub-Domain einen dafür zuständigen Namen-Server aus usw. Auf den jeweiligen Namen-Servern befinden sich die vier sogenannte Zonen-Datenbanken: • Forward Zone • Reverse Zone • Localhost • Reverse Localhost Versuch 8 Internet, Teil 1 11 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk In der Forward-Zone-Datenbank befinden sich die Zuordnungen der Domain-Namen zu den jeweiligen Internetadressen, in der Reverse Zone-Datenbank eine umgekehrte Tabelle, mit Hilfe der, ausgehend von Internetadressen, die zugehörigen Domain-Namen gefunden werden können. Zu diesem Zweck wurde eine eigene Internet-Adressen-Domain (in-addr.arpa) definiert. Für die Internetadresse aaa.bbb.ccc.ddd kann so mittels der DNS-Anfrage ddd.ccc.bbb.aaa . in-addr.arpa der betreffende Domain-Name gefunden werden. Diese Anwendung dient dazu, ausgehend von der Internetadresse, die nach dem Systemstart mit Hilfe der Hardware-Adresse und dem RARP-(Reserve Address Resolution Protocol)-Protokoll ermittelt wird, ihren Domain-Namen zu finden. Jedes Unternehmen mit Anbindung an das Internet muss, zur Gewährleistung des internetweiten DNSMechanismus, auf zwei unabhängigen Computersystemen je einen DNS-Server mit Zuordnungstabellen der eigenen öffentlich gültigen Domains und Subdomains führen. Normalerweise wird, aus Sicherheitsgründen getrennt davon, für die unternehmensinterne Adressenauflösung ein interner DNS-Server betrieben. Wird eine Namenszuordnung für einen externen, z.B. im Internet befindlichen Host angefordert, wird diese an den öffentlichen DNS weitergereicht, der die Zuordnung mit Hilfe des internetweiten DNS-Netzes durchführt. Das Resultat wird dann dem anfragenden Client über den lokalen DNS mitgeteilt, und dieser kann die gewünschte Verbindung aufbauen. Um nun nicht bei jedem Verbindungsaufbau nach außerhalb auf Domain-Namen-Server im Internet zugreifen zu müssen und den Datenverkehr durch eine Vielzahl von DNS-Abfragen zu beeinträchtigen, legt jeder DNS-Server einen lokalen Pufferspeicher (Cache) an. Im Cache-Speicher werden Domain-Namen und zugeordnete Internetadressen, die bereits einmal von lokalen Clients nachgefragt worden sind, abgespeichert. Nach einiger Zeit können die meisten DNS Zugriffe vom lokalen Cache-Speicher aus beantwortet werden. Der zweite DNS Server (»Secondary DNS Server« ) dient dazu, den eigenen primären Server zu entlasten, und bei Problemen als Backup zu fungieren. Dazu werden die Zonen-Dateien des eigenen DNS-Servers regelmäßig auf den Secondary Server übertragen (Bulk Zone Transfer). Abb. 12: Die Namen-Server-Hierarchie im Internet Versuch 8 Internet, Teil 1 12 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk 2 Internetanwendungen 2.1 Telnet Telnet ist eine ursprünglich aus der UNIX-Welt stammende Anwendung, die die interaktive Nutzung von Computersystemen über Datennetze hinweg ermöglicht (Fachbegriff: Remote Terminal). Die Fähigkeit zur Fernbedienung beschränkt sich allerdings auf Programme mit textorientierter Bedienoberflä che, da das Te lnetprotokoll lediglich in der Lage ist, ASCII-Zeichen zu übertragen. Für die Anwendung im Internet ist diese Einschränkung allerdings in den meisten Fällen unerheblich, da die heute zur Verfügung stehenden Bandbreiten in der Regel graphikorientierte Fernbedienung (z.B. X-Windows) ohnehin nicht zulassen. TelnetApplikationen sind für praktisch alle Computerplattformen und Betriebssysteme verfügbar und in der Regel auch Bestandteil des Funktionsumfanges von WWW-Browsern. Nach dem Starten der Telnet-Software und der Eingabe der Internetadresse des gewünschten Zielsystems baut der Telnet-Client zunächst eine TCP-Verbindung zum Remote-Server auf, ruft dessen Login-Programm auf und etabliert nach Eingabe von Benutzeridentifikation und Passwort eine Telnet-Session (das Zielsystem wird bei Netzwerkvorgängen wie diesem allgemein als Server oder Host (Gastgeber) bezeichnet, der auf den Server zugreifende Computer als Client). Ab diesem Zeitpunkt wird jede Keyboard-Eingabe an den RemoteServer und umgekehrt jede Ausgabe des Remote-Servers an den lokalen Telnet-Client weitergeleitet. Da alle Telnet-Applikationen netzwerkseitig ein standardisiertes Interface benutzen (NVT Network Virtual Terminal), können zwei Systeme auch dann via Telnet miteinander kommunizieren, wenn ihre internen Systeme völlig unterschiedliche Datenformate benutzen. Das NVT-Datenformat basiert dabei auf dem Standard-7Bit-ASCII Zeichensatz, wobei die höchstwertigsten Bitrepräsentationen für Befehlssequenzen reserviert sind. Der gesamte Ablauf einer Telnet-Verbindung wird inklusive Benutzeridentifikation und Passwort im Kla rtext übertragen. (Telnet-Verbindungen können daher von Hackern problemlos verfolgt und mitge schnitten werden!). Aufgrund seiner Architektur kann Telnet hardwareübergreifend eingesetzt werden. Das heißt, ein UNIX-Client kann genauso auf einen PC-Server zugreifen wie auf einen Apple -Client und umgekehrt. Telnet-Server selbst sind in der Regel auf Basis von leistungsfähigen Multiuser-Systemen wie UNIX oder Windows-NT-Betriebssystemen realisiert, und daher in der Lage, mehrere Telnet-Verbindungen (TelnetSessions) gleic hzeitig zu bedienen. 2.1.1 Starten von Telnet Gestartet wird das Programm Telnet mit dem Befehl Telnet. Die Angabe des Zielsystems in Form des Domain-Namens oder der numerischen Internetadresse kann gleichzeitig mit dem Startbefehl für Telnet erfolgen. NT4, Win2000, WinXP: Start – Run: oder nach bereits erfolgtem Programmstart (nur unter Win2000/XP) mit open: Versuch 8 Internet, Teil 1 13 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk Innerhalb von wenigen Sekunden erfolgt der Verbindungsaufbau zum Serversystem. Wird ein öffentlicher Server angewählt, erfolgt nach dem Verbindungsaufbau meist direkt die Anzeige eines Auswahlmenüs mit den zur Verfügung stehenden Applikationen. Nun kann das gewünschte Programm ausgewählt und auf dem Server gestartet werden, so als ob es auf dem eigenen lokalen System vorhanden wäre. Auf nicht öffentlichen Server-Systemen wird, bevor ein Clientsystem Zugriff erhält, dessen Zugriffsberechtigung überprüft: login: password: Erst nach korrekter Eingabe von Benutzeridentifikation und Passwort wird der Client auf den Host durchgeschaltet. Kann der Dateiname nicht aufgelöst werden oder ist der betreffende Server nicht aktiv (z.B. ausgeschalten), so erhält man auf den Telnet-Befehl open die Antwort <Domainname> unknown host. 2.1.2 Die Telnet-Befehle Nachdem Telnet die Verbindung zwischen Client und Server aufgebaut, und - falls notwendig - die Zugangsberechtigung überprüft hat, wird jede Eingabe über die Client-Tastatur an das Server-System umgele itet. Genauso wird jede Bildschirmausgabe des Server-Systems auf dem Client-Bildschirm ausgegeben. Diese Funktion ist neben dem Verbindungsaufbau die primäre Funktion von Telnet. Über den Befehlssatz der jeweiligen Telnet-Programme besteht darüber hinaus die Möglichkeit, verschiedene Parameter zu definieren und den Programmablauf zu beeinflussen (Ausgabe von Statusinformationen, Abbruch der Verbindung etc.). Sitzungsmodus und Befehlsmodus Telnet-Client verfügt über zwei Betriebsmodi: Telnet-Befehlsmodus und Telnet-Sitzungsmodus. • Der Telnet-Befehlsmodus ermöglicht es Ihnen, eine Verbindung von einem Telnet-Terminal zu einem Remotehost herzustellen, eine Verbindung zu einem Remotehost zu beenden, Betriebsparameter anzuzeigen, Terminaloptionen festzulegen, den Status auszudrucken und das Programm zu beenden. • Wenn eine Verbindung zu einem Remotehost hergestellt ist, befindet sich der Telnet-Client im Telnet-Sitzungsmodus . Dieser Modus kommt am häufigsten vor. Nach der Anmeldung erhalten Benutzer Zugriff auf eine Sitzung an der Eingabeaufforderung. Die Benutzer sind dann in der Lage, zeichengestützte Anwendungen auf jedem beliebigen Remotecomputer zu verwenden, der TelnetServer ausführt, als ob sie direkt am System angemeldet wären. Wenn die Verbindung zu einem Host hergestellt ist, können Sie aus dem Sitzungsmodus in den Befehlsmodus zurückkehren, um die Terminaleinstellungen zu ändern. Mit Hilfe der Tastenkombination STRG + + können aus dem Telnet-Sitzungsmodus in den Telnet-Befehlsmodus wechseln. Drücken Sie die EINGABETASTE, um zum Telnet-Sitzungsmodus zurückzukehren. Versuch 8 Internet, Teil 1 14 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk Anmerkung: WinNT4Wks besitzt einen grafischen Telnet-Client, Änderungen am Telnet-ClientEinstellungen werden über die Option „Terminal Preferences“ gemacht. Befehle (unter Windows2000): Die Eingabeaufforderung vom Windows2000 Telnet-Client akzeptiert die folgenden Befehle: Befehl Beschreibung open Mithilfe des Befehls open hostname portnumber können Sie eine TelnetVerbindung zu einem Host herstellen. close Mithilfe des Befehls close können Sie eine bestehende Telnet -Verbindung beenden. Mithilfe des Befehls display können Sie die aktuellen Einstellungen für den Telnet -Client anzeigen. display Versuch 8 Durch den Befehl display werden die aktuellen Betriebsparameter aufgelistet. Wenn Sie an einer Telnet -Sitzung teilnehmen (mit einem Telnet-Server verbunden sind), drücken Sie die Tastenkombination STRG++, um die Parameter zu ändern. Dadurch verlassen Sie die Telnet -Sitzung. (Durch Drücken der EINGABETASTE können Sie zur Telnet -Sitzung zurückkehren.) Die folgenden Betriebsparameter stehen zur Verfügung: WILL AUTH (NTLM-Authentifizierung) WONT AUTH WILL TERM TYPE WONT TERM TYPE LOCALECHO off LOCALECHO on quit Mithilfe des Befehls quit beenden Sie Telnet. set Mithilfe des Befehls set können Sie den Terminaltyp für die Verbindung festlegen, das lokale Echo aktivieren, die Authentifizierung auf NTLM einstellen, das Escapezeichen festlegen und die Protokollierung einrichten. • Durch SET NTLM wird NTLM aktiviert. • Bei Verwendung der NTLM-Authentifizierung werden Sie nicht aufgefordert, einen Benutzernamen und ein Kennwort einzugeben, wenn Sie eine Verbindung vom Remotecomputer herstellen. • Durch SET LOCALECHO wird das lokale Echo aktiviert. • SET TERM {ANSI|VT100|VT52|VTNT} legt den entsprechenden Termina ltyp fest. • Verwenden Sie den Terminaltyp VT100, wenn Sie normale Befehlszeilenanwendungen ausführen. Verwenden Sie den Terminaltyp VTNT, wenn Sie erweiterte Befehlszeilenanwendungen, wie z. B. edit, ausführen. • ESCAPE Zeichen legt die Schlüsselfolge zum Umschalten zwischen dem Sitzungs- und dem Befehlsmodus fest. Wenn beispielsweise STRG+P als Escapezeichen festgelegt werden soll, geben Sie set escape ein, drücken Sie STRG+P, und drücken Sie dann die EINGABETASTE. • LOGFILE Dateiname legt die für die Protokollierung der Telnet -Aktivität zu verwendende Datei fest. Die Protokolldatei muss sich auf dem lokalen Computer befinden. • Die Protokollierung beginnt automatisch, wenn Sie diese Option festlegen. Internet, Teil 1 15 / 48 FH Rosenheim - EIT Praktikum Informatik I • • M. Usyk Durch LOGGING wird die Protokollierung aktiviert. Wurde keine Protokolldatei eingerichtet, wird eine Fehlermeldung angezeigt. unset Mithilfe des Befehls unset können Sie das lokale Echo deaktivieren oder die Authentifizierung auf die Eingabe von Benutzername und Kennwort einstellen. • Durch UNSET NLM wird NLM deaktiviert. • Durch UNSET LOCALECHO wird das lokale Echo deaktiviert. status Mithilfe des Befehls status können Sie feststellen, ob der Telnet -Client verbunden ist. STRG++ Durch die Tastenkombination STRG++ wechseln Sie aus einer verbundenen Sitzung zur Eingabeaufforderung von Telnet. EINGABETASTE Drücken Sie EINGABETASTE um von der Eingabeaufforderung zur verbundenen Sitzung (falls vorhanden) zu wechseln. ?/help Mithilfe dieses Befehls werden die Hilfeinformationen gedruckt. 2.1.3 Übungsteil Telnetsitzung auf einen Remote Host: Ø Start – Run: Der GUI-Client wird geöffnet: Ø „Local Echo“ darf (in dieser Sitzung) nicht angehakt sein, ansonsten sieht man jedes Zeichen 2fach… Versuch 8 Internet, Teil 1 16 / 48 FH Rosenheim - EIT Ø Praktikum Informatik I M. Usyk Geben Sie folgende IP-Adresse als Hostnamen an (Sie können auch den entsprechenden Hostnamen angeben): Host Name: 141.60.190.137 Für die IP-Adresse 141.60.190.137 lautet der entsprechende DNS-Eintrag dazu ntrc12403, die Subdomain ist die e.fh-rosenheim.de. Ø Mit dem Kommandozeilen-Tool können Sie DNS-Namen in IP-Adressen auflösen und umgekehrt: Login-ID: telnet Passwort: telnet Ø Der Telnetserverdienst läuft auf einem Win2000Server, demzufolge können Sie zum Arbeiten DOS-Befehle benutzen, setzen Sie ein „help“ am Prompt ab. Ø Mit “dir” können Sie die Verzeichnisstruktur erkunden: Versuch 8 Internet, Teil 1 17 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk Ø Legen Sie ein Verzeichnis (neuen Ordner) an (team_xy, entsprechend NDS-Account) im Verzeichnis „C:/Praktika“. Ø Kopieren Sie die Datei „Sowieso“ vom c:\praktika\temp-Verzeichnis in Ihr TeamVerzeichnis. Ø Abschließend beenden sie die Telnet-Sitzung mit „close“. 3 FTP - FiIe Transfer Protocol Das File Transfer Protocol (FTP) zählt zu den ältesten Dienstprogrammen im Internet. Es können damit Daten aller Art (Text-, Bild-, Ton-, Video-, Programmdateien etc.) übertragen, werden. Der komplette Vorgang wird dabei vom FTP-Client (dem Empfängersystem) gesteuert. Voraussetzung ist allerdings die Zugangsberechtigung für das Zielsystem, die im Rahmen des FTP-Verbindungsauf baues durch Eingabe von Benutzeridentifikation (User-ID) und Passwort nachgewiesen werden muss. Das FTP-Protokoll basiert auf dem Transportprotokoll TCP, allerdings werden zur Durchführung einer Dateiübertragung zwei gleichzeitig aktive TCP-Verbindungen benötigt. Dabei wird zunächst von einem beliebigen Port des Clients zum FTPSteuer-Port 21 des FTP-Servers eine Management-Verbindung (control connection) aufgebaut. Für die eigentliche Datenübertragung ist dann noch eine weitere Verbindung, diesmal vom Server zum Client notwendig, für die dem Server über die bestehende Verbindung mit Hilfe eines PORT-Befehls die Portadresse mitgeteilt wird. Der Server baut nun vom Standard-FTP-Datenport 20 eine TCP-Verbindung zu diesem ClientPort auf. Nun kann über diese Verbindung die vom Client angeforderte Datei übertragen werden. Das dabei benutzte Format entspricht der vom Telnet-Protokoll benutzten NVT-Spezifikation (Network Virtual Terminal). Versuch 8 Internet, Teil 1 18 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk Abb. 13: Das FTP-Protokoll: Steuer- und Datenverbindungen Für jede weitere Datenübertragung muss erneut eine Datenverbindung aufgebaut werden, die, aufgrund einer Eigenheit des TCP-Protokolls, jedes Mal eine andere Client-Portadresse erfordert. 3.1 Anonymes FTP Um mit Hilfe von FTP auf ein Fremdsystem zugreifen zu können, ist im Normalfall eine Zugangsberechtigung (Benutzeridentifikation und Passwort) notwendig. Dies dient dem Schutz jener Dateibereiche des Se rvers, die nicht für den internetweiten Gebrauch bestimmt sind. Für alle anderen Dateien, die diesen Schutz nicht benötigen, und die für alle Internet-Benutzer zugänglich sein sollen, gibt es eine besondere Form des FTP: das anonyme FTP. Über das gesamte Internet verteilt gibt es FTP-Archive, die so konfiguriert sind, dass ein anonymer Zugriff auf ihre Dateiarchive möglich ist. Die dafür notwendige Benutzeridentifikation ist dabei immer »anonymous«, und als Passwort genügt die Angabe der eigenen E-Mail-Adresse. Die Anzahl der Dateien, die auf solchen anonymen Fileservern zur Verfügung stehen, geht in die Millionen. Vor allem für den Aufbau umfangreicher Archive mit großen Dateibeständen eignen sich FTPServersysteme besonders gut. Zunehmend werden FTP-Server heute allerdings in Kombination mit WWWServern installiert oder ganz durch diese ersetzt. Die Bedienoberflä chen mit Suchfunktionen, wie sie von WWW-Servern angeboten werden, entsprechen eher der Erwartungshaltung der neuen Generation von Internetbenutzern, die das Internet von Beginn an mit graphischen World-Wide-Web-Oberflächen kennen lernen. 3.2 Der Verbindungsaufbau mit FTP Um den Verbindungsaufbau einer FTP-Sitzung ein wenig genauer zu betrachten zu können, bauen Sie zunächst mit dem „hauseigenen“ MS-Kommandozeilen-Programm eine Verbindung auf, anschließend per Webbrowser und einem „komfortablen“ GUI-FTP-Client Gestartet wird das FTP-Kommandozeilenprogramm mit dem Befehl ftp. Die Internetadresse oder der Domain-Name des FTP -Servers kann gleichzeitig mit dem Startbefehl eingegeben werden: ftp ntrc12406.e.fh-rosenheim.de bzw. ftp 141.6.190.140 Ist das FTP -Programm bereits gestartet, wird die Verbindung mit dem Befehl open hergestellt: Versuch 8 Internet, Teil 1 19 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk open <IP /DNS-Adresse>: Abb. 14: Der Verbindungsaufbau mit FTP Kann eine Verbindung erfolgreich aufgebaut werden, erfolgt die Ausgabe der Meldung connected to <Internetadresse> und die Eingabeaufforderung Name: für die Benutzeridentifikation. Handelt es sich bei dem Zielsystem um einen anonymen FTP-Server, so muss an dieser Stelle anonymous eingegeben werden, ansonsten der entsprechende Benutzername. Daraufhin erfolgt mit Password die Aufforderung, die Zugangsberechtigung nachzuweisen. Im Fall von anonymen FTP-Servern wird an dieser Stelle am besten die eigene Internetadresse angegeben. Bei falsch eingegebenen Passwort erfolgt die Meldung: Login incorrect. Login failed. Kann die Verbindung zum Server erst gar nicht aufgebaut werden, erfolgt die Meldung ftp: connect: connection refused ftp: connect: host is unreachable Connection refused deutet darauf hin, dass der FTP-Server vorübergehend nicht verfügbar ist. Host is unreachable zeigt an, dass das Zielsystem selbst entweder nicht aktiv oder ein Problem im Zielnetzwerk aufgetreten ist. Bricht FTP den Verbindungsaufbau mit unknown host ab, so ist meist die angegebene Interneta dresse nicht existent. Man sollte dann zunächst die Adresse auf Tippfehler überprüfen. Wird die Zieladresse in Form des Domain-Namens angegeben, kann es vorkommen, dass das DNS-Protokoll die Zuordnung zur entsprechenden Internetadresse nicht durchführen kann. Durch die direkte Eingabe der numerischen Internetadresse kann das DNS-Protokoll umgangen werden und so trotz der Fehlfunktion des DNS-Servers die Verbindung aufgebaut werden. 3.3 Arbeiten mit FTP Um FTP nutzen zu können, muss man nicht alle Befehle wissen. Folgende Befehle reichen im allgeme inen aus: dir bzw. ls (directory /list) Inhaltsverzeichnis anzeigen cd bzw. pwd (change directory /print working directory) Inhaltsverz. wechseln /anzeigen) bin bzw. ascii Übertragungsmodus binär /ascii hash Übertragungsablauf graphisch darstellen (#) get <Dateiname> Datei übertragen (vom ftp-host abholen) put <Dateiname> Datei übertragen (auf ftp-Host kopieren) Mit dem Befehl „help erhält man eine Auflistung verfügbarer Befehle, Infos zu bestimmten Befehlen lassen sich mit „help ....(Befehl) abrufen: Versuch 8 Internet, Teil 1 20 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk 3.3.1 Die FTP-Befehle »dir & ls« Die Befehle dir (directory) bzw. ls (list) zeigen das Inhaltsverzeichnis des betreffenden FTP-Archives auf dem Bildschirm an. Die große Anzahl von Dateien (Zehntausende in großen Archiven) sind auch auf FTPServern wie in allen großen Datenspeichern in Form von Unterverzeichnissen (Subdirectories) organisiert. Unmittelbar nach dem Verbindungsaufbau und der Eingabe von Benutzeridentifikation und Passwort befindet man sich im Hauptverzeichnis des FTP-Archivs. Mit dem Befehl dir oder ls kann nun eine Liste der Unterverzeichnisse in der höchsten Hierarchieebene ausgegeben werden. Diese Unterverzeichnisse besitzen selbst häufig weitere Unterverzeichnisse, wobei der Verschachtelung hie rbei keine Grenzen gesetzt sind. Wichtige Optionen von ls und dir: „*“ Auf File-Servern befindet sich meist eine sehr große Anzahl von Dateien, so dass sich trotz der Strukturierung in Unterverzeichnisse häufig mehrere hundert Dateien in einem Verzeichnis befinden. Um die oft Minuten dauernde Anzeige von extrem langen Inhaltsverzeichnissen zu umgehen, kann der Platzhalter »*« benutzt werden. Ist zumindest ein Teil des gesuchten Dateinamens bekannt, so kann die Anzeige des Inhaltsverzeichnisses durch den Befehl dir Dateinamenfragment* auf jene Dateien beschränkt werden, die mit der betreffenden Zeichenkette: Versuch 8 Internet, Teil 1 21 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk 3.3.2 Die FTP-Befehle »cd & pwd« Mit dem Befehl cd <Unterverzeichnisname> (cd - change directory) kann das Verzeichnis gewechselt werden. Wird der Befehl in dieser Form angewendet, so muss das angegebene Unterverzeichnis direkt in jenem Verzeichnis vorhanden sein, in dem man sich gerade befindet. Soll ein absoluter Sprung in ein anderes Unterverzeichnis ausgeführt werden, so muss die betreffende Pfadangabe für das gewünschte Unterverzeichnis mit einem Schrägstrich beginnen, also z. B. cd /folder/test: In UNIX wird im Unterschied zu den meisten MS-DOS-Systemen das jeweils aktuelle Arbeitsverzeic hnis nicht in Form des Prompts angezeigt. So kann es vorkommen, dass nach mehreren cd-Befehlen der Überblick verloren geht, in welchem Verzeichnis man sich gerade befindet. Mit dem Befehl pwd (print working directory) erhält man Auskunft über seinen momentanen Standort. 3.3.3 Der FTP-Befehl »get« Wurde im Verzeichnislabyrinth des FTP-Servers eine Datei zur Übertragung auf das eigene, lokale System ausgewählt, so kann dies mit dem Befehl get <Quelldatei> <Zieldatei> geschehen. Wird die Angabe der Zieldatei unterlassen, so erfolgt die Abspeicherung der Datei auf dem lokalen System unter demselben Namen wie auf dem FTP -Server. Dabei ist zu beachten, dass UNIX peinlich genau zwischen Groß- und Kleinschreibung unterscheidet. Bei der Angabe des Dateinamens ist daher entsprechende Sorgfalt notwendig. Da UNIX keine Längenbeschränkung der Dateinamen (wie dies beispielsweise bei MS-DOS der Fall ist) kennt, ist darauf zu achten, dass, wenn der Zielcomputer kein UNIX- oder Win95/NT-System ist, die Zieldateinamen entsprechend modifiziert werden. FTP unterscheidet zwischen zwei Übertragungsmodi, nämlich der Übertragung binärer Dateien und der Übertragung von Textdateien. Wird eine Datei in binärem Modus übertragen, so geschieht dies Bit für Bit. Die übertragene Datei ist dann vollkommen identisch mit der Originaldatei. Bei der Übertragung im Textmodus erfolgt die Übertragung hingegen Zeichen für Zeichen. Dies hat den Vorteil, dass man so ASCII-Textdateien unabhängig von der zugrunde liegenden Hardwareplattform sinnvoll übertragen kann. Die binäre Repräsentation einer ASCII-Datei auf einem Apple -Computer und derselben Datei einer UNIX-Workstation sind nämlich völlig unterschiedlich. Würde diese Datei im Binärmodus vom Apple-PC zur UNIX-Workstation übertragen, so könnte sie dort nicht gelesen werden. Im ASCII-Modus erscheinen ASCII-Dateien dagegen in einem für das Zielsystem lesbaren Textformat, unabhängig von der binären Form der Originaldatei. Anhand der Dateinamen-Erweiterungen ist in der Regel zu erkennen, ob es sich bei der zu übertragenden Datei um eine Binär- oder um eine Textdatei handelt Häufig ist es sinnvoll, vor der eigentlichen Übertragung einer oder mehrerer Dateien die Readme-Datei des Inhaltsverzeichnisses zu lesen oder überhaupt vor der Übertragung einer längeren Textdatei zunächst deren Inhalt auf Brauchbarkeit zu überprüfen. Dazu kann die Option »-« (in Worten Minus) des get Befehls be- Versuch 8 Internet, Teil 1 22 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk nutzt werden. Die Eingabe get <Dateiname> - gibt nämlich den Inhalt der Datei auf den Bildschirm aus, anstatt ihn auf das Client-Computersystem zu übertragen. 3.3.4 Die FTP-Befehle »bin und ascii« Die Aktivierung des geeigneten Übertragungsmodus vor der Übertragung einer Datei geschieht mit den Befehlen bin für den binären Übertragungsmodus sowie ascii für den Textübertragungsmodus. 3.3.5 Der FTP-Befehl »hash« Um vor allem bei längeren Dateiübertragungen überwachen zu können, ob der Übertragungsvorgang nach wie vor aktiv ist und welche Datenmenge bereits übertragen wurde, ist es empfehlenswert, vor dem getBefehl die Option hash zu aktivieren. Nach dem Starten der Dateiübertragung wird dann die erfolgreiche Übertragung von je einem Datenblock (2048 Byte) durch die Ausgabe des Zeichens „#“ (hash) auf dem Bildschirm angezeigt. Nach Abschluss der Datenübertragung wird die Größe der empfangenen Datei sowie die dabei erzielte Übertragungsgeschwindigkeit in kByte/s angezeigt. Durch eine erneute Eingabe des Befehls hash wird diese Option wieder deaktiviert. 3.3.6 Der FTP-Befehl »put« Mit dem Befehl put können Dateien in die entgegengesetzte Richtung wie mit get übertragen werden, nämlich vom lokalen Computersystem zum FTP-Server. Wichtig dabei ist, die Zugriffsrechte auf dem Zielsystem zu beachten. In der Regel sind nur bestimmte Verzeichnisse für Uploads zugelassen. Die Befehlsstruktur des put-Befehls ist analog der von get: put <Quelldatei> <Zieldatei> 3.3.7 Die Übertragung mehrerer Dateien: »mget und mput« Sollen mehrere Dateien übertragen werden, so können die abgewandelten Formen von get und put nämlich mget (multiple get) und mput (multiple put) benutzt werden. So werden mit dem Befehl mget * alle Dateien des betreffenden Inhaltsverzeichnisses, in dem man sich gerade befindet, übertragen. Vor der tatsächlichen Übertragung muss allerdings nochmals bestätigt werden, dass die Übertragung der jeweiligen Datei tatsächlich erfolgen soll. Will man alle Dateien eines bestimmten Verzeichnisses oder mit einer bestimmten Zeichenkette im Dateinamen (z. B. test*) übertragen, so kann die Bestätigungsaufforderung vor jedem Übertragungsvorgang unterdrückt werden, indem vor der Anwendung von mget bzw. mput der Befehl prompt ausgeführt wird. Durch die erneute Eingabe von prompt kann die Bestätigungsaufforderung wieder aktiviert werden. Versuch 8 Internet, Teil 1 23 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk 3.3.8 Übungsteil 3.3.8.1 FTP-Verbindung ins HomeDirectory (H-Laufwerk) per Kommandozeile: Ø Start –Run: Ø Ein Command-Shell („Dos-Fenster“) wird geöffnet, geben Sie „ftp“ ein: Ø Open: Ø <to> Remote Host, geht natürlich auch mit DNS-Eintrag: Ø Benutzername mit Kontext und Punkt vorne dran: Ø Passwort eingeben.. Versuch 8 Internet, Teil 1 24 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk Ø Login erfolgreich? Ø Kopieren Sie die C:\wsreg32.txt in Ihr H:\-Laufwerk. Ø Zum Beenden der Sitzung geben Sie ein „close“, zum Beenden des Programms ein „quit“ ein. Versuch 8 Internet, Teil 1 25 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk 3.3.8.2 FTP-Verbindung mit Webbrowser herstellen: Ø Öffnen Sie einen Webbrowser (IE) und geben Sie folgende URL als Adresse an: ftp://[email protected] Ø Passwortabfrage: Ø Ihr H-Laufwerk (HomeDir) zugänglich über Webbrowser mit ftp: Versuch 8 Internet, Teil 1 26 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk 3.3.8.3 ftp-Access mit LeechFTP: Ø Starten Sie das Programm LeechFTP über die Desktopverknüpfung bzw. Start – Programme: Ø Login Information ausfüllen: Ø Verbindungsaufbau................ Versuch 8 Internet, Teil 1 27 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk 4 Das World Wide Web (WWW) Die Architektur des World Wide Web basiert auf den drei Standards HTML (Hyper Text Markup Language), HTTP (Hyper Text Transport Protocol) und URL (Uniform Resource Locator). HTML spezif iziert das Format und den Aufbau der für das WWW charakteristischen Hypertextdokumente (HTMLDokumente). URL ist ein Adressierungsschema, mit dem der Ort jeder Datei im Internet, sowie das für den Zugriff darauf notwendige Übertragungsprotokoll angegeben werden kann. Und HTTP schließlich ist das Kommunikationsprotokoll, welches zur Übertragung der HTML-Hypertextdokumenten dient. Die Arbeitsweise des WWW beruht wie das der übrigen Internetdienste auf dem Client-Server Prinzip. Als Serversysteme fungieren dabei dedizierte, leistungsfähige Computersysteme, die HTML-Dokumente enthalten, und auf die WWW Clients zugreifen können. Die als WWW-Server benutzten Softwareapplikationen, sogenannte HTTP -Server, sind dabei in der Lage, HTTP -Anforderungen von einer Vielzahl von WWWClients gleichzeitig zu bearbeiten. Als Clients fungie ren sogenannte Web-Browser. Diese können, aufbauend auf dem HTTP -Protokoll mit WWW-Servern in Verbindung treten, und von diesen HTML-Dokumente auf das lokale Computersystem des Benutzers übertragen. Zusätzliche Spezifikationen wie z.B. VRML, CGI (Common Gateway Interface), Scriptsprachen wie Javascpript, PHP oder Perl (GGI´s werden zum Großteil mit Perl erstellt) und natürlich auch Java erweiterten den ursprünglichen Funktionsumfang des WWW. Web-Applikationen mit Datenbankanbindung, die dynamische Generierung von Information, MultimediaTechniken (wie Flash), Datastreaming (Video, Audio), Internetportale mit benutzerspezifischen Profilen und Verzeichnisdienste wie LDAP, NDS oder Active Directory erweitern zudem die Möglichke iten des Web, ohne dass ein Ende abzusehen wäre. 4.1 HTML- Dokumente HTML ist die Beschreibungssprache, in der Dokumente für das World Wide Web erstellt werden. Jedes HTML-Hypertextdokument kann Hyperlinks - also Verzweigungen - zu anderen Objekten im Internet (HTML-Dateien, Graphikdateien, Dateien jeglichen anderen Formats) enthalten. Die Objekte, zu denen über ein Hyperlink verzweigt wird, können dabei auf demselben WWW-Server oder aber auf einem beliebigen anderen System im Internet mit völlig unterschiedlicher Adresse liegen. Die Information über Ort, Namen und Typ des Dokuments, zu dem ein Hyperlink verweist, wird dabei mit Hilfe des URLAdressierungsschemas übermittelt. Hinter jeder als Hyperlink markierten Stelle eines Hypertextdokumentes Versuch 8 Internet, Teil 1 28 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk befindet sich somit nichts anderes als ein Uniform Resource Locator, der auf das betreffende vernetzte Objekt zeigt. Aktiviert der Benutzer, ausgehend von einem HTML-Dokument (WWW-Seite), mit seinem WebBrowser ein Hyperlink, so erkennt die WWW-Software automatisch die hinter dem Hyperlinkbegriff verborgene URL-Adresse und baut zu dieser eine HTTP -Verbindung auf. Anschließend wird das betreffende Objekt mit Hilfe des ebenfalls in der URL-Adresse spezifizierten Protokolles (HTTP, FTP, MAILTO etc.) übertragen, wenn möglich auf dem lokalen Bildschirm dargestellt, oder auf Festplatte gespeichert. Ohne sich um die internetspezifische Adressierung von Dokumenten kümmern zu müssen, ist der Benutzer so in der Lage, von Dokument zu Dokument zu springen, und sich intuitiv durch das aus Tausenden (im Fall des öffentlichen Internets Millionen) von vernetzen Dokumenten bestehenden World Wide Web zu bewegen. 4.2 Das universelle Internet Adressierungsschema des WWW: URL Die Adressierung von Objekten im WWW erfolgt im URL-Format. URLs können allerdings nicht nur HTML-Dateien spezifizieren, sondern jedes beliebige Dateiformat. Ein URL (Uniform Resource Locator) besteht aus den drei Informationen, die zur eindeutigen Bezeichnung eines Objekts im Internet notwendig sind: • dem Protokoll, welches benutzt werden muss, um auf das betreffende Objekt zugreifen zu können, • der Internetadresse und Portnummer des Serversystems, auf dem sich das Objekt befindet, • dem Pfad und dem Dateinamen des betreffenden Objekts. Als Protokoll können neben HTTP noch FTP oder NNTP (Internet News Protokoll) angegeben werden. Da WWW-Client-Applikationen neben HTTP auch alle anderen mit URLs spezifizierbaren Protokolle unterstützen, können in HTML-Dokumenten Hyperlinks zu allen anderen Internet-Servertypen (z.B. FTP - oder NewsServer) integriert werden. URLs, die über HTTP erreichbare Internet-Objekte spezif izieren, beginnen nach der URL-Syntax immer mit http://, Objekte die mittels des FTP-Protokolles angesprochen werden, entsprechend mit ftp://. Die um Kryptographiefunktionen erweiterten HTTP-Protokollvarianten SSL bzw. SHTTP werden durch die URLs https:// bzw. shttp:// bezeichnet. Neben der Adressierung von Objekten im Datennetz legt das URL-Format die Syntax fest, mit der innerhalb des World-Wide-Web Daten vom Client zum Server übertragen werden können. So werden beispielsweise Daten, die in HTML-Formularen eingegeben wurden, im URL-Format (URL-encodiert) vom WWW-Client zum Server übertragen: ftp:// http:// mailto:// news:// nntp:// telnet:// wais:// file:// FiIe Transfer Protocol Hypertext Transfer Protocol Electronic Mali Address USENET news USENET news using NNTP access Reference to interactive sessions Wide Area information Servers Host-Specific File Names Die URL-Syntax ist im Internet-Standard RFC 1738 spezifiziert und befindet sich unter anderem ebenfalls auf http://www.w3.org. 4.3 HTTP - Das Kommunikationsprotokoll des WWW Das HTTP -Protokoll ist ein simples, zustandsloses (stateless) Protokoll zur Übertragung von HTML, welches auf den Kommunikationspfaden von TCP/IP aufsetzt. Zustandslos bedeutet dabei, dass die Übertragung eines jeden Datenpaketes zwischen Sender und Empfänger völlig unabhängig vom zuvor übertragenen Datenpaket erfolgt. Man unterscheidet also nicht zwischen den unterschiedlichen Protokollzuständen • Verbindungsaufbau • Verbindung • Datenübertragung • Verbindungsabbau, wie dies z.B. bei den Internetprotokollen TCP/IP selbst oder bei vielen anderen Protokollen der DatenkomVersuch 8 Internet, Teil 1 29 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk munikation der Fall ist. Die Kommunikation zwischen Client und Server erfolgt jeweils nach dem Schema Client » Server: Aufbau einer TCP/IP -Verbindung, Übertragung der HTTP -Anforderung Server » Client: Übertragung der HTTP -Antwort und Abbau der TCP/IP -Verbindung Die HTTP-Verbindung bleibt also niemals über mehrere Anforderungen hinweg bestehen, sondern wird mit dem Versenden der HTTP -Antwort des Clients gleichzeitig wieder abgebaut. Der wesentliche Vorteil eines solchen zustandslosen Protokolls ist, dass das Serversystem keine Daten über bestehende oder im Aufbau befindliche Verbindungen speichern oder mehrere gleichzeitig bestehende Verbindungen aufrechterhalten muss. Jede HTTP -Anforderung kann in einem Schritt beantwortet werden. Aufgrund dieser Protokollarchitektur können WWW-Server mit hoher Geschwindigkeit eine große Anzahl von gleichzeitigen HTTPAnforderungen verarbeiten. Gleichzeitig erschwert die Zustandslosigkeit des HTTP-Protokolles allerdings die Implementation von interaktiven Client-Server-Anwendungen. Eine Vielzahl von Abläufen, wie zum Beispiel die Überprüfung der Berechtigung eines Benutzers vor dem Zugriff auf den Server, erfordert zwei oder mehrere aufeinanderfolgende, zusammenhängende Schritte. Dabei sendet der Client zunächst seine Benutzerdaten (Benutzerkennung, Passwort) mittels eines HTML-Formulars an den Web-Server. Dieser speichert die Daten in seiner Datenbank, bestätigt den Eintrag mit einer Rückmeldung an den Client, und beschließt damit gleichzeitig die HTTP-Verbindung. Wenn der Client nun ohne besonderen Vorkehrungen der Server-HTTP-Applikation versucht, mit einer weiteren HTTP -Verbindung vom Server Daten abzurufen, gewährt der Web-Server trotz der vorhergegangenen Überprüfung dem WWW-Client keinen Zugang. Das Server-HTTP-Protokoll be sitzt ja keinerlei Informationen über die vorhergegangene Verbindung mehr. Um nun trotz des zustandslosen HTTPProtokolles eine »virtuelle« Verbindung zwischen Client und Server über mehrere HTTP -Verbindungen hinweg aufrecht zu erhalten, muss deshalb nach der Verifikation des Benutzers in der Server-Datenbank mit der Bestätigung des Web-Servers in einem sogenannten »versteckten« Element der HTML-Antwortseite das Benutzerpasswort des Clients wieder an diesen zurückgesendet werden. Dieser benutzt nun dieselbe Seite dazu, seine Anforderung zu formulieren, und sendet sie wieder an den Server, der nun anhand des in der HTML-Seite versteckten Passworts erkennen kann, ob die Anfrage von einem berechtigten Benutzer stammt. 4.3.1 Die grundlegende HTTP-Syntax Die grundlegende HTTP-Syntax einer HTTP -Anforderung lautet: http_method, identifier, HTTP_version wobei HTTP_method den HTTP -Befehl bezeichnet, identifier die angeforderte Datei inklusive Inhaltsverzeichnis, und HTTP_version die benutzte HTTP Protokollversion. So löst beispielsweise die Aktivierung des Hyperlinks <A href=“http://serverl.uni.du/info/info.html“> durch einen WWW-Browser nach dem TCP/IP -Verbindungsaufbau auf das WWW-Port 80 von Serverl .uni.edu die Übertragung des folgenden HTTP-Datenpaketes vom Client zum Server aus: GET /info/info.html HTTP/1.O Accept: text/plain Accept: application/html Accept: audio/* Die der eigentlichen HTTP-Kommandozeile nachgeordneten Accept-Instruktionen informieren den Server über die Art der Daten, die der Client verarbeiten kann. In der letzten Zeile werden Informationen über die Clientsoftware selbst übermittelt. Die Antwort des HTTP -Servers besteht aus einem mehrere Zeilen umfassenden Antwortkopf (response header), dem, getrennt durch eine Leerzeile, die angeforderten Daten folgen. Die erste Zeile des Antwortkopfs mit der Syntax httpversion status code -explanation enthält dabei neben der vom Server benutzten Protokollversion im Statuscode Informationen über das Resultat der HTTP -Anfrage (erfolgreich, nicht erfolgreich etc.). Statuscodes zwischen 200 und 299 melden eine erfolgreiche Übertragung, Codes zwischen 300 und 399 die Verlagerung des angeforderten URL-Objekts. Statuscodes zwischen 400 und 599 bezeichnen Fehlermeldungen. Versuch 8 Internet, Teil 1 30 / 48 FH Rosenheim - EIT Status -Codes: Praktikum Informatik I 200 201 202 204 301 302 304 400 401 403 404 500 501 502 503 M. Usyk OK Created Accepted No Content Moved Permanently Moved Temporarily Not Modified Bad Request Unauthorized Forbidden Not Found Internal Server Error Not Implemented Bad Gateway Service Unavailable 4.3.2 SSL und S-HTTP: Eine wesentliche Schwäche des HTTP-Protokolles besteht darin, dass seine gesamte Kommunikation im Klartext erfolgt. Aus diesem Grund wurden zwei ursprünglich konkurrierende Sicherheitsprotokolle entwickelt: SSL (Secure Socket Layer, Netscape Inc.) und S-HTTP (Secure HTTP, Terisa Systems). Zwischenzeitlich haben sich beide Lager auf eine gemeinsame Strategie verständigt. Terisa Systems (gegründet 1994 von Enterprise Technologies und RSA Data Security) unterstützt nun in ihrem Secure-Web-Toolkit für Softwareentwickler sowohl das eigene S-HTTP Modell als auch die bereits weit verbreitete SSLSpezifikation von Netscape Inc. Beide Sicherheitsmodelle basieren auf einer Kombination der außerordentlich leistungsfähigen Public -Key-Verschlüsselungsimplementation RSA sowie symmetrischen Verschlüsselungsverfahren wie DES oder RC4. SSL beschreibt eine zusätzliche Protokollschicht, die zwischen TCP/IP und den höheren Internetprotokollen wie HTTP oder NNTP eingefügt wird und deren sicheren Transport gewährleistet. S-HTTP erweitert dagegen das HTTP -Protokoll selbst um kryptographische Funktionen. Beim Zugriff auf sensitive Daten wird dabei zunächst in der HTTP-Nachricht selbst bzw. im HTMLDokument die gewünschte Verschlüsselungsoption angefordert, die dann, falls verfügbar, bei der codie rten HTTP-Antwort benutzt wird. 4.4 MIME und Hilfsapplikationen im WWW Eine zentrale Rolle bei der Integration von bestehenden Applikationen und Datenformaten in Intranets spielt die ursprünglich für den Internet-Emaildienst entwickelte MIME-Spezifikation (Multipurpose Internet Mail Extensions). Ziel dieser Erweiterungen des Internet Mail Protocols SMTP (Simple Mail Transport Protocol) war es, den Internet-Email-Dienst zum Transport von beliebigen binären Dateien zu befähigen. Bis dahin war es tatsächlich so, dass SMTP lediglich in der Lage war, ASCII-Texte zu transportieren. Zwar gab es die Möglichkeit, binäre Dateien vorübergehend für den Transport in ASCII-Dateien zu konvertieren, dies erforderte jedoch sowohl beim Versand als auch beim Empfang zusätzliche Manipulationen, und war entsprechen umständlich. Mit MIME wurde dieses Problem gelöst, indem zusätzliche Einträge für den Mail-Header definiert und eine einheitliche Methode für die vorübergehende ASCII-Encodierung definiert wurde. Alle MIME-kompatiblen E-Mails enthalten demnach spezielle Header, die die Anzahl, die Länge und den Typ der Dateien beinhalten, die der Nachricht beige fügt sind. Jeder MIME-kompatible Mail-Client wertet nun beim Empfang einer Nachricht den MIME-Header aus, decodiert die ASCII-codierte Datei wieder in ihr ursprüngliches, binäres Format, und startet die betreffende Applikation, um die Datei darzustellen. Derselbe MIME-Mechanismus, der Email-Programmen die Datenformate von beigefügten Dateien mitteilt, kommt nun auch im World Wide Web zum Einsatz. Jeder Web-Server besitzt dazu eine umfangreiche Auflistung von unterschiedlichen MIME-Typen in der Datei mime.types. Im Header eines jeden HTTP -Datenpaketes wird daraus mit Hilfe der entsprechenden MIME-Klassifizierung der transportierte Inhalt bezeichnet. Beim Empfang von HTTP-Datenpaketen wird vom Web-Browser nun die MIME Headerinformation entsprechend ausgewertet. Ist im Setupmenü des Browsers für die betreffende, im MIME-Header enthaltene Dateierweiterung, eine entsprechende Applikation (Hilfs-Applikation) konfiguriert, so startet diese unmittelbar, Versuch 8 Internet, Teil 1 31 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk nachdem die Datei vollständig empfangen ist. Der Web-Browser ruft somit, falls er wie beschreiben konfiguriert ist, automatisch die richtige Anwendung für das jeweils empfangene Dateiformat auf. 5 Elektronische Post: Internet-E-Mail E-Mail-Systeme basieren ebenso wie die übrigen Internetdienste auf dem Client-Server-Prinzip. Nachric htenserver (MTA Message Transfer Agents) sind dabei für die Speicherung, Administration und den Transport der Nachrichten verantwortlich. Das Interface zum Benutzer stellen Mail-Clients dar (UA User Agents), welche ein- bzw. abgehende Nachrichten mit dem nächstgelegenen Nachrichten-Server austauschen. Für die Übertragung zwischen den Nachrichtenservern und den Mail-Clients bzw. zwischen den Nachrichtenservern untereinander kommen unterschiedliche Transportprotokolle zum Einsatz. Die Vermittlung der Nachrichten zwischen den Message Transfer Agents (MTA) geschieht im Internet wie in den meisten Intranets mit Hilfe des klassischen Simple Mail Transfer Protocol (SMTP). Seit seiner Standardisierung im Jahre 1982 wurde dieses Protokoll unverändert belassen, und erlangte aufgrund seiner Einfachheit und seiner Stabilität eine enorme Verbreitung. Mit der zunehmenden Nutzung von SMTP wurden aber auch sehr bald seine Limitationen sichtbar. Da SMTP für die Übertragung von Textnachrichten entwickelt worden war, ist es bis heute nicht in der Lage, andere Datenformate außer 7 Bit US-ASCII-Text-Formate zu übertragen! Der Bedarf, E-Mail-Dienste nicht nur zur textbasierenden Nachrichtenübertragung, sondern als universellen Transportdienst für jegliche Art von Daten zu nutzen, ließ daher SMTP als eine zunehmend unbefriedigende Lösung erscheinen. Ein weiteres Problem stellte sich durch die wachsende Popularität von X.400 Nachrichtensystemen. X.400 kennt nämlich Mechanismen, die die Übertragung von nicht-textbasierenden Inhalten ermöglichen, wodurch die Kopplung von X.400 und SMTP-Netzen erschwert bzw. unmöglich gemacht wurde. X.400-Nachrichten mit nicht-textbasierenden Inhalten mussten von den SMTP/X.400Gateways verworfen werden. Anfang der neunziger Jahre wurde klar, dass diese signifikante Einschränkungen von SMTP überwunden werden mussten, weshalb 1993 die SMTP-Erweiterung MIME (Multipurpose Internet Mail Extensions) geschaffen wurde. MIME definiert Erweiterungen im SMTP-Header - sogenannte »Content Type Header« -‚ die die angeführten Probleme beseitigen, ohne dabei Inkompatibilitäten mit bestehenden SMTP Implementationen zu generieren. Die MIME-Mechnismen sind mittlerweile weit verbreitet und kommen sogar im WWW-Transportprotokoll HTTP zur Anwendung (siehe Abschnitt 4.4 MIME und Hilfsapplikationen im WWW). 1996 wurden darüber hinaus im Rahmen der S-MIME Spezifikation zwei zusätzliche MIME Content Types definiert, die die verschlüs selte bzw. digital signierte Übertragung von MIME-Mail-Inhalten ermöglichen. Zur Übertragung der Nachrichten zwischen Mail-Clients und Mail-Servern kommen dagegen meist andere Protokolle als SMTP zum Einsatz. Welche das sind, hängt von der Anbindung des Mail-Clients an den Server ab. Im Remote-Betrieb (der Client wählt sich am Server ein, überträgt die Nachrichten auf ein lokales Speichermedium und beendet die Verbindung wieder) wird derzeit am häufig sten das Post Office Protocol (POP) in der Version 3 eingesetzt. Für den Onlinebetrieb (der Mail-Client steht während der gesamten Mailsession in Verbindung mit dem Mailserver, und die Nachrichten ble iben auf dem Speichermedium des Servers) ist POP3 dagegen schlecht geeignet, und wird dort zunehmend vom moderneren IMAP-4-Protokoll (Internet Message Access Protocol) abgelöst. Alternativ zu dedizierten Mailprotokollen kommen in LANbasierenden Intranets zur Übertragung von Messaging-Diensten auch LAN-Filesystemprotokolle wie NFS (UNIX) oder SMF (Novell) mit entsprechend darauf aufsetzenden Programmschnittstellen (z.B.: MAPI, VIM, AOCE) oder auch das WWW-Protokoll HTTP (bzw. S-HTTP oder SSL) zum Einsatz. Versuch 8 Internet, Teil 1 32 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk Abb. 15: Die Transportprotokolle des E-Mail-Dienstes Store-and-Forward Prinzip: E-Mails werden im Gegensatz zu HTML (direkte Verbindung zwischen Sender und Empfänger) nach dem Store-and-Forward-Modus versendet. Dies bedeutet, dass die Nachricht nicht direkt vom Absenderrechner zum Empfängerrechner gelangt, sondern in so genannten Mail Relays (oder Mail Transfer Agents) zwischengespeichtert und von da aus an das nächste Verteilerzentrum weitergeleitet wird (sofern das Postfach sich nicht Lokal, d.h. auf dem MTA befindet). Abb. 16: Das Prinzip von E-Mail im Internet Workflow der E-Mail: Der Verfasser einer E-Mail sendet eine mit seinem E-Mail-Client (wie z.B. Outlook oder Netscape Messenger) erstellte Mail an einen Empfänger. Die Mail wird dann vom ersten MTA empfangen, von diesem dann zum nächsten geschickt und zum Übernächsten bis letztendlich letzten MTA, an dem der Empfänger „angeschlossen“ ist (Store-Forward). Dieser MTA liefert die Mail dann in den Message Store (MS) des Empfängers. Dieser kann dann mit seinem MTA Mails aus seiner Mailbox abrufen. Um also per E-Mail kommunizieren zu können, benötigen wir mehrere Protokolle. Zum Senden benötigen wir das SMTP – Simple Mail Transfer Protocol, zum Lesen das POP – Post Office Protocol (POP3, um genau zu sein) oder das IMAP – Internet Message Access Protocol. (Version 4). Versuch 8 Internet, Teil 1 33 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk Abb. 17: Der Transport von E-Mails via POP3 und SMTP 5.1 SMTP (Simple Mail Transfer Protocol) Die Vermittlung der Nachrichten zwischen den Message Transfer Agents geschieht mittels eines speziellen Kommunikationsprotokolls, dem Simple Mail Transfer Protocol (SMTP). Wie der Name schon sagt, ist SMTP eine simplifizierte Version eines früheren Mail-Transportprogramms, dem Mail Transfer Protocol MTP. SMTP funktioniert tatsächlich erstaunlich einfach. Das SMTP-Protokoll (definiert im Request for Comment, kurz RFC) ist der Internet-Standard zur Verteilung von elektronischer Post im Internet. Das Protokoll ist textorientiert und setzt auf dem TCP-Protokoll auf. Eine E-Mail (Nachricht) besteht aus Kopf und Rumpf. Der Kopf enthält u.a. Datum, Bezug, Empfänger, Absender, Kopienempfänger. Der Rumpf besteht typischerweise aus freiem ASCII-Text. Nachrichten mit mehreren Empfängern auf einem Ziel-Host werden nur einmal zum Ziel übertragen und dort verteilt. SMTP definiert nicht, wie eine Nachricht von einem oder zu einem Benutzer von SMTP vermittelt wird. Des weiteren ist nicht festgelegt, wie empfangene Nachrichten vom Benutzer präsentiert oder zwischengespeichert werden. Diese Aufgaben werden für das SMTP -Protokoll von anderen Applikationsprogrammen durchgeführt. Weil das SMTP-Protokoll textorientiert (7Bit ASCII) ist, wurde durch die rasche Verbreitung der InternetMail schnell klar, dass eine Möglichkeit geschaffen werden musste, um binäre Daten (wie z.B. Graphiken) versenden zu können. Das Multiproposal Internet Mail Extensions (MIME) ermöglicht im allgeme inen das Anhängen von nicht ASCII-basierten Dateien. MIME teilt die verschiedenen Dateitypen in verschiedenen Haupt- und Untergruppen und integriert in das Versenden von elektronischen Nachrichten bereits die Verschlüsselung von Binärdaten in ASCII-7-Format. Dadurch wird auch die Verschlüsselung mit UUENCODE bzw. UUDECODE überflüssig. Zu den MIME-Hauptgruppen gehören Graphik, Video und Audio, die Untergruppen definieren den Datentyp genauer. SMTP-Befehle: • • • • • • Versuch 8 helo [host.]domain mail from: e-mail_address rcpt to: e-mail_address data rset noop Internet, Teil 1 34 / 48 FH Rosenheim - EIT • • • • Praktikum Informatik I M. Usyk quit vrfy expn help Beschreibung: HELO <SP> <domain> <CRLF> MAIL <SP>FROM:<reverse-path> <CRLF> RCPT <SP> TO:<forward-path> <CRLF> DATA <CRLF> RSET <CRLF> SEND <SP> FROM:<reverse-path> <CRLF> SOML <SP> FROM:<reverse-path> <CRLF> SAML <SP> FROM:<reverse-path> <CRLF> VRFY <SP> <string> <CRLF> EXPN <SP> <string> <CRLF> HELP [‘SP> <string>] <CRLF> NOOP <CRLF> QUIT <CRLF> TURN <CRLF> Eröffnung des Übertragungspfades Initialisierung und Übertragung der Senderadresse Übertragung der Empfängeradresse Übertragung der Daten Abbruch der laufenden Übertragung Übertragung mit direkter Zustellung an einen Online-User (Terminal) Übertragung an Mailbox oder Online-User (Terminal) Übertragung an Mailbox und Online-User (Terminal) Verifikation einer Adresse Auflistung eines Mailverteilers Hilfe zu Mail-Befehlen Leerkommando, um die Gegenstelle zur Versendung eines OK zu veranlassen Schließung des Übertragungskanals Rollentausch zwischen Sender und Empfänger <CRLF> = Strg-Taste <SP> = Space, Leerzeichen Status-Codes: 211 214 220<domain> 221<domain> 250 251 354 421 450 451 452 500 501 502 503 504 550 551 552 553 554 Versuch 8 System status, or system help reply Help message Service ready Service closing transmission channel Requested mau action okay, completed User not local; will forward to <forward-path> Start mail input; end with <CRLF>.<CRLF> <domain> Service not available , closing transmission channel Requested mau action not taken: mailbox unavailable Requested action aborted: local error in processing Requested action not taken: insufficient system storage Syntax error, command unrecognized Syntax error in parameters or arguments Command not implemented Bad sequence of commands Command parameter not implemented Requested action not taken: mailbox unavailable User not local; please try <forward-path> Requested mail action aborted: exceeded storage allocation Requested action not taken: mailbox name not allowed Transaction failed Internet, Teil 1 35 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk Hinweis : Je nach OS kann Groß-/Kleinschreibung eine Rolle spielen, z.B. bei Linux- /Unix-Derivaten. Bei dem im Praktikum benutzten NOS (NetWare 6) bzw. Maildienst (GroupWise6) nicht. 5.2 Telnet auf SMTP-Server 5.2.1 Telnet zu einer bestimmten Portadresse: Protokoll-Ports bezeichnen die Software-Adresse, unter der auf Netzwerk-Servern Software-Applikationen aufgerufen werden können. Jedes Dienstprogramm (FTP, HTTP, IRC etc.) auf einem Internet-Server besitzt daher eine bestimmte Port-Adresse. Ist bereits vor dem Verbindungsaufbau bekannt, auf welcher Port-Adresse des Zielsystems sich die gewünschte Applikation befindet, kann diese, durch ein Leerzeichen von der Internetadresse getrennt, gleichzeitig mit dem Telnet- bzw. dem Open-Befehl angeben werden. Damit wird der TelnetStandard-Port 23 umgangen und direkt zur gewünschten Applikation verzweigt. Falls Sie sich vertippen (und eine Fehlermeldung kommt), Befehl nochmals tippen. Wir fangen damit an, dass wir eine Telnet-Verbindung mit einem Mailrechner aufbauen und zwar nicht mit dem Default-Telnet-Port 23, sondern über den SMTP-Port 25. Dazu starten wir den TelnetClient über Start > Run > und geben folgenden Befehl ein: Ein Konsolen-Fenster öffnet sich: telnet 141.60.190.56 25, der Telnet-Client öffnet: Das MailProgramm (bzw. Dienst oder auch Daemon genannt) sollte sich jetzt mit einer Statuszeile melden. Bevor wir das Tippen anfangen, folgende Einstellung ändern: Terminal > Preferences: Versuch 8 Internet, Teil 1 36 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk Bei Terminal-Options Local Echo anhaken, sonst sieht man das Getippte nicht... Jedes mal wenn wir einen Befehl eingegeben haben, antwortet das entfernte System mit einer entsprechenden Statuszeile. Was der E-Mail-Client „transparent“, also für den User nicht sichtbar ausführt, werden wir manuell am Prompt eingeben: Client: C, Benutzer gibt ein. Server: S, Server(Dienst) antwortet; C: HELO (Rechnername eingeben nicht notwendig). Server antwortet: S: 250 OK Angabe unserer (der Absender) Mailaddresse (Leerzeichen nach Doppelpunkt beachten): C: mail from: [email protected] (Hinweis : wenn der mailhost einen MX-Eintrag im DNS hätte, würde man schreiben: <[email protected]>) Server antwortet: S: 250 OK (wenn mit einem 500 Code geantwortet wird, wurde verkehrt eingegeben, Invalid Syntax z.B.) Wir geben die EmpfängerMailAddresse an (Leerzeichen nach Doppelpunkt beachten): C: rcpt to: [email protected] S: 250 OK Wir geben unseren Text ein („“, <> formatieren den Inhalt der Mail, wichtig auch für E-Mail-Clients): C: data C: From: “Karl Maier” <[email protected]> C: To: “Hans Huber” <[email protected] > C: Subject: Meine erste Mail Damit der Message-Body der E-Mail sichtbar wird, fügen wir eine Leerzeile ein: C: Jetzt können wir unseren Text eintippen C: Message Body Wieder eine Leerzeile: C: Versuch 8 Internet, Teil 1 37 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk Wir schließen die Eingabe mit einem Punkt ab: C: . Der Server antwortet: S: 250 OK Wir beenden die Telnet-Sitzung: C:quit Anmerkungen: Was passiert, wenn wir bei From: den Namen weglassen? Oder bloß den Namen in den Anführungszeichen eingeben? Oder den Namen ohne „“ angeben? Ausprobieren! Für den E-Mail-Versand ist letztlich nur die Angabe der mail from: und rcpt to: Befehle wichtig, die Angaben beziehen sich auf vorhandene Mailboxnamen, was unterhalb des data-Befehls eingebeben wird, dient letztlich bloß der Formatierung der Mail (und damit der richtigen Darstellung der Mail im E-Mail-Client). Das SMTP-Protokoll adressiert also nur an eine Mailbox, der eigentliche Inhalt der E-Mail wird durch einen anderen RFC beschrieben, nämlich den RFC 822, dem Internet Message Format. In dieser RFC wird definiert, wie der Inhalt, der nach dem „data“-Befehl kommt, auszusehen hat: Die Schlüsselwörter sind: From: E-Mail-Adresse des “Urhebers” (Mailboxname des Senders) Reply –To: E-Mail-Adresse für die Antwort To: E-Mail-Adresse des Empfängers Cc: E-Mail-Adresse eines Zusätzlichen Empfängers (carbon copy) Bcc: E-Mail-Adresse eines unsichtbaren zusätzlichen Empfängers Date : Datum/Uhrzeit Subject: „Betreff:“ Received: Jedes Mail-Relay hinterlässt ein entsprechendes Feld Message ID: Eindeutiger Nachrichtenschlüssel, wird vom Mail-System erzeugt; References: Bezug auf vorhergehende Nachrichtenschlüssel In-Reply-To: Antwort auf einen vorhergehenden Nachrichtenschlüssel Hält man sich nicht an diese Konvention, z.B. wenn man statt Subject Betreff schreibt, kann das Mailprogramm nichts damit anfangen, jedes Mailprogramm muss sich also an die in der RFC 2822 definierten Konventionen halten. 5.2.2 Übungsteil: Verbindung per Telnet (Port 25) aufbauen und E-Mail versenden Wir bauen mittels Telnet eine Verbindung mit einem (Internet)E-Mailserver auf (loggen uns ein) und verschicken ein E-Mail (ohne E-Mail-Client) auf der „Konsolen-Ebene“: Auf dem E-Mail-Server sind Benutzer eingerichtet (und deren Mailboxen natürlich), der MTA ist dahingehend konfiguriert, dass er dass Relay von Mails von den Mailbox-Usern durchführt, Client-Telnet-PCVerbindungen werden akzeptiert. Ø Entsprechend Ihrer team_..–ID verfassen Sie eine E-Mail, als Absender benutzen sie den EMail-Account: [email protected], Ø als Empfänger geben Sie Ihre Empfänger-Adresse: [email protected] an. Als Vorlage benutzen Sie die protokollierte Telnet-Session. Versuch 8 Internet, Teil 1 38 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk 5.3 Post Office Protocol 3 (POP3): Das Post Office Protocol 3 ist das am weitersten verbreiterte Protokoll, um Internet-E-Mail abzurufen. Obwohl man dies mit dem POP2-Protokoll auch bewerkstelligen kann, hat das POP3 doch wesentlich mehr Verbreitung gefunden. POP3 ist nicht bloß das „neuere“ Protokoll, sondern die Befehle sind zum Großteil andere, auch der TCP -Port ist ein anderer (110). Alle Pop-Versionen können nebeneinander existieren (auf einem gemeinsamen Mailhost), aber auch in Verbindung mit IMAP (dazu später mehr). POP3 wurde auf dem als verbindungsorientierten und zuverlässigen TCP-Protokoll (in vergleich zum UDP) implementiert, mit Port 110. Das Post Office Protokoll wurde nicht entwickelt, um E-Mails nach dem StoreAnd-Forward-Prinzip weiterzuleiten (was Aufgabe des SMTP-Protokolls ist), sondern Clients die Möglic hkeit geben, auf einen dedizierten Host über TPP/IP (im Inter oder auch Intranet) zuzugreifen. Einige POP3 -Befehle : USER name („receiver_..“) PASS string (“email”) QUIT Sitzung beenden LIST Mails auflisten RETR Mail lesen RSET fehlerhafte Eingabe zurücksetzen NOOP Kommando um die Gegenstelle zur Versendung eines „OK“ zu veranlassen DELE msg (Mail löschen) 5.3.1 Übungsteil 1. Verbindung per Telnet (Port 110) aufbauen und E-Mail lesen. Wir haben ja bereits per SMTP eine E-Mail an den Empfänger <[email protected]> versendet. Nun wollen wir diese mail abrufen (lesen). Dies können wir auch direkt per Telnet auf dem Remote-Mail-Host machen, auf dem die Postfächer liegen. Das Passwort dafür ist: email Ø Wir machen uns wieder ein Konsolenfenster auf (wenn nicht noch offen) und geben den Befehl ein (gleiche IP-Adresse aber anderer Port): Der POP3-Dienst meldet sich: Ø Eingabe: user receiver_xy S: +OK Versuch 8 Internet, Teil 1 39 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk Ø Eingabe: pass email S: +OK Ø Eingabe: list S: +OK scan listing follows S: 1 656 (abhängig von der Größe der Mail) Ø Eingabe: retr 1 S: +OK Mail kann mit dem DELE-Befehl gelöscht werden (machen Sie später mit einem E-Mail Client): Versuch 8 Internet, Teil 1 40 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk 2. E-Mail-Client entsprechend konfigurieren, um per POP3 die Mails aus dem Postfach des Mailservers abzuholen (lokal abzulegen). Um die versandten E-Mails per „komfortablen“ E-Mail-Client lesen zu können, müssen wir vorab ein Userprofil anlegen. Ø Wenn sie bereits ein Profil, z.B. für Ihre FH-E-Mail-Adresse haben, legen Sie bitte ein neues Profil an. Dieses Profil können Sie dann jederzeit wieder löschen. Der Profile -Manager startet: Versuch 8 Internet, Teil 1 41 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk Ø „Create new Profile“ auswählen By Default wird das Netscape-Profil mit dem Roaming-User-Profile „mitwandern“: Versuch 8 Internet, Teil 1 42 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk Ø Um den Netscape Messenger (E-Mail-Client) direkt zu öffnen, klicken Sie auf Exit: Ø Starten Sie den Messenger: Ø Der Account-Wizard startet, die Mail-Settings können nun eingegeben werden: Versuch 8 Internet, Teil 1 43 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk Ø Email Account und „Next“: Ø Incoming (POP3) and outgoing (SMTP) –Server (wahlweise können Sie natürlich auch den DNS-Eintrag verwenden (ntrb20901.e.fh-rosenheim.de): bzw: Ø Freie Auswahl: Versuch 8 Internet, Teil 1 44 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk Ø Konfiguration beendet, „Finish“: Der Messenger startet mit einer Passwortabfrage: Der Mail-Client ist hat sich am POP3-Serverdienst angemeldet: Versuch 8 Internet, Teil 1 45 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk Ø Sie sollten jetzt die zuvor von Ihnen versandte Mail öffnen können: Die Mail ist jetzt lokal in Ihrem Netscape7-Userprofil abgelegt. 5.4 IMAP (Version 4) Das Internet Message Access Protocol findet immer mehr Verbreitung, speziell in Umgebungen, wo von mehreren Sites aus auf einen gleichbleibenden Daten(Email)bestand zugegriffen wird (z.B. von Zuhause/Unterwegs und dem Büro). POP3 bietet zwar eingeschränkt die Möglichkeit, Emails auf dem POP3Server zu belassen, wobei aber wenig Möglichkeiten bestehen, diese Emails zu „verwalten“. IMAP unterstützt z.B. die Möglichkeit, eine eigene, von den IMAP-Foldern unabhängige Verzeichnisstruktur in der Mailbox anzulegen oder bestimmte Verzeichnisse für Dritte freizugeben. Oder Dateien in der Verzeichnisstruktur abzulegen. Bei geringen „Bandbreiten“ und großen Datei-Anhängen (Attachments) kann man zuerst den Mailheader (und oder den Message -Body) lesen, bevor man die ganze Email downloaded. Natürlich lassen sich auch Emails ohne vorherigen Download löschen. Wie beim Post Office Protocol (POP3) beschränkt sich IMAP auf das Abfragen (oder besser managen) des Postfaches. Das Store-andForward-Prinzip zwischen MTA´s, die Aufgabe des Simple Mail Transfer Protocols (SMTP), ist in IMAP nicht implementiert. Im Allgemeinen unterstützt ein Mail-Server beide Protokolle, d.h. es ist letztlich nur vom UA abhängig, welches Protokoll dann zum Lesen der Mails genutzt wird. Im Gegensatz dazu ist man beim Versenden der E- Versuch 8 Internet, Teil 1 46 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk Mail sehr wohl darauf angewiesen das UA´s und MTA´s in gleicher Weise das SMTP -Protokoll und dessen Erweiterungen unterstützen. Da das Internet Message Access Protocol im Vergl. zum Post Office Protocol, wie schon erwähnt, mehr Möglichkeiten bietet, ist auch der Befehlsumfang wesentlich umfangreicher, der Zugriff, die Client-ServerKommunikation komplexer, weswegen Sie nur das Anlegen eines IMAP-Kontos durchführen. 5.4.1 Übungsteil Ø Fügen Sie Ihrem Netscape-Messenger-Profil ein neues Konto hinzu: Gleiche Konfiguration wie beim POP3-Konto (Account) bis auf Server-Type, hier wählen Sie IMAP aus. Ø Senden Sie ein neues Mail an Ihr receiver_.. –Konto, öffnen Sie aber diesmal ihr Postfach mit dem neu hinzugefügten IMAP-Konto: Befehl: Edit –Mail & NewsGroup-Preferences – Add Account: Ø IMAP – Incoming Server auswählen: Ø Neues Konto der Überschaubarkeit wegen mit z.B. mit –IMAP am Ende bezeichnen: Versuch 8 Internet, Teil 1 47 / 48 FH Rosenheim - EIT Praktikum Informatik I M. Usyk Ø Konfigurieren Sie auch bei Bedarf ein sender_.. –Konto, oder versenden Sie weiterhin per Telnet. 6 Abkürzungen ATM DNS DoD FDDI FTP HTML HTTP IAB IMAP IP ISO ISP LDAP MIME MTA NDS NNTP NVT POP RFC S-HTTP SMTP SSL TCP TTL UA UDP URL WWW Versuch 8 Asynchronous Transfer Mode Domain Naming Services Department of Defense Fiber Distributed Data Interface File Transfer Protocol Hyper Text Markup Language Hyper Text Transport Protocol Internet Activities Board Internet Message Access Protocol Internet Protocol International Standard Organization Internet-Service-Provider Lightweight Directory Access Protocol Multipurpose Internet Mail Extensions Message Transfer Agent Novell Directory Services Network News Transfer Protocol Network Virtual Terminal Post Office Protocol Request for Comment Secure http Simple Mail Transport Protocol Secure Socket Layer Transport Control Protocol Time To Live User Agents User Datagram Protocol Uniform Resource Locator World Wide Web Internet, Teil 1 48 / 48