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.

  1. Bestimme, welche kleinste und größte Zahl in einem Zweierpäckchen dargestellt werden kann. Wie vielen verschiedenen Zahlen entspricht dies?

  2. Bestimme, wie viele Bits an Speicherplatz pro Zweierpäckchen benötigt werden.

  3. Bestimme, wie viele Bits an Speicherplatz für eine gesamte MAC-Adresse benötigt wird.

  4. 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.

  1. Führe den Befehl ping 192.168.0.11 von Rechner 192.168.0.10 aus.

  2. Führe den Befehl ping 192.168.0.10 von Rechner 192.168.0.11 aus.

  3. Führe den Befehl ping 192.168.0.10 von Rechner 192.168.0.12 aus.

  4. Notiere die Kommunikation aus zwei Sichten, indem du zwei Sequenzdiagramme nebeneinander zeichnest. Der Anfang ist bereits vorgegeben.

  5. Begründe: Wieso wird das ARP-Protokoll nur bei 1. und 3., nicht aber bei 2. benötigt?

  6. Notiere den endgültigen Zustand der SAT-Tabelle.