TCP/IP die universelle Protokollfamilie

Universelle Kommunikation mit dem Internet-Protokoll

TCP/IP ist eine umfassende Protokollsammlung, die in den 1970er Jahren durch das amerikanische Verteidigungsministerium entwickelt wurde. Ziel war es dabei, den Datenaustausch über das ARPANET - den Verläufer des heutigen Internet - mit seinen unterschiedlichste Servers zu ermöglichen. Für den Datenaustausch sollten keine spezielle Routen (definierte Wegstrecken) festgelegt werden, die Datenpakete sollten sich ihren Weg zum Ziel selbst suchen. Gefordert war auch - wie für das Militär nicht unüblich - eine hohe Ausfallsicherheit. Fällt also ein Server aus, hat dies keine direkten Auswirkungen auf die Kommunikation im Netzwerk. Um das zu realisieren, teilt der sendende Computer die Daten in kleine Pakete, die der Zielcomputer anschliessend wieder zusammensetzt. Die Protokoll-Sammlung TCP/IP ist ein sehr weit verbreiterer Standard und heute auf jeder wichtigen Rechnerplattform verfügbar. Seinen Siegeszug begann TCP/IP durch die intensivere Nutzung des Internets im Geschäftsumfeld Mitte der 1990er-Jahre.

TCP/IP selbst ist eigentlich eine Kombination von zwei grundsätzlich unterschiedlichen Arten von Protokollen:
  • Transmission Control Protocol (TCP)
  • Internet Protocol (IP)

TCP bildet dabei die Grundlage für den eigentlichen Datentransfer. Der Verbindungsaufbau geschieht über einen so genannten «Three-Way-Handshake»:
  • Der erste Host leitet eine Verbindung ein, indem er ein Paket mit einer frei festgelegten Anfangssequenznummer und einen SYN-Bitsatz sendet, der die Anforderung enthält.
  • Der Empfänger bestätigt den Eingang, fügt seine eigene Anfangssequenznummer hinzu und sendet diese zurück.
  • Ab diesem Moment übernimmt IP und legt den Inhalt der Blöcke fest.

Das Internet Protocol (IP) wird heute im Internet und in lokalen Netzen (Intranet) eingesetzt. Es ordnet physikalischen Netzwerkknoten-Adressen logische IP-Adressen zu. An deren Struktur ist für einen Router sofort zu erkennen, ob sich ein bestimmter Rechner bzw. Knotenpunkt im eigenen, lokalen Netzwerk oder in einem anderen, entfernten Netzwerk befindet. Jede IP-Adresse besteht aus 32 Bits und somit vier Bytes, die in einer für Menschen einfach lesbarer Form üblicherweise mit vier dezimalen Ziffern (0...255) notiert werden.

Eine IP-Adresse ist in zwei Teile strukturiert, der vordere Teil gibt an, in welchem Netz sich der jeweilige Computer befindet, und der hintere kennzeichnet einen bestimmten Computer (Host) in diesem Netz. Die Werte 0 und 255 sind hierbei jeweils verboten, da sie für spezielle Aufgaben reserviert sind.

Ausser der eigenen IP-Adresse wird auch eine Subnetz-Maske (subnet mask) angegeben. Die Subnetz-Maske ist ein Bitmuster, anhand dessen der Rechner (bzw. der TCP/IP-Stack weiss, welche anderen Adressen sich im eigenen Netz befinden. Zu anderen Rechnern müsste eine Router-Verbindung oder DFÜ-Netz-Verbindung per Modem oder ISDN hergestellt werden. Ein 0-Bit in der Subnetz-Maske gibt an, dass das IP-Adressenbit an der entsprechenden Stelle ignoriert werden soll, da es sich um die Adressierung im eigenen lokalen Netz handelt. Maskenbytes mit dem Wert 255 bedeuten, dass es sich um ein anderes, entferntes Netzwerk handelt.
Eigenschaften von TCP/IP

Im Gegensatz beispielsweise zu IPX/SPX wurde TCP/IP nicht für eine bestimmte Rechnerplattform entwickelt. TCP/IP ist dadurch das ideale Protokoll für die Vernetzung von heterogenen Systemen.

Aufbauend auf TCP/IP werden folgende Protokolle eingesetzt:
  • FTP File Transfer Protocol für Dateiübertragung
  • Telnet Teletype Network für einfache Terminalverbindungen
  • SMTP Simple Mail Transfer Protocol für den E-Mail-Transport
  • POP3 Post Office Protocol für E-Mail-Download
  • RLogin Remote-Login

Da das IP-Protokoll die einzelnen Datenpakete dem Empfänger unter Umständen auf unterschiedlichen Wegen zuleitet, kann es die korrekte Reihenfolge dieser Pakete bei der Ankunft nicht garantieren. Das darüberliegende TCP-Protokoll puffert die empfangenen Pakete, solange noch einzelne fehlen, was es an den Blocknummern erkennt, und stellt die ursprüngliche Reihenfolge wieder her. Die Software, die diese Aufgabe übernimmt, nennt man TCP/IP-Stack, und in der bunten Windows-Welt ist sie als Datei WINSOCK.DLL (16 Bit) oder WSOCK32.DLL (32 Bit) implementiert.

Eine gute Visualisierung des Aufbaus bzw. der Abhängigkeiten der einzelnen Protokolle bietet das OSI-Referenzmodell.

Transmission Control Protocol (TCP)
Das Transmission Control Protocol wurde wie das Internet Protocol 1980 definiert und benutzt die IP-Adressierung, um logische Verbindungen zwischen den beteiligten Applikationen aufzubauen. Als zusätzliche Unter-Adressierung werden bei einem per TCP erreichbaren Computer für verschiedene Dienste entsprechend definierte «Ports» angesprochen. Jeder Port bietet unterschiedliche Dienstleistungen des Rechners unter derselben IP-Adresse an, z.B. ein HTTP-Webserver, ein FTP-Server-Dienst oder einen POP/SMTP-Mail-Server.

Alternativ zu TCP kann eine Verbindung auch mittels UDP aufgebaut werden. UDP bedeutet User Datagram Protocol, UDP ist im Gegensatz zu TCP ein Protokoll, das nicht auf Bestätigungsmeldungen der übertragenen wartet, UDP ist auch nicht verbindungsorientiert.

Folgende häufig benutzten TCP bzw. UDP-Ports sind standardisiert:

Auswahl von wichtigen Ports der Portokoll-Familie TCP/IP


Internet Protocol: Adressierung und Adressierungsklassen
Eine IP-Adresse wird aus 4 Byte zusammengesetzt. Die einzelnen Bytes werden üblicherweise als Dezimalzahl dargestellt und durch Punkte von einander getrennt, dadurch ergibt sich folgendes Adressierungsmuster:

nnn.nnn.nnn.nnn

Mit einem Byte können maximal 256 Werte dargstellt werden. Es ergibt sich also eine Wertskala von 0 bis 255 pro IP-Byte.

Da es einerseits weltweit mehr als 65536 lokale Netze und andererseits Netze mit mehr als 65536 Computern existieren (so viele Möglichkeiten gibt es jeweils mit 2 Bytes), gibt es drei Möglichkeiten, welcher Teil der IP-Adresse als Netzkennung und welcher als lokale Rechnerkennung dient.

IP-Netzklassen A-C


Internet Protocol: Freie IP-Adressen der A- / B- / C-Klasse
Welche IP-Adresse soll man nun für die Rechner eines bestimmten lokalen Netzwerks einstellen? Es gibt drei Möglichkeiten:
  • Rechner, die aus dem Internet erreichbar sein sollen, benötigen eine weltweit eindeutige IP-Adresse, die zentral (SWITCH / NIC) vergeben wird
  • Rechner, die selbst nicht erreichbar sind, sondern nur andere Internet-Rechner anwählen, können auch eine dynamische IP-Adresse benutzen, die bei jeder Anwahl vom Internet-Provider vergeben wird. Dazu besitzt der Provider einen Pool von weltweit eindeutigen Adressen, aus dem er dem Anrufer mit dem Dynamic Host Configuration Protocol (DHCP) eine für die Dauer der Verbindung vergibt.
  • Rechner eines lokalen Netzwerks ohne Internet-Verbindung können private IP-Adressen aus einem speziell dafür reservierten Pool benutzen, wobei Klasse C bei bis zu 254 Computern die richtige Wahl ist, d.h. eine Adresse der Form 192.168.x.y mit gleichem x für alle lokalen Rechner und der Subnetz-Maske 255.255.255.0:
IP-Netzklassen A-C mit den Nummernbereichen pro Klasse


TCP/IP-Konfiguration  anzeigen
Unter Windows-Betriebssystemen (ab Windows NT) kann die Konfiguration des TCP/IP-Protokolls mit ipconfig /all detailliert geprüft werden. Bei LINUX und UNIX-Derivaten steht dazu der Befehl IFCONFIG (Interface-Konfiguration) zur Verfügung.


Konfiguration von TCP/IP auf einem Windows XP-Rechner


In dieser IP-Konfiguration sind drei Arten von Ethernet-Adaptern vorhanden. Aktuell genutzt wird die drahtlose Ethernet-Verbindung (WLAN), weitere Optionen wären eine interne Verbindung sowie eine ebenfalls drahtlose Bluetooth-Netzwerk-Verbindung. In der aktiven IP-Konfiguration ist nur ein DNS-Server eingetragen (nicht wie üblich zwei DNS-Server). Die Konfiguration wurde dynamisch über einen DHCP-Server der Fachhochschule St. Gallen (Domäne fhsg.ch) zugewiesen.

Die physische Adresse der Netzwerkkarte wird auch als MAC-Adresse bezeichnet (Medium Access Control). Sie ist für jeden Ethernet-Adapter auf der Welt einzigartig, jedem Hersteller wird ein bestimmter Nummernbereich zugeteilt, den er in der Produktion verwenden darf.

Der wichtigste Eintrag ist die lokale IP-Adresse der Netzwerkkarte, die bei einem direkten Internet-Anschluss (ohne Router mit NAT) auf der Welt einmalig sein muss. Diese Adresse wird bei Wahlverbindungen ebenfalls dynamisch aus einem Pool der Internet Service Providers (ISP) zugeteilt.

Der Standardgateway dient dazu IP-Pakete die im lokalen Sub-Netzwerk nicht verschickt werden können auf das Internet umzuleiten. Bei Netzwerk-Installationen ist dies meist die Adresse des nächsten Routers.