4.3. Compressione dell'intestazione UDP
Le intestazioni UDP possono essere codificate utilizzando il formato LOWPAN_NHC. Il formato supporta la compressione delle porte sorgente e destinazione e del checksum UDP.
4.3.1. Compressione delle porte UDP
Le porte UDP possono essere compresse se rientrano nell'intervallo da 61616 (0xF0B0) a 61631 (0xF0BF). Questo intervallo viene compresso a 4 bit sottraendo 0xF0B0 dal numero di porta a 16 bit. Le porte possono anche essere compresse se rientrano nell'intervallo da 61440 (0xF000) a 61695 (0xF0FF). Questo intervallo viene compresso a 8 bit sottraendo 0xF000 dal numero di porta a 16 bit.
4.3.2. Compressione del checksum UDP
Il checksum UDP PUÒ (MAY) essere omesso se è presente un meccanismo di controllo dell'integrità del livello superiore (ad es. MIC) che protegge l'integrità dell'intestazione UDP e del carico utile, o se il livello di collegamento (Link Layer) fornisce una protezione dell'integrità sufficiente.
4.3.3. Formato UDP LOWPAN_NHC
0 1 2 3 4 5 6 7
+---+---+---+---+---+---+---+---+
| 1 | 1 | 1 | 1 | 0 | C | P |
+---+---+---+---+---+---+---+---+
Figura 13: Codifica intestazione UDP
C: Checksum:
0: Tutti i 16 bit del checksum UDP sono trasportati inline.1: Tutti i 16 bit del checksum UDP sono omessi. Il checksum viene recuperato dal contesto o dal livello superiore al ricevitore.
P: Ports (Porte):
00: Entrambe le porte sono trasportate inline (4 ottetti).01: La porta sorgente è trasportata inline (2 ottetti). La porta destinazione è compressa (8 bit, intervallo 0xF000-0xF0FF).10: La porta sorgente è compressa (8 bit, intervallo 0xF000-0xF0FF). La porta destinazione è trasportata inline (2 ottetti).11: Entrambe le porte sono compresse (4 bit, intervallo 0xF0B0-0xF0BF).
Quando P = 01 o 10, la porta compressa a 8 bit è codificata come un intero senza segno. Quando P = 11, le porte compresse a 4 bit sono codificate come interi senza segno.