Start idle time after the work is done
03An idle connection has no work left for that endpoint. The client honors the newest signalled timeout, rather than counting from initial connection setup.
The example client starts closing at 24000 ms, before the 25000 ms idle deadline. That one-second margin is chosen for the illustration; the RFC specifies no fixed margin or promise the server will stay open.
Source for this drawing: RFC 7828 · Read RFC section 3 ↗
New to this? Start hereA quick picture + helpful background
A message needs an address.
Think of a packet as a small addressed envelope. Devices pass it onward; transport protocols decide what delivery promises an application gets.
Helpful first, if these ideas are unfamiliar
These pictures are analogies to help you learn. The linked RFC explains the actual rules.
Terms in this drawing
Related RFCs and changes
“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.
The latest timeout replaces the previous one.
- The idle timer begins when the endpoint’s idle condition is met, and should reset when that condition is lifted by sending or receiving a message on an idle connection.
- A client receiving the option over TCP MAY keep the connection open when idle. It SHOULD honor this response’s timeout, overriding the previous value, and initiate close before expiry.
- Servers MUST signal their currently associated timeout when including the option. Resources may change that value; neither side is forced to retain a session until the signalled limit.
The timeline is explicitly the client’s view: idle means no pending queries to send and no outstanding replies. Each bar uses its own scale; its numeric endpoints define that idle interval. The server is idle after answering every query it received, so its idle epoch can differ. The example uses local clock values in milliseconds and an illustrative early-close choice, not a universal safety margin. Work arriving interrupts idleness; a new idle period uses the latest timeout. RFC 7766 supplies the endpoint definitions.
Read the RFC section ↗