Verbindungsschicht
Die Internetschicht sorgt dafür, dass IP-Pakete gepackt werden und klärt, wie diese weitergeleitet werden.
Was bedeutet es aber genau, ein Paket von Rechner A zu Rechner B über ein Kabel zu verschicken? Die direkte Anschluss-zu-Anschluss-Übertragung wird von der Verbindungsschicht übernommen.
Jeder Hardware-Anschluss („Verbindungspunkt“) besitzt eine weltweit eindeutige Hardware-Adresse, die sogenannte MAC-Adresse („media access control“).
Benachbarte Geräte, die z.B. mit einem Kabel oder über Funk (WLAN) verbunden sind, haben ein Protokoll, um ihre gegenseitigen MAC-Adressen zu erfragen. Anschließend können sie sich sogenannte Frames zuschicken. Ein Frame ist wieder eine Art Paket (zur Abgrenzung aber eben „Frame“ genannt), in welchem ein IP-Packet enthalten ist. Also:
Man kann jetzt noch sehr ins Detail gehen darüber, wie die WLAN-Frames genau kodiert werden. Wir schauen uns jedoch die einzelnen Hardware-Typen, also WLAN-Frame vs. Ethernet-Frame („LAN-Kabel“) etc., nicht im Detail an.
MAC-Adressen sind Ziffernfolgen, die aus 6 Zweierpäckchen bestehen, getrennt durch :
, z.B. 72:80:3F:23:75:16
. Es gibt 16 Ziffern, nämlich 0, 1, 2, 3, ..., 9, A, B, C, D, E, F
. Jedes Zweierpäckchen, z.B. 3F
, kann als Zahl in Hexadezimaldarstellung (= 16er-Darstellung) gelesen werden. Das Zweierpäckchen 3F
entspricht also 3⋅16 + 15⋅1 = 63
in der Dezimaldarstellung.
-
Bestimme, welche kleinste und größte Zahl in einem Zweierpäckchen dargestellt werden kann. Wie vielen verschiedenen Zahlen entspricht dies?
-
Bestimme, wie viele Bits an Speicherplatz pro Zweierpäckchen benötigt werden.
-
Bestimme, wie viele Bits an Speicherplatz für eine gesamte MAC-Adresse benötigt wird.
-
Bestimme, wie viele MAC-Adressen verteilt werden können.
Wie wir wissen, kennen die Router/Rechner nur ihre gegenseitigen IP-Adressen (diese stehen schließlich in der Weiterleitungstabelle).
Im Beispiel oben: Der Rechner mit der IP-Adresse 192.168.0.1
(Sender) benötigt die MAC-Adresse des Empfängers mit der IP-Adresse 192.168.0.2
. Er macht Folgendes:
Nun schickt er einen sogenannten Broadcast-Frame an alle Rechner, welche diese IP-Adresse haben könnten. Mehrere Rechner erhalten diesen speziellen Broadcast-Frame. Alle ignorieren ihn, bis auf einen: Der Rechner, welcher tatsächlich die IP-Adresse 192.168.0.2
besitzt. Dieser schickt ein IP-Paket zurück mit der Antwort „Ich bin's, und meine MAC-Adresse ist 23:65:AB:...“.
Das Protokoll trägt den Namen Adress Resolution Protocol (ARP) genannt, und man sieht die eben beschriebene Kommunikation hier:
Hier wird auch klar, wie die Broadcast-Adresse lautet: FF:FF:FF:FF:FF:FF
.
Wie wir wissen, kennen die Router/Rechner nur ihre gegenseitigen IP-Adressen (diese stehen schließlich in der Weiterleitungstabelle).
Wann immer der Switch ein Paket erhält, notiert er die „Absender“-MAC-Adresse in einer Tabelle mit dem zugehörigen Netzanschluss, z.B. 1D:F1:...
an Port 2 (bitte nicht mit Portnummern aus der Transportschicht verwechseln!). Die Tabelle wird SAT-Tabelle genannt (source address table).
-
Sollte nun ein weiteres Paket an die MAC-Adresse
1D:F1:...
den Switch erreichen, so sendet er das Paket einfach direkt weiter an den Empfänger in Port 2. -
Sollte ein Paket kommen, gerichtet an die MAC-Adresse
FF:FF:...
(Broadcast-MAC-Adresse), so sondet er das Paket an alle Ports. -
Sollte ein Paket kommen gerichtet an eine unbekannte MAC-Adresse, so sendet er das Paket ebenfalls an alle Ports.
Mit der Zeit „lernt“ ein Switch also die MAC-Adressen und nach kurzer Zeit werden alle Pakete immer dorthin geschickt, wo sie hinsollen.
Erstelle folgendes LAN.
-
Führe den Befehl
ping 192.168.0.11
von Rechner192.168.0.10
aus. -
Führe den Befehl
ping 192.168.0.10
von Rechner192.168.0.11
aus. -
Führe den Befehl
ping 192.168.0.10
von Rechner192.168.0.12
aus. -
Notiere die Kommunikation aus zwei Sichten, indem du zwei Sequenzdiagramme nebeneinander zeichnest. Der Anfang ist bereits vorgegeben.
-
Begründe: Wieso wird das ARP-Protokoll nur bei 1. und 3., nicht aber bei 2. benötigt?
-
Notiere den endgültigen Zustand der SAT-Tabelle.