4. Server Reply Source Address Selection (Server-Antwort-Quelladressenauswahl)
Die meisten, wenn nicht alle, DNS-Clients erwarten, dass die Adresse, von der eine Antwort empfangen wird, dieselbe Adresse ist wie die, an die die Anfrage gesendet wurde, die die Antwort ausgelöst hat. Dies gilt für Server, die als Clients zum Zweck der rekursiven Abfrageauflösung agieren, sowie für einfache Resolver-Clients. Die Adresse wird zusammen mit der Kennung (ID) in der Antwort verwendet, um Antworten eindeutig zu machen und gefälschte Antworten zu filtern. Dies mag bei der Entwicklung des DNS beabsichtigt gewesen sein oder nicht, ist aber jetzt eine Tatsache.
Einige Multi-Homed-Hosts, die DNS-Server ausführen, generieren eine Antwort unter Verwendung einer Quelladresse, die nicht dieselbe ist wie die Zieladresse des Anforderungspakets des Clients. Solche Antworten werden vom Client verworfen, da die Quelladresse der Antwort nicht mit der eines Hosts übereinstimmt, an den der Client die ursprüngliche Anfrage gesendet hat. Das heißt, sie erscheint als unaufgeforderte Antwort.
4.1. UDP Source Address Selection (UDP-Quelladressenauswahl)
Um diese Probleme zu vermeiden, müssen (must) Server bei der Beantwortung von Anfragen unter Verwendung von UDP die Antwort so senden, dass das Quelladressfeld im IP-Header auf die Adresse gesetzt wird, die im Zieladressfeld des IP-Headers des Pakets war, das die Anfrage enthielt, die die Antwort verursacht. Wenn dies dazu führen würde, dass die Antwort von einer IP-Adresse gesendet wird, die für diesen Zweck nicht erlaubt ist, dann kann (may) die Antwort von jeder legalen IP-Adresse gesendet werden, die dem Server zugewiesen ist. Diese Adresse sollte (should) so gewählt werden, dass sie die Möglichkeit maximiert, dass der Client sie für weitere Anfragen verwenden kann. Server, die so konfiguriert sind, dass nicht alle ihre Adressen von allen potenziellen Clients gleichermaßen erreichbar sind, müssen bei der Beantwortung von Anfragen, die an Anycast-, Multicast- oder ähnliche Adressen gesendet werden, besonders vorsichtig sein.
4.2. Port Number Selection (Portnummernauswahl)
Antworten auf alle Anfragen müssen (must) an den Port gerichtet werden, von dem sie gesendet wurden. Wenn Anfragen über TCP empfangen werden, ist dies ein inhärenter Teil des Transportprotokolls. Für Anfragen, die per UDP empfangen werden, muss (must) der Server den Quellport zur Kenntnis nehmen und ihn als Zielport in der Antwort verwenden. Antworten sollten (should) immer vom Port gesendet werden, an den sie gerichtet wurden. Außer unter außergewöhnlichen Umständen wird dies der bekannte Port sein, der für DNS-Anfragen zugewiesen ist [RFC1700].