Stateful Header Compression Kris Pister UC Berkeley Dust Networks
The Motivation In many sensor networks, >90% of packets –Flow along paths with lots of shared state Final destination, sometimes source Link and end-to-end crypto Source & destination ports Route … –Have very short “fundamental” payloads 2B, 4B not uncommon. Data, or (data, timestamp) Today’s minimum multi-hop overhead –Application: 0-20B –Transport+Network: 12B (HC1, HC2_UDP) –Link: 11B + 9B (security) –PHY: 6B >10x overhead Why fix our part? Working in IEEE to fix this
Example Once per second, mote A wakes up and sends a packet with exactly the same –5B: Mesh header –3B: Dispatch, HC1, HC2 –1B: UDP compressed ports For a period of hours or days (thousands to millions of packets) this information doesn’t change
Flow-based compression Perhaps instead a flow label could be sent –New dispatch byte –Header compression associated with flows Flow label index into a table with all “HCx” values –Soft state – nodes along path can reconstruct full packet if necessary –Checksums, MICs performed on full packet w/ virtual headers Crazy talk –Both Dispatch & Flow label could come from L2 Implicit in link type Dozer, SCP, TSMP all have mechanisms for uniquely determining flows
The Dream Provide a continuum of header compression from 0 to 100% depending on shared state –Application –Transport –Network –Link Requires cooperation between IEEE and IETF
TSMP as an example Time Synchronized Mesh Protocol –Basis of Wireless HART, SP100 ( 15.4E) –Sub-ms time synch across network –<< 0.1% radio duty cycle maintains synch –Additional duty cycle allocated as needed by traffic Uses a flow label to associate L2 resources and L3 routes with L4 QoS –L2 activity uniquely associated with particular flows If it’s 8:42: AM, you must be node X with a message from node Y to node Z and the next hop is Q.