Uebung 08 Internet

Werbung
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
Zugehörige Unterlagen
Herunterladen