O DNS opera tradicionalmente por meio de UDP, um protocolo sem conexão, portanto, uma resposta não pode indicar, por meio de informações de rede, a solicitação em resposta.
Fornecer a pergunta permite que um servidor executando uma consulta recursiva envie a resposta para o solicitante correto, passe o datagrama para os hosts sem modificá-lo e permite que firewalls avançados determinem que um determinado datagrama udp recebido em 53 é parte de um par pedido-resposta solicitado.
Como o UDP não pode transmitir essas informações, cabe ao aplicativo definir sua estrutura de dados para poder executar a tarefa.
Consulte a seção 4.1.1 da RFC 1035 para obter descrições de cada um dos elementos na estrutura da mensagem. Em particular, para ID:
ID
A 16 bit identifier assigned by the program that generates any kind of query. This identifier is copied the corresponding reply and can be used by the requester to match up replies to outstanding queries.
Assim, ID é como a caixa da estação de trabalho do usuário final pode informar qual aplicativo solicitou a pesquisa. Isso pode ser importante se vários aplicativos estiverem fazendo solicitações em uma janela estreita. Esta informação seria pertinente apenas para a máquina geradora da requisição, uma vez que atribui arbitrariamente a ID, e nenhuma outra aplicação, servidor ou sistema sabe o que é. Conseqüentemente, as colisões de ID são prováveis.