Our 2021 Knot DNSRTT was developed by Pithayuth Charnsethikul, as part of a CSCI651 research project, advised by John Heidemann, in Fall 2020.
The template of DNSRTT is derived from the Knot RRL module.
DNSRTT provides the feature to enable TCbit whenever a DNS server needs extra tcp connections for measuring RTT.
Install Knot DNS following the instructions in Knot DNS documentation.
Generated a configuration file from LocalRoot.
Enable DNSRTT by setting the mod-dnsrtt module globally or per zone.
An example of enabling DNSRTT in knot.conf
mod-dnsrtt:
- id: default
tcp-need: 5
slip: 2
interval: 1800
experiment: on
template:
- id: default
global-module: mod-dnsrtt/default
Arguments
id: STR
A module identifier
tcp-need: INT (Required)
Number of TCP connections for each client network (IPv4/24, IPv6/56) that a DNS server expects for each interval
slip: INT, table-size: INT, whitelist: ADDR[/INT] | ADDR-ADDR ...
refer to https://www.knot-dns.cz/docs/2.4/html/reference.html#mod-rrl
interval: INT
interval in seconds
Default: 3600
experiment: BOOL
if enabled, DNSRTT disables TCbit---doesn't send an actual TC bit--- but keep increasing the counter like it does.
Otherwise, an actual TC bit is sent to a client.
Default: on