net-dnsserver/documentation.txt

15 lines
1006 B
Plaintext

Name: Yorick van Pelt
student nr: s4503678
The general flow of this program is described in the RFC 1034, which has been followed as much as possible.
The DNS server sends authority flags if it is the authority (described in the RFC), and the resolver looks at the authority flags to see if it has found the authoritative nameserver.
I documented the resolver on a state machine on paper, but it is not included here.
I organized the zone into a tree, where the lookup algorithm from the server is implemented (in zone.py)
- I crafted DNS messages using your own libraries
- I did not have to generate transaction IDs, because every transaction used a different socket.
- I used threads for concurrencies
- I remove expired entries from the cache upon lookup, load and store
I had some trouble implementing the testcase with where there would be an NS record in the zone, pointing to another nameserver. I implemented it as best as I could, but I think it's only testable with at least two DNS servers.