เป็นการดีที่จะทราบว่า RFCs พูดอะไรเกี่ยวกับเรื่องนี้และเรามีคำตอบที่มีสิทธิ์ดีอยู่แล้ว แต่สำหรับวัตถุประสงค์ในทางปฏิบัติฉันพบคำแนะนำจากศาสตราจารย์ Daniel J. Bernstein ปริญญาเอกผู้เขียน DJBDNS ค่อนข้างสนุกสนาน
http://cr.yp.to/djbdns/tcp.html#why (2003-01-16)
  คิวรี TCP จะถูกส่งเมื่อใด
  
  หากคุณอยู่ในสถานการณ์ใดสถานการณ์หนึ่งต่อไปนี้คุณต้องกำหนดค่าเซิร์ฟเวอร์ DNS ของคุณเพื่อตอบแบบสอบถาม TCP:
  
  
  - คุณต้องการเผยแพร่ชุดระเบียนที่มีขนาดใหญ่กว่า 512 ไบต์ (นี่เป็นความผิดพลาดเกือบทุกครั้ง)
 
  - คุณต้องการอนุญาตการถ่ายโอนโซนขาออกตัวอย่างเช่นไปยังเซิร์ฟเวอร์บุคคลที่สาม
 
  - เซิร์ฟเวอร์หลักปฏิเสธที่จะมอบชื่อให้คุณจนกว่าคุณจะตั้งค่าบริการ TCP 
 
  
  
  หากคุณไม่ได้อยู่ในสถานการณ์เหล่านั้นคุณไม่จำเป็นต้องให้บริการ TCP และคุณไม่ควรตั้งค่า DNS-over-TCP ช้ากว่า DNS-over-UDP มากและมีความเสี่ยงที่จะถูกปฏิเสธการให้บริการ (สิ่งนี้ใช้กับ BIND ด้วย)
โปรดทราบว่าเขาไม่กล่าวถึง DNSSEC อย่างชัดเจน สาเหตุที่เป็นเช่นนั้นตามที่ DJB ระบุว่า DNSSEC อยู่ในหมวด "ความผิดพลาดเสมอ" ดูhttps://cr.yp.to/djbdns/forgery.htmlสำหรับรายละเอียดเพิ่มเติม DJB มีมาตรฐานทางเลือกที่เรียกว่า DNSCurve - http://dnscurve.org/ - ซึ่งได้รับการรับรองจากผู้ให้บริการบางรายแล้ว (เช่น OpenDNS) ที่น่าสนใจ: /security/45770/if-dnssec-is-so-questionable-why-is-it-ahead-of-dnscurve-in-adoption
โปรดทราบว่าหากเอกสารข้างต้นเกี่ยวกับการตั้งค่า DJBDNS เป็นการบ่งชี้ถึงคุณลักษณะใด ๆ ของมันปรากฏว่ารองรับเฉพาะ AXFR สำหรับ TCP เนื่องจากผู้ให้บริการหลายรายยังคงใช้ DJBDNS จึงไม่น่าสนับสนุน DNS ผ่าน TCP โดยไม่ต้องใช้ความพยายามเป็นพิเศษ
PS Note ที่จริง ๆ แล้ว DJB ทำสิ่งที่เขาสอน เซิร์ฟเวอร์ของเขา (1) รัน DNSCurve (2) ไม่ตอบรับ TCP อย่างถูกต้อง +notcpจะประสบความสำเร็จเท่านั้น(ซึ่งเป็นค่าเริ่มต้น):
% dig +trace @ordns.he.net +notcp cr.yp.to | tail
yp.to.                  86400   IN      NS      uz5dz39x8xk8wyq3dzn7vpt670qmvzx0zd9zg4ldwldkv6kx9ft090.ns.yp.to.
yp.to.                  86400   IN      NS      uz5jmyqz3gz2bhnuzg0rr0cml9u8pntyhn2jhtqn04yt3sm5h235c1.yp.to.
;; Received 300 bytes from 216.74.32.100#53(tonic.to) in 151 ms
cr.yp.to.               600     IN      A       131.155.70.11
cr.yp.to.               600     IN      A       131.155.70.13
yp.to.                  3600    IN      NS      uz5jmyqz3gz2bhnuzg0rr0cml9u8pntyhn2jhtqn04yt3sm5h235c1.yp.to.
yp.to.                  3600    IN      NS      uz5dz39x8xk8wyq3dzn7vpt670qmvzx0zd9zg4ldwldkv6kx9ft090.yp.to.
;; Received 244 bytes from 131.155.70.13#53(uz5jmyqz3gz2bhnuzg0rr0cml9u8pntyhn2jhtqn04yt3sm5h235c1.yp.to) in 14 ms
ในขณะที่ a +tcpจะล้มเหลว (เห็นได้ชัดว่ามีข้อผิดพลาดที่แตกต่างกันขึ้นอยู่กับเซิร์ฟเวอร์ที่เขาเลือก):
% dig +trace @ordns.he.net +tcp cr.yp.to | tail
yp.to.                  86400   IN      NS      uz5hjgptn63q5qlch6xlrw63tf6vhvvu6mjwn0s31buw1lhmlk14kd.ns.yp.to.
;; Received 300 bytes from 216.74.32.100#53(tonic.to) in 150 ms
;; Connection to 131.155.71.143#53(uz5dz39x8xk8wyq3dzn7vpt670qmvzx0zd9zg4ldwldkv6kx9ft090.ns.yp.to) for cr.yp.to failed: connection refused.
;; communications error to 131.155.70.13#53: end of file
;; Connection to 131.155.71.143#53(uz5dz39x8xk8wyq3dzn7vpt670qmvzx0zd9zg4ldwldkv6kx9ft090.ns.yp.to) for cr.yp.to failed: connection refused.
;; communications error to 131.155.70.13#53: end of file
;; Connection to 131.155.71.143#53(uz5dz39x8xk8wyq3dzn7vpt670qmvzx0zd9zg4ldwldkv6kx9ft090.ns.yp.to) for cr.yp.to failed: connection refused.
;; communications error to 131.193.32.147#53: end of file
;; connection timed out; no servers could be reached