Encapsulation

Encapsulation bezeichnet das Verpacken von Nutzdaten in den Rahmen eines Protokolls: Die Daten der höheren Schicht werden unverändert übernommen und mit einem eigenen Header — bei manchen Protokollen zusätzlich mit einem Trailer (Abschluss) — umschlossen. Jede Schicht behandelt dabei alles, was von oben kommt, als undurchsichtigen Inhalt, dessen Bedeutung sie nicht kennt und nicht kennen muss.

Dieses Prinzip ist der Grund, aus dem ein Schichtenmodell überhaupt funktioniert: Ethernet muss nicht wissen, was IP tut, und IP nicht, ob darüber TCP oder QUIC läuft.

Wie die Kapselung einen Sendevorgang durchläuft

Beim Senden kommt auf jeder Stufe etwas hinzu, beim Empfangen wird es in umgekehrter Reihenfolge wieder abgetragen. Ein HTTP-Aufruf über ein kabelgebundenes Netz sieht dabei so aus:

SchichtEinheitWas hinzukommt
AnwendungDatenHTTP-Kopfzeilen
TransportSegmentTCP-Header, 20 Byte ohne Optionen
VermittlungPaketIP-Header, 20 Byte bei IPv4, 40 bei IPv6
SicherungFrameEthernet-Header 14 Byte, FCS 4 Byte
BitübertragungSymbolePräambel, Leitungscodierung

Die Begriffe sind nicht beliebig: Die Dateneinheit einer Schicht heißt PDU (Protocol Data Unit), und ihre Namen — Segment, Paket, Frame — bezeichnen die jeweilige Kapselungsstufe. Wer im Mitschnitt von "Paketen" spricht und Frames meint, ist in den meisten Gesprächen verständlich, in einer Fehleranalyse aber ungenau.

Der Gegenvorgang beim Empfänger heißt Decapsulation. Jede Schicht liest ihren Kopf, prüft ihn, entfernt ihn und gibt den Rest nach oben — anhand eines Feldes, das sagt, wer als nächstes zuständig ist: EtherType im Ethernet-Frame, Protocol beziehungsweise Next Header im IP-Paket, die Portnummer bei TCP und UDP.

Encapsulation ohne Schichtwechsel: Tunnel

Der zweite, in der Praxis mindestens so wichtige Fall ist die Kapselung eines Protokolls in eines derselben oder einer niedrigeren Schicht. Genau das ist ein Tunnel:

  • GRE packt ein beliebiges Paket in ein IP-Paket
  • IPsec im Tunnelmodus kapselt das vollständige Originalpaket und verschlüsselt es
  • VXLAN legt einen Ethernet-Frame in UDP, um Layer-2-Segmente über ein geroutetes Netz zu spannen
  • PPPoE kapselt PPP in Ethernet-Frames, PPPoA dasselbe PPP in ATM-Zellen
  • MPLS schiebt ein Label zwischen Sicherungs- und Vermittlungsschicht, weshalb von Schicht 2,5 gesprochen wird

Hier wird das Schichtenmodell bewusst durchbrochen. Es bleibt trotzdem dasselbe Prinzip: Der innere Inhalt wird nicht angetastet, sondern nur umschlossen.

Was Kapselung kostet

Jeder Header belegt Platz, der für Nutzdaten nicht zur Verfügung steht. Die Grenze setzt die MTU — bei Ethernet 1500 Byte für den Inhalt des Frames.

Die Rechnung ist einfach:

Ethernet-MTU                  1500
– IPv4-Header                  –20
– TCP-Header                   –20
= TCP-Nutzlast (MSS)          1460

Kommt ein Tunnel hinzu, sinkt der Wert weiter: PPPoE kostet 8 Byte, womit 1492 Byte für IP bleiben und der MSS auf 1452 fällt. Ein IPsec-Tunnel kostet je nach Verfahren 50 bis über 70 Byte.

Daraus folgt das häufigste Betriebsproblem mit Kapselung überhaupt: Pakete, die für den Tunnel zu groß sind, müssten fragmentiert werden oder eine ICMP-Rückmeldung auslösen. Wird diese Rückmeldung unterwegs gefiltert, scheitert die Pfad-MTU-Erkennung und das Ergebnis ist ein Netz, in dem kleine Pakete durchgehen und große stehenbleiben — Namensauflösung funktioniert, Webseiten bleiben halb geladen. Die Abhilfe ist das Nachjustieren des MSS auf dem Tunnelgerät.

Bei kleinen Nutzdatenmengen kippt das Verhältnis vollständig: Ein Tastendruck in einer Terminalsitzung trägt ein Byte Inhalt und rund vierzig Byte Kopf. Sprachpakete mit 20 Millisekunden Inhalt haben mehr Kopf als Nutzlast — der Grund für Verfahren zur Header-Kompression auf schmalbandigen Strecken.

Worauf bei der Kapselung zu achten ist

Kapselung ist kein Schutz. Ein gekapseltes Paket ist lesbar wie jedes andere, solange nicht verschlüsselt wird. Ein GRE- oder VXLAN-Tunnel verbirgt nichts; er transportiert nur.

Doppelte Kapselung summiert sich. VPN im VPN, Tunnel über einen PPPoE-Anschluss: Jede Stufe nimmt Platz, und der Punkt, an dem große Pakete hängenbleiben, verschiebt sich nach innen.

Mitschnittwerkzeuge zeigen die Schachtelung an. In Wireshark erscheinen die Schichten als ineinandergelegte Zweige. Fehlt dort eine erwartete Stufe, ist die Kapselung ein anderer Fall als vermutet — etwa VC-Mux statt LLC bei ATM, oder ein VLAN-Tag, mit dem nicht gerechnet wurde.

Prüfsummen beziehen sich auf unterschiedliche Bereiche. Die FCS deckt den Frame, die TCP-Prüfsumme auch Teile des IP-Headers. Ein Gerät, das Pakete umschreibt, muss beide Ebenen nachziehen — unterbleibt das, verwirft der Empfänger stillschweigend.

Abgrenzung

Multiplexing legt mehrere Datenströme auf einen Weg; Encapsulation verpackt einen Strom für den Transport. Portnummern leisten beides zugleich: Sie sind Teil des Kopfes und unterscheiden Ströme.

Fragmentierung teilt eine zu große Dateneinheit auf. Das setzt Kapselung voraus, ist aber nicht dasselbe.

Tunneling ist der Sonderfall, bei dem ein Protokoll in ein gleich- oder tieferrangiges gekapselt wird.

Framing bezeichnet das Abgrenzen einer Dateneinheit im Bitstrom — wo ein Frame beginnt und endet. Kapselung sagt dagegen, was in ihm steckt.

Quellen

  • ISO/IEC 7498-1: Open Systems Interconnection — Basic Reference Model

Erstellt: · Überarbeitet: