## page was renamed from DNS/1/RFC/5966-参考 ## page was renamed from DNS/基礎知識/RFC/5966-参考 ## page was renamed from DNS/基礎知識/RFC/RFC5966-参考 ## page was renamed from DNS/RFC/RFC5966-参考 ## page was copied from DNS/RFC/RFC5966 DNS/RFC/RFC5966について、ここに記述してください。 http://tools.ietf.org/html/rfc5966 http://tools.ietf.org/html/rfc1123 == 参考 == http://jprs.jp/tech/notice/2011-03-03-inappropriate-handling-for-long-dns-packet.html JPRSでの解釈: {{{ そのうち、TCPの使用は従来からあるDNSの基本機能の一つであり、 インターネットに接続するホストが満たすべき要件を定めたRFC 1123では、 DNSにおけるTCPの使用を「サポートすべき(SHOULD support)」と定めています (*1)。 そして、TCPを使用することでDNSでは65,535バイトまでのDNS応答を取り扱うことができ、 これがDNSの仕様においてサポートされるDNS応答の最大サイズとなります。 (*1)RFC 1123の内容を一部更新するRFC 5966で「サポートしなければならない(MUST support)」に変更されています。 }}} 続いて、以下のように書いてあるが、5966ではどうなのか。 {{{ ただし、DNSの仕様では負荷軽減の観点から、通信時にはUDPを最初に使用し、 TCPの使用は応答の大きさが512バイトを超え、応答パケットの切り詰めが発 生した場合のみとすることを定めています。そのため、DNS応答の大きさが 512バイトを超えない場合、ゾーン転送以外の通常のDNS運用でTCPが使用さ れることはありません。 }}} 必須とされたTCP/DNSを使うなというように読める解釈は変だ。  DNSSECが負荷にならないとでも言いたいのだろうか。 RFC 1123 6.1.3.2 Transport Protocols {{{ DNS resolvers and recursive servers MUST support UDP, and SHOULD support TCP, for sending (non-zone-transfer) queries. Specifically, a DNS resolver or server that is sending a non-zone-transfer query MUST send a UDP query first. If the Answer section of the response is truncated and if the requester supports TCP, it SHOULD try the query again using TCP. }}} 512バイトを越えた返事が来なければ、TCPを使う必要はないが、使うなとは書かれていない。 == 毒盛対策が重要 == DNSSECを提案するほど重要な毒盛対策なのに、なぜTCPをつかえと言わないのだろうか。  TCP はすでにMUSTになっている。RFC1123のころとは状況も変わっている。