Dieser Teil enthält eine Einführung in die TCP/IP-Protokollfamilie sowie deren Implementierung in Oracle Solaris.
Dieses Kapitel enthält eine Einführung in die Umsetzung der Netzwerk-Protokollfamilie TCP/IP in Oracle Solaris. Es richtet sich an System- und Netzwerkadministratoren, die nicht mit den Grundlagen der TCP/IP-Konzepte vertraut sind. Im restlichen Teil dieses Handbuchs wird davon ausgegangen, dass Sie mit diesen Konzepten vertraut sind.
Dieses Kapitel enthält die folgenden Informationen:
Ab Solaris 10 5/08 wurde die Mobile IP-Funktion entfernt. Mobile IP ist in Solaris 10 OS 8/07 und früheren Versionen verfügbar.
Dieser Abschnitt enthält eine umfassende Einführung in die in TCP/IP enthaltenen Protokolle. Obwohl diese Informationen nur als Hintergrundwissen dienen, sollten Sie die Namen der Protokolle kennen. Darüber hinaus sollten Sie wissen, was jedes einzelne Protokoll zu leisten hat.
„TCP/IP“ ist ein Akronym, das häufig für den Satz der Netzwerkprotokolle verwendet wird, aus denen sich die Internet Protocol-Familie zusammensetzt. Vielfach wird der Begriff „Internet“ verwendet, um sowohl die Protokollfamilie als auch das globale WAN-Netzwerk zu beschreiben. In diesem Buch bezieht sich „TCP/IP“ ausschließlich auf die Internet Protocol-Familie. „Internet“ bezieht sich auf das Weitverkehrsnetz (WAN) und die Einrichtungen, die das Internet überwachen.
Um Ihr TCP/IP-Netzwerk mit anderen Netzwerken zu vernetzen, müssen Sie eine einmalige IP-Adresse für Ihr Netzwerk beziehen. Zum Zeitpunkt der Erstellung dieser Publikation beziehen Sie diese Adresse von einem Internet Service Provider (ISP).
Wenn Hosts in Ihrem Netzwerk am Internet Domain-Namen-System (DNS) teilnehmen sollen, müssen Sie einen einmaligen Domänennamen beziehen und registrieren. Die Registrierung der Domänennamen wird von InterNIC über eine Gruppe von weltweiten Datenbanken koordiniert. Weitere Informationen zum DNS finden Sie im System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP) .
Die meisten Netzwerk-Protokollfamilien sind in mehreren Schichten unterteilt, die in ihrer Gesamtheit auch als Protokollstapel bezeichnet werden. Jede Schicht dient einem bestimmten Zweck. Jede Schicht ist sowohl auf dem sendenden als auch auf dem empfangenden System vorhanden. Eine bestimmte Schicht eines Systems sendet bzw. empfängt genau das gleiche Objekt, das der Peer-Prozess eines anderen Systems gesendet bzw. empfangen hat. Diese Aktivitäten treten unabhängig von anderen Aktivitäten in den Schichten über bzw. unter der betrachteten Schicht auf. Grundsätzlich agiert jede Schicht eines Systems unabhängig von den anderen Schichten auf dem gleichen System. Jede Schicht agiert parallel mit der gleichen Schicht auf anderen Systemen.
Die meisten Netzwerk-Protokollfamilien sind in Schichten aufgebaut. Die International Organization for Standardization (ISO) hat das Open Systems Interconnection (OSI)-Referenzmodell entworfen, in dem strukturierte Schichten verwendet werden. Das OSI-Modell beschreibt eine Struktur von sieben Schichten für Netzwerkaktivitäten. Jeder Schicht ist mindestens ein Protokoll zugeordnet. Die Schichten stellen die Datenübertragungsvorgänge dar, die allen Datenübertragungsarten zwischen kooperierenden Netzwerken gemein sind.
Das OSI-Modell führt die Protokollschichten von der obersten (Schicht 7) zur untersten (Schicht 1) auf. Dieses Modell wird in der folgenden Tabelle gezeigt.
Tabelle 1–1 OSI-Referenzmodell
Schichtnr. |
Name |
Beschreibung |
---|---|---|
7 |
Umfasst die standardmäßigen Kommunikationsservices und Anwendungen, mit denen der Benutzer arbeitet. |
|
6 |
Stellt sicher, dass Informationen so an das empfangende System geliefert werden, dass sie vom System verstanden werden. |
|
5 |
Verwaltet die Verbindungen und Abschlüsse zwischen kooperierenden Systemen. |
|
4 |
Verwaltet die Datenübertragung. Stellt darüber hinaus sicher, dass die empfangenen Daten mit den gesendeten Daten übereinstimmen. |
|
3 |
Verwaltet die Datenadressierung und die Übermittlung zwischen Netzwerken. |
|
2 |
Verarbeitet die Übertragung der Daten über die Netzwerkmedien. |
|
1 |
Definiert die Eigenschaften der Netzwerkhardware. |
Das OSI-Modell definiert konzeptuelle Vorgänge, die nicht an eine bestimmte Netzwerkprotokollfamilie gebunden sind. Beispielsweise implementiert die OSI-Netzwerk-Protokollfamilie alle sieben Schichten des OSI-Modells. TCP/IP verwendet ebenfalls einige Schichten des OSI-Modells, und fasst andere Schichten zusammen. Andere Netzwerkprotokolle, z. B. SNA, verwenden eine zusätzliche achte Schicht.
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.
Gibt ein Benutzer einen Befehl ein, der ein Protokoll der TCP/IP-Anwendungsschicht verwendet, wird eine Abfolge von Ereignissen ausgelöst. Der Befehl oder die Nachricht des Benutzers durchläuft den TCP/IP-Protokollstapel auf dem lokalen System. Dann durchläuft der Befehl bzw. die Nachricht das Netzwerkmedium zu den Protokollen auf dem Remote-System. Auf jeder Schicht des sendenden Hosts fügen die Protokolle den ursprünglichen Daten Informationen hinzu.
Dann interagieren die Protokolle auf jeder Schicht des sendenden Hosts mit deren Peers auf dem empfangenden Host. Abbildung 1–1 zeigt diese Interaktion.
Das Paket ist die grundlegende Informationseinheit, die über ein Netzwerk übertragen wird. Ein allgemeines Paket besteht aus einem Header mit den Adressen des sendenden und empfangenden Systems sowie einem Body oder Nutzlast mit den zu übertragenden Daten. Während das Paket den TCP/IP-Protokollstapel durchläuft, werden durch die Protokolle auf den einzelnen Schichten entweder Felder zum Basis-Header hinzugefügt oder entfernt. Wenn ein Protokoll auf dem sendenden System Daten zum Paket-Header hinzufügt, wird dies als Datenkapselung bezeichnet. Jede Schicht vergibt einen anderen Begriff für das geänderte Paket. Dies wird in der folgenden Abbildung gezeigt.
In diesem Abschnitt wird der Lebenszyklus eines Pakets beschrieben. Der Lebenszyklus beginnt, wenn Sie einen Befehl eingeben oder eine Nachricht senden. Der Lebenszyklus endet, wenn die entsprechende Anwendung auf dem empfangenden System das Paket empfängt.
Der Lebenszyklus eines Datenpakets beginnt, wenn ein Benutzer auf einem System eine Nachricht sendet oder einen Befehl eingibt, der auf ein Remote-System zugreifen muss. Das Anwendungsprotokoll formatiert das Paket so, dass das entsprechende Transportschichtprotokoll (TCP oder UDP) das Paket verarbeiten kann.
Angenommen, der Benutzer gibt einen rlogin-Befehl ein, um sich bei einem Remote-System anzumelden. Dies wird in Abbildung 1–1 gezeigt. Der rlogin-Befehl verwendet das TCP-Transportschichtprotokoll. TCP erwartet, Daten in Form eines Bytestroms zu empfangen, der die Informationen des Befehls enthält. Aus diesem Grund sendet rlogin diese Daten als einen TCP-Datenstrom.
Wenn die Daten an der Transportschicht eintreffen, beginnen die Protokolle auf dieser Schicht die Datenkapselung. Die Transportschicht kapselt die Anwendungsdaten in Transportprotokoll-Dateneinheiten.
Dann erzeugt das Transportschichtprotokoll einen virtuellen Datenfluss zwischen der sendenden und der empfangenden Anwendung, die durch die Transport-Portnummer unterschieden werden. Die Portnummer gibt einen Port an, einen dedizierten Speicherort für den Empfang oder das Senden von Daten. Darüber hinaus bietet die Transportprotokollschicht weitere Services, z. B. zuverlässige Datenzustellung in vorgegebener Reihenfolge. Das Endergebnis hängt davon ab, ob die Informationen von TCP, SCTP oder UDP verarbeitet werden.
TCP wird häufig als „verbindungsorientiertes“ Protokoll bezeichnet, da es die erfolgreiche Datenzustellung beim empfangenden Host sicherstellt. Abbildung 1–1 zeigt, wie das TCP-Protokoll den Datenstrom vom rlogin-Befehl empfängt. Dann teilt TCP die von der Anwendungsschicht empfangenen Daten in Segmente auf und fügt jedem Segment einen Header hinzu.
Die Segment-Header enthalten die Sende- und Empfangs-Ports, Informationen zur Reihenfolge der Segmente sowie ein Datenfeld, das als checksum (Prüfsumme) bezeichnet wird. Die TCP-Protokolle auf beiden Host stellen anhand der Prüfsumme fest, ob die Datenübertragung ohne Fehler erfolgt ist.
TCP prüft anhand von Segmenten, ob das empfangende System zum Empfang von Daten bereit ist. Wenn der sendende Host eine Verbindung herstellen will, sendet das TCP-Protokoll ein Segment mit der Bezeichnung SYN an das TCP-Protokoll auf dem empfangenden Host. Dieser sendet über das TCP-Protokoll ein Segment mit der Bezeichnung ACK zurück, um den erfolgreichen Empfang des Segments zu bestätigen. Das sendende TCP sendet ein weiteres ACK-Segment und beginnt dann mit dem Senden der Daten. Dieser Austausch von Steuerungsinformationen wird als Dreifach-Handshake bezeichnet.
UDP ist ein „verbindungsloses“ Protokoll. Im Gegensatz zu TCP prüft UDP die am empfangenden Host eintreffenden Daten nicht. Stattdessen formatiert UDP die von der Anwendungsschicht empfangene Nachricht in UDP-Pakete. UDP fügt einen Header an jedes Paket an. Der Header enthält die sendenden und empfangenden Ports, ein Feld mit der Paketlänge sowie eine Prüfsumme.
Der sendende UDP-Prozessor versucht, das Paket an den UDP-Peer-Prozess auf dem empfangenden Host zu senden. Die Anwendungsschicht stellt fest, ob der empfangende UDP-Prozess den Empfang des Pakets bestätigt. UDP benötigt keine Benachrichtigung über den Empfang, und verwendet keinen Dreifach-Handshake.
Die Transportprotokolle TCP, UDP und SCTP übergeben ihre Segmente und Pakete an die Internetschicht, auf der das IP-Protokoll die Segmente und Pakete weiter verarbeitet. Das IP-Protokoll bereitet die Segmente und Pakete für die Zustellung vor, indem es sie zu Einheiten zusammenfasst, die als IP-Datagramme bezeichnet werden. Dann legt das IP-Protokoll die IP-Adressen für die Datagramme fest, so dass sie korrekt an den empfangenden Host zugestellt werden können.
Das IP-Protokoll hängt neben den Informationen, die vom TCP- oder UDP-Protokoll hinzugefügt wurden, einen IP-Header an das Segment bzw. den Header des Pakets an. Die Informationen im IP-Header umfassen die IP-Adressen des sendenden und des empfangenden Hosts, die Datagrammlänge sowie die Reihenfolge im Datagramm. Diese Informationen sind erforderlich, wenn das Datagramm die zulässige Bytegröße für Netzwerkpakete überschreitet und fragmentiert werden muss.
Die Protokolle der Sicherungsschicht, z. B. PPP, formatieren das IP-Datagramm als einen Frame. Diese Protokolle hängen einen dritten Header und einen Footer an den „Frame“ des Datagramms an. Der Frame-Header enthält ein Feld cyclic redundancy check (CRC) für die zyklische Blockprüfung, mit der auf Fehler geprüft wird, die während der Übertragung des Frames über die Netzwerkmedien aufgetreten sind. Dann übergibt die Sicherungsschicht den Frame an die Bitübertragungsschicht.
Die Bitübertragungsschicht auf dem sendenden Host empfängt die Frames und wandelt die IP-Adressen in für die Netzwerkmedien geeignete Hardware-Adressen um. Dann sendet die Bitübertragungsschicht den Frame über das Netzwerkmedium.
Wenn das Paket auf dem empfangenden Host eintrifft, durchläuft es den TCP/IP-Protokollstapel in umgekehrter Sende-Reihenfolge. Dies wird in Abbildung 1–1 gezeigt. Darüber hinaus streift jedes Protokoll auf dem empfangenden Host die Header-Informationen ab, die von dessen Peer auf dem sendenden Host hinzugefügt wurden. Dabei läuft der folgende Prozess ab:
Die Bitübertragungsschicht empfängt das Paket im Frame-Format. Sie berechnet das CRC des Pakets und sendet den Frame dann an die Sicherungsschicht.
Die Sicherungsschicht prüft, ob das CRC für den Frame korrekt ist und streift dann den Frame-Header und das CRC ab. Schließlich sendet das Protokoll der Sicherungsschicht den Frame an die Sitzungsschicht.
Die Sitzungsschicht liest die Informationen im Header, um die Übertragung zu identifizieren. Anschließend stellt die Sitzungsschicht fest, ob es sich bei dem Paket um ein Fragment handelt. Wenn die Übertragung fragmentiert wurde, setzt das IP-Protokoll die Fragmente zum ursprünglichen Datagramm zusammen. Dann streift das IP-Protokoll den IP-Header ab und übergibt das Datagramm an die Protokolle der Transportschicht.
Die Protokolle der Transportschicht (TCP, SCTP und UDP) lesen den Header ein, um festzustellen, welches Protokoll der Anwendungsschicht die Daten empfangen muss. Dann streift TCP, SCTP oder UDP den entsprechenden Header ab. TCP, SCTP oder UDP sendete die Nachricht oder den Datenstrom an die empfangende Anwendung.
Die Anwendungsschicht empfängt die Nachricht. Abschließend führt die Anwendungsschicht den Vorgang aus, den der sendende Host angefordert hat.
TCP/IP unterstützt das Internal Tracing, indem es die TCP-Kommunikation protokolliert, wenn ein RST-Paket eine Verbindung beendet. Beim Senden oder Empfangen eines RST-Pakets werden die Informationen aus zehn gerade übertragenen Paketen zusammen mit den Verbindungsinformationen protokolliert.
Informationen zu TCP/IP und dem Internet sind zahlreich vorhanden. Wenn Sie weitere Informationen zu den in diesem Kapitel angesprochenen Themen benötigen, werden Sie wahrscheinlich in den im Folgenden aufgeführten Quellen fündig.
Viele Bücher über TCP/IP und das Internet finden Sie in Ihrer lokalen Bücherei oder im Buchhandel. Die folgenden beiden Bücher gelten als Standardwerke zum Thema TCP/IP:
Craig Hunt. TCP/IP Network Administration – Dieses Buch enthält einige theoretische und viele praktische Informationen zur Verwaltung eines heterogenen TCP/IP-Netzwerks.
W. Richard Stevens. TCP/IP Illustrated, Volume I – Dieses Buch enthält detaillierte Beschreibungen der TCP/IP-Protokolle. Dieses Buch eignet sich ideal für Netzwerkadministratoren und -programmierer, die einen technischen Hintergrund zu TCP/IP benötigen.
Im Internet finden sich viele Websites und Usergroups, die sich den TCP/IP-Protokollen und deren Verwaltung widmen. Viele Hersteller, einschließlich Oracle Corporation, bieten webbasierte Ressourcen mit allgemeinen TCP/IP-Informationen. Im Folgenden sind einige hilfreiche Web-Ressourcen mit Informationen zu TCP/IP und allgemeiner Systemverwaltung aufgeführt. In dieser Tabelle werden relevante Websites und die von diesen Websites bereitgestellten Vernetzungsinformationen aufgeführt.
Website |
Beschreibung |
---|---|
Die IETF ist für die Architektur und Überwachung des Internet verantwortlich. Die Website der IETF enthält Informationen zu den verschiedenen Aktivitäten dieser Organisation. Darüber hinaus enthält sie Links zu den wichtigsten Veröffentlichung in der IETF. |
|
BigAdmin bietet Informationen zur Verwaltung von Sun-Computern. Diese Site enthält häufig gestellte Fragen (FAQs), Ressourcen, Diskussionen, Links zu Dokumentationen sowie weiteres Material zur Verwaltung von Oracle Solaris 10, einschließlich dem Arbeiten in Netzwerken. |
Die Arbeitsgruppen der Internet Engineering Task Force (IETF) veröffentlichen Standarddokumente, die als Requests for Comments (RFCs) bezeichnet werden. Im Entwurf befindliche Standards werden in so genannten Internet Drafts veröffentlicht. Das Internet Architecture Board (IAB) muss alle RFCs genehmigen, bevor sie der Öffentlichkeit vorgestellt werden. Im Allgemeinen richten sich RFCs und Internet Drafts an Entwickler und andere technisch interessierte Leser. Verschiedene RFCs, die sich mit dem TCP/IP befassen, enthalten auch für Systemadministratoren wertvolle Informationen. Diese RFCs werden an verschiedenen Stellen in diesem Handbuch zitiert.
Im Allgemeinen erscheinen „For Your Information“ (FYI)-Dokumente (etwa = Nur zur Information) als eine Untergruppe der RFCs. FYIs enthalten Informationen, die sich nicht auf Internetstandards beziehen. FYIs enthalten allgemeinere Informationen zum Internet. Beispielsweise enthalten sie eine Bibliothek, in der Bücher und Unterlagen aufgeführt sind, die in das Thema TCP/IP einführen. FYI-Dokumente sind ein umfassendes Kompendium Internet-bezogener Softwaretools. Darüber hinaus enthalten FYI-Dokumente ein Glossar mit Begriffen aus dem Internet und allgemeinen Netzwerk-Begriffen.
Verweise auf die jeweiligen RFCs finden Sie im gesamten Handbuch und in anderen Büchern der Oracle Solaris System Administrator-Collection.