diff options
| author | eunhhu <[email protected]> | 2026-09-29 15:59:44 +0100 |
|---|---|---|
| committer | eunhhu <[email protected]> | 2026-09-29 15:59:44 +0100 |
| commit | d0be140549b67708039f3c69d0b039440eb3a063 (patch) | |
| tree | d2e383df098dda3d54a4760f65856166bb5e8f19 /.github/workflows | |
| parent | ccf35df074bcb450ebdc56eb27762a9096252a3f (diff) | |
| download | pure-d0be140549b67708039f3c69d0b039440eb3a063.tar.gz pure-d0be140549b67708039f3c69d0b039440eb3a063.zip | |
Say LOST when a run's epoch is not known, and let its sender begin again at once
A receiver that started again without its memo could open none of its
senders' packets (their epochs were gone), said nothing, and each sender
waited 2 s and four probes, then offered with no records. Worse, those
packets failed to open, so each cost a token (256 a second, the flood
guard): ten thousand senders came back 256 a second. M2 without a memo
stopped 0.8 s and caught up in 7.7 s.
Now the receiver answers a packet of a run it does not know, in an epoch
past 0, with LOST: sealed in epoch 0 under the nodes' keys, naming the
packet. As QUIC's stateless reset, it is smaller than the packet and
comes out of a bucket of its own (4,096 a second). A sender that has that
packet out begins again as a run begins: epoch 0 with its records at
once, epoch 1 offered. Only the receiver can say LOST, and one of the past
names a packet no longer out; silence alone (an attacker's doing, maybe)
still gets offers only. Such a packet costs no key token: no keys were
made for it, and the secret made is remembered, once a sender.
M2 without a memo (ten thousand devices, twice): no 100 ms step stopped,
caught up in 0.4-0.5 s, p99 5.8-5.9 ms, the most 48-57 ms (was 4.1 and
7.8 s). test-link: a changed packet may get a LOST smaller than itself
and nothing else; half of a flood in epoch 1 got 267 LOSTs, 12 KB for its
6 MB; a record goes under the nodes' keys after an epoch began only after
the receiver forgot, until the next epoch.
Diffstat (limited to '.github/workflows')
0 files changed, 0 insertions, 0 deletions
