Iphc Acked
Loss-tolerant IPv4 header compression with an acknowledgement-based handshake. A new flow is sent with full headers (no size growth) until the peer acknowledges the context, after which only the per-packet fields are sent, as absolute values, so a lost packet never desynchronises the peer. Place it next to the TUN component so local_input receives whole, unmodified IP packets: IPv6, IPv4 fragments and IPv4 with options pass through unchanged, non-IP packets are dropped, and an IPv4 header whose checksum is wrong is dropped rather than used to create a context. The first such drop is logged as a warning. RTCP multiplexed on an RTP flow (rtcp-mux) is compressed as plain UDP.
Tags: NETWORKING
| Field | Type | Label | Description | Default Value |
|---|---|---|---|---|
| Local Input | String | Packets from the local side of the tunnel, typically the TUN component. These are compressed toward the peer. | ||
| Network Output | String | Compressed packets, full headers, acknowledgements and refresh requests sent toward the peer. | ||
| Network Input | String | Packets from the peer. Compressed IP packets are restored to their original headers. Acknowledgements and refresh requests are consumed here and never forwarded locally. | ||
| Local Output | String | Restored packets delivered to the local side of the tunnel, typically the TUN component. | ||
| Ack Interval Ms | Uint32 | Optional | A context is acknowledged on its first full-header packet and again on a later one only if at least this many milliseconds have passed since the last acknowledgement sent for it. Bounds the acknowledgement traffic to one packet per flow per interval while a lost acknowledgement is recovered after the interval. | 100 |
| Context Idle Timeout Ms | Uint32 | Optional | A compression context whose flow has been silent for this many milliseconds may be reused for a new flow once all 256 context identifiers are taken. | 60000 |
| Admission Packets | Uint32 | Optional | Number of packets a flow must show before it is given a compression context; until then its packets pass through unchanged. Keeps one-shot flows such as DNS queries, traceroute probes and ICMP errors from each costing an acknowledgement and a context. Also the number of consecutive RTP-looking packets (version 2, same SSRC and payload type, sequence number increasing by one) before a flow is compressed with the RTP profile. 1 to 255. | 4 |
| Compress Udp | Bool | Optional | Compress the IPv4 and UDP headers of UDP packets, and the RTP header too for flows detected as RTP. When off, UDP passes through unchanged. Set the same on both peers. | true |
| Compress Tcp | Bool | Optional | Compress the IPv4 header of TCP packets; the TCP header goes as is. Saves 15 bytes per packet but costs throughput on bulk transfers, so it is off by default and TCP passes through unchanged. Set the same on both peers. | false |
| Compress Other | Bool | Optional | Compress the IPv4 header of packets of any other IP protocol (ICMP, GRE, ESP, SCTP, ...). When off, they pass through unchanged. Set the same on both peers. | false |