update docs to reflect algorithm + document plots

This commit is contained in:
bert hubert
2018-10-16 23:41:56 +02:00
parent 1298b7bbae
commit e7530032d4

View File

@ -36,15 +36,14 @@ Non-goals are:
* DNSSEC * DNSSEC
* Resolving domains that are broken. * Resolving domains that are broken.
A more narrative explanation of what `tdns` is and what we hope it will A more narrative explanation of what `tdns` is and what we hope it will
achieve can be found [here](intro.md.html). achieve can be found [here](intro.md.html).
# Current status # Current status
`tres` can be used to browse the web successfully. All popular domains work. `tres` can be used to browse the web successfully. All popular domains
The code is not quite in a teachable state yet and still contains ugly bits. work. The code is not quite in a teachable state yet and still contains
But well worth [a some ugly bits. But well worth [a
read](https://github.com/ahupowerdns/hello-dns/tree/master/tdns). read](https://github.com/ahupowerdns/hello-dns/blob/master/tdns/tres.cc).
# Infrastructure # Infrastructure
`tres` uses the same DNS packet parsing/generating code as the `tdns` `tres` uses the same DNS packet parsing/generating code as the `tdns`
@ -75,9 +74,14 @@ addresses.
generally succeeds. If it doesn't the resolving algorithm itself is used to generally succeeds. If it doesn't the resolving algorithm itself is used to
resolve addresses of the nameserver names we do have. resolve addresses of the nameserver names we do have.
`tres` will believe your glue records, which is ok because they are not ## Trace output
cached. If an authoritative server provides incorrect out-of-zone glue, we When run in single-shot mode (ie, `./tres www.powerdns.org A`), a file
will happily use it. called `plot.dot` is created. Using `graphviz`, this can be turned into a
pretty diagram like this:
```
dot -Tpng plot.dot > plot.png
```
# Further details # Further details
The `tres` source code is less than 500 lines of code, so it is suggested to The `tres` source code is less than 500 lines of code, so it is suggested to