Internet-Basisdienste Internet-Basisdienste Hütter Arno Scheidl Thomas Kurzfassung Das heutige Internet ist aus dem seit 1969 bestehenden ARPANET hervorgegangen. Es besitzt eine dezentralisierte Struktur, und ist im Prinzip eine Verbindung von einzelnen Netzwerken. Das am häufigsten verwendete Protokoll ist TCP/IP. Einer der wichtigsten Basisdienste des Internet ist Telnet, das den Zugriff auf entfernte Rechner ermöglicht; daneben existiert FTP zum Transport von Dateien bzw. E-Mail für den Austausch elektronischer Nachrichten. Gopher ist ein hierarchisch aufgebautes Informationssystem und News bietet ein nichtinteraktives Konferenzsystem für alle Internet-Benutzer. 1. ENTWICKLUNG Die Grundlagen für das Internet wurden in den 60er-Jahren mit der Entwicklung des Konzepts eines paketvermittelnden, dezentralisierten Netzwerks gelegt. Dabei werden Nachrichten in Pakete zerlegt, die individuelle Wege durchs Netz nehmen können. Ein erstes nach diesen Prinzipien arbeitendes Netzwerk wurde zu Testzwecken im Jahr 1968 in Großbritannien eingerichtet. Die dem amerikanischen Verteidigungsministerium unterstellte Advanced Research Projects Agency (ARPA) startete daraufhin ein größeres Projekt in den USA. 1969 wurde der erste Knoten des ARPANET installiert, Ende 1969 waren es vier Computer, die Daten über Hochgeschwindigkeitsleitungen übertragen und außerdem von den anderen Knoten aus programmiert werden konnten. In den folgenden Jahren wurde das ARPANET hauptsächlich für Nachrichten und persönliche Mitteilungen genutzt. Forscher gebrauchten es, um zusammen an Projekten zu arbeiten, Aufzeichnungen über ihre Arbeiten weiterzugeben. Personen besaßen eigene Accounts und hatten Adressen für Electronic Mail [Sterling_93]. Während der 70er-Jahre wuchs das Netzwerk weiter, die Expansion wurde durch die dezentralisierte Struktur erleichtert. Im Gegensatz zu Standardnetzwerken konnten an das ARPANET viele verschiedene Typen von Computern angeschlossen werden. Der ursprüngliche Standard für die Kommunikation war NCP (Network Control Protocol). Im Lauf der Zeit wurde NCP vom höherentwickelten TCP/IP abgelöst. TCP (Transmission Control Protocol) konvertiert Nachrichten vor der Übertragung in Ströme von Paketen und setzt sie dann wieder zu Nachrichten zusammen. IP (Internet Protocol) ist für die Adressierung zuständig, wobei Pakete über verschiedene Knoten und sogar verschiedene Netzwerke mit unterschiedlichen Standards übermittelt werden können. Seit 1977 wurde TCP/IP benutzt, um andere Netzwerke an das ARPANET anzubinden [Sterling_93]. Es entstand ein immer größerer Netzwerkkomplex, der unter dem Namen „Internet“ bekannt wurde. Mitte der 80er-Jahre wurde von der NSF (National Science Foundation) das NSFNET gegründet, um den Wissenschaftlern aller amerikanischen Universitäten den Zugang zum Netz zu ermöglichen. Um dem steigenden Datenverkehr Rechnung zu tragen, wurde ein auf sog. Backbones (=Rückgrat) basierendes System geschaffen, das die großen Rechenzentren verband. Dieses Backbone trägt heute die Hauptlast des Internetverkehrs. - 55 - Internet-Basisdienste Das offizielle Ende des ARPANET war 1989. Im heutigen Internet wird weltweit der TCP/IPStandard benutzt. 2. GRUNDLAGEN Das Internet ist dezentralisiert aufgebaut. Als Kommunikationsprotokoll wird üblicherweise TCP/IP verwendet, dazu muß jeder Rechner eine weltweit eindeutige Adresse besitzen. 2.1. Aufbau Die Struktur des Internets läßt sich in keines der klassischen, meist zentralistisch orientierten Konzepte einordnen. Eine etwas abstrakte Definition [Schneider_95] bezeichnet das Internet als „eine Menge von Computern, die dasselbe Kommunikationsprotokoll TCP/IP verwenden, die irgendwie (direkt oder indirekt) miteinander verbunden sind, auf denen gewisse Dienste angeboten oder genutzt werden, einer Menge von Nutzern, die vom Arbeitsplatz oder auch von zuhause aus direkten Zugriff auf diese Dienste haben, einer Menge von weiteren, über Gateways erreichbare Netzen“. Durch das Kommunikationsprotokoll TCP/IP können alle Rechner, unabhängig welchen Prozessor sie besitzen oder unter welchem Betriebssystem sie laufen, Daten untereinander austauschen. Lokale Netzwerke werden über spezielle Rechner, die sog. Router, mit der Außenwelt verbunden, damit können dann automatisch auch alle an dieses Netzwerk angeschlossenen Rechner Kontakt mit der Außenwelt aufnehmen. Mehrere Institutionen schließen sich nun zusammen und mieten Leitungen zwischen den einzelnen Mitgliedern, die von allen Teilnehmern genutzt werden können. Abb. 1 veranschaulicht diese Philosophie: Um alle Computer beider Netze zu verbinden, genügt eine zusätzliche Leitung zwischen X und Y. A X Y B C Abb. 1: Netztopologien gemäß der Internet-Philosophie 2.2. Das TCP/IP-Protokoll Der Transport von Daten über das Internet ist durch das TCP-Protokoll spezifiziert. Dieses dient als Basis für Anwendungen wie Telnet oder FTP. TCP stellt eine bidirektionale Verbindung her. Ein Client sendet eine Anforderung an den Server, der eine Antwort an den Client zurücksendet. Daraufhin findet der Datenaustausch statt. Im allgemeinen verwenden TCP/IP-Applikationen vier Ebenen: auf der obersten Ebene das Anwendungsprotokoll (z.B. FTP); ein Protokoll wie TCP, das von vielen Anwendungen benutzte - 56 - Internet-Basisdienste Dienste zu Verfügung stellt; IP, das dafür sorgt, daß die Daten ihr Ziel erreichen; und schließlich auf der untersten Ebene ein für die physikalische Verbindung zuständiges Protokoll wie z.B. Ethernet. TCP basiert auf einem Modell („catenet model“ [Hedrick_87]), das davon ausgeht, daß eine große Anzahl von unabhängigen Netzwerken existiert, die über Gateways miteinander verbunden sind. Der Benutzer sollte die Möglichkeit haben, auf Computer in jedem dieser Netzwerke zuzugreifen. Die Datenpakete durchlaufen dabei oft mehrere Netzwerke, bis sie ihr Ziel erreichen. Davon soll der Benutzer aber nichts merken, d.h. der Vorgang des Routings soll ihm vollkommen verborgen bleiben. Die einzige Information, die der Benutzer benötigt, ist die Adresse des Rechners, auf den er zugreifen möchte. TCP verwendet „verbindungslose“ Technologie. Daten werden als Folge von sog. Datagrammen übertragen. Ein Datagramm bezeichnet eine Menge von Daten, die als eine Nachricht gesendet wird [Hedrick_87]. Vom Netzwerk selbst werden diese Datagramme völlig getrennt behandelt. Da jedes dieser Datagramme individuell übertragen wird, können die einzelnen Pakete also unterschiedliche Wege durchs Netz nehmen, wobei immer möglichst der schnellste Weg gewählt wird. TCP sorgt dann dafür, daß die zusammengehörigen Datagramme am Zielort wieder in der richtigen Reihenfolge zur ursprünglichen Information zusammengesetzt werden. Eventuell fehlende Teile müssen erneut angefordert werden. TCP gibt die Datagramme mit der dazugehörenden Zieladresse an IP weiter. Dessen Aufgabe besteht nun darin, einen geeigneten Weg zu finden und das Datagramm an sein Ziel zu bringen. Dieser Vorgang wird als Routing bezeichnet. Grundsätzlich geht IP davon aus, daß ein Computer an ein lokales Netzwerk angeschlossen ist und Datagramme an jeden anderen Rechner innerhalb dieses Netzwerks geschickt werden können. Über Gateways können die Datenpakete auch an Rechner in anderen Netzwerken gesandt werden. Wenn ein Datagramm gesendet werden soll, wird also zunächst überprüft, ob die Bestimmungsadresse innerhalb des lokalen Netzwerks liegt. In diesem Fall kann es direkt gesendet werden. Ansonsten wird nach einem Eintrag für das Netzwerk gesucht, in dem diese Adresse liegt. Das Datagramm wird dann an das angegebene Gateway weitergeleitet. Ist kein spezifischer Eintrag vorhanden, wird es an ein als Standard definiertes Gateway weitergegeben. Viele Netzwerke besitzen überhaupt nur ein Gateway. 2.3. Adressierung Jeder ans Internet angeschlossene Rechner besitzt eine eindeutige Adresse. Diese sog. IP-Adresse besteht aus vier Bytes, die dezimal, durch Punkte getrennt, geschrieben werden. Eine solche Adresse gibt Auskunft über das Netzwerk und den Rechner. Um den unterschiedlichen Größen der Netzwerke gerecht zu werden, gibt es drei Klassen von Adressen, mit denen sich unterschiedlich viele Rechner verwalten lassen. Das Adressierungsschema ermöglicht es den Organisationen außerdem, eine Hierarchie zu bilden und Organisationseinheiten mit einer gemeinsamen BasisAdresse zusammenzufassen. Für jede Einheit, also für jedes Subnetz, existiert ein Router, der weiß, an welchen Rechner in seinem Bereich ein Päckchen mit einer bestimmten Adresse geschickt werden muß. Da die IP-Adressen als Zahlen schlecht zu behalten sind, wurde das Domain Name System (DNS) eingeführt, das es erlaubt, Rechnern auch logische Namen zuzuordnen. Am Anfang waren diese Angaben in einer zentralen Datei gespeichert, die regelmäßig mittels FTP an alle Rechner jeder Domain geschickt wurde. Durch das große Wachstum wurde das zu aufwendig. Die Datenbank ist nun in Zonen aufgeteilt, die von Domain Name Servern verwaltet werden, von denen es in jeder Zonen aus Sicherheitsgründen mindestens zwei gibt, die beide dieselben Informationen liefern. - 57 - Internet-Basisdienste Das System ist baumartig ausgelegt. Die oberste Stufe bilden die Top Level Domains, die im Namen die letzte Silbe bilden. Den meisten am DNS teilnehmenden Ländern ist solch eine Top Level Domain zugewiesen, üblicherweise der ISO-2-Buchstaben-Ländercode (z.B. „at“ für Österreich, „de“ für Deutschland usw.). In den USA werden die Top Level Domains nach anderen Kriterien eingeteilt. Die einzelnen Domains lauten hier gov, mil, edu, com, org und net. Gov, mil und edu kennzeichneten Regierungs-, Militär- und Bildungseinrichtungen, die ja die Pioniere des ARPANET waren. Com steht für kommerzielle Einrichtungen, org für gemeinnützige Organisationen, net-Computer dienen als Gateways zwischen Netzwerken. Über die sog. Portnummern können unterschiedliche Dienste angesprochen werden. Portnummern bestehen aus 16 bit, sodaß auf einem Rechner bis zu 65535 unterschiedliche Ports verwendet werden können. Für die Standarddienste werden einheitliche Portnummern verwendet (z.B. 21 für FTP, 23 für Telnet, 80 für WWW). 3. DIENSTE UND WERKZEUGE Die wichtigsten Dienste und Werkzeuge des Internet lassen sich wie folgt gliedern [Scheller_94]: Basisdienste Telnet FTP E-Mail Bulletin Boards Mailinglisten News Informationsrecherche Archie Gopher (Veronica) WWW Tab. 1: Einteilung der wichtigsten Dienste und Werkzeuge 3.1. Telnet Telnet war der erste überhaupt für das Internet implementierte Dienst. Es ermöglicht das Arbeiten auf räumlich entfernten Rechnern im Netz, ganz gleichgültig wo sich diese tatsächlich befinden, sei es im selben Gebäude oder auf einem anderen Kontinent. Ist erst einmal eine Verbindung hergestellt, kann auf die Ressourcen des Remote-Hosts zugegriffen werden, als ob die eigene Tastatur und das eigene Terminal direkt daran angeschlossen wären, abgesehen von stellenweise längeren Antwortzeiten bei langsamen Übertragungsraten. Steuersequenzen bleiben dem Benutzer dabei verborgen; er sieht lediglich die Bildschirminformationen, die von den entfernt gestarteten Programmen erzeugt und an den eigenen Rechner geschickt werden, und kann mittels Tastatureingabe darauf reagieren. Um Zugriff auf einen Remote-Host zu erlangen, ist neben der Kenntnis dessen Namens bzw. IPAdresse in der Regel auch eine Zugangsberechtigung (Account) erforderlich. Die meisten Rechner des Internets bieten daneben allerdings auch sog. Guest Accounts an, für welche dann spezifizierte Programme zur Verfügung stehen. Das Konzept des Telnet basiert auf folgenden drei Grundideen [Scheller_94]: ? ? Network Virtual Terminal (netzwerkweit einheitliches virtuelles Referenzterminal) ? ? Negotiated Options (ermöglichen Kommunikationspartnern, Übertragungsoptionen auszuhandeln) ? ? Symetric Connection (Protokollfunktionen und -mechanismen können von beiden Partnern gleichberechtigt benutzt werden) - 58 - Internet-Basisdienste Via Telnet ist der Zugriff auf unterschiedlichste Informationen auf tausenden Rechnern im Internet möglich, wie etwa auf Datenbanken, Bibliothekskataloge, Archie-, Gopher-, WWW- oder WaisServer. 3.2. FTP Als File Transfer Protokoll, kurz FTP, bezeichnet man neben dem Protokoll auch gleich den Dienst, der damit realisiert wird: die Übertragung von Dateien zwischen verschiedenen Rechnern des Internets. FTP ist einer der wichtigsten und am meisten genutzten Dienste und verdankt seine enorme Bedeutung den weltweit verteilten frei zugänglichen Anonymous FTP Servern, die den anonymen Zugriff auf kostenlose Software für verschiedenste Computersysteme, Publikationen und andere Dokumente wie Grafik- oder Klangdateien erlauben [Scheller_94]. Daneben dient FTP auch dem privaten Datenaustausch von Rechner zu Rechner, wofür allerdings entsprechende Zugriffsrechte benötigt werden. Der FTP-Standard setzt auf einer Client/Server-Architektur mit getrennter Kontroll- und Datenverbindung auf. Über die Kontrolleitung werden Kommandos und Parameter zur Datenübertragung ausgetauscht, während der eigentliche Datentransfer auf der Datenleitung stattfindet. FTP stellt eine Vielzahl unterschiedlicher Übertragungsmodi zur Verfügung, etwa für ASCII- oder Binärdateien, bzw. zum fließenden, blockweisen oder komprimierten Datentransfer. Nach dem Verbindungsaufbau stehen dem Benutzer Kommandos zum Navigieren innerhalb der Ordnerhierarchie des Servers und zum Herunterladen bzw. auch zum Senden von Dateien zur Verfügung. Zur besseren Orientierung haben gut organisierte FTP-Archive übersichtliche und nach Themengebieten geordnete Verzeichnisstrukturen sowie README-Dateien, welche nähere Informationen zum Verzeichnisinhalt bereitstellen. Oft werden auch Kopien des Inhalts anderer Server angeboten (man spricht in diesem Zusammenhang von Mirror-Servern), wodurch Programme und Dokumente thematisch zusammengefaßt und Übertragungskosten eingespart werden können. Dateien und Verzeichnisse auf FTP-Servern lassen sich auch auf einfachere Weise lokalisieren als durch manuelles Durchsuchen. Dabei hilft Archie, ein Datenbanksystem, das Informationen über die Inhaltsverzeichnisse von derzeit etwa 800 Anonymous-FTP-Servern bereitstellt [Spurzem_95]. 3.3. Electronic Mail Electronic Mail ist eine leichte, schnelle und billige Möglichkeit, mit anderen Internet-Benutzern in Kontakt zu treten. An die zehn Millionen Menschen verwenden das Internet täglich zum Senden und Empfangen von Nachrichten [Spurzem_95] und machen E-Mail damit zur wohl populärsten Dienstleistung des Netzes. In gewisser Weise ähnelt E-Mail dem traditionellen Briefverkehr, bis auf einen enormen Unterschied, was die Zustellungsdauer betrifft. Elektronische Nachrichten erreichen in der Regel nach wenigen Sekunden ihren Empfänger. Ansonsten sind beim Erstellen und Abschicken einer E-Mail ganz ähnliche Arbeitsschritte notwendig wie bei einer traditionellen Postsendung, nämlich das Verfassen des Textes, das Eintragen des Adressaten und der eigentliche Sendevorgang. Auf welchem Weg die Nachricht letztendlich zum Empfänger gelangt, ist für den Benutzer nicht von Interesse. Das sog. Simple Mail Transfer Protocol (kurz SMTP) übernimmt die Auslieferung sozusagen „bis vor die eigene Haustüre“, in den benutzereigenen Briefkasten. Voraussetzung dafür sind allerdings weltweit eindeutige Mailadressen. Dabei hat sich die Schreibweise user@domain (gesprochen: user at domain) eingebürgert, über die jeder Benutzeraccount auf jedem Rechner des Internets identifiziert werden kann [Scheller_94]. - 59 - Internet-Basisdienste Der Inhalt einer E-Mail muß sich nicht nur auf ASCII-Texte beschränken. Das MIME-Protokoll (Multipurpose Internet Mail Extensions) ermöglicht die Untergliederung der E-Mail in einzelne Teile, die dann Dokumente jedweder Art, seien es Grafiken, Audio- oder Videosequenzen aufnehmen können. Selbst ohne MIME können Binärdateien über E-Mail verschickt werden, diese müssen dann allerdings vor Sendevorgang in ASCII-Texte umgewandelt bzw. danach auch wieder zurückkonvertiert werden. Auf den meisten Systemen sind entsprechende Codierungsprograme verfügbar. Eine besondere Form der Interaktion per E-Mail stellen Mailinglisten dar. Ähnlich wie bei einem Zeitschriften-Abonnement kann sich ein Teilnehmer auf eine das gewünschte Thema abdeckende Mailing-Liste setzen lassen; zu diesem Zweck genügt eine E-Mail an den Verteiler der Liste. Abonnenten erhalten dann alle zu diesem Thema verfaßten Artikel automatisch zugeschickt. Mailinglisten waren ursprünglich Vorläufer von News-Systemen, werden aber auch heute noch von interessierten Benutzer zur Abdeckung spezifischer Interessen eingesetzt [Hosenfeld_94]. 3.4. Gopher Gopher war bis zum Aufkommen von World Wide Web das benutzerfreundlichste Werkzeug des Internet. Zum Zeitpunkt seiner Entwicklung erlaubt kein anderer Internet-Dienste das Durchblättern von Online-Informationen. Genau hier setzt das Gopher-Konzept an; es offeriert ein hierarchisch aufgebautes Menü-System, durch das sich der Benutzer einfach den Weg bis zur gesuchten Information bahnen kann. Dort angelangt, können dann Dateien direkt abgerufen werden, ohne sie zuerst lokal herunterladen zu müssen. Der Zugang zu Gopher wird über einen Gopher-Client realisiert. Dieser agiert als Schnittstelle zwischen dem Benutzer und den weltweit verteilten Gopher-Servern. Für Benutzer, die lokal keine Clients installiert haben, besteht die Möglichkeit, via Telnet auf öffentlich zugängliche Clients zuzugreifen. Beim Durchstöbern des Gopherspace sind die beiden Werkzeuge Veronica und Jughead hilfreich. Sie offerieren eine Stichwortsuche in den Einträgen der Gopher-Menüs. 3.5. News News ist ein öffentliches, nichtinteraktives Konferenzsystem. Es besteht aus einer Gemeinschaft von Rechnern, die untereinander Nachrichten austauschen. Der derzeit wichtigste Zusammenschluß ist Usenet. Usenet wird desöfteren fälschlicherweise mit dem Internet selbst verwechselt, ist aber vielmehr ein Verbund von etwa 40.000 Servern. Jeder Teilnehmer ist an einen dieser News-Server gekoppelt, und kann über eine NNTP-Schnittstelle (Network News Transfer Protocol) oder alternativ dazu über UUCP (UNIX-to-UNIX-Copy) Artikel am eigenen Rechner lesen oder verfassen [Scheller_94]. Der Transport der News von Rechner zu Rechner erfolgt ähnlich wie jener von E-Mails, allerdings verbleibt die Nachricht weiterhin am News-Server und steht damit auch anderen Benutzern zur Verfügung. Ausgeklügelte Abmachungen und Routing-Regeln sorgen dafür, daß jeder Artikel in wenigen Minuten allen Usern zur Verfügung steht. News ist hierarchisch in unterschiedliche Themenbereiche, sog. Newsgroups gegliedert. Um bei den weltweit tausenden Newsgruppen nicht die Übersicht zu verlieren, kann sich der Benutzer zu den ihn interessierenden Bereichen einschreiben lassen („subscriben“) und erhält in Zukunft dann nur noch Artikel der so spezifizierten Themengebiete zugesandt. Beispiele für die Strukturierung der Newsgroups auf höchster Hierarchieebene sind comp (Computerthemen), alt (Alternative Hierarchie mit weniger formalen Regeln), rec (Recreation - Freizeit und Hobby) und sci (Science - Wissenschaft) [Hosenfeld_94]. - 60 - Internet-Basisdienste LITERATUR [Hedrick_87] [Hosenfeld_94] [Scheller_94] [Schneider_95] [Spurzem_95] [Sterling_93] „TCP/IP protocols“, URL: http://147.47.1.1/Internet/tcp_ip.html Hosenfeld, F.: „Keimzelle - von Email bis WWW, die wichtigsten Dienste des Internet“, in: „c’t“, 10/1994, S. 112-118 Scheller, Boden, Geenen, Kampermann: „Internet: Werkzeuge und Dienste“, Springer Verlag, Berlin, 1994 Schneider, G.: „Eine Einführung in das Internet“, in: „Informatik Spektrum“, 18/1995, S. 263-271 „Internet Starter Kit“, URL: http://www.hr.doe.gov/~u8693rs/reference/isksourc.htm „A Brief History of the Internet“, URL: http://www.vir.com/Demo/tech/SterlingBrief.html - 61 -