%% You should probably cite rfc7828 instead of this I-D. @techreport{ietf-dnsop-edns-tcp-keepalive-02, number = {draft-ietf-dnsop-edns-tcp-keepalive-02}, type = {Internet-Draft}, institution = {Internet Engineering Task Force}, publisher = {Internet Engineering Task Force}, note = {Work in Progress}, url = {https://datatracker.ietf.org/doc/draft-ietf-dnsop-edns-tcp-keepalive/02/}, author = {Paul Wouters and Joe Abley and Sara Dickinson and Ray Bellis}, title = {{The edns-tcp-keepalive EDNS0 Option}}, pagetotal = 12, year = 2015, month = jul, day = 3, abstract = {DNS messages between clients and servers may be received over either UDP or TCP. UDP transport involves keeping less state on a busy server, but can cause truncation and retries over TCP. Additionally, UDP can be exploited for reflection attacks. Using TCP would reduce retransmits and amplification. However, clients commonly use TCP only for fallback and servers typically use idle timeouts on the order of seconds. This document defines an EDNS0 option ("edns-tcp-keepalive") that allows DNS servers to signal a variable idle timeout. This signalling facilitates a better balance of UDP and TCP transport between individual clients and servers, reducing the impact of problems associated with UDP transport and allowing the state associated with TCP transport to be managed effectively with minimal impact on the DNS transaction time.}, }