Difference between Recursion Desired[RD] and Recursion Available[RA] fields

5

2

What is the Difference between the Recursion Desired and Recursion Available fields in a DNS Response Message?

Are the clients aware that Recursion is supported on a Remote DNS Server?

Harshith Mulky

Posted 2016-08-18T06:45:35.633

Reputation: 63

Answers

7

In the response, the Recursion Desired bit is set to whatever the client set it to. It isn't really relevant in the response, it is the Available flag that is important.

So the client will set the Recursion Desired bit, and send out the query, and will not be aware whether recursion is available or not until the response comes back. If the Available bit is set, then recursion is available, otherwise it isn't.

Client generally set Recursion Desired by default, so will be aware of the availability after the first request.

Paul

Posted 2016-08-18T06:45:35.633

Reputation: 52 173

Thanks. So does it mean that, When a server Responds with RA flag set to 1, The client would have already received a Response which has been Recursively tried at the Server itself? Or should the client Trigger a new Request knowing that The server now knows that RA is supported with the flag set? – Harshith Mulky – 2016-08-22T10:07:08.480

2Usually the client will say "give me the answer to this question" and will have RD enabled. The server will either respond with the full answer because it is recursive, and so the RA bit is set, or it will respond with the name servers the client needs to talk to next, and have RA unset. – Paul – 2016-08-22T23:33:41.303

Thanks a lot for your answer, I am unable to Upvote because I do not have a Rep of 15 – Harshith Mulky – 2016-08-23T07:21:25.937