Reuse connections without exhausting the server
04One persistent connection can carry many ordinary questions. Connection limits also need to allow for multiple real clients sharing one public address.
A chosen local connection limit stops another new connection before allocation. Its number is an example, not an RFC default; accepted plain TCP traffic remains readable without another protection layer.
Source for this drawing: RFC 7766 · Read RFC section 6.2.2 ↗
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.
Reuse capacity; make limits fit the real clients.
- Clients and servers SHOULD support connection reuse. Clients MUST take care to minimize concurrent TCP connections to each server.
- RFC 9103 §6.4 updates the recommendation: for each protocol over TCP, a client/server interaction SHOULD have no more than one connection for ordinary queries and one for zone transfers, with operational exceptions for busy zones. Servers still handle mixed query and transfer traffic.
- Servers MAY limit connections per client address or subnet. Such limits SHOULD be much looser than the client guidelines: one address may represent multiple clients behind network address translation (NAT).
Section 10 advises configurable totals, per-source limits, idle timeouts, transaction counts and connection duration; it specifies no numeric defaults. Limits manage resources, not DNS data authenticity. This chapter illustrates ordinary queries and explains the updated transfer boundary without pretending to implement zone transfer or DNS over TLS. Plain TCP does not encrypt DNS; TLS is a separate protocol layer.
Read the RFC section ↗