SelfLinux Linux im Netzwerk TCP/IP Abschnitt 3 | SelfLinux-0.13.0

| TCP/IP | Autor Formatierung GPL

#### 3 Protokollschichten

Genauso wie das OSI-Schichtenmodell verfügt die TCP/IP-Protokollsuite über mehrere Schichten bzw. Layer, durch Zusammenfassung einzelner Ebenen allerdings im Gegensatz zu sieben Schichten im OSI-Modell nur über vier. Im einzelnen handelt es sich hier um den Link Layer, Network Layer, Transport Layer und Application Layer. Die folgende Abbildung zeigt diese Schichten und die darin angesiedelten Protokolle, welche wir im folgenden detailliert behandeln werden. Das TCP/IP Link Layer faßt OSI Physical Layer und OSI Data Link Layer zusammen, da aus Sicht von IP die darunter liegenen Protokolle uninteressant sind.

TCP/IP selbst definiert Network und Transport Layer. Es benötigt also ein darunter liegendes Protokoll (oder mehrere), die Link und Network Layer bereitstellen. TCP/IP stellt an dieses keine hohen Anforderungen. Es muß lediglich möglich sein, Blöcke einer bestimmten Größe (wenige hundert Byte reichen bereits für sinnvollen Betrieb) von einem Geräte zu einem anderen übertragen zu können. Protokolle wie zum Beispiel Ethernet definieren diese Schichten.

Grafik Rolf Brunsendorf

#### 4 Protokolle im Link Layer

Der Link Layer faßt die Hardware-Schicht zusammen, hier tummeln sich alle Netzwerkmedien, über die man TCP/IP betreiben kann. Durch seine hohe Hardwareunabhängigkeit sind dies natürlich eine ganze Menge. Auf die verschieden Hardwareprotokolle soll an dieser Stelle nicht detailliert eingegangen werden. Häufig wird TCP/IP über ein Ethernetprotokoll gefahren. Interessant ist daher vielleicht in Verbindung mit dem Ethernet das ARP-Protokoll, dazu gleich mehr.

Aus Sicht von TCP/IP ist Ethernet das Link Layer. Aus Sicht des OSI Referenzmodelles sind das (etwa) Physical Layer und Data Link Layer.

Ethernet kann Pakete (die man hier meistens Frames, Rahmen nennt) von einem Host (die man im Ethernet Sprachgebrauch meistens als Stationen bezeichnet) zu einem unmittelbar angeschlossenen übertragen. Dieses Protokoll ist umständlich: die Paketgröße ist stark begrenzt (üblich sind 1500 Bytes), und alle Hosts müssen direkt aneinander geschlossen sein. Die maximale Paketgröße nennt man MTU: maximum transfer unit. Direkt angeschlossen bedeutet hier, das sie am gleichen Bus sind (Cheap Ethernet), über einen Hub oder Switch verbunden sind. Ein Hub ist im Prinzip nur ein Signalverstärker, der das Signal eines Frames einer Station an alle anderen angeschlossenen weitersendet. Einen Switch kann man sich als intelligenten Hub vorstellen, denn der sendet das Signal nur an die Station oder Stationen, für die es bestimmt ist. Ein Switch muß dazu im Gegensatz zu einem Hub das Ethernetprotokoll verstehen, denn er muß in die Frames hineinschauen und die Zieladresse verstehen und sich in Tabellen merken, an welchen Anschluß (Port) diese Station angeschlossen ist.

Damit das Ethernet weiß, an welche Station ein Paket gesendet wurde, werden die Daten des Frames um einen Header erweitert. Das kann man mit einem Briefumschlag vergleichen, der um ein Anschreiben herum "gepackt" wird. In diesem Header steht beispielsweise Absender- und Empfängeradresse.

#### 4.1 ARP - Adress Resolution Protocol

Jede Ethernet-Karte besitzt eine eindeutige Hardware-Adresse, auch als MAC-Adresse bezeichnet. Jedem Host im Netz wurde aber nun auch noch eine IP-Adresse zugeordnet und damit hat das Ethernet ein Problem: Mit der IP-Adresse 192.168.23.1 weiß es nichts anzufangen, mit der MAC-Adresse 08:00:00:04:72:98 allerdings schon. Ein Übersetzer muß her: Das Adress Resolution Protocol (ARP) übersetzt die IP-Adressen in Ethernet-Adressen. So gesehen gehört es eigentlich auch nicht vollständig in den Link Layer, sondern ist irgendwo zwischen Link und Network Layer einzuordnen.

Möchte nun eine Station die Hardware-Adresse des Hosts 192.168.20.11 herausbekommen, schickt sie einen ARP-Request ins Kabel: "Wer hat hier IP 192.168.20.11?". Der betreffende Host antwortet: "Zu IP 192.168.20.11 gehört MAC-Adresse 08:00:a2:12:4d:aa". Damit weiß der sendende Rechner, wohin er sein Ethernet-Paket zu schicken hat.