4 ms·
The payload is meant to let you distinguish responses to different Heartbeats, right? I'm no expert, but sounds reasonable enough. I could see a lower limit on
by Jare 13y ago
The payload is meant to let you distinguish responses to different Heartbeats, right? I'm no expert, but sounds reasonable enough. I could see a lower limit on max payload size, but could you please elaborate a more detailed explanation why it's unnecessary and useless?
- kevingadd 13y agoWhy would you need to send multiple different heartbeats over one connection? It's for keeping the connection alive.
- pwg 13y agoIf you are using data-grams (i.e., UDP) you have no guarantees of ordering or delivery, so you have no way to determine which transmission the echo reply you just received corresponds to without a payload that is returned to you. Now, a 64kbyte payload, that's unnecessary for simply making each packet unique. That size was likely chosen to allow for the path MTU discovery aspects. One could argue, however, that "keepalive" and "path MTU discovery" should not have been commingled, but they were.
- click170 13y agoPing manages the same thing by incrementing an integer. For example.
- tptacek 13y agoNo, ICMP echo request packets have variable-length payloads, which the receiver copies into the echo response.
- gpvos 13y agoOkay, that explains things a bit. Could be done with a fixed-size payload though. Also I understand that the flexible size is intended to help with MTU discovery, but I think that would be a separate thing from a heartbeat.