EmilHernvall / dnsguide

A guide to writing a DNS Server from scratch in Rust
MIT License
4.11k stars 261 forks source link

I think the provided code implements a simple DNS resolver, which can be used to look up DNS records for a given domain name. It's not a full-fledged DNS server but rather a DNS client capable of sending DNS queries to a DNS server and processing the responses. #25

Closed JeninSutradhar closed 6 months ago

EmilHernvall commented 6 months ago

Quoting wikipedia:

Types of Nameservers

Namservers are usually either authoritative or recursive, as described below. 

As you noted, this guide describes the implementation of a recursive nameserver rather than an authoritative. The reasoning is that the algorithm for recursive name resolution is quite interesting, whereas serving a single zone is conceptually straight forward. For an example of that, you can see my toy server here https://github.com/EmilHernvall/hermes which implements both an authoritative and a recursive mode.