Das OSI-Modell beschreibt idealisierte Netzwerkverbindungen mit einer Protokollfamilie. TCP/IP entspricht in diesem Modell nur zum Teil. Es verbindet z. B. mehrere OSI-Schichten zu einer Schicht oder verwendet andere Schichten gar nicht. In der folgenden Tabelle sind die Schichten der Implementierung von TCP/IP in Oracle Solaris aufgeführt. In der folgenden Tabelle sind die Schichten von der obersten Schicht (Anwendung) zur untersten Schicht (Bitübertragung) aufgeführt.
Tabelle 1–2 TCP/IP-Protokollstapel
OSI Ref. Schichtnr. |
Entsprechende OSI-Schicht |
TCP/IP-Schicht |
TCP/IP-Protokollbeispiele |
---|---|---|---|
5,6,7 |
Anwendung, Sitzung, Darstellung |
NFS, NIS, DNS, LDAP, telnet, ftp, rlogin, rsh, rcp, RIP, RDISC, SNMP und andere |
|
4 |
Transport |
TCP, UDP, SCTP |
|
3 |
Vermittlung |
IPv4, IPv6, ARP, ICMP |
|
2 |
Sicherung |
PPP, IEEE 802.2 |
|
1 |
Bitübertragung |
Ethernet (IEEE 802.3), Token Ring, RS-232, FDDI und andere |
Die Tabelle zeigt die TCP/IP-Protokollschichten und deren Entsprechungen im OSI-Modell. Darüber hinaus sind Beispiele der Protokolle aufgeführt, die auf jeder Schicht im TCP/IP-Protokollstapel verfügbar sind. Jedes an einem Datenaustausch beteiligte System führt eine einmalige Implementierung des Protokollstapels aus.
Die Bitübertragungsschicht legt die Eigenschaften der für das Netzwerk verwendeten Hardware fest. Beispielsweise bestimmt die Bitübertragungsschicht die physikalischen Eigenschaften der Kommunikationsmedien. Die Bitübertragungsschicht im TCP/IP-Protokoll beschreibt Hardwarestandards wie IEEE 802.3, die Spezifikationen der Ethernet-Netzwerkmedien und RS-232, die Spezifikationen für standardmäßige Pin-Stecker.
Die Sicherungsschicht identifiziert den Netzwerkprotokolltyp des Pakets, in diesem Fall TCP/IP. Darüber hinaus bietet die Sicherungsschicht eine Fehlerkontrolle und Daten-Framing. Beispiele für Protokolle in der Sicherungsschicht sind Ethernet IEEE 802.2 Framing und Point-to-Point Protocol (PPP)-Framing.
Die Vermittlungsschicht, die auch als Internetschicht oder IP-Schicht bezeichnet wird, akzeptiert Pakete und gibt sie an das Netzwerk weiter. Diese Schicht umfasst das mächtige Internet Protocol (IP), das Address Resolution Protocol (ARP) und das Internet Control Message Protocol (ICMP).
Das IP-Protokoll und die dazugehörigen Routing-Protokolle sind wahrscheinlich die wichtigsten Protokolle der gesamten TCP/IP-Protokollfamilie. Das IP-Protokoll ist für Folgendes verantwortlich:
IP-Adressierung – die IP-Adressierungskonventionen sind Teil des IP-Protokolls. Erstellen eines IPv4-Adressierungsschemas enthält eine Einführung in die IPv4-Adressierung, Einführung in die IPv6-Adressierung in die IPv6-Adressierung.
Host zu Host-Kommunikation – Das IP-Protokoll bestimmt den Pfad, den ein Paket nehmen muss, anhand der IP-Adresse des empfangenden Systems.
Paket-Formatierung – Das IP-Protokoll setzt Datenpakete zu Einheiten zusammen, die als Datagramme bezeichnet werden. Datagramme sind ausführlich unter Internetschicht: Vorbereitung der Pakete für die Zustellung beschrieben.
Fragmentierung – Falls ein Paket zu groß für die Übertragung über das Netzwerkmedium ist, schlüsselt das IP-Protokoll das Paket auf dem sendenden System in kleinere Fragmente auf. Das IP-Protokoll auf dem empfangenden System setzt die Fragmente dann wieder zum Originalpaket zusammen.
Oracle Solaris unterstützt die Adressierungsformate IPv4 und IPv6, die beide in diesem Handbuch beschrieben werden. Um Missverständnissen vorzubeugen, wird eine der folgenden Konventionen bei der Bezeichnung der Internet Protocol-Versionen verwendet:
Wenn der Begriff „IP“ in einer Beschreibung verwendet wird, gilt die Beschreibung für IPv4 und IPv6.
Wenn der Begriff „IPv4“ in einer Beschreibung verwendet wird, geht die Beschreibung nur für IPv4.
Wenn der Begriff „IPv6“ in einer Beschreibung verwendet wird, geht die Beschreibung nur für IPv6.
Das Address Resolution Protocol (ARP) befindet sich zwischen der Sicherungs- und der Vermittlungsschicht. ARP unterstützt das IP-Protokoll dabei, Datagramme an das richtige empfangende System zu leiten, indem es Ethernet-Adressen (mit einer Länge von 48 Bit) zu bekannten IP-Adressen (mit einer Länge von 32 Bit) zuordnet.
Das Internet Control Message Protocol (ICMP) erkennt und meldet Fehlerzustände im Netzwerk. ICMP meldet Folgendes:
Verlorene Pakete – Pakete, die zu schnell ankommen, um verarbeitet zu werden
Konnektivitätsfehler – Ein Zielsystem kann nicht erreicht werden
Umleitung – Das Umleiten eines sendenden Systems, so dass es einen anderen Router verwendet
Kapitel 8Verwaltung eines TCP/IP-Netzwerks (Aufgaben) enthält weitere Informationen zu den Oracle Solaris-Befehlen, die das ICMP-Protokoll zur Fehlererkennung verwenden.
Die Transportschicht im TCP/IP-Protokoll stellt sicher, dass Pakete nacheinander und fehlerfrei eintreffen, indem es Bestätigungen für den Datenempfang sendet und verlorene Pakete erneut überträgt. Diese Kommunikationsart wird als durchgehende (End-to-End) Kommunikation bezeichnet. Transportschichtprotokolle auf dieser Stufe sind Transmission Control Protocol (TCP), User Datagram Protocol (UDP) und Stream Control Transmission Protocol (SCTP). TCP und SCTP stellen zuverlässige End-to-End-Services bereit. UDP stellt unzuverlässigen Datagramm-Service bereit.
TCP sorgt dafür, dass Anwendungen so miteinander kommunizieren können, als wären sie über einen Schaltkreis fest miteinander verbunden. TCP sendet Daten zeichenweise anstatt in diskreten Paketen. Die Übertragung setzt sich aus Folgendem zusammen:
Startpunkt, der die Verbindung öffnet.
Gesamte Übertragung in Byte-Reihenfolge.
Endpunkt, der die Verbindung schließt.
TCP fügt den übertragenen Daten einen Header hinzu. Dieser Header enthält zahlreiche Parameter, die Prozesse auf dem sendenden System dabei unterstützen, die Verbindung mit den Peer-Prozessen auf dem empfangenden System herzustellen.
TCP bestätigt, dass ein Paket sein Ziel erreicht hat, indem es eine End-to-End-Verbindung zwischen dem sendenden und dem empfangenden Host herstellt. Daher wird TCP als ein „zuverlässiges, verbindungsorientiertes“ Protokoll bezeichnet.
SCTP ist ein zuverlässiges, verbindungsorientiertes Transportschichtprotokoll, das Anwendungen die gleichen Services wie das TCP-Protokoll bereitstellt. Darüber hinaus kann das SCTP-Protokoll auch Verbindungen zwischen Systemen unterstützen, die über mehrere Adressen verfügen (Multihomed Systeme). Die SCTP-Verbindung zwischen dem sendenden und dem empfangenden System wird als Assoziation bezeichnet. Daten in der Assoziation sind in Datenblöcke aufgeteilt. Da das SCTP-Protokoll multihoming unterstützt, müssen bestimmte Anwendungen (insbesondere Anwendungen für die Telekommunikationsindustrie) über SCTP anstatt TCP ausgeführt werden.
UDP bietet einen Zustellungsservice für Datagramme. UDP überprüft keine Verbindungen zwischen sendenden und empfangenden Hosts. Da UDP keine Prozesse zum Herstellen und Überprüfen von Verbindungen ausführt, verwenden Anwendungen, die nur geringe Datenmengen senden, das UDP-Protokoll.
Die Anwendungsschicht definiert standardmäßige Internetservices und Netzwerkanwendungen, die jeder verwenden kann. Diese Services arbeiten zum Senden und Empfangen von Daten mit der Transportschicht zusammen. Auf der Anwendungsschicht existieren verschiedene Protokolle. Die folgende Liste zeigt Beispiele für Protokolle der Anwendungsschicht:
Standardmäßige TCP/IP-Services wie z. B. ftp, tftp und telnet-Befehle
UNIX „r“-Befehle, z. B. rlogin und rsh
Namen-Services, z. B. NIS und Domain-Namen-Service (DNS)
Verzeichnisservices (LDAP)
Dateiservices, z. B. der NFS-Service
Simple Network Management Protocol (SNMP), das eine Netzwerkverwaltung ermöglicht
Die Routing-Protokolle Router Discovery Server Protocol (RDISC) und Routing Information Protocol (RIP)
FTP und Anonymous FTP – Das File Transfer Protocol (FTP) überträgt Dateien von und an ein Remote-Netzwerk. Das Protokoll umfasst den Befehl ftp und den Daemon in.ftpd. Mit FTP kann ein Benutzer den Namen eines Remote-Host und Optionen des Dateiübertragungsbefehls an der Befehlszeile des lokalen Hosts eingeben. Der in.ftpd-Daemon auf dem Remote-Host verarbeitet daraufhin die Anforderungen vom lokalen Host. Im Gegensatz zu rcp arbeitet ftp auch dann korrekt, wenn der Remote-Computer kein UNIX-basiertes Betriebssystem ausführt. Zum Herstellen einer ftp-Verbindung muss sich ein Benutzer beim Remote-System anmelden, es sei denn, das Remote-System gestattet anonymes FTP.
Sie können enorme Datenmengen von anonymen FTP-Servern beziehen, die mit dem Internet verbunden sind. Diese Server wurden unter anderem von Universitäten und anderen Institutionen eingerichtet, um der Öffentlichkeit Software, Forschungsunterlagen und andere Informationen zur Verfügung zu stellen. Wenn Sie sich bei diesen Servern anmelden, verwenden Sie den Anmeldenamen anonymous, daher die Bezeichnung „Anonymer FTP-Server.”
Die Verwendung von anonymem FTP und das Einrichten von anonymen FTP-Servern wird in diesem Handbuch nicht beschrieben. Anonymes FTP wird jedoch in vielen Büchern wie z. B. The Whole Internet User's Guide & Catalog ausführlich beschrieben. Anweisungen zum Verwenden von FTP finden Sie im System Administration Guide: Network Services . In der Manpage ftp(1) sind alle ftp-Befehlsoptionen beschrieben, die über den Befehlsinterpreter aufgerufen werden. In der Manpage ftpd(1M) sind alle Services beschrieben, die vom in.ftpd-Daemon bereitgestellt werden.
Telnet – Mit dem Telnet-Protokoll können Terminals und terminalorientierte Prozesse über ein Netzwerk, das TCP/IP ausführt, miteinander kommunizieren. Dieses Protokoll ist als telnet-Programm auf lokalen Systemen und als in.telnetd-Daemon auf Remote-Computern umgesetzt. Telnet bietet eine Benutzeroberfläche, über die zwei Host zeichen- oder zeilenweise miteinander kommunizieren können. Telnet umfasst verschiedene Befehle, die in der Manpage telnet(1) ausführlich dokumentiert sind.
TFTP – Das Trivial File Transfer Protocol (tftp) bietet ähnliche Funktionen wie ftp, aber das Protokoll stellt keine interaktive Verbindung wie ftp her. Aus diesem Grund können Benutzer nicht den Inhalt eines Verzeichnisses anzeigen oder Verzeichnisse wechseln. Ein Benutzer muss den vollständigen Namen einer zu kopierenden Datei kennen. Der Befehlssatz von tftp wird in der Manpage tftp(1) ausführlich beschrieben.
Mit den UNIX „r“-Befehlen können Benutzer Befehle an ihren lokalen Computern eingeben, die auf dem Remote-Host ausgeführt werden. Dazu gehören die folgenden Befehle:
rcp
rlogin
rsh
Hinweise zur Verwendung dieser Befehle finden Sie in den Manpages rcp(1), rlogin(1) und rsh(1).
Oracle Solaris bietet die folgenden Namen-Services:
DNS – Der Domain-Namen-Service (DNS) ist einer der Namen-Services, der vom Internet für TCP/IP-Netzwerke bereitgestellt wird. DNS führt die Auflösung von Hostnamen zu IP-Adressen durch. Darüber hinaus dient DNS als Datenbank für die Mail-Verwaltung. Eine vollständige Beschreibung dieses Services finden Sie im System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP) . Weitere Informationen finden Sie in der Manpage resolver(3RESOLV).
/etc-Dateien – Dieses ursprünglich Host-basierte UNIX-Namen-System wurde für eigenständige UNIX-Computer entwickelt und dann für die Verwendung im Netzwerk übernommen. Viele alte UNIX-Betriebssysteme und Computer verwenden dieses System noch immer, obwohl es für große und komplexe Netzwerke ungeeignet ist.
NIS – Der Network Information Service (NIS) wurde unabhängig von DNS entwickelt und hat eine etwas andere Aufgabe. Während der DNS Verbindungen vereinfacht, indem er Computernamen anstelle von numerischen IP-Adressen verwendet, konzentriert sich der NIS darauf, die Netzwerkverwaltung zu vereinfachen, indem er eine zentrale Steuerung verschiedener Netzwerkinformationen ermöglicht. NIS speichert Informationen zu Computernamen und Adressen, Benutzern, dem Netzwerk selbst und Netzwerkservices. Die NIS-Namespace-Informationen werden in NIS-Maps gespeichert. Weitere Informationen zur NIS-Architektur und zur NIS-Verwaltung finden Sie im System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP) .
Oracle Solaris unterstützt das LDAP (Lightweight Directory Access Protocol) zusammen mit dem Sun Open Net Environment (Sun ONE) Directory Server sowie andere LDAP Directory Server. Der Unterschied zwischen einem Namen-Service und einem Verzeichnisservice liegt im Funktionsumfang. Ein Verzeichnisservice bietet den gleichen Funktionsumfang wie ein Namen-Service und verfügt darüber hinaus über erweiterte Funktionen. Lesen Sie dazu System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP) .
Das NFS-Anwendungsschichtprotokoll bietet Dateiservices für Oracle Solaris. Ausführliche Informationen zum NFS-Service finden Sie im System Administration Guide: Network Services .
Mit dem Simple Network Management Protocol (SNMP) können Sie das Layout Ihres Netzwerks und den Status der wichtigsten Computer anzeigen. Darüber hinaus können Sie mit SNMP komplexe Netzwerkstatistiken über Programme beziehen, die auf einer grafischen Benutzeroberfläche (GUI) basieren. Viele Unternehmen bieten Programmpakete zur Netzwerkverwaltung, die das SNMP umsetzen.
Das Routing Information Protocol (RIP) und das Router Discovery Server Protocol (RDISC) sind zwei verfügbare Routing-Protokolle für TCP/IP-Netzwerke. Eine vollständige Liste der verfügbaren Routing-Protokolle für Oracle Solaris 10 finden Sie in Tabelle 5–1 und Tabelle 5–2.