Most, if not all, DNS clients, expect the address from which a reply is received to be the same address as that to which the query eliciting the reply was sent. This is true for servers acting as clients for the purposes of recursive query resolution, as well as simple resolver clients. The address, along with the identifier (ID) in the reply is used for disambiguating replies, and filtering spurious responses. This may, or may not, have been intended when the DNS was designed, but is now a fact of life.
すべてではなくとも、多くの DNS クライアントは返事が送られてくるアドレスは 返事を得るために問合せを送ったアドレスと同じだと期待している。 このことは単純なリゾルバクライアントと同様に、 再帰問合せを目的としてクライアントとしてふるまうサーバについては正しい。 アドレスは返答中の識別子(ID)とともに返事を特定するのに使われ、 余計な返答をふるい落すのに使われる。 このことは DNS が設計されたときには意図されてものかは不明だが、 現実にはすでによく使われている。Some multi-homed hosts running DNS servers generate a reply using a source address that is not the same as the destination address from the client's request packet. Such replies will be discarded by the client because the source address of the reply does not match that of a host to which the client sent the original request. That is, it appears to be an unsolicited response.
複数インタフェースを持つホストが DNS サーバを動かしているときには 返答はクライアントが送った要求パケットの目的アドレスとは 異なるソースアドレスを使った返事が生成されることがある。 このような返事はクライアントにより捨てられる。 返事のソースアドレスがクライアントが送った原要求と整合しないためである。 つまり、求められていない返答だと思われている。To avoid these problems, servers when responding to queries using UDP must cause the reply to be sent with the source address field in the IP header set to the address that was in the destination address field of the IP header of the packet containing the query causing the response. If this would cause the response to be sent from an IP address that is not permitted for this purpose, then the response may be sent from any legal IP address allocated to the server. That address should be chosen to maximise the possibility that the client will be able to use it for further queries. Servers configured in such a way that not all their addresses are equally reachable from all potential clients need take particular care when responding to queries sent to anycast, multicast, or similar, addresses.
これらの問題を回避するために、UDP を使って問合せに返答するサーバは 返答のIP ヘッダのソースアドレスには 返答すべき問合せパケットの IP ヘッダの目的アドレスをセットすべきだ。 もしこうすることが この目的のために許されていない IP アドレスから 返答を送ることになるのであれば、返事はサーバに割りあてられている 任意の正当な IP アドレスから送ってよい。 そのアドレスにはクライアントが将来の問合せに使える可能性を 最大にするようなアドレスを選ぶべきである。 そのすべてのアドレスがすべてのありうるクライアントから 同等にリーチャブルでないような構成のサーバでは anycast, multicast, や類似のアドレスに送られた問合せに 返答するときには特に注意が必要である。Replies to all queries must be directed to the port from which they were sent. When queries are received via TCP this is an inherent part of the transport protocol. For queries received by UDP the server must take note of the source port and use that as the destination port in the response. Replies should always be sent from the port to which they were directed. Except in extraordinary circumstances, this will be the well known port assigned for DNS queries [ RFC1700].
すべての問合せに対する返事は発信元のポートに向けられなければならない。 問合せが TCP 経由で受信された場合にはトランスポートプロトコルに 固有の部分である。 問合せが UDPで受信された場合にはサーバは発信ポートを記録しておき、 返答の宛先として使用しなければならない。 返事は問合せの宛先のポートから送り出されなければならない。 極めて例外的な環境の場合を除き、 これは DNS 問合せに割りあてられた well known ポートであろう。