Internetprotokolle
Netzwerkprotokolle allgemin
Netzwerkprotokolle sind Regeln für den Austausch von Daten zwischen Endgeräten (Computer, Drucker etc.) in einem Rechnernetzwerk. Die Netzwerkprotokolle sorgen dabei dafür, dass die Informationen (Nachrichten, Daten) in Paketen kodiert durch das Netzwerk transportiert und vom Empfänger verstanden werden.
Mit den Netzwerkprotokollen wird auch der Aufbau der Datenpakete beschrieben. Außerdem werden die Datenpakete noch mit folgenden, für den Datenaustausch wichtigen, Zusatzinformationen versehen:
- Absender und Empfänger
- Typ des Pakets
- Paketgröße
- Laufende Nummer
- Gesamtzahl aller Pakete eines Datenstroms
- Prüfsumme zum Überprüfen der fehlerfreien Übertragung
Diese Zusatzinformationen werden den eigentlichen Daten, den sogenannten Nutzdaten, als Header vorangestellt.
Netzwerkprotokolle sorgen auch für einen reibungslosen Verbindungsaufbau und -abbau. Dabei werden von den Protokollen definierte Informationen ausgetauscht, was einen zusätzlichen Datenverkehr, den sog. Overhead, im Netzwerk erzeugt.
Internetprotokollfamilie
Die Internetprotokollfamilie ist eine Sammlung von Netzwerkprotokollen, mit Hilfe derer die Kommunikation im Internet realisiert wird. Da diese Protokolle unterschiedliche Aufgaben haben, werden sie in verschiedenen Schichten gruppiert. Dabei sind weiter oben angesiedelte Protokolle näher an den Anwendungen, welche die Daten austauschen wollen, und weiter unten angesiedelte Protokolle näher am eigentlichen physischen Informationsaustausch. Für die Einordnung von Internetprotokollen in ein Schichtenmodell, wird das sog. TCP/IP-Referenzmodell verwendet, welches vier aufeinander aufbauende Schichten beschreibt.
Die Protokolle auf Sender und Empfängerseite arbeiten nach klar definierten Regeln und kommunizieren abstrakt gesehen direkt miteinander. Genaugenommen nutzen die Protokolle einer Schicht jedoch die Dienste der darunterliegenden Protokolle. So verwendet z. B. HTTP aus der Schicht 4 für den Verbindungsaufbau TCP der Schicht 3. TCP wiederum verwendet für die Adressierung IP-Adressen, welche das Protokoll IP der Schicht 2 zur Verfügung stellt. IP wiederum verwendet Zugriffsverfahren der Schicht 1, um die Daten über einen physischen Datenträger zu übertragen und eventuelle Kollusionen von gleichzeitig gesendeten Daten zu behandeln oder zu verhindern. Die Protokolle einer Schicht haben klar definierte Schnittstellen, wodurch sie untereinander austauschbar sind.
Schicht 4 - Anwendungsschicht
Die Anwendungsschicht des TCP/IP-Referenzmodells beinhaltet Protokolle, die mit Anwendungen direkt zusammenarbeiten. Die Protokolle dieser Schicht werden von den Anwendungen verwendet, um Anwendungsspezifische Daten über ein Netzwerk auszutauschen. Das können z. B. Emails (mit dem Protokoll SMTP), Internetseiten (mit dem Protokoll HTTP) oder Dateien (mit dem Protokoll FTP) sein.
Das bekannteste Protokoll dieser Schicht ist das HyperText Transfer Protocol, kurz HTTP. Es wird hauptsächlich verwendet, um Webseiten (Hypertext-Dokumente) aus dem World Wide Web in einen Browser zu laden. HTTP ist dabei ein sog. zustandsloses Protokoll, d. h. es speichert keine Informationen über den Verlauf einer Verbindung. HTTP hat z. B. keine Informationen darüber, welche Aktionen ein Besucher auf einer Webseite durchgeführt hat. Über das Protokoll werden lediglich Anfragen gestellt (z. B. der Inhalt einer Webseite) und Anfragen beantwortet (z. B. Der Inhalt einer Webseite zurückgegeben). Anfragen werden als „HTTP-Request“ und Antworten als „HTTP-Response“ bezeichnet.
Schicht 3 - Transportschicht
Die Aufgaben der Protokolle der Transportschicht sind das Herstellen einer Ende-zu-Ende-Verbindung zwischen zwei Netzwerkteilnehmern und der Transport von Daten zwischen den jeweiligen Programmen. Die Transportschicht ist dabei auch dafür verantwortlich, die Daten in Datenpakete zu zerlegen, an die richtige Adresse zu senden und beim Empfänger wieder zusammenzusetzen. Das Endgerät wird dabei über eine IP-Adresse (z. B. 192.168.2.55) und das entsprechende Programm mit Hilfe einer sog. Portnummer adressiert. Die Protnummer wird, durch einen Doppelpunkt getrennt, an die IP-Adresse angehängt (z. B. 192.168.2.55:8080).
Die Datenübertragung in der Transportschicht kann verbindungslos oder verbindungs-orientiert erfolgen. Bei der verbindungslosen Übertragung gibt es keine Kontrolle, ob die Pakete beim Empfänger ankommen. Bei der verbindungsorientierten Übertragung wird vor der Übertragung eine logische Verbindung aufgebaut und danach aufrechterhalten. Dabei werden Kontrollinformationen zwischen den Kommunikationsteilnehmern ausgetauscht. Bei der verbindungsorientierten Übertragung wird die Paketreihenfolge kontrolliert und sichergestellt, dass Pakete nochmals gesendet werden, wenn sie nicht angekommen sind.
Die beiden bekanntesten Protokolle der Transportschicht sind TCP (Transmission Control Protocol) und UDP (User Datagram Protocol). TCP ist ein zuverlässiges, verbindungs-orientiertes und paketvermittelndes Netzwerkprotokoll. TCP bietet eine Ende-zu-Ende-Kontrolle mit der Verwendung von Prüfsummen, bei der Pakete verworfen werden, wenn sie nicht vollständig sind. TCP wird von nahezu allen Betriebssystemen unterstützt und bildet zusammen mit IP die Grundlage des Internets. UDP ist hingegen ein verbindungsloses Netzwerkprotokoll, das keine Ende-zu-Ende-Kontrolle unterstützt, dafür aber auch weniger Netzwerktraffic erzeugt. UDP eignet sich für die Übertragung großer Datenmengen.
Schicht 2 - Internetschicht
Die Protokolle der Internetschicht sind für das sog. Routing, d. h. die Wegewahl der Datenpakete durch ein Netzwerk (z. B. Das Internet) zuständig. Außerdem sind die Protokolle dieser Schicht für die Weiterleitung von empfangenen Paketen an das nächste Zwischenziel, auf dem Weg zum Empfänger verantwortlich. Im Falle vom Internet bedeutet dies die Weiterleitung von Router zu Router. In sog. Routingtabellen ist für jede Zeiladresse das beste nächste Zwischenziel angegeben.
Das Internet Protocol (IP) ist das bekannteste und am meisten verbreitete Protokoll der Internetschicht und bildet zusammen mit TCP die Grundlage des Internets. In einem IP-Netzwerk werden die Endgeräte im Netzwerk per IP-Adresse eindeutig adressiert (angesprochen). Die derzeit noch am meisten verbreitete Notation ist die IPv4-Adresse, die aus vier Zahlen besteht, die Werte zwischen 0 und 255 annehmen können und durch Punkt voneinander getrennt werden (z. B. 192.168.2.123). Mit Hilfe von Subnetzmasken können IP-Adressen zu logischen Einheiten, so genannten Subnetzen, gruppiert werden. Die Subnetzmaske sagt dabei, welcher Teil der Adresse das Netzwerk und welcher Teil das Endgerät benennt. Mit der Subnetzmaske „255.255.255.0“ und der IP-Adresse 192.168.2.1 wird z. B. Mit „192.168.2“ das Subnetz und mit „1“ der Computer im Subnetz adressiert.
Schicht 1 - Netzzugangsschicht
Die Netzzugangsschicht beinhaltet genau genommen keine Protokolle der TCP/IP-Protokollfamilie, sondern dient mehr der Vollständigkeit und bietet Platz für Verfahren zur physischen Datenübertragung und Zugriffskontrolle.
Bei der Datenübertragung geht es nun darum wie ein Signal über einen elektrischen Leiter (Kabel), einen Lichtwellenleiter (Glasfaserkabel) oder ein Funksignal übertragen wird.
Bei elektrischen Leitern und Lichtwellenleitern werden sog. Leitungscodes verwendet, die definieren, wie die Bitsequenzen als Pegelfolgen (Spannungen oder Lichtintensitäten) über die Leitungen übertragen werden.
Werden Signale über Funkwellen übertragen, werden Modulationsverfahren verwendet, bei denen die Nutzsignale auf ein Hochfrequentes Trägersignal aufmoduliert werden.
WLAN z. B. Verwendet zur physischen Datenübertragung Modulationsverfahren. Dabei werden für das Trägersignal mehrere Frequenzbänder (Frequenzbereiche) im Bereich von 2,4 und 5 MHz verwendet.
Die Zugriffsverfahren regeln, welche Endgeräte in einem Netzwerk zu welchem Zeitpunkt und an wen Daten übertragen dürfen. Dabei soll das gleichzeitige Senden und die damit verbundenen Kollisionen von Signalen vermieden werden, welche die Signale unbrauchbar machen würden. Die bekanntesten Zugriffsverfahren sind das CSMA/CD (Carrier Sense Multiple Access/Collusion Detection) und das Token-Passing.
Beim CSMA/CD kontrollieren die Endgeräte selbst, ob gerade ein anderes Endgerät sendet oder ob nach dem Senden eine Kollision aufgetreten ist und das Signal nach einer zufälligen Wartedauer erneut gesendet werden muss.
Während das CSMA/CD Kollisionen erkennt und darauf reagiert, schließt das Token-Passing Kollisionen von vornherein aus. Dabei wird beim Token-Passing ein sog. Token (kleine Dateneinheit) von Endgerät zu Endgerät weitergesendet. Das Endgerät im Netzwerk welches gerade ein freies Token hat, darf seine Daten an das Token anhängen, es als „besetzt“ markieren und weitersenden. Der Empfänger entnimmt die Daten, markiert das Token als „frei“ und gibt es wieder an den Nächsten im Netzwerk weiter.
Ethernet ist eine Technologie, die Protokolle und Hardware für ein kabelgebundenes Netzwerk definiert und deshalb auf der Netzzugangsschicht angesiedelt ist. Dabei definiert der Ethernet-Standard auch die Verfahren für die Leitungscodierung und Zugriffskontrolle. Ältere Ethernet-Technologien verwendeten z. B. zur Zugriffskontrolle das CSMA/CD. Moderne Ethernet-Technologien setzen einen Switch voraus, der auch die Zugriffskontrolle im Netzwerk übernimmt. Hier spricht man vom „geswitchten Ethernet“.
Ethernet-Kabel
Ethernet-Switch