diff options
| author | eunhhu <[email protected]> | 2026-09-29 13:55:09 +0100 |
|---|---|---|
| committer | eunhhu <[email protected]> | 2026-09-29 13:55:09 +0100 |
| commit | 315c1f970c2ae482bceec2a9cc8666e6cb380a81 (patch) | |
| tree | 69401194de07e72049929793af76127c64fa65d6 /link/link-protocol.h | |
| parent | 19ebac6e3cd5e48e16a73c78342fa676dc905db9 (diff) | |
| download | pure-315c1f970c2ae482bceec2a9cc8666e6cb380a81.tar.gz pure-315c1f970c2ae482bceec2a9cc8666e6cb380a81.zip | |
Send no packet only to probe the path or say a challenge back
M2 (ten thousand devices, a record each every 5 s) sent 118k packets for
80k records. A link whose packets were never full still probed for a
1,452-byte path: nothing larger would have been carried. And a sender
said a receiver's challenge back in a packet of its own, one for each
device each time the receiver started. Now a link probes once a packet
of its was full, and a challenge rides in the next packet that goes
(records, or a probe). Until then the receiver's answers there are at
most three times what came, which the answers to one packet are not;
when they are held back, the sender's probe or record sent again says it
back. M2 sends 80,036 again (docs/research/099-link-epochs.md).
Diffstat (limited to 'link/link-protocol.h')
| -rw-r--r-- | link/link-protocol.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/link/link-protocol.h b/link/link-protocol.h index 9b4e63d..f121b2e 100644 --- a/link/link-protocol.h +++ b/link/link-protocol.h @@ -68,7 +68,8 @@ * whole, with 1 to 3 bytes of framing, not the 19 of RECORD * 0x07 CHALLENGE u64: a receiver's, until its sender says it back from * the address the answers go to - * 0x08 RESPONSE u64: a challenge said back (the last few had) + * 0x08 RESPONSE u64: a challenge said back (the last few had), in the next + * packet that goes (records, or a probe) * 0x00 PADDING to the end of the packet: a full packet sent in a burst is * a whole datagram * Losses are detected as RFC 9002 says, with RACK's patience for packets @@ -76,9 +77,11 @@ /* A packet is PURE_LINK_DATAGRAM bytes at most at first, and up to * PURE_LINK_DATAGRAM_MOST once the path is found to carry that many (a - * probe of that size acknowledged: DPLPMTUD, RFC 8899); a source's or an - * input's name is 1 to PURE_LINK_NAME bytes; a receiver keeps where a - * packet came from (the socket's address) in PURE_LINK_ADDRESS bytes. */ + * probe of that size acknowledged: DPLPMTUD, RFC 8899; a link probes once + * a packet of its was full, else a larger one would carry nothing more); a + * source's or an input's name is 1 to PURE_LINK_NAME bytes; a receiver + * keeps where a packet came from (the socket's address) in + * PURE_LINK_ADDRESS bytes. */ enum { PURE_LINK_DATAGRAM = 1200, PURE_LINK_DATAGRAM_MOST = 1452, PURE_LINK_NAME = 64, PURE_LINK_ADDRESS = 28 }; /* Counts for a host's report: packets and records sent, records sent again, |
