Zum Hauptinhalt springen

4.3. UDP-Header-Kompression

UDP-Header können unter Verwendung des LOWPAN_NHC-Formats codiert werden. Das Format ermöglicht die Kompression der Quell- und Ziel-Ports sowie der UDP-Prüfsumme.

4.3.1. Komprimieren von UDP-Ports

UDP-Ports können komprimiert werden, wenn sie im Bereich von 61616 (0xF0B0) bis 61631 (0xF0BF) liegen. Dieser Bereich wird durch Subtraktion von 0xF0B0 von der 16-Bit-Portnummer auf 4 Bits komprimiert. Ports können auch komprimiert werden, wenn sie im Bereich von 61440 (0xF000) bis 61695 (0xF0FF) liegen. Dieser Bereich wird durch Subtraktion von 0xF000 von der 16-Bit-Portnummer auf 8 Bits komprimiert.

4.3.2. Komprimieren der UDP-Prüfsumme

Die UDP-Prüfsumme KANN (MAY) weggelassen werden, wenn ein Integritätsprüfmechanismus der oberen Schicht (z. B. MIC) vorhanden ist, der die Integrität des UDP-Headers und der Nutzlast schützt, oder wenn die Verbindungsschicht (Link Layer) einen ausreichenden Integritätsschutz bietet.

4.3.3. UDP LOWPAN_NHC-Format

    0   1   2   3   4   5   6   7
+---+---+---+---+---+---+---+---+
| 1 | 1 | 1 | 1 | 0 | C | P |
+---+---+---+---+---+---+---+---+

Abbildung 13: UDP-Header-Codierung

C: Checksum (Prüfsumme):

  • 0: Alle 16 Bits der UDP-Prüfsumme werden inline transportiert.
  • 1: Alle 16 Bits der UDP-Prüfsumme werden weggelassen. Die Prüfsumme wird beim Empfänger aus dem Kontext oder der oberen Schicht wiederhergestellt.

P: Ports:

  • 00: Beide Ports werden inline transportiert (4 Oktette).
  • 01: Quellport wird inline transportiert (2 Oktette). Zielport ist komprimiert (8 Bits, Bereich 0xF000-0xF0FF).
  • 10: Quellport ist komprimiert (8 Bits, Bereich 0xF000-0xF0FF). Zielport wird inline transportiert (2 Oktette).
  • 11: Beide Ports sind komprimiert (4 Bits, Bereich 0xF0B0-0xF0BF).

Wenn P = 01 oder 10 ist, wird der komprimierte 8-Bit-Port als vorzeichenlose Ganzzahl codiert. Wenn P = 11 ist, werden die komprimierten 4-Bit-Ports als vorzeichenlose Ganzzahlen codiert.