Galileo Computing < openbook >
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung


'Wie werde ich Unix-Guru' als Buch bestellen
A. Willemer
Wie werde ich UNIX-Guru
I  ANWENDUNG
Know-How für Unix/Linux-User: Einführung, Shell, Befehle, Hilfe, Arbeit mit Dateien, Editoren, Reguläre Ausdrücke, nützliche Tools, Hardware.

II  ADMINISTRATION
Tools, Systemstart, Benutzer verwalten, Hardware konfigurieren, Software installieren, Datensicherung, Tuning, Kernel

III  NETZWERK
Client/Server Systeme, TCP/IP, Routing, IPv6, Internet-Dienste, DHCP, Webserver, Firewalls

IV  DAS X-WINDOW SYSTEM
Die grafische Oberfläche von UNIX einrichten und nutzen

V  PROGRAMMIERUNG VON SHELLSKRIPTEN
Automatisieren von Tasks durch Shell-Skripte.

VI  PERL
Interpreter, Syntax, Variablen, Steuerung, Funktionen, UNIX-Aufrufe, GUIs mit Tk

VII  PROGRAMMIERWERKZEUGE
C-Compiler, Analyse-Tools, CVS, yacc, diff

VIII  UNIX-SYSTEMAUFRUFE
UNIX-Befehle in eigenen Programmen nutzen

IX  LITERATUR
Weiterführende Literatur zu UNIX und LINUX

 
Galileo Computing / <openbook> / "Wie werde ich UNIX-Guru ?"
« Die Datei /etc/hosts Namensauflösung Domain Name Service: DNS »

Die Datei /etc/services

Eine Netzwerkanfrage besteht nicht nur aus Kenntnis des Rechners. Wenn eine Anfrage an einen Netzdienst wie HTTP, FTP oder der Druckdienst gestellt wird, muss man den entsprechenden Prozess wie httpd, ftpd oder lpd auf diesem Rechner erreichen, der die Anfrage beantwortet.

Um eine Verbindung zwischen zwei Prozessen aufzubauen, wird auf jeder Maschine ein Socket (engl. Steckdose) verwendet. Die Sockets eines Rechners sind durchnumeriert. Der Client braucht einen Socket, um über diesen später eine Antwort zu bekommen. Dazu bekommt er irgendeine Socketnummer zugeteilt, die gerade frei ist. Um einen bestimmten Dienst und damit dessen Server zu erreichen, muss der Client den Socket kontaktieren, der von dem Serverprozess betreut wird.

Für Standarddienste hat man die Nummern der Sockets festgelegt. Sie erreichen den Webserver eines Rechners im Regelfall über den Socket 80. Das Protokoll heißt HTTP (Hypertext Transfer Protocol) und der Serverprozess, der Anfragen über dieses Protokoll beantwortet heißt httpd. In Abbildung sehen Sie zwei Clientprozesse namens modzilla und netscape, die auf dem Rechner 192.168.109.137 laufen. Sie stellen beide Anfragen an den Webserver auf dem Rechner 192.168.109.144. Die Sockets, die die Clients verwenden, haben eine beliebige Nummer, die ihnen zufällig vom System zugeordnet werden. Sie rufen den Socket 80 auf dem Zielrechner. Diese Nummer hat der Webserverprozess httpd beim Start angefordert.



Im Zusammenhang mit den festgelegten Serversockets wird von einem Port gesprochen. Um den Nummern Namen zuzuordnen, gibt es die Datei /etc/services. Hier sehen Sie einen Ausschnitt:

ftp-data         20/tcp     # File Transfer [Default Data]
ftp-data         20/udp     # File Transfer [Default Data]
ftp              21/tcp     # File Transfer [Control]
telnet           23/tcp     # Telnet
telnet           23/udp     # Telnet
http             80/tcp     # World Wide Web HTTP
http             80/udp     # World Wide Web HTTP
www              80/tcp     # World Wide Web HTTP
www              80/udp     # World Wide Web HTTP
www-http         80/tcp     # World Wide Web HTTP
www-http         80/udp     # World Wide Web HTTP

Unter der Nummer 80 finden Sie den Dienst http und unter 21 den Dienst ftp. Und da ftp in der Regel unter der Portnummer 21 zu erreichen ist, spricht man von einem well known port (übersetzt etwa: wohlbekannter Hafen).

Das tcp hinter dem Schrägstrich ist die Kennung für das Protokoll. Neben TCP findet sich in der /etc/services noch das Protokoll udp. Es kann für dieselbe Nummer beide Protokolle nebeneinander geben. Ein weiteres Protokoll wurde im Zusammenhang mit dem Befehl ping bereits vorgestellt: ICMP.

TCP (Transmission Control Protocol) hat die Aufgabe, Daten sicher durch das Netzwerk zu transportieren. Dabei überprüft es die Netzpakete auf ihre Unversehrtheit anhand einer Prüfnummer. Beschädigte Pakete werden neu angefordert. Geraten Pakete in der Reihenfolge durcheinander, weil sie beispielsweise unterschiedliche Wege genommen haben, oder weil defekte Pakete neu angefordert wurden, sorgt TCP für die korrekte Reihenfolge. Den Anwendungsprogrammen gegenüber stellt es einen Datenstrom zur Verfügung. Das Programm muss die Aufteilung auf Pakete also nicht selbst durchführen. Zu guter Letzt veranlasst TCP den geregelten Verbindungsabbau.

UDP (User Datagram Protocol) ist da sehr viel einfacher. Es wird nicht eine Verbindung aufgebaut, sondern es werden einfach Pakete versendet. UDP prüft nicht den Empfang oder die Reihenfolge der Pakete. Es wird lediglich gewährleistet, dass die Pakete unversehrt sind. Dieser fehlende Komfort kommt der Geschwindigkeit zu gute. So arbeitet beispielsweise das verteilte Dateisystem NFS auf Basis von UDP.

ICMP (Internet Control Message Protocol) ist noch einfacher. Es transportiert keine Daten, sondern Fehlermeldungen und Diagnoseinformationen. Das Protokoll wird meist unsichtbar von den Netzwerkschichten verwendet. Lediglich durch den Befehl ping hat der Anwender mit diesem Protokoll direkt zu tun.



« Die Datei /etc/hosts | Namensauflösung | Domain Name Service: DNS »
 
 Zum Katalog
Zum Katalog
Wie werde ich UNIX-Guru?
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 UNIX/Linux

PHP 4-Workshop

Einstieg in Python

Perl fürs Web

MySQL 4

GNOME 2.0
 Empfehlung

Einstieg in XML
 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
Info

 MyGalileo
Der Service für registrierte Leser:
Zu MyGalileo
Info



Copyright © Galileo Press GmbH 2003
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.
[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de