Block Airtime and the Retransmission Penalty

Ada re-derives this chapter’s own numbers step by step, at full precision

foundations
math-foundations
calculation-audit
coap
Ada ADA · CALCULATION AUDIT

Block Airtime and the Retransmission Penalty

The chapter pushes a firmware update to a constrained device over a link that drops 10% of packets, sending it as CoAP blocks with a 200 ms round trip per confirmed block. As 1 KB blocks the 256-block transfer needs about 1.11 tries each and finishes near 57 s; as 512-byte blocks it stretches to roughly 114 s. This audit rebuilds each figure and asks whether that extra minute buys anything but reliability, given that halving the block size only halves the airtime wasted per lost block.

Companion to the chapter CoAP Advanced Features — every number here comes from that chapter.

Ada: This chapter makes three numeric claims about block-wise transfer on a 10% loss link – that 256 unconfirmed 1 KB blocks almost never arrive, that each confirmed block needs about 1.11 tries, and that switching to 512-byte blocks pushes the transfer to roughly 114 seconds. Let me rebuild each from the chapter’s own inputs: packet-loss rate p = 0.10, a 200 ms round trip per confirmed block, and the block counts stated in the transfer table.

  • Unconfirmed 256-block success: (1 - 0.10)^256 = 0.9^256 = 1.9323e-12, which is about 0.0000000002% – effectively never, exactly as the table’s ~0% says.
  • Expected transmissions per confirmed block: 1 / (1 - 0.10) = 1 / 0.9 = 1.111111.... The chapter rounds this to 1.11 for readability; I carry the full value.
  • 256 confirmed 1 KB blocks: 256 x 0.2 s x 1.111111 = 56.888... s, which rounds to 56.9 s only at the end (the chapter’s rounded 1.11 gives 56.8 s, and the table lists 57 s – the same result).
  • 512 confirmed 512-byte blocks: 512 x 0.2 s x 1.111111 = 113.777... s, rounding to 113.8 s (chapter 113.7, table 114 s).

The audit conclusion is narrow but sharp: halving the block size exactly doubles the block count, so the confirmed airtime doubles too – 113.8 / 56.9 = 2.0. That extra minute buys nothing except reliability, because each lost 512-byte block wastes only half the airtime of a lost 1 KB block. The number to defend in a release is not “block-wise transfer works” but “we accepted 114 seconds to hold the per-loss waste to 512 bytes.”

Every number above is taken from the chapter’s own material and re-derived step by step.