[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Simple DNS Record A

Hello all,

I'm looking into DNS resolution in Mirage, and learning OCAML at the same
time. So forgive me if I'm a bit slow finding my way around in the code

I (like most people) have the 'magic version' of dns in my head, where I
ask for a record and get a reply. Time to change that!

So to get started here's my model of an iterative DNS A record request:

localhost sends a udp request on port 53 to <IP of Nameserver>
Then one of two things happens:
1) localhost gets a response on port 53 from <IP of Nameserver>
with: IP address/s | not found
2) Timeout

So a basic resolver needs a timeout, a nameserver (initially hardcoded, but
later from configuration), and to be able to build the structure of the
request and parse the response structure. I'm looking at the
bitstring-v-native code for inspiration, here and functions I can use.

If this is the model for the A record then I'll flesh this into more
meaningful pseudo code.





Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.