Short answer: one of them. Each request is expected to give one answer.
It is assumed that DHT nodes have a constant node -ID associated with their (IP, port) pair. If the node identifier changes (or, as you express it, another node answers), its entry in the remote routing table node will most likely be deleted and replaced with the new node identifier.
It is probably best to start nodes on different ports so that requests to the same port return responses from the same node with the same node -ID.
As a side note, Azureus has certain security features in its DHT to mitigate attacks when an attacker owns a specific area of a node's identity space, limiting which node identifiers can be run on any given IP address.There is a suggestion to do something similar for the main DHT ( proposed by me) DHT-enhanced security . Something like this is deployed, you would be limited by how many hosts you could run for a single IP address.
source share